From 36b57d809f3012375509c603c407b2cf36580af1 Mon Sep 17 00:00:00 2001 From: jyoak Date: Fri, 15 Nov 2019 10:57:55 +0900 Subject: [PATCH] Adding initial code jy.oak@samsung.com Change-Id: I95ee95dff70842706104cef7aae80b0eb5488c33 Signed-off-by: jyoak --- Dockerfile | 95 + README.md | 31 + asn1c_defs/all-defs/ABS-Status.c | 73 + asn1c_defs/all-defs/ABS-Status.h | 48 + asn1c_defs/all-defs/ABS-Status.o | Bin 0 -> 3008 bytes asn1c_defs/all-defs/ABSInformation.c | 74 + asn1c_defs/all-defs/ABSInformation.h | 61 + asn1c_defs/all-defs/ABSInformation.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/ABSInformationFDD.c | 205 + asn1c_defs/all-defs/ABSInformationFDD.h | 62 + asn1c_defs/all-defs/ABSInformationFDD.o | Bin 0 -> 6360 bytes asn1c_defs/all-defs/ABSInformationTDD.c | 205 + asn1c_defs/all-defs/ABSInformationTDD.h | 62 + asn1c_defs/all-defs/ABSInformationTDD.o | Bin 0 -> 6360 bytes asn1c_defs/all-defs/ANY.c | 450 + asn1c_defs/all-defs/ANY.h | 65 + asn1c_defs/all-defs/ANY.o | Bin 0 -> 10424 bytes asn1c_defs/all-defs/AS-SecurityInformation.c | 73 + asn1c_defs/all-defs/AS-SecurityInformation.h | 50 + asn1c_defs/all-defs/AS-SecurityInformation.o | Bin 0 -> 3128 bytes asn1c_defs/all-defs/ActionParameter-ID.c | 61 + asn1c_defs/all-defs/ActionParameter-ID.h | 44 + asn1c_defs/all-defs/ActionParameter-ID.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/ActionParameter-Item.c | 60 + asn1c_defs/all-defs/ActionParameter-Item.h | 46 + asn1c_defs/all-defs/ActionParameter-Item.o | Bin 0 -> 2760 bytes asn1c_defs/all-defs/ActionParameter-Value.c | 102 + asn1c_defs/all-defs/ActionParameter-Value.h | 70 + asn1c_defs/all-defs/ActionParameter-Value.o | Bin 0 -> 3600 bytes asn1c_defs/all-defs/ActivatedCellList-Item.c | 63 + asn1c_defs/all-defs/ActivatedCellList-Item.h | 48 + asn1c_defs/all-defs/ActivatedCellList-Item.o | Bin 0 -> 2864 bytes asn1c_defs/all-defs/ActivatedCellList.c | 50 + asn1c_defs/all-defs/ActivatedCellList.h | 41 + asn1c_defs/all-defs/ActivatedCellList.o | Bin 0 -> 2384 bytes asn1c_defs/all-defs/ActivatedNRCellList-Item.c | 63 + asn1c_defs/all-defs/ActivatedNRCellList-Item.h | 48 + asn1c_defs/all-defs/ActivatedNRCellList-Item.o | Bin 0 -> 2880 bytes asn1c_defs/all-defs/ActivatedNRCellList.c | 50 + asn1c_defs/all-defs/ActivatedNRCellList.h | 41 + asn1c_defs/all-defs/ActivatedNRCellList.o | Bin 0 -> 2392 bytes asn1c_defs/all-defs/ActivationID.c | 61 + asn1c_defs/all-defs/ActivationID.h | 43 + asn1c_defs/all-defs/ActivationID.o | Bin 0 -> 2768 bytes .../all-defs/AdditionalSpecialSubframe-Info.c | 83 + .../all-defs/AdditionalSpecialSubframe-Info.h | 50 + .../all-defs/AdditionalSpecialSubframe-Info.o | Bin 0 -> 3512 bytes .../AdditionalSpecialSubframeExtension-Info.c | 83 + .../AdditionalSpecialSubframeExtension-Info.h | 50 + .../AdditionalSpecialSubframeExtension-Info.o | Bin 0 -> 3584 bytes .../all-defs/AdditionalSpecialSubframePatterns.c | 71 + .../all-defs/AdditionalSpecialSubframePatterns.h | 62 + .../all-defs/AdditionalSpecialSubframePatterns.o | Bin 0 -> 3352 bytes .../AdditionalSpecialSubframePatternsExtension.c | 53 + .../AdditionalSpecialSubframePatternsExtension.h | 53 + .../AdditionalSpecialSubframePatternsExtension.o | Bin 0 -> 2832 bytes .../all-defs/AerialUEsubscriptionInformation.c | 55 + .../all-defs/AerialUEsubscriptionInformation.h | 52 + .../all-defs/AerialUEsubscriptionInformation.o | Bin 0 -> 2824 bytes .../all-defs/AllocationAndRetentionPriority.c | 83 + .../all-defs/AllocationAndRetentionPriority.h | 52 + .../all-defs/AllocationAndRetentionPriority.o | Bin 0 -> 3480 bytes asn1c_defs/all-defs/AreaScopeOfMDT.c | 85 + asn1c_defs/all-defs/AreaScopeOfMDT.h | 66 + asn1c_defs/all-defs/AreaScopeOfMDT.o | Bin 0 -> 3152 bytes asn1c_defs/all-defs/AreaScopeOfQMC.c | 86 + asn1c_defs/all-defs/AreaScopeOfQMC.h | 67 + asn1c_defs/all-defs/AreaScopeOfQMC.o | Bin 0 -> 3168 bytes asn1c_defs/all-defs/BIT_STRING.c | 656 + asn1c_defs/all-defs/BIT_STRING.h | 48 + asn1c_defs/all-defs/BIT_STRING.o | Bin 0 -> 13448 bytes asn1c_defs/all-defs/BOOLEAN.c | 492 + asn1c_defs/all-defs/BOOLEAN.h | 45 + asn1c_defs/all-defs/BOOLEAN.o | Bin 0 -> 7656 bytes asn1c_defs/all-defs/BandInfo.c | 63 + asn1c_defs/all-defs/BandInfo.h | 48 + asn1c_defs/all-defs/BandInfo.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/BandwidthReducedSI.c | 53 + asn1c_defs/all-defs/BandwidthReducedSI.h | 51 + asn1c_defs/all-defs/BandwidthReducedSI.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/BearerType.c | 53 + asn1c_defs/all-defs/BearerType.h | 53 + asn1c_defs/all-defs/BearerType.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/BenefitMetric.c | 61 + asn1c_defs/all-defs/BenefitMetric.h | 44 + asn1c_defs/all-defs/BenefitMetric.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/BitRate.c | 67 + asn1c_defs/all-defs/BitRate.h | 44 + asn1c_defs/all-defs/BitRate.o | Bin 0 -> 3240 bytes asn1c_defs/all-defs/BluetoothMeasConfig.c | 53 + asn1c_defs/all-defs/BluetoothMeasConfig.h | 53 + asn1c_defs/all-defs/BluetoothMeasConfig.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/BluetoothMeasConfigNameList.c | 49 + asn1c_defs/all-defs/BluetoothMeasConfigNameList.h | 42 + asn1c_defs/all-defs/BluetoothMeasConfigNameList.o | Bin 0 -> 2432 bytes .../all-defs/BluetoothMeasurementConfiguration.c | 130 + .../all-defs/BluetoothMeasurementConfiguration.h | 59 + .../all-defs/BluetoothMeasurementConfiguration.o | Bin 0 -> 4632 bytes asn1c_defs/all-defs/BluetoothName.c | 62 + asn1c_defs/all-defs/BluetoothName.h | 44 + asn1c_defs/all-defs/BluetoothName.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/BroadcastPLMNs-Item.c | 49 + asn1c_defs/all-defs/BroadcastPLMNs-Item.h | 42 + asn1c_defs/all-defs/BroadcastPLMNs-Item.o | Bin 0 -> 2384 bytes asn1c_defs/all-defs/CNTypeRestrictions.c | 50 + asn1c_defs/all-defs/CNTypeRestrictions.h | 41 + asn1c_defs/all-defs/CNTypeRestrictions.o | Bin 0 -> 2384 bytes asn1c_defs/all-defs/CNTypeRestrictionsItem.c | 119 + asn1c_defs/all-defs/CNTypeRestrictionsItem.h | 59 + asn1c_defs/all-defs/CNTypeRestrictionsItem.o | Bin 0 -> 4208 bytes asn1c_defs/all-defs/COUNTValueExtended.c | 73 + asn1c_defs/all-defs/COUNTValueExtended.h | 48 + asn1c_defs/all-defs/COUNTValueExtended.o | Bin 0 -> 3056 bytes asn1c_defs/all-defs/COUNTvalue.c | 73 + asn1c_defs/all-defs/COUNTvalue.h | 50 + asn1c_defs/all-defs/COUNTvalue.o | Bin 0 -> 2984 bytes asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.c | 73 + asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.h | 48 + asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.o | Bin 0 -> 3144 bytes asn1c_defs/all-defs/CRNTI.c | 67 + asn1c_defs/all-defs/CRNTI.h | 43 + asn1c_defs/all-defs/CRNTI.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/CSG-Id.c | 67 + asn1c_defs/all-defs/CSG-Id.h | 43 + asn1c_defs/all-defs/CSG-Id.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/CSGMembershipStatus.c | 53 + asn1c_defs/all-defs/CSGMembershipStatus.h | 49 + asn1c_defs/all-defs/CSGMembershipStatus.o | Bin 0 -> 2616 bytes asn1c_defs/all-defs/CSIReportList.c | 114 + asn1c_defs/all-defs/CSIReportList.h | 58 + asn1c_defs/all-defs/CSIReportList.o | Bin 0 -> 3968 bytes asn1c_defs/all-defs/CSIReportPerCSIProcess.c | 144 + asn1c_defs/all-defs/CSIReportPerCSIProcess.h | 61 + asn1c_defs/all-defs/CSIReportPerCSIProcess.o | Bin 0 -> 5232 bytes asn1c_defs/all-defs/CSIReportPerCSIProcessItem.c | 165 + asn1c_defs/all-defs/CSIReportPerCSIProcessItem.h | 65 + asn1c_defs/all-defs/CSIReportPerCSIProcessItem.o | Bin 0 -> 5536 bytes asn1c_defs/all-defs/CallProcess-ID.c | 31 + asn1c_defs/all-defs/CallProcess-ID.h | 43 + asn1c_defs/all-defs/CallProcess-ID.o | Bin 0 -> 1792 bytes asn1c_defs/all-defs/CapacityValue.c | 61 + asn1c_defs/all-defs/CapacityValue.h | 44 + asn1c_defs/all-defs/CapacityValue.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/Cause.c | 82 + asn1c_defs/all-defs/Cause.h | 65 + asn1c_defs/all-defs/Cause.o | Bin 0 -> 3088 bytes asn1c_defs/all-defs/CauseMisc.c | 61 + asn1c_defs/all-defs/CauseMisc.h | 57 + asn1c_defs/all-defs/CauseMisc.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/CauseProtocol.c | 65 + asn1c_defs/all-defs/CauseProtocol.h | 59 + asn1c_defs/all-defs/CauseProtocol.o | Bin 0 -> 3152 bytes asn1c_defs/all-defs/CauseRIC.c | 77 + asn1c_defs/all-defs/CauseRIC.h | 65 + asn1c_defs/all-defs/CauseRIC.o | Bin 0 -> 3544 bytes asn1c_defs/all-defs/CauseRadioNetwork.c | 153 + asn1c_defs/all-defs/CauseRadioNetwork.h | 103 + asn1c_defs/all-defs/CauseRadioNetwork.o | Bin 0 -> 6576 bytes asn1c_defs/all-defs/CauseTransport.c | 55 + asn1c_defs/all-defs/CauseTransport.h | 54 + asn1c_defs/all-defs/CauseTransport.o | Bin 0 -> 2720 bytes asn1c_defs/all-defs/Cell-Size.c | 59 + asn1c_defs/all-defs/Cell-Size.h | 56 + asn1c_defs/all-defs/Cell-Size.o | Bin 0 -> 2680 bytes asn1c_defs/all-defs/CellActivationFailure.c | 50 + asn1c_defs/all-defs/CellActivationFailure.h | 44 + asn1c_defs/all-defs/CellActivationFailure.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/CellActivationRequest.c | 50 + asn1c_defs/all-defs/CellActivationRequest.h | 44 + asn1c_defs/all-defs/CellActivationRequest.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/CellActivationResponse.c | 50 + asn1c_defs/all-defs/CellActivationResponse.h | 44 + asn1c_defs/all-defs/CellActivationResponse.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/CellAssistanceInformation.c | 109 + asn1c_defs/all-defs/CellAssistanceInformation.h | 65 + asn1c_defs/all-defs/CellAssistanceInformation.o | Bin 0 -> 3984 bytes asn1c_defs/all-defs/CellBasedMDT.c | 63 + asn1c_defs/all-defs/CellBasedMDT.h | 48 + asn1c_defs/all-defs/CellBasedMDT.o | Bin 0 -> 2808 bytes asn1c_defs/all-defs/CellBasedQMC.c | 63 + asn1c_defs/all-defs/CellBasedQMC.h | 48 + asn1c_defs/all-defs/CellBasedQMC.o | Bin 0 -> 2808 bytes asn1c_defs/all-defs/CellCapacityClassValue.c | 61 + asn1c_defs/all-defs/CellCapacityClassValue.h | 44 + asn1c_defs/all-defs/CellCapacityClassValue.o | Bin 0 -> 2856 bytes .../all-defs/CellDeploymentStatusIndicator.c | 53 + .../all-defs/CellDeploymentStatusIndicator.h | 53 + .../all-defs/CellDeploymentStatusIndicator.o | Bin 0 -> 2656 bytes asn1c_defs/all-defs/CellIdListforMDT.c | 50 + asn1c_defs/all-defs/CellIdListforMDT.h | 44 + asn1c_defs/all-defs/CellIdListforMDT.o | Bin 0 -> 2360 bytes asn1c_defs/all-defs/CellIdListforQMC.c | 50 + asn1c_defs/all-defs/CellIdListforQMC.h | 44 + asn1c_defs/all-defs/CellIdListforQMC.o | Bin 0 -> 2360 bytes asn1c_defs/all-defs/CellInformation-Item.c | 96 + asn1c_defs/all-defs/CellInformation-Item.h | 52 + asn1c_defs/all-defs/CellInformation-Item.o | Bin 0 -> 3720 bytes asn1c_defs/all-defs/CellInformation-List.c | 50 + asn1c_defs/all-defs/CellInformation-List.h | 41 + asn1c_defs/all-defs/CellInformation-List.o | Bin 0 -> 2408 bytes asn1c_defs/all-defs/CellMeasurementResult-Item.c | 96 + asn1c_defs/all-defs/CellMeasurementResult-Item.h | 52 + asn1c_defs/all-defs/CellMeasurementResult-Item.o | Bin 0 -> 3584 bytes asn1c_defs/all-defs/CellMeasurementResult-List.c | 50 + asn1c_defs/all-defs/CellMeasurementResult-List.h | 41 + asn1c_defs/all-defs/CellMeasurementResult-List.o | Bin 0 -> 2448 bytes asn1c_defs/all-defs/CellReplacingInfo.c | 63 + asn1c_defs/all-defs/CellReplacingInfo.h | 48 + asn1c_defs/all-defs/CellReplacingInfo.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/CellReportingIndicator.c | 53 + asn1c_defs/all-defs/CellReportingIndicator.h | 51 + asn1c_defs/all-defs/CellReportingIndicator.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/CellToReport-Item.c | 63 + asn1c_defs/all-defs/CellToReport-Item.h | 46 + asn1c_defs/all-defs/CellToReport-Item.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/CellToReport-List.c | 50 + asn1c_defs/all-defs/CellToReport-List.h | 41 + asn1c_defs/all-defs/CellToReport-List.o | Bin 0 -> 2392 bytes asn1c_defs/all-defs/CellType.c | 63 + asn1c_defs/all-defs/CellType.h | 48 + asn1c_defs/all-defs/CellType.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/CoMPHypothesisSet.c | 50 + asn1c_defs/all-defs/CoMPHypothesisSet.h | 44 + asn1c_defs/all-defs/CoMPHypothesisSet.o | Bin 0 -> 2384 bytes asn1c_defs/all-defs/CoMPHypothesisSetItem.c | 109 + asn1c_defs/all-defs/CoMPHypothesisSetItem.h | 50 + asn1c_defs/all-defs/CoMPHypothesisSetItem.o | Bin 0 -> 4216 bytes asn1c_defs/all-defs/CoMPInformation.c | 73 + asn1c_defs/all-defs/CoMPInformation.h | 48 + asn1c_defs/all-defs/CoMPInformation.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/CoMPInformationItem.c | 114 + asn1c_defs/all-defs/CoMPInformationItem.h | 61 + asn1c_defs/all-defs/CoMPInformationItem.o | Bin 0 -> 4008 bytes asn1c_defs/all-defs/CoMPInformationStartTime.c | 174 + asn1c_defs/all-defs/CoMPInformationStartTime.h | 60 + asn1c_defs/all-defs/CoMPInformationStartTime.o | Bin 0 -> 5680 bytes .../CompleteFailureCauseInformation-Item.c | 73 + .../CompleteFailureCauseInformation-Item.h | 48 + .../CompleteFailureCauseInformation-Item.o | Bin 0 -> 3336 bytes .../CompleteFailureCauseInformation-List.c | 50 + .../CompleteFailureCauseInformation-List.h | 41 + .../CompleteFailureCauseInformation-List.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/CompositeAvailableCapacity.c | 73 + asn1c_defs/all-defs/CompositeAvailableCapacity.h | 50 + asn1c_defs/all-defs/CompositeAvailableCapacity.o | Bin 0 -> 3160 bytes .../all-defs/CompositeAvailableCapacityGroup.c | 73 + .../all-defs/CompositeAvailableCapacityGroup.h | 47 + .../all-defs/CompositeAvailableCapacityGroup.o | Bin 0 -> 3256 bytes asn1c_defs/all-defs/Correlation-ID.c | 62 + asn1c_defs/all-defs/Correlation-ID.h | 43 + asn1c_defs/all-defs/Correlation-ID.o | Bin 0 -> 2888 bytes asn1c_defs/all-defs/CoverageModification-Item.c | 113 + asn1c_defs/all-defs/CoverageModification-Item.h | 52 + asn1c_defs/all-defs/CoverageModification-Item.o | Bin 0 -> 4416 bytes asn1c_defs/all-defs/CoverageModificationList.c | 50 + asn1c_defs/all-defs/CoverageModificationList.h | 41 + asn1c_defs/all-defs/CoverageModificationList.o | Bin 0 -> 2424 bytes asn1c_defs/all-defs/Criticality.c | 55 + asn1c_defs/all-defs/Criticality.h | 52 + asn1c_defs/all-defs/Criticality.o | Bin 0 -> 2608 bytes .../all-defs/CriticalityDiagnostics-IE-List.c | 124 + .../all-defs/CriticalityDiagnostics-IE-List.h | 63 + .../all-defs/CriticalityDiagnostics-IE-List.o | Bin 0 -> 4360 bytes asn1c_defs/all-defs/CriticalityDiagnostics.c | 94 + asn1c_defs/all-defs/CriticalityDiagnostics.h | 52 + asn1c_defs/all-defs/CriticalityDiagnostics.o | Bin 0 -> 3568 bytes asn1c_defs/all-defs/CuCpResourceStatus.c | 62 + asn1c_defs/all-defs/CuCpResourceStatus.h | 41 + asn1c_defs/all-defs/CuCpResourceStatus.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/CuCpResourceStatusReport.c | 72 + asn1c_defs/all-defs/CuCpResourceStatusReport.h | 42 + asn1c_defs/all-defs/CuCpResourceStatusReport.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/CyclicPrefixDL.c | 55 + asn1c_defs/all-defs/CyclicPrefixDL.h | 54 + asn1c_defs/all-defs/CyclicPrefixDL.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/CyclicPrefixUL.c | 55 + asn1c_defs/all-defs/CyclicPrefixUL.h | 54 + asn1c_defs/all-defs/CyclicPrefixUL.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/DL-ABS-status.c | 61 + asn1c_defs/all-defs/DL-ABS-status.h | 44 + asn1c_defs/all-defs/DL-ABS-status.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/DL-Forwarding.c | 53 + asn1c_defs/all-defs/DL-Forwarding.h | 53 + asn1c_defs/all-defs/DL-Forwarding.o | Bin 0 -> 2512 bytes asn1c_defs/all-defs/DL-GBR-PRB-usage.c | 61 + asn1c_defs/all-defs/DL-GBR-PRB-usage.h | 44 + asn1c_defs/all-defs/DL-GBR-PRB-usage.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/DL-Total-PRB-usage.c | 61 + asn1c_defs/all-defs/DL-Total-PRB-usage.h | 44 + asn1c_defs/all-defs/DL-Total-PRB-usage.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/DL-non-GBR-PRB-usage.c | 61 + asn1c_defs/all-defs/DL-non-GBR-PRB-usage.h | 44 + asn1c_defs/all-defs/DL-non-GBR-PRB-usage.o | Bin 0 -> 2840 bytes .../all-defs/DL-scheduling-PDCCH-CCE-usage.c | 61 + .../all-defs/DL-scheduling-PDCCH-CCE-usage.h | 43 + .../all-defs/DL-scheduling-PDCCH-CCE-usage.o | Bin 0 -> 2888 bytes .../all-defs/DLResourceBitmapULandDLSharing.c | 67 + .../all-defs/DLResourceBitmapULandDLSharing.h | 44 + .../all-defs/DLResourceBitmapULandDLSharing.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/DLResourcesULandDLSharing.c | 62 + asn1c_defs/all-defs/DLResourcesULandDLSharing.h | 59 + asn1c_defs/all-defs/DLResourcesULandDLSharing.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/DRB-ID.c | 61 + asn1c_defs/all-defs/DRB-ID.h | 44 + asn1c_defs/all-defs/DRB-ID.o | Bin 0 -> 2744 bytes .../all-defs/DataForwardingAddressIndication.c | 50 + .../all-defs/DataForwardingAddressIndication.h | 44 + .../all-defs/DataForwardingAddressIndication.o | Bin 0 -> 2696 bytes .../all-defs/DataTrafficResourceIndication.c | 114 + .../all-defs/DataTrafficResourceIndication.h | 50 + .../all-defs/DataTrafficResourceIndication.o | Bin 0 -> 4504 bytes asn1c_defs/all-defs/DataTrafficResources.c | 67 + asn1c_defs/all-defs/DataTrafficResources.h | 44 + asn1c_defs/all-defs/DataTrafficResources.o | Bin 0 -> 2952 bytes asn1c_defs/all-defs/DeactivationIndication.c | 53 + asn1c_defs/all-defs/DeactivationIndication.h | 53 + asn1c_defs/all-defs/DeactivationIndication.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/DeliveryStatus.c | 93 + asn1c_defs/all-defs/DeliveryStatus.h | 48 + asn1c_defs/all-defs/DeliveryStatus.o | Bin 0 -> 3960 bytes asn1c_defs/all-defs/DuplicationActivation.c | 55 + asn1c_defs/all-defs/DuplicationActivation.h | 52 + asn1c_defs/all-defs/DuplicationActivation.o | Bin 0 -> 2632 bytes .../all-defs/DynamicDLTransmissionInformation.c | 63 + .../all-defs/DynamicDLTransmissionInformation.h | 58 + .../all-defs/DynamicDLTransmissionInformation.o | Bin 0 -> 2992 bytes asn1c_defs/all-defs/DynamicNAICSInformation.c | 222 + asn1c_defs/all-defs/DynamicNAICSInformation.h | 59 + asn1c_defs/all-defs/DynamicNAICSInformation.o | Bin 0 -> 6536 bytes asn1c_defs/all-defs/E-RAB-ID.c | 61 + asn1c_defs/all-defs/E-RAB-ID.h | 44 + asn1c_defs/all-defs/E-RAB-ID.o | Bin 0 -> 2752 bytes asn1c_defs/all-defs/E-RAB-Item.c | 73 + asn1c_defs/all-defs/E-RAB-Item.h | 48 + asn1c_defs/all-defs/E-RAB-Item.o | Bin 0 -> 2984 bytes asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.c | 84 + asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.h | 52 + asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.o | Bin 0 -> 3440 bytes asn1c_defs/all-defs/E-RAB-List.c | 50 + asn1c_defs/all-defs/E-RAB-List.h | 41 + asn1c_defs/all-defs/E-RAB-List.o | Bin 0 -> 2320 bytes asn1c_defs/all-defs/E-RABUsageReport-Item.c | 227 + asn1c_defs/all-defs/E-RABUsageReport-Item.h | 50 + asn1c_defs/all-defs/E-RABUsageReport-Item.o | Bin 0 -> 6904 bytes asn1c_defs/all-defs/E-RABUsageReportList.c | 50 + asn1c_defs/all-defs/E-RABUsageReportList.h | 44 + asn1c_defs/all-defs/E-RABUsageReportList.o | Bin 0 -> 2416 bytes asn1c_defs/all-defs/E-RABs-Admitted-Item.c | 84 + asn1c_defs/all-defs/E-RABs-Admitted-Item.h | 49 + asn1c_defs/all-defs/E-RABs-Admitted-Item.o | Bin 0 -> 3232 bytes asn1c_defs/all-defs/E-RABs-Admitted-List.c | 50 + asn1c_defs/all-defs/E-RABs-Admitted-List.h | 41 + asn1c_defs/all-defs/E-RABs-Admitted-List.o | Bin 0 -> 2408 bytes .../E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c | 94 + .../E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h | 53 + .../E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.o | Bin 0 -> 3728 bytes .../E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c | 73 + .../E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h | 50 + .../E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.o | Bin 0 -> 3384 bytes .../all-defs/E-RABs-Admitted-ToBeAdded-Item.c | 64 + .../all-defs/E-RABs-Admitted-ToBeAdded-Item.h | 58 + .../all-defs/E-RABs-Admitted-ToBeAdded-Item.o | Bin 0 -> 3040 bytes .../all-defs/E-RABs-Admitted-ToBeAdded-List.c | 50 + .../all-defs/E-RABs-Admitted-ToBeAdded-List.h | 41 + .../all-defs/E-RABs-Admitted-ToBeAdded-List.o | Bin 0 -> 2584 bytes ...RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c | 94 + ...RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h | 53 + ...RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.o | Bin 0 -> 3768 bytes ...Bs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c | 73 + ...Bs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h | 50 + ...Bs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.o | Bin 0 -> 3424 bytes .../E-RABs-Admitted-ToBeAdded-ModAckItem.c | 64 + .../E-RABs-Admitted-ToBeAdded-ModAckItem.h | 58 + .../E-RABs-Admitted-ToBeAdded-ModAckItem.o | Bin 0 -> 3088 bytes .../E-RABs-Admitted-ToBeAdded-ModAckList.c | 50 + .../E-RABs-Admitted-ToBeAdded-ModAckList.h | 41 + .../E-RABs-Admitted-ToBeAdded-ModAckList.o | Bin 0 -> 2624 bytes ...BeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c | 74 + ...BeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h | 50 + ...BeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3504 bytes ...-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c | 126 + ...-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h | 58 + ...-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.o | Bin 0 -> 4512 bytes .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c | 139 + .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h | 74 + .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.o | Bin 0 -> 4960 bytes .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c | 50 + .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h | 41 + .../E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.o | Bin 0 -> 2664 bytes ...-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.c | 74 + ...-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.h | 50 + ...-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3480 bytes ...ted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c | 126 + ...ted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h | 58 + ...ted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.o | Bin 0 -> 4488 bytes .../E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.c | 139 + .../E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h | 74 + .../E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.o | Bin 0 -> 4936 bytes .../E-RABs-Admitted-ToBeAdded-SgNBModAckList.c | 50 + .../E-RABs-Admitted-ToBeAdded-SgNBModAckList.h | 41 + .../E-RABs-Admitted-ToBeAdded-SgNBModAckList.o | Bin 0 -> 2648 bytes ...s-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c | 74 + ...s-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h | 50 + ...s-Admitted-ToBeModified-ModAckItem-SCG-Bearer.o | Bin 0 -> 3440 bytes ...Admitted-ToBeModified-ModAckItem-Split-Bearer.c | 74 + ...Admitted-ToBeModified-ModAckItem-Split-Bearer.h | 50 + ...Admitted-ToBeModified-ModAckItem-Split-Bearer.o | Bin 0 -> 3448 bytes .../E-RABs-Admitted-ToBeModified-ModAckItem.c | 64 + .../E-RABs-Admitted-ToBeModified-ModAckItem.h | 58 + .../E-RABs-Admitted-ToBeModified-ModAckItem.o | Bin 0 -> 3112 bytes .../E-RABs-Admitted-ToBeModified-ModAckList.c | 50 + .../E-RABs-Admitted-ToBeModified-ModAckList.h | 41 + .../E-RABs-Admitted-ToBeModified-ModAckList.o | Bin 0 -> 2640 bytes ...BeModified-SgNBModAck-Item-SgNBPDCPnotpresent.c | 64 + ...BeModified-SgNBModAck-Item-SgNBPDCPnotpresent.h | 48 + ...BeModified-SgNBModAck-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3312 bytes ...-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.c | 96 + ...-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.h | 53 + ...-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.o | Bin 0 -> 3944 bytes .../E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c | 139 + .../E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h | 74 + .../E-RABs-Admitted-ToBeModified-SgNBModAck-Item.o | Bin 0 -> 4960 bytes .../E-RABs-Admitted-ToBeModified-SgNBModAckList.c | 50 + .../E-RABs-Admitted-ToBeModified-SgNBModAckList.h | 41 + .../E-RABs-Admitted-ToBeModified-SgNBModAckList.o | Bin 0 -> 2664 bytes ...s-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.c | 63 + ...s-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.h | 48 + ...s-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.o | Bin 0 -> 3192 bytes ...Admitted-ToBeReleased-ModAckItem-Split-Bearer.c | 63 + ...Admitted-ToBeReleased-ModAckItem-Split-Bearer.h | 48 + ...Admitted-ToBeReleased-ModAckItem-Split-Bearer.o | Bin 0 -> 3208 bytes .../E-RABs-Admitted-ToBeReleased-ModAckList.c | 50 + .../E-RABs-Admitted-ToBeReleased-ModAckList.h | 41 + .../E-RABs-Admitted-ToBeReleased-ModAckList.o | Bin 0 -> 2640 bytes ...BeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c | 53 + ...BeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h | 46 + ...BeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3064 bytes ...-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c | 53 + ...-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h | 46 + ...-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.o | Bin 0 -> 3040 bytes .../E-RABs-Admitted-ToBeReleased-SgNBModAckList.c | 50 + .../E-RABs-Admitted-ToBeReleased-SgNBModAckList.h | 41 + .../E-RABs-Admitted-ToBeReleased-SgNBModAckList.o | Bin 0 -> 2664 bytes ...RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.c | 73 + ...RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.h | 48 + ...RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.o | Bin 0 -> 3392 bytes ...-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.c | 50 + ...-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.h | 41 + ...-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.o | Bin 0 -> 2680 bytes .../E-RABs-Admitted-ToReleased-ModAckItem.c | 64 + .../E-RABs-Admitted-ToReleased-ModAckItem.h | 58 + .../E-RABs-Admitted-ToReleased-ModAckItem.o | Bin 0 -> 3096 bytes .../E-RABs-Admitted-ToReleased-SgNBModAck-Item.c | 139 + .../E-RABs-Admitted-ToReleased-SgNBModAck-Item.h | 74 + .../E-RABs-Admitted-ToReleased-SgNBModAck-Item.o | Bin 0 -> 4944 bytes ...eModified-SgNBModConf-Item-SgNBPDCPnotpresent.c | 64 + ...eModified-SgNBModConf-Item-SgNBPDCPnotpresent.h | 48 + ...eModified-SgNBModConf-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3360 bytes ...ToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c | 53 + ...ToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h | 46 + ...ToBeModified-SgNBModConf-Item-SgNBPDCPpresent.o | Bin 0 -> 3040 bytes .../E-RABs-AdmittedToBeModified-SgNBModConf-Item.c | 139 + .../E-RABs-AdmittedToBeModified-SgNBModConf-Item.h | 74 + .../E-RABs-AdmittedToBeModified-SgNBModConf-Item.o | Bin 0 -> 4960 bytes .../E-RABs-AdmittedToBeModified-SgNBModConfList.c | 50 + .../E-RABs-AdmittedToBeModified-SgNBModConfList.h | 41 + .../E-RABs-AdmittedToBeModified-SgNBModConfList.o | Bin 0 -> 2664 bytes .../all-defs/E-RABs-DataForwardingAddress-Item.c | 73 + .../all-defs/E-RABs-DataForwardingAddress-Item.h | 48 + .../all-defs/E-RABs-DataForwardingAddress-Item.o | Bin 0 -> 3304 bytes .../all-defs/E-RABs-DataForwardingAddress-List.c | 50 + .../all-defs/E-RABs-DataForwardingAddress-List.h | 41 + .../all-defs/E-RABs-DataForwardingAddress-List.o | Bin 0 -> 2600 bytes .../all-defs/E-RABs-SubjectToCounterCheck-List.c | 50 + .../all-defs/E-RABs-SubjectToCounterCheck-List.h | 41 + .../all-defs/E-RABs-SubjectToCounterCheck-List.o | Bin 0 -> 2600 bytes .../all-defs/E-RABs-SubjectToCounterCheckItem.c | 225 + .../all-defs/E-RABs-SubjectToCounterCheckItem.h | 51 + .../all-defs/E-RABs-SubjectToCounterCheckItem.o | Bin 0 -> 6520 bytes .../E-RABs-SubjectToSgNBCounterCheck-Item.c | 225 + .../E-RABs-SubjectToSgNBCounterCheck-Item.h | 51 + .../E-RABs-SubjectToSgNBCounterCheck-Item.o | Bin 0 -> 6560 bytes .../E-RABs-SubjectToSgNBCounterCheck-List.c | 50 + .../E-RABs-SubjectToSgNBCounterCheck-List.h | 41 + .../E-RABs-SubjectToSgNBCounterCheck-List.o | Bin 0 -> 2624 bytes .../all-defs/E-RABs-SubjectToStatusTransfer-Item.c | 93 + .../all-defs/E-RABs-SubjectToStatusTransfer-Item.h | 51 + .../all-defs/E-RABs-SubjectToStatusTransfer-Item.o | Bin 0 -> 3704 bytes .../all-defs/E-RABs-SubjectToStatusTransfer-List.c | 50 + .../all-defs/E-RABs-SubjectToStatusTransfer-List.h | 41 + .../all-defs/E-RABs-SubjectToStatusTransfer-List.o | Bin 0 -> 2616 bytes .../all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.c | 93 + .../all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.h | 54 + .../all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.o | Bin 0 -> 3744 bytes .../all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.c | 83 + .../all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.h | 52 + .../all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.o | Bin 0 -> 3528 bytes asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.c | 64 + asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.h | 58 + asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.c | 50 + asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.h | 44 + asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.o | Bin 0 -> 2464 bytes asn1c_defs/all-defs/E-RABs-ToBeAdded-List.c | 50 + asn1c_defs/all-defs/E-RABs-ToBeAdded-List.h | 41 + asn1c_defs/all-defs/E-RABs-ToBeAdded-List.o | Bin 0 -> 2416 bytes .../E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c | 93 + .../E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h | 54 + .../E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.o | Bin 0 -> 3784 bytes .../E-RABs-ToBeAdded-ModReqItem-Split-Bearer.c | 83 + .../E-RABs-ToBeAdded-ModReqItem-Split-Bearer.h | 52 + .../E-RABs-ToBeAdded-ModReqItem-Split-Bearer.o | Bin 0 -> 3568 bytes asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.c | 64 + asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.h | 58 + asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.o | Bin 0 -> 2920 bytes ...-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.c | 105 + ...-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.h | 56 + ...-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.o | Bin 0 -> 4112 bytes ...ABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c | 105 + ...ABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h | 56 + ...ABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.o | Bin 0 -> 4120 bytes .../all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.c | 149 + .../all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.h | 76 + .../all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.o | Bin 0 -> 5032 bytes .../all-defs/E-RABs-ToBeAdded-SgNBAddReqList.c | 50 + .../all-defs/E-RABs-ToBeAdded-SgNBAddReqList.h | 41 + .../all-defs/E-RABs-ToBeAdded-SgNBAddReqList.o | Bin 0 -> 2592 bytes ...-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c | 105 + ...-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h | 56 + ...-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.o | Bin 0 -> 4112 bytes ...ABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.c | 105 + ...ABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.h | 56 + ...ABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.o | Bin 0 -> 4088 bytes .../all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.c | 149 + .../all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.h | 76 + .../all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.o | Bin 0 -> 5032 bytes .../all-defs/E-RABs-ToBeAdded-SgNBModReq-List.c | 50 + .../all-defs/E-RABs-ToBeAdded-SgNBModReq-List.h | 44 + .../all-defs/E-RABs-ToBeAdded-SgNBModReq-List.o | Bin 0 -> 2600 bytes .../all-defs/E-RABs-ToBeModified-List-ModReq.c | 50 + .../all-defs/E-RABs-ToBeModified-List-ModReq.h | 44 + .../all-defs/E-RABs-ToBeModified-List-ModReq.o | Bin 0 -> 2592 bytes .../E-RABs-ToBeModified-ModReqItem-SCG-Bearer.c | 85 + .../E-RABs-ToBeModified-ModReqItem-SCG-Bearer.h | 52 + .../E-RABs-ToBeModified-ModReqItem-SCG-Bearer.o | Bin 0 -> 3592 bytes .../E-RABs-ToBeModified-ModReqItem-Split-Bearer.c | 85 + .../E-RABs-ToBeModified-ModReqItem-Split-Bearer.h | 52 + .../E-RABs-ToBeModified-ModReqItem-Split-Bearer.o | Bin 0 -> 3608 bytes .../all-defs/E-RABs-ToBeModified-ModReqItem.c | 64 + .../all-defs/E-RABs-ToBeModified-ModReqItem.h | 58 + .../all-defs/E-RABs-ToBeModified-ModReqItem.o | Bin 0 -> 3040 bytes ...BeModified-SgNBModReq-Item-SgNBPDCPnotpresent.c | 86 + ...BeModified-SgNBModReq-Item-SgNBPDCPnotpresent.h | 52 + ...BeModified-SgNBModReq-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3744 bytes ...-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.c | 96 + ...-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.h | 53 + ...-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.o | Bin 0 -> 3896 bytes .../all-defs/E-RABs-ToBeModified-SgNBModReq-Item.c | 139 + .../all-defs/E-RABs-ToBeModified-SgNBModReq-Item.h | 74 + .../all-defs/E-RABs-ToBeModified-SgNBModReq-Item.o | Bin 0 -> 4880 bytes .../all-defs/E-RABs-ToBeModified-SgNBModReq-List.c | 50 + .../all-defs/E-RABs-ToBeModified-SgNBModReq-List.h | 44 + .../all-defs/E-RABs-ToBeModified-SgNBModReq-List.o | Bin 0 -> 2616 bytes ...eModified-SgNBModReqd-Item-SgNBPDCPnotpresent.c | 74 + ...eModified-SgNBModReqd-Item-SgNBPDCPnotpresent.h | 49 + ...eModified-SgNBModReqd-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3456 bytes ...ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.c | 96 + ...ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.h | 53 + ...ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.o | Bin 0 -> 3920 bytes .../E-RABs-ToBeModified-SgNBModReqd-Item.c | 139 + .../E-RABs-ToBeModified-SgNBModReqd-Item.h | 74 + .../E-RABs-ToBeModified-SgNBModReqd-Item.o | Bin 0 -> 4888 bytes .../all-defs/E-RABs-ToBeModified-SgNBModReqdList.c | 50 + .../all-defs/E-RABs-ToBeModified-SgNBModReqdList.h | 41 + .../all-defs/E-RABs-ToBeModified-SgNBModReqdList.o | Bin 0 -> 2616 bytes .../all-defs/E-RABs-ToBeReleased-List-ModReq.c | 50 + .../all-defs/E-RABs-ToBeReleased-List-ModReq.h | 44 + .../all-defs/E-RABs-ToBeReleased-List-ModReq.o | Bin 0 -> 2592 bytes .../all-defs/E-RABs-ToBeReleased-List-RelConf.c | 50 + .../all-defs/E-RABs-ToBeReleased-List-RelConf.h | 41 + .../all-defs/E-RABs-ToBeReleased-List-RelConf.o | Bin 0 -> 2600 bytes .../all-defs/E-RABs-ToBeReleased-List-RelReq.c | 50 + .../all-defs/E-RABs-ToBeReleased-List-RelReq.h | 41 + .../all-defs/E-RABs-ToBeReleased-List-RelReq.o | Bin 0 -> 2592 bytes .../E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c | 84 + .../E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h | 51 + .../E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.o | Bin 0 -> 3544 bytes .../E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c | 74 + .../E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h | 50 + .../E-RABs-ToBeReleased-ModReqItem-Split-Bearer.o | Bin 0 -> 3400 bytes .../all-defs/E-RABs-ToBeReleased-ModReqItem.c | 64 + .../all-defs/E-RABs-ToBeReleased-ModReqItem.h | 58 + .../all-defs/E-RABs-ToBeReleased-ModReqItem.o | Bin 0 -> 3040 bytes asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.c | 50 + asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.h | 41 + asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.o | Bin 0 -> 2456 bytes .../all-defs/E-RABs-ToBeReleased-ModReqdItem.c | 73 + .../all-defs/E-RABs-ToBeReleased-ModReqdItem.h | 48 + .../all-defs/E-RABs-ToBeReleased-ModReqdItem.o | Bin 0 -> 3240 bytes .../E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c | 84 + .../E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h | 51 + .../E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.o | Bin 0 -> 3552 bytes .../E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c | 74 + .../E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h | 50 + .../E-RABs-ToBeReleased-RelConfItem-Split-Bearer.o | Bin 0 -> 3400 bytes .../all-defs/E-RABs-ToBeReleased-RelConfItem.c | 64 + .../all-defs/E-RABs-ToBeReleased-RelConfItem.h | 58 + .../all-defs/E-RABs-ToBeReleased-RelConfItem.o | Bin 0 -> 3048 bytes .../E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c | 84 + .../E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h | 51 + .../E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.o | Bin 0 -> 3544 bytes .../E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c | 74 + .../E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h | 50 + .../E-RABs-ToBeReleased-RelReqItem-Split-Bearer.o | Bin 0 -> 3400 bytes .../all-defs/E-RABs-ToBeReleased-RelReqItem.c | 64 + .../all-defs/E-RABs-ToBeReleased-RelReqItem.h | 58 + .../all-defs/E-RABs-ToBeReleased-RelReqItem.o | Bin 0 -> 3040 bytes ...eReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.c | 53 + ...eReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.h | 46 + ...eReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3008 bytes ...ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.c | 74 + ...ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.h | 49 + ...ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.o | Bin 0 -> 3416 bytes .../E-RABs-ToBeReleased-SgNBChaConf-Item.c | 139 + .../E-RABs-ToBeReleased-SgNBChaConf-Item.h | 74 + .../E-RABs-ToBeReleased-SgNBChaConf-Item.o | Bin 0 -> 4888 bytes .../all-defs/E-RABs-ToBeReleased-SgNBChaConfList.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBChaConfList.h | 41 + .../all-defs/E-RABs-ToBeReleased-SgNBChaConfList.o | Bin 0 -> 2616 bytes ...BeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c | 53 + ...BeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h | 46 + ...BeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3000 bytes ...-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.c | 74 + ...-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.h | 49 + ...-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.o | Bin 0 -> 3408 bytes .../all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.c | 139 + .../all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.h | 74 + .../all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.o | Bin 0 -> 4880 bytes .../all-defs/E-RABs-ToBeReleased-SgNBModReq-List.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBModReq-List.h | 44 + .../all-defs/E-RABs-ToBeReleased-SgNBModReq-List.o | Bin 0 -> 2616 bytes .../E-RABs-ToBeReleased-SgNBModReqd-Item.c | 73 + .../E-RABs-ToBeReleased-SgNBModReqd-Item.h | 48 + .../E-RABs-ToBeReleased-SgNBModReqd-Item.o | Bin 0 -> 3304 bytes .../all-defs/E-RABs-ToBeReleased-SgNBModReqdList.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBModReqdList.h | 41 + .../all-defs/E-RABs-ToBeReleased-SgNBModReqdList.o | Bin 0 -> 2616 bytes ...eReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c | 53 + ...eReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h | 46 + ...eReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3008 bytes ...ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c | 74 + ...ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h | 49 + ...ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.o | Bin 0 -> 3416 bytes .../E-RABs-ToBeReleased-SgNBRelConf-Item.c | 139 + .../E-RABs-ToBeReleased-SgNBRelConf-Item.h | 74 + .../E-RABs-ToBeReleased-SgNBRelConf-Item.o | Bin 0 -> 4888 bytes .../all-defs/E-RABs-ToBeReleased-SgNBRelConfList.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBRelConfList.h | 41 + .../all-defs/E-RABs-ToBeReleased-SgNBRelConfList.o | Bin 0 -> 2616 bytes ...BeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c | 53 + ...BeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h | 46 + ...BeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.o | Bin 0 -> 3000 bytes ...-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c | 74 + ...-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h | 49 + ...-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.o | Bin 0 -> 3408 bytes .../all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.c | 139 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.h | 74 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.o | Bin 0 -> 4880 bytes .../all-defs/E-RABs-ToBeReleased-SgNBRelReqList.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReqList.h | 41 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReqList.o | Bin 0 -> 2608 bytes .../E-RABs-ToBeReleased-SgNBRelReqd-Item.c | 73 + .../E-RABs-ToBeReleased-SgNBRelReqd-Item.h | 48 + .../E-RABs-ToBeReleased-SgNBRelReqd-Item.o | Bin 0 -> 3312 bytes .../all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.c | 50 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.h | 41 + .../all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.o | Bin 0 -> 2616 bytes asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.c | 93 + asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.h | 52 + asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.o | Bin 0 -> 3536 bytes asn1c_defs/all-defs/E-RABs-ToBeSetup-List.c | 50 + asn1c_defs/all-defs/E-RABs-ToBeSetup-List.h | 44 + asn1c_defs/all-defs/E-RABs-ToBeSetup-List.o | Bin 0 -> 2416 bytes .../all-defs/E-RABs-ToBeSetup-ListRetrieve.c | 50 + .../all-defs/E-RABs-ToBeSetup-ListRetrieve.h | 44 + .../all-defs/E-RABs-ToBeSetup-ListRetrieve.o | Bin 0 -> 2464 bytes .../all-defs/E-RABs-ToBeSetupRetrieve-Item.c | 83 + .../all-defs/E-RABs-ToBeSetupRetrieve-Item.h | 50 + .../all-defs/E-RABs-ToBeSetupRetrieve-Item.o | Bin 0 -> 3352 bytes asn1c_defs/all-defs/E2AP-PDU.c | 75 + asn1c_defs/all-defs/E2AP-PDU.h | 61 + asn1c_defs/all-defs/E2AP-PDU.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.c | 136 + asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.h | 53 + asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.o | Bin 0 -> 5064 bytes asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.c | 50 + asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.h | 42 + asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.c | 60 + asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.h | 44 + asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.c | 50 + asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.h | 42 + asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.o | Bin 0 -> 2568 bytes .../all-defs/E2SM-gNB-X2-eventTriggerDefinition.c | 156 + .../all-defs/E2SM-gNB-X2-eventTriggerDefinition.h | 57 + .../all-defs/E2SM-gNB-X2-eventTriggerDefinition.o | Bin 0 -> 5600 bytes asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.c | 72 + asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.h | 46 + asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.o | Bin 0 -> 3136 bytes .../all-defs/E2SM-gNB-X2-indicationMessage.c | 50 + .../all-defs/E2SM-gNB-X2-indicationMessage.h | 42 + .../all-defs/E2SM-gNB-X2-indicationMessage.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/EARFCN.c | 61 + asn1c_defs/all-defs/EARFCN.h | 44 + asn1c_defs/all-defs/EARFCN.o | Bin 0 -> 2744 bytes asn1c_defs/all-defs/EARFCNExtension.c | 61 + asn1c_defs/all-defs/EARFCNExtension.h | 43 + asn1c_defs/all-defs/EARFCNExtension.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/ECGI.c | 73 + asn1c_defs/all-defs/ECGI.h | 50 + asn1c_defs/all-defs/ECGI.o | Bin 0 -> 2968 bytes asn1c_defs/all-defs/EN-DC-ResourceConfiguration.c | 227 + asn1c_defs/all-defs/EN-DC-ResourceConfiguration.h | 76 + asn1c_defs/all-defs/EN-DC-ResourceConfiguration.o | Bin 0 -> 6392 bytes asn1c_defs/all-defs/ENB-ID.c | 226 + asn1c_defs/all-defs/ENB-ID.h | 61 + asn1c_defs/all-defs/ENB-ID.o | Bin 0 -> 5912 bytes asn1c_defs/all-defs/ENBConfigurationUpdate.c | 50 + asn1c_defs/all-defs/ENBConfigurationUpdate.h | 44 + asn1c_defs/all-defs/ENBConfigurationUpdate.o | Bin 0 -> 2552 bytes .../all-defs/ENBConfigurationUpdateAcknowledge.c | 50 + .../all-defs/ENBConfigurationUpdateAcknowledge.h | 44 + .../all-defs/ENBConfigurationUpdateAcknowledge.o | Bin 0 -> 2744 bytes .../all-defs/ENBConfigurationUpdateFailure.c | 50 + .../all-defs/ENBConfigurationUpdateFailure.h | 44 + .../all-defs/ENBConfigurationUpdateFailure.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/ENDCCellActivationFailure.c | 50 + asn1c_defs/all-defs/ENDCCellActivationFailure.h | 44 + asn1c_defs/all-defs/ENDCCellActivationFailure.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/ENDCCellActivationRequest.c | 50 + asn1c_defs/all-defs/ENDCCellActivationRequest.h | 44 + asn1c_defs/all-defs/ENDCCellActivationRequest.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/ENDCCellActivationResponse.c | 50 + asn1c_defs/all-defs/ENDCCellActivationResponse.h | 44 + asn1c_defs/all-defs/ENDCCellActivationResponse.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/ENDCConfigurationUpdate.c | 50 + asn1c_defs/all-defs/ENDCConfigurationUpdate.h | 44 + asn1c_defs/all-defs/ENDCConfigurationUpdate.o | Bin 0 -> 2560 bytes .../all-defs/ENDCConfigurationUpdateAcknowledge.c | 50 + .../all-defs/ENDCConfigurationUpdateAcknowledge.h | 44 + .../all-defs/ENDCConfigurationUpdateAcknowledge.o | Bin 0 -> 2744 bytes .../all-defs/ENDCConfigurationUpdateFailure.c | 50 + .../all-defs/ENDCConfigurationUpdateFailure.h | 44 + .../all-defs/ENDCConfigurationUpdateFailure.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/ENDCPartialResetConfirm.c | 50 + asn1c_defs/all-defs/ENDCPartialResetConfirm.h | 44 + asn1c_defs/all-defs/ENDCPartialResetConfirm.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/ENDCPartialResetRequired.c | 50 + asn1c_defs/all-defs/ENDCPartialResetRequired.h | 44 + asn1c_defs/all-defs/ENDCPartialResetRequired.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/ENDCX2RemovalFailure.c | 50 + asn1c_defs/all-defs/ENDCX2RemovalFailure.h | 44 + asn1c_defs/all-defs/ENDCX2RemovalFailure.o | Bin 0 -> 2544 bytes asn1c_defs/all-defs/ENDCX2RemovalRequest.c | 50 + asn1c_defs/all-defs/ENDCX2RemovalRequest.h | 44 + asn1c_defs/all-defs/ENDCX2RemovalRequest.o | Bin 0 -> 2544 bytes asn1c_defs/all-defs/ENDCX2RemovalResponse.c | 50 + asn1c_defs/all-defs/ENDCX2RemovalResponse.h | 44 + asn1c_defs/all-defs/ENDCX2RemovalResponse.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/ENDCX2SetupFailure.c | 50 + asn1c_defs/all-defs/ENDCX2SetupFailure.h | 44 + asn1c_defs/all-defs/ENDCX2SetupFailure.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/ENDCX2SetupRequest.c | 50 + asn1c_defs/all-defs/ENDCX2SetupRequest.h | 44 + asn1c_defs/all-defs/ENDCX2SetupRequest.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/ENDCX2SetupResponse.c | 50 + asn1c_defs/all-defs/ENDCX2SetupResponse.h | 44 + asn1c_defs/all-defs/ENDCX2SetupResponse.o | Bin 0 -> 2504 bytes asn1c_defs/all-defs/EPLMNs.c | 49 + asn1c_defs/all-defs/EPLMNs.h | 42 + asn1c_defs/all-defs/EPLMNs.o | Bin 0 -> 2272 bytes asn1c_defs/all-defs/ERABActivityNotifyItem.c | 73 + asn1c_defs/all-defs/ERABActivityNotifyItem.h | 50 + asn1c_defs/all-defs/ERABActivityNotifyItem.o | Bin 0 -> 3096 bytes asn1c_defs/all-defs/ERABActivityNotifyItemList.c | 50 + asn1c_defs/all-defs/ERABActivityNotifyItemList.h | 41 + asn1c_defs/all-defs/ERABActivityNotifyItemList.o | Bin 0 -> 2432 bytes asn1c_defs/all-defs/EUTRA-Mode-Info.c | 64 + asn1c_defs/all-defs/EUTRA-Mode-Info.h | 61 + asn1c_defs/all-defs/EUTRA-Mode-Info.o | Bin 0 -> 2752 bytes asn1c_defs/all-defs/EUTRANCellIdentifier.c | 67 + asn1c_defs/all-defs/EUTRANCellIdentifier.h | 44 + asn1c_defs/all-defs/EUTRANCellIdentifier.o | Bin 0 -> 2952 bytes .../EUTRANRCellResourceCoordinationRequest.c | 50 + .../EUTRANRCellResourceCoordinationRequest.h | 44 + .../EUTRANRCellResourceCoordinationRequest.o | Bin 0 -> 2776 bytes .../EUTRANRCellResourceCoordinationResponse.c | 50 + .../EUTRANRCellResourceCoordinationResponse.h | 44 + .../EUTRANRCellResourceCoordinationResponse.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/EUTRANTraceID.c | 62 + asn1c_defs/all-defs/EUTRANTraceID.h | 44 + asn1c_defs/all-defs/EUTRANTraceID.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/EncryptionAlgorithms.c | 67 + asn1c_defs/all-defs/EncryptionAlgorithms.h | 44 + asn1c_defs/all-defs/EncryptionAlgorithms.o | Bin 0 -> 2952 bytes asn1c_defs/all-defs/EnhancedRNTP.c | 120 + asn1c_defs/all-defs/EnhancedRNTP.h | 50 + asn1c_defs/all-defs/EnhancedRNTP.o | Bin 0 -> 4392 bytes asn1c_defs/all-defs/EnhancedRNTPStartTime.c | 133 + asn1c_defs/all-defs/EnhancedRNTPStartTime.h | 49 + asn1c_defs/all-defs/EnhancedRNTPStartTime.o | Bin 0 -> 4696 bytes asn1c_defs/all-defs/ErrorIndication.c | 50 + asn1c_defs/all-defs/ErrorIndication.h | 44 + asn1c_defs/all-defs/ErrorIndication.o | Bin 0 -> 2480 bytes asn1c_defs/all-defs/EventType.c | 53 + asn1c_defs/all-defs/EventType.h | 53 + asn1c_defs/all-defs/EventType.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/ExpectedActivityPeriod.c | 61 + asn1c_defs/all-defs/ExpectedActivityPeriod.h | 44 + asn1c_defs/all-defs/ExpectedActivityPeriod.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/ExpectedHOInterval.c | 65 + asn1c_defs/all-defs/ExpectedHOInterval.h | 59 + asn1c_defs/all-defs/ExpectedHOInterval.o | Bin 0 -> 2920 bytes asn1c_defs/all-defs/ExpectedIdlePeriod.c | 61 + asn1c_defs/all-defs/ExpectedIdlePeriod.h | 44 + asn1c_defs/all-defs/ExpectedIdlePeriod.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/ExpectedUEActivityBehaviour.c | 83 + asn1c_defs/all-defs/ExpectedUEActivityBehaviour.h | 52 + asn1c_defs/all-defs/ExpectedUEActivityBehaviour.o | Bin 0 -> 3528 bytes asn1c_defs/all-defs/ExpectedUEBehaviour.c | 74 + asn1c_defs/all-defs/ExpectedUEBehaviour.h | 48 + asn1c_defs/all-defs/ExpectedUEBehaviour.o | Bin 0 -> 3120 bytes asn1c_defs/all-defs/ExtendedBitRate.c | 67 + asn1c_defs/all-defs/ExtendedBitRate.h | 43 + asn1c_defs/all-defs/ExtendedBitRate.o | Bin 0 -> 3280 bytes .../all-defs/ExtendedULInterferenceOverloadInfo.c | 109 + .../all-defs/ExtendedULInterferenceOverloadInfo.h | 48 + .../all-defs/ExtendedULInterferenceOverloadInfo.o | Bin 0 -> 4408 bytes asn1c_defs/all-defs/FDD-Info.c | 93 + asn1c_defs/all-defs/FDD-Info.h | 52 + asn1c_defs/all-defs/FDD-Info.o | Bin 0 -> 3304 bytes .../FDD-InfoNeighbourServedNRCell-Information.c | 73 + .../FDD-InfoNeighbourServedNRCell-Information.h | 49 + .../FDD-InfoNeighbourServedNRCell-Information.o | Bin 0 -> 3312 bytes .../all-defs/FDD-InfoServedNRCell-Information.c | 93 + .../all-defs/FDD-InfoServedNRCell-Information.h | 52 + .../all-defs/FDD-InfoServedNRCell-Information.o | Bin 0 -> 3600 bytes asn1c_defs/all-defs/FiveGS-TAC.c | 62 + asn1c_defs/all-defs/FiveGS-TAC.h | 44 + asn1c_defs/all-defs/FiveGS-TAC.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/ForbiddenInterRATs.c | 63 + asn1c_defs/all-defs/ForbiddenInterRATs.h | 58 + asn1c_defs/all-defs/ForbiddenInterRATs.o | Bin 0 -> 2872 bytes asn1c_defs/all-defs/ForbiddenLACs.c | 49 + asn1c_defs/all-defs/ForbiddenLACs.h | 42 + asn1c_defs/all-defs/ForbiddenLACs.o | Bin 0 -> 2304 bytes asn1c_defs/all-defs/ForbiddenLAs-Item.c | 73 + asn1c_defs/all-defs/ForbiddenLAs-Item.h | 50 + asn1c_defs/all-defs/ForbiddenLAs-Item.o | Bin 0 -> 3048 bytes asn1c_defs/all-defs/ForbiddenLAs.c | 50 + asn1c_defs/all-defs/ForbiddenLAs.h | 44 + asn1c_defs/all-defs/ForbiddenLAs.o | Bin 0 -> 2312 bytes asn1c_defs/all-defs/ForbiddenTACs.c | 49 + asn1c_defs/all-defs/ForbiddenTACs.h | 42 + asn1c_defs/all-defs/ForbiddenTACs.o | Bin 0 -> 2304 bytes asn1c_defs/all-defs/ForbiddenTAs-Item.c | 73 + asn1c_defs/all-defs/ForbiddenTAs-Item.h | 50 + asn1c_defs/all-defs/ForbiddenTAs-Item.o | Bin 0 -> 3048 bytes asn1c_defs/all-defs/ForbiddenTAs.c | 50 + asn1c_defs/all-defs/ForbiddenTAs.h | 44 + asn1c_defs/all-defs/ForbiddenTAs.o | Bin 0 -> 2312 bytes asn1c_defs/all-defs/Fourframes.c | 67 + asn1c_defs/all-defs/Fourframes.h | 44 + asn1c_defs/all-defs/Fourframes.o | Bin 0 -> 2872 bytes asn1c_defs/all-defs/FreqBandIndicator.c | 61 + asn1c_defs/all-defs/FreqBandIndicator.h | 44 + asn1c_defs/all-defs/FreqBandIndicator.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/FreqBandIndicatorPriority.c | 55 + asn1c_defs/all-defs/FreqBandIndicatorPriority.h | 52 + asn1c_defs/all-defs/FreqBandIndicatorPriority.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/FreqBandNrItem.c | 177 + asn1c_defs/all-defs/FreqBandNrItem.h | 57 + asn1c_defs/all-defs/FreqBandNrItem.o | Bin 0 -> 5776 bytes asn1c_defs/all-defs/GBR-QosInformation.c | 93 + asn1c_defs/all-defs/GBR-QosInformation.h | 51 + asn1c_defs/all-defs/GBR-QosInformation.o | Bin 0 -> 3384 bytes asn1c_defs/all-defs/GNB-ID.c | 88 + asn1c_defs/all-defs/GNB-ID.h | 56 + asn1c_defs/all-defs/GNB-ID.o | Bin 0 -> 3600 bytes asn1c_defs/all-defs/GNBOverloadInformation.c | 55 + asn1c_defs/all-defs/GNBOverloadInformation.h | 52 + asn1c_defs/all-defs/GNBOverloadInformation.o | Bin 0 -> 2672 bytes asn1c_defs/all-defs/GNBStatusIndication.c | 50 + asn1c_defs/all-defs/GNBStatusIndication.h | 44 + asn1c_defs/all-defs/GNBStatusIndication.o | Bin 0 -> 2504 bytes asn1c_defs/all-defs/GTP-TEI.c | 62 + asn1c_defs/all-defs/GTP-TEI.h | 44 + asn1c_defs/all-defs/GTP-TEI.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/GTPtunnelEndpoint.c | 73 + asn1c_defs/all-defs/GTPtunnelEndpoint.h | 50 + asn1c_defs/all-defs/GTPtunnelEndpoint.o | Bin 0 -> 3048 bytes asn1c_defs/all-defs/GU-Group-ID.c | 73 + asn1c_defs/all-defs/GU-Group-ID.h | 50 + asn1c_defs/all-defs/GU-Group-ID.o | Bin 0 -> 3008 bytes asn1c_defs/all-defs/GUGroupIDList.c | 50 + asn1c_defs/all-defs/GUGroupIDList.h | 41 + asn1c_defs/all-defs/GUGroupIDList.o | Bin 0 -> 2312 bytes asn1c_defs/all-defs/GUMMEI.c | 73 + asn1c_defs/all-defs/GUMMEI.h | 48 + asn1c_defs/all-defs/GUMMEI.o | Bin 0 -> 2968 bytes asn1c_defs/all-defs/GlobalENB-ID.c | 73 + asn1c_defs/all-defs/GlobalENB-ID.h | 50 + asn1c_defs/all-defs/GlobalENB-ID.o | Bin 0 -> 3008 bytes asn1c_defs/all-defs/GlobalGNB-ID.c | 73 + asn1c_defs/all-defs/GlobalGNB-ID.h | 50 + asn1c_defs/all-defs/GlobalGNB-ID.o | Bin 0 -> 3008 bytes asn1c_defs/all-defs/HFN.c | 61 + asn1c_defs/all-defs/HFN.h | 44 + asn1c_defs/all-defs/HFN.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/HFNModified.c | 61 + asn1c_defs/all-defs/HFNModified.h | 44 + asn1c_defs/all-defs/HFNModified.o | Bin 0 -> 2768 bytes asn1c_defs/all-defs/HFNforPDCP-SNlength18.c | 61 + asn1c_defs/all-defs/HFNforPDCP-SNlength18.h | 44 + asn1c_defs/all-defs/HFNforPDCP-SNlength18.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/HWLoadIndicator.c | 73 + asn1c_defs/all-defs/HWLoadIndicator.h | 49 + asn1c_defs/all-defs/HWLoadIndicator.o | Bin 0 -> 3024 bytes asn1c_defs/all-defs/HandoverCancel.c | 50 + asn1c_defs/all-defs/HandoverCancel.h | 44 + asn1c_defs/all-defs/HandoverCancel.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/HandoverPreparationFailure.c | 50 + asn1c_defs/all-defs/HandoverPreparationFailure.h | 44 + asn1c_defs/all-defs/HandoverPreparationFailure.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/HandoverReport.c | 50 + asn1c_defs/all-defs/HandoverReport.h | 44 + asn1c_defs/all-defs/HandoverReport.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/HandoverReportType.c | 57 + asn1c_defs/all-defs/HandoverReportType.h | 53 + asn1c_defs/all-defs/HandoverReportType.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/HandoverRequest.c | 50 + asn1c_defs/all-defs/HandoverRequest.h | 44 + asn1c_defs/all-defs/HandoverRequest.o | Bin 0 -> 2480 bytes asn1c_defs/all-defs/HandoverRequestAcknowledge.c | 50 + asn1c_defs/all-defs/HandoverRequestAcknowledge.h | 44 + asn1c_defs/all-defs/HandoverRequestAcknowledge.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/HandoverRestrictionList.c | 106 + asn1c_defs/all-defs/HandoverRestrictionList.h | 56 + asn1c_defs/all-defs/HandoverRestrictionList.o | Bin 0 -> 3760 bytes asn1c_defs/all-defs/INTEGER.c | 1735 + asn1c_defs/all-defs/INTEGER.h | 108 + asn1c_defs/all-defs/INTEGER.o | Bin 0 -> 64952 bytes asn1c_defs/all-defs/InitiatingMessage.c | 508 + asn1c_defs/all-defs/InitiatingMessage.h | 126 + asn1c_defs/all-defs/InitiatingMessage.o | Bin 0 -> 21120 bytes .../all-defs/InitiatingNodeType-EndcConfigUpdate.c | 63 + .../all-defs/InitiatingNodeType-EndcConfigUpdate.h | 57 + .../all-defs/InitiatingNodeType-EndcConfigUpdate.o | Bin 0 -> 3040 bytes .../all-defs/InitiatingNodeType-EndcX2Removal.c | 63 + .../all-defs/InitiatingNodeType-EndcX2Removal.h | 57 + .../all-defs/InitiatingNodeType-EndcX2Removal.o | Bin 0 -> 3024 bytes .../all-defs/InitiatingNodeType-EndcX2Setup.c | 63 + .../all-defs/InitiatingNodeType-EndcX2Setup.h | 57 + .../all-defs/InitiatingNodeType-EndcX2Setup.o | Bin 0 -> 3008 bytes ...atingNodeType-EutranrCellResourceCoordination.c | 63 + ...atingNodeType-EutranrCellResourceCoordination.h | 57 + ...atingNodeType-EutranrCellResourceCoordination.o | Bin 0 -> 3176 bytes .../all-defs/IntegrityProtectionAlgorithms.c | 67 + .../all-defs/IntegrityProtectionAlgorithms.h | 44 + .../all-defs/IntegrityProtectionAlgorithms.o | Bin 0 -> 3000 bytes asn1c_defs/all-defs/Interface-ID.c | 64 + asn1c_defs/all-defs/Interface-ID.h | 61 + asn1c_defs/all-defs/Interface-ID.o | Bin 0 -> 2744 bytes asn1c_defs/all-defs/InterfaceDirection.c | 55 + asn1c_defs/all-defs/InterfaceDirection.h | 54 + asn1c_defs/all-defs/InterfaceDirection.o | Bin 0 -> 2616 bytes asn1c_defs/all-defs/InterfaceMessage.c | 31 + asn1c_defs/all-defs/InterfaceMessage.h | 43 + asn1c_defs/all-defs/InterfaceMessage.o | Bin 0 -> 1872 bytes asn1c_defs/all-defs/InterfaceMessageType.c | 60 + asn1c_defs/all-defs/InterfaceMessageType.h | 46 + asn1c_defs/all-defs/InterfaceMessageType.o | Bin 0 -> 2752 bytes asn1c_defs/all-defs/InterfaceProtocolIE-ID.c | 61 + asn1c_defs/all-defs/InterfaceProtocolIE-ID.h | 44 + asn1c_defs/all-defs/InterfaceProtocolIE-ID.o | Bin 0 -> 2856 bytes asn1c_defs/all-defs/InterfaceProtocolIE-Item.c | 70 + asn1c_defs/all-defs/InterfaceProtocolIE-Item.h | 48 + asn1c_defs/all-defs/InterfaceProtocolIE-Item.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/InterfaceProtocolIE-Test.c | 61 + asn1c_defs/all-defs/InterfaceProtocolIE-Test.h | 57 + asn1c_defs/all-defs/InterfaceProtocolIE-Test.o | Bin 0 -> 2864 bytes asn1c_defs/all-defs/InterfaceProtocolIE-Value.c | 92 + asn1c_defs/all-defs/InterfaceProtocolIE-Value.h | 67 + asn1c_defs/all-defs/InterfaceProtocolIE-Value.o | Bin 0 -> 3384 bytes asn1c_defs/all-defs/InterfacesToTrace.c | 67 + asn1c_defs/all-defs/InterfacesToTrace.h | 44 + asn1c_defs/all-defs/InterfacesToTrace.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/InvokeIndication.c | 57 + asn1c_defs/all-defs/InvokeIndication.h | 53 + asn1c_defs/all-defs/InvokeIndication.o | Bin 0 -> 2680 bytes asn1c_defs/all-defs/Key-eNodeB-Star.c | 67 + asn1c_defs/all-defs/Key-eNodeB-Star.h | 44 + asn1c_defs/all-defs/Key-eNodeB-Star.o | Bin 0 -> 2928 bytes asn1c_defs/all-defs/LAC.c | 62 + asn1c_defs/all-defs/LAC.h | 44 + asn1c_defs/all-defs/LAC.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/LCID.c | 61 + asn1c_defs/all-defs/LCID.h | 43 + asn1c_defs/all-defs/LCID.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/LHN-ID.c | 62 + asn1c_defs/all-defs/LHN-ID.h | 43 + asn1c_defs/all-defs/LHN-ID.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/LastVisitedCell-Item.c | 84 + asn1c_defs/all-defs/LastVisitedCell-Item.h | 66 + asn1c_defs/all-defs/LastVisitedCell-Item.o | Bin 0 -> 3280 bytes .../all-defs/LastVisitedEUTRANCellInformation.c | 83 + .../all-defs/LastVisitedEUTRANCellInformation.h | 52 + .../all-defs/LastVisitedEUTRANCellInformation.o | Bin 0 -> 3480 bytes .../all-defs/LastVisitedGERANCellInformation.c | 52 + .../all-defs/LastVisitedGERANCellInformation.h | 56 + .../all-defs/LastVisitedGERANCellInformation.o | Bin 0 -> 2760 bytes .../all-defs/LastVisitedNGRANCellInformation.c | 31 + .../all-defs/LastVisitedNGRANCellInformation.h | 43 + .../all-defs/LastVisitedNGRANCellInformation.o | Bin 0 -> 1920 bytes .../all-defs/LastVisitedUTRANCellInformation.c | 31 + .../all-defs/LastVisitedUTRANCellInformation.h | 43 + .../all-defs/LastVisitedUTRANCellInformation.o | Bin 0 -> 1920 bytes asn1c_defs/all-defs/Limited-list.c | 104 + asn1c_defs/all-defs/Limited-list.h | 59 + asn1c_defs/all-defs/Limited-list.o | Bin 0 -> 3728 bytes asn1c_defs/all-defs/Links-to-log.c | 57 + asn1c_defs/all-defs/Links-to-log.h | 55 + asn1c_defs/all-defs/Links-to-log.o | Bin 0 -> 2648 bytes .../ListofEUTRACellsinEUTRACoordinationReq.c | 50 + .../ListofEUTRACellsinEUTRACoordinationReq.h | 41 + .../ListofEUTRACellsinEUTRACoordinationReq.o | Bin 0 -> 2600 bytes .../ListofEUTRACellsinEUTRACoordinationResp.c | 50 + .../ListofEUTRACellsinEUTRACoordinationResp.h | 41 + .../ListofEUTRACellsinEUTRACoordinationResp.o | Bin 0 -> 2608 bytes .../all-defs/ListofEUTRACellsinNRCoordinationReq.c | 50 + .../all-defs/ListofEUTRACellsinNRCoordinationReq.h | 41 + .../all-defs/ListofEUTRACellsinNRCoordinationReq.o | Bin 0 -> 2584 bytes .../all-defs/ListofNRCellsinNRCoordinationReq.c | 50 + .../all-defs/ListofNRCellsinNRCoordinationReq.h | 41 + .../all-defs/ListofNRCellsinNRCoordinationReq.o | Bin 0 -> 2568 bytes .../all-defs/ListofNRCellsinNRCoordinationResp.c | 50 + .../all-defs/ListofNRCellsinNRCoordinationResp.h | 41 + .../all-defs/ListofNRCellsinNRCoordinationResp.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/LoadIndicator.c | 59 + asn1c_defs/all-defs/LoadIndicator.h | 56 + asn1c_defs/all-defs/LoadIndicator.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/LoadInformation.c | 50 + asn1c_defs/all-defs/LoadInformation.h | 44 + asn1c_defs/all-defs/LoadInformation.o | Bin 0 -> 2480 bytes asn1c_defs/all-defs/LocationReportingInformation.c | 73 + asn1c_defs/all-defs/LocationReportingInformation.h | 50 + asn1c_defs/all-defs/LocationReportingInformation.o | Bin 0 -> 3120 bytes asn1c_defs/all-defs/M1PeriodicReporting.c | 73 + asn1c_defs/all-defs/M1PeriodicReporting.h | 50 + asn1c_defs/all-defs/M1PeriodicReporting.o | Bin 0 -> 3072 bytes asn1c_defs/all-defs/M1ReportingTrigger.c | 57 + asn1c_defs/all-defs/M1ReportingTrigger.h | 55 + asn1c_defs/all-defs/M1ReportingTrigger.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/M1ThresholdEventA2.c | 63 + asn1c_defs/all-defs/M1ThresholdEventA2.h | 48 + asn1c_defs/all-defs/M1ThresholdEventA2.o | Bin 0 -> 2856 bytes asn1c_defs/all-defs/M3Configuration.c | 63 + asn1c_defs/all-defs/M3Configuration.h | 46 + asn1c_defs/all-defs/M3Configuration.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/M3period.c | 57 + asn1c_defs/all-defs/M3period.h | 55 + asn1c_defs/all-defs/M3period.o | Bin 0 -> 2592 bytes asn1c_defs/all-defs/M4Configuration.c | 73 + asn1c_defs/all-defs/M4Configuration.h | 48 + asn1c_defs/all-defs/M4Configuration.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/M4period.c | 61 + asn1c_defs/all-defs/M4period.h | 57 + asn1c_defs/all-defs/M4period.o | Bin 0 -> 2720 bytes asn1c_defs/all-defs/M5Configuration.c | 73 + asn1c_defs/all-defs/M5Configuration.h | 48 + asn1c_defs/all-defs/M5Configuration.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/M5period.c | 61 + asn1c_defs/all-defs/M5period.h | 57 + asn1c_defs/all-defs/M5period.o | Bin 0 -> 2720 bytes asn1c_defs/all-defs/M6Configuration.c | 83 + asn1c_defs/all-defs/M6Configuration.h | 50 + asn1c_defs/all-defs/M6Configuration.o | Bin 0 -> 3256 bytes asn1c_defs/all-defs/M6delay-threshold.c | 75 + asn1c_defs/all-defs/M6delay-threshold.h | 64 + asn1c_defs/all-defs/M6delay-threshold.o | Bin 0 -> 3248 bytes asn1c_defs/all-defs/M6report-interval.c | 59 + asn1c_defs/all-defs/M6report-interval.h | 56 + asn1c_defs/all-defs/M6report-interval.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/M7Configuration.c | 73 + asn1c_defs/all-defs/M7Configuration.h | 48 + asn1c_defs/all-defs/M7Configuration.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/M7period.c | 61 + asn1c_defs/all-defs/M7period.h | 44 + asn1c_defs/all-defs/M7period.o | Bin 0 -> 2752 bytes .../all-defs/MBMS-Service-Area-Identity-List.c | 49 + .../all-defs/MBMS-Service-Area-Identity-List.h | 39 + .../all-defs/MBMS-Service-Area-Identity-List.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/MBMS-Service-Area-Identity.c | 62 + asn1c_defs/all-defs/MBMS-Service-Area-Identity.h | 44 + asn1c_defs/all-defs/MBMS-Service-Area-Identity.o | Bin 0 -> 2944 bytes asn1c_defs/all-defs/MBSFN-Subframe-Info.c | 83 + asn1c_defs/all-defs/MBSFN-Subframe-Info.h | 52 + asn1c_defs/all-defs/MBSFN-Subframe-Info.o | Bin 0 -> 3328 bytes asn1c_defs/all-defs/MBSFN-Subframe-Infolist.c | 50 + asn1c_defs/all-defs/MBSFN-Subframe-Infolist.h | 41 + asn1c_defs/all-defs/MBSFN-Subframe-Infolist.o | Bin 0 -> 2416 bytes asn1c_defs/all-defs/MDT-Activation.c | 55 + asn1c_defs/all-defs/MDT-Activation.h | 54 + asn1c_defs/all-defs/MDT-Activation.o | Bin 0 -> 2616 bytes asn1c_defs/all-defs/MDT-Configuration.c | 115 + asn1c_defs/all-defs/MDT-Configuration.h | 56 + asn1c_defs/all-defs/MDT-Configuration.o | Bin 0 -> 3968 bytes asn1c_defs/all-defs/MDT-Location-Info.c | 67 + asn1c_defs/all-defs/MDT-Location-Info.h | 43 + asn1c_defs/all-defs/MDT-Location-Info.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/MDTPLMNList.c | 49 + asn1c_defs/all-defs/MDTPLMNList.h | 42 + asn1c_defs/all-defs/MDTPLMNList.o | Bin 0 -> 2304 bytes asn1c_defs/all-defs/MME-Code.c | 62 + asn1c_defs/all-defs/MME-Code.h | 44 + asn1c_defs/all-defs/MME-Code.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/MME-Group-ID.c | 62 + asn1c_defs/all-defs/MME-Group-ID.h | 44 + asn1c_defs/all-defs/MME-Group-ID.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/MakeBeforeBreakIndicator.c | 53 + asn1c_defs/all-defs/MakeBeforeBreakIndicator.h | 51 + asn1c_defs/all-defs/MakeBeforeBreakIndicator.o | Bin 0 -> 2592 bytes asn1c_defs/all-defs/Makefile.am.libasncodec | 1587 + asn1c_defs/all-defs/ManagementBasedMDTallowed.c | 53 + asn1c_defs/all-defs/ManagementBasedMDTallowed.h | 53 + asn1c_defs/all-defs/ManagementBasedMDTallowed.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/Masked-IMEISV.c | 67 + asn1c_defs/all-defs/Masked-IMEISV.h | 43 + asn1c_defs/all-defs/Masked-IMEISV.o | Bin 0 -> 2888 bytes .../MeNBCoordinationAssistanceInformation.c | 53 + .../MeNBCoordinationAssistanceInformation.h | 51 + .../MeNBCoordinationAssistanceInformation.o | Bin 0 -> 2808 bytes .../all-defs/MeNBResourceCoordinationInformation.c | 155 + .../all-defs/MeNBResourceCoordinationInformation.h | 49 + .../all-defs/MeNBResourceCoordinationInformation.o | Bin 0 -> 5144 bytes asn1c_defs/all-defs/MeNBtoSeNBContainer.c | 31 + asn1c_defs/all-defs/MeNBtoSeNBContainer.h | 43 + asn1c_defs/all-defs/MeNBtoSeNBContainer.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/MeNBtoSgNBContainer.c | 31 + asn1c_defs/all-defs/MeNBtoSgNBContainer.h | 43 + asn1c_defs/all-defs/MeNBtoSgNBContainer.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/Measurement-ID.c | 61 + asn1c_defs/all-defs/Measurement-ID.h | 43 + asn1c_defs/all-defs/Measurement-ID.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/MeasurementFailureCause-Item.c | 73 + asn1c_defs/all-defs/MeasurementFailureCause-Item.h | 48 + asn1c_defs/all-defs/MeasurementFailureCause-Item.o | Bin 0 -> 3272 bytes asn1c_defs/all-defs/MeasurementFailureCause-List.c | 50 + asn1c_defs/all-defs/MeasurementFailureCause-List.h | 44 + asn1c_defs/all-defs/MeasurementFailureCause-List.o | Bin 0 -> 2464 bytes .../all-defs/MeasurementInitiationResult-Item.c | 74 + .../all-defs/MeasurementInitiationResult-Item.h | 48 + .../all-defs/MeasurementInitiationResult-Item.o | Bin 0 -> 3320 bytes .../all-defs/MeasurementInitiationResult-List.c | 50 + .../all-defs/MeasurementInitiationResult-List.h | 41 + .../all-defs/MeasurementInitiationResult-List.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/MeasurementThresholdA2.c | 62 + asn1c_defs/all-defs/MeasurementThresholdA2.h | 59 + asn1c_defs/all-defs/MeasurementThresholdA2.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/MeasurementsToActivate.c | 67 + asn1c_defs/all-defs/MeasurementsToActivate.h | 44 + asn1c_defs/all-defs/MeasurementsToActivate.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/MobilityChangeAcknowledge.c | 50 + asn1c_defs/all-defs/MobilityChangeAcknowledge.h | 44 + asn1c_defs/all-defs/MobilityChangeAcknowledge.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/MobilityChangeFailure.c | 50 + asn1c_defs/all-defs/MobilityChangeFailure.h | 44 + asn1c_defs/all-defs/MobilityChangeFailure.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/MobilityChangeRequest.c | 50 + asn1c_defs/all-defs/MobilityChangeRequest.h | 44 + asn1c_defs/all-defs/MobilityChangeRequest.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/MobilityInformation.c | 67 + asn1c_defs/all-defs/MobilityInformation.h | 43 + asn1c_defs/all-defs/MobilityInformation.o | Bin 0 -> 2952 bytes .../all-defs/MobilityParametersInformation.c | 80 + .../all-defs/MobilityParametersInformation.h | 42 + .../all-defs/MobilityParametersInformation.o | Bin 0 -> 3704 bytes .../all-defs/MobilityParametersModificationRange.c | 120 + .../all-defs/MobilityParametersModificationRange.h | 43 + .../all-defs/MobilityParametersModificationRange.o | Bin 0 -> 4592 bytes asn1c_defs/all-defs/MultibandInfoList.c | 50 + asn1c_defs/all-defs/MultibandInfoList.h | 41 + asn1c_defs/all-defs/MultibandInfoList.o | Bin 0 -> 2368 bytes asn1c_defs/all-defs/NR-TxBW.c | 73 + asn1c_defs/all-defs/NR-TxBW.h | 50 + asn1c_defs/all-defs/NR-TxBW.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/NRCGI.c | 73 + asn1c_defs/all-defs/NRCGI.h | 50 + asn1c_defs/all-defs/NRCGI.o | Bin 0 -> 2968 bytes asn1c_defs/all-defs/NRCellIdentifier.c | 67 + asn1c_defs/all-defs/NRCellIdentifier.h | 44 + asn1c_defs/all-defs/NRCellIdentifier.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/NRFreqInfo.c | 188 + asn1c_defs/all-defs/NRFreqInfo.h | 59 + asn1c_defs/all-defs/NRFreqInfo.o | Bin 0 -> 5856 bytes asn1c_defs/all-defs/NRNRB.c | 109 + asn1c_defs/all-defs/NRNRB.h | 81 + asn1c_defs/all-defs/NRNRB.o | Bin 0 -> 4136 bytes asn1c_defs/all-defs/NRNeighbour-Information.c | 210 + asn1c_defs/all-defs/NRNeighbour-Information.h | 93 + asn1c_defs/all-defs/NRNeighbour-Information.o | Bin 0 -> 6304 bytes asn1c_defs/all-defs/NRPCI.c | 61 + asn1c_defs/all-defs/NRPCI.h | 44 + asn1c_defs/all-defs/NRPCI.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/NRS-NSSS-PowerOffset.c | 57 + asn1c_defs/all-defs/NRS-NSSS-PowerOffset.h | 53 + asn1c_defs/all-defs/NRS-NSSS-PowerOffset.o | Bin 0 -> 2672 bytes asn1c_defs/all-defs/NRSCS.c | 59 + asn1c_defs/all-defs/NRSCS.h | 56 + asn1c_defs/all-defs/NRSCS.o | Bin 0 -> 2648 bytes asn1c_defs/all-defs/NRUESecurityCapabilities.c | 73 + asn1c_defs/all-defs/NRUESecurityCapabilities.h | 50 + asn1c_defs/all-defs/NRUESecurityCapabilities.o | Bin 0 -> 3264 bytes asn1c_defs/all-defs/NRencryptionAlgorithms.c | 67 + asn1c_defs/all-defs/NRencryptionAlgorithms.h | 44 + asn1c_defs/all-defs/NRencryptionAlgorithms.o | Bin 0 -> 2960 bytes .../all-defs/NRintegrityProtectionAlgorithms.c | 67 + .../all-defs/NRintegrityProtectionAlgorithms.h | 44 + .../all-defs/NRintegrityProtectionAlgorithms.o | Bin 0 -> 3040 bytes asn1c_defs/all-defs/NRrestrictionin5GS.c | 53 + asn1c_defs/all-defs/NRrestrictionin5GS.h | 51 + asn1c_defs/all-defs/NRrestrictionin5GS.o | Bin 0 -> 2552 bytes .../all-defs/NRrestrictioninEPSasSecondaryRAT.c | 53 + .../all-defs/NRrestrictioninEPSasSecondaryRAT.h | 51 + .../all-defs/NRrestrictioninEPSasSecondaryRAT.o | Bin 0 -> 2680 bytes .../all-defs/NSSS-NumOccasionDifferentPrecoder.c | 57 + .../all-defs/NSSS-NumOccasionDifferentPrecoder.h | 53 + .../all-defs/NSSS-NumOccasionDifferentPrecoder.o | Bin 0 -> 2888 bytes asn1c_defs/all-defs/NULL.c | 299 + asn1c_defs/all-defs/NULL.h | 45 + asn1c_defs/all-defs/NULL.o | Bin 0 -> 4392 bytes asn1c_defs/all-defs/NativeEnumerated.c | 367 + asn1c_defs/all-defs/NativeEnumerated.h | 45 + asn1c_defs/all-defs/NativeEnumerated.o | Bin 0 -> 6608 bytes asn1c_defs/all-defs/NativeInteger.c | 550 + asn1c_defs/all-defs/NativeInteger.h | 46 + asn1c_defs/all-defs/NativeInteger.o | Bin 0 -> 10936 bytes asn1c_defs/all-defs/Neighbour-Information.c | 124 + asn1c_defs/all-defs/Neighbour-Information.h | 63 + asn1c_defs/all-defs/Neighbour-Information.o | Bin 0 -> 4176 bytes asn1c_defs/all-defs/NewDRBIDrequest.c | 53 + asn1c_defs/all-defs/NewDRBIDrequest.h | 51 + asn1c_defs/all-defs/NewDRBIDrequest.o | Bin 0 -> 2528 bytes asn1c_defs/all-defs/NextHopChainingCount.c | 61 + asn1c_defs/all-defs/NextHopChainingCount.h | 44 + asn1c_defs/all-defs/NextHopChainingCount.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/Number-of-Antennaports.c | 57 + asn1c_defs/all-defs/Number-of-Antennaports.h | 53 + asn1c_defs/all-defs/Number-of-Antennaports.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/OBJECT_IDENTIFIER.c | 656 + asn1c_defs/all-defs/OBJECT_IDENTIFIER.h | 156 + asn1c_defs/all-defs/OBJECT_IDENTIFIER.o | Bin 0 -> 11696 bytes asn1c_defs/all-defs/OCTET_STRING.c | 2409 + asn1c_defs/all-defs/OCTET_STRING.h | 102 + asn1c_defs/all-defs/OCTET_STRING.o | Bin 0 -> 36960 bytes asn1c_defs/all-defs/OPEN_TYPE.c | 509 + asn1c_defs/all-defs/OPEN_TYPE.h | 77 + asn1c_defs/all-defs/OPEN_TYPE.o | Bin 0 -> 7128 bytes .../all-defs/OffsetOfNbiotChannelNumberToEARFCN.c | 93 + .../all-defs/OffsetOfNbiotChannelNumberToEARFCN.h | 71 + .../all-defs/OffsetOfNbiotChannelNumberToEARFCN.o | Bin 0 -> 4040 bytes asn1c_defs/all-defs/Old-ECGIs.c | 50 + asn1c_defs/all-defs/Old-ECGIs.h | 41 + asn1c_defs/all-defs/Old-ECGIs.o | Bin 0 -> 2280 bytes asn1c_defs/all-defs/Oneframe.c | 67 + asn1c_defs/all-defs/Oneframe.h | 44 + asn1c_defs/all-defs/Oneframe.o | Bin 0 -> 2864 bytes asn1c_defs/all-defs/PA-Values.c | 67 + asn1c_defs/all-defs/PA-Values.h | 60 + asn1c_defs/all-defs/PA-Values.o | Bin 0 -> 2936 bytes asn1c_defs/all-defs/PCI.c | 61 + asn1c_defs/all-defs/PCI.h | 44 + asn1c_defs/all-defs/PCI.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/PDCP-SN.c | 61 + asn1c_defs/all-defs/PDCP-SN.h | 44 + asn1c_defs/all-defs/PDCP-SN.o | Bin 0 -> 2744 bytes asn1c_defs/all-defs/PDCP-SNExtended.c | 61 + asn1c_defs/all-defs/PDCP-SNExtended.h | 44 + asn1c_defs/all-defs/PDCP-SNExtended.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/PDCP-SNlength18.c | 61 + asn1c_defs/all-defs/PDCP-SNlength18.h | 44 + asn1c_defs/all-defs/PDCP-SNlength18.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/PDCPChangeIndication.c | 55 + asn1c_defs/all-defs/PDCPChangeIndication.h | 52 + asn1c_defs/all-defs/PDCPChangeIndication.o | Bin 0 -> 2656 bytes asn1c_defs/all-defs/PDCPSnLength.c | 55 + asn1c_defs/all-defs/PDCPSnLength.h | 52 + asn1c_defs/all-defs/PDCPSnLength.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/PLMN-Identity.c | 62 + asn1c_defs/all-defs/PLMN-Identity.h | 44 + asn1c_defs/all-defs/PLMN-Identity.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/PLMNAreaBasedQMC.c | 63 + asn1c_defs/all-defs/PLMNAreaBasedQMC.h | 48 + asn1c_defs/all-defs/PLMNAreaBasedQMC.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/PLMNListforQMC.c | 49 + asn1c_defs/all-defs/PLMNListforQMC.h | 42 + asn1c_defs/all-defs/PLMNListforQMC.o | Bin 0 -> 2320 bytes asn1c_defs/all-defs/PRACH-Configuration.c | 223 + asn1c_defs/all-defs/PRACH-Configuration.h | 51 + asn1c_defs/all-defs/PRACH-Configuration.o | Bin 0 -> 6384 bytes asn1c_defs/all-defs/Packet-LossRate.c | 61 + asn1c_defs/all-defs/Packet-LossRate.h | 43 + asn1c_defs/all-defs/Packet-LossRate.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/PartialSuccessIndicator.c | 53 + asn1c_defs/all-defs/PartialSuccessIndicator.h | 51 + asn1c_defs/all-defs/PartialSuccessIndicator.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/PedestrianUE.c | 55 + asn1c_defs/all-defs/PedestrianUE.h | 54 + asn1c_defs/all-defs/PedestrianUE.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/Port-Number.c | 62 + asn1c_defs/all-defs/Port-Number.h | 44 + asn1c_defs/all-defs/Port-Number.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/Pre-emptionCapability.c | 53 + asn1c_defs/all-defs/Pre-emptionCapability.h | 51 + asn1c_defs/all-defs/Pre-emptionCapability.o | Bin 0 -> 2664 bytes asn1c_defs/all-defs/Pre-emptionVulnerability.c | 53 + asn1c_defs/all-defs/Pre-emptionVulnerability.h | 51 + asn1c_defs/all-defs/Pre-emptionVulnerability.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/Presence.c | 55 + asn1c_defs/all-defs/Presence.h | 52 + asn1c_defs/all-defs/Presence.o | Bin 0 -> 2592 bytes asn1c_defs/all-defs/PrintableString.c | 130 + asn1c_defs/all-defs/PrintableString.h | 37 + asn1c_defs/all-defs/PrintableString.o | Bin 0 -> 6080 bytes asn1c_defs/all-defs/PriorityLevel.c | 61 + asn1c_defs/all-defs/PriorityLevel.h | 52 + asn1c_defs/all-defs/PriorityLevel.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/PrivateIE-Container.c | 50 + asn1c_defs/all-defs/PrivateIE-Container.h | 44 + asn1c_defs/all-defs/PrivateIE-Container.o | Bin 0 -> 2424 bytes asn1c_defs/all-defs/PrivateIE-Field.c | 166 + asn1c_defs/all-defs/PrivateIE-Field.h | 60 + asn1c_defs/all-defs/PrivateIE-Field.o | Bin 0 -> 5128 bytes asn1c_defs/all-defs/PrivateIE-ID.c | 92 + asn1c_defs/all-defs/PrivateIE-ID.h | 53 + asn1c_defs/all-defs/PrivateIE-ID.o | Bin 0 -> 3840 bytes asn1c_defs/all-defs/PrivateMessage.c | 50 + asn1c_defs/all-defs/PrivateMessage.h | 44 + asn1c_defs/all-defs/PrivateMessage.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/ProSeAuthorized.c | 73 + asn1c_defs/all-defs/ProSeAuthorized.h | 48 + asn1c_defs/all-defs/ProSeAuthorized.o | Bin 0 -> 3096 bytes asn1c_defs/all-defs/ProSeDirectCommunication.c | 55 + asn1c_defs/all-defs/ProSeDirectCommunication.h | 54 + asn1c_defs/all-defs/ProSeDirectCommunication.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/ProSeDirectDiscovery.c | 55 + asn1c_defs/all-defs/ProSeDirectDiscovery.h | 54 + asn1c_defs/all-defs/ProSeDirectDiscovery.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.c | 55 + asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.h | 52 + asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/ProcedureCode.c | 61 + asn1c_defs/all-defs/ProcedureCode.h | 97 + asn1c_defs/all-defs/ProcedureCode.o | Bin 0 -> 2776 bytes .../all-defs/ProtectedEUTRAResourceIndication.c | 183 + .../all-defs/ProtectedEUTRAResourceIndication.h | 50 + .../all-defs/ProtectedEUTRAResourceIndication.o | Bin 0 -> 5800 bytes .../all-defs/ProtectedFootprintTimePattern.c | 133 + .../all-defs/ProtectedFootprintTimePattern.h | 49 + .../all-defs/ProtectedFootprintTimePattern.o | Bin 0 -> 4880 bytes asn1c_defs/all-defs/ProtectedResourceList-Item.c | 165 + asn1c_defs/all-defs/ProtectedResourceList-Item.h | 53 + asn1c_defs/all-defs/ProtectedResourceList-Item.o | Bin 0 -> 5408 bytes asn1c_defs/all-defs/ProtectedResourceList.c | 50 + asn1c_defs/all-defs/ProtectedResourceList.h | 44 + asn1c_defs/all-defs/ProtectedResourceList.o | Bin 0 -> 2408 bytes asn1c_defs/all-defs/ProtocolExtensionContainer.c | 8930 ++++ asn1c_defs/all-defs/ProtocolExtensionContainer.h | 2486 + asn1c_defs/all-defs/ProtocolExtensionContainer.o | Bin 0 -> 235144 bytes asn1c_defs/all-defs/ProtocolExtensionField.c | 41028 ++++++++++++++++ asn1c_defs/all-defs/ProtocolExtensionField.h | 5163 ++ asn1c_defs/all-defs/ProtocolExtensionField.o | Bin 0 -> 826080 bytes asn1c_defs/all-defs/ProtocolIE-Container.c | 4810 ++ asn1c_defs/all-defs/ProtocolIE-Container.h | 1353 + asn1c_defs/all-defs/ProtocolIE-Container.o | Bin 0 -> 122160 bytes asn1c_defs/all-defs/ProtocolIE-ContainerList.c | 9 + asn1c_defs/all-defs/ProtocolIE-ContainerList.h | 23 + asn1c_defs/all-defs/ProtocolIE-ContainerList.o | Bin 0 -> 960 bytes asn1c_defs/all-defs/ProtocolIE-ContainerPair.c | 9 + asn1c_defs/all-defs/ProtocolIE-ContainerPair.h | 23 + asn1c_defs/all-defs/ProtocolIE-ContainerPair.o | Bin 0 -> 960 bytes asn1c_defs/all-defs/ProtocolIE-ContainerPairList.c | 9 + asn1c_defs/all-defs/ProtocolIE-ContainerPairList.h | 23 + asn1c_defs/all-defs/ProtocolIE-ContainerPairList.o | Bin 0 -> 960 bytes asn1c_defs/all-defs/ProtocolIE-Field.c | 48241 +++++++++++++++++++ asn1c_defs/all-defs/ProtocolIE-Field.h | 4885 ++ asn1c_defs/all-defs/ProtocolIE-Field.o | Bin 0 -> 1112944 bytes asn1c_defs/all-defs/ProtocolIE-FieldPair.c | 9 + asn1c_defs/all-defs/ProtocolIE-FieldPair.h | 23 + asn1c_defs/all-defs/ProtocolIE-FieldPair.o | Bin 0 -> 952 bytes asn1c_defs/all-defs/ProtocolIE-ID.c | 61 + asn1c_defs/all-defs/ProtocolIE-ID.h | 396 + asn1c_defs/all-defs/ProtocolIE-ID.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/ProtocolIE-Single-Container.c | 1136 + asn1c_defs/all-defs/ProtocolIE-Single-Container.h | 667 + asn1c_defs/all-defs/ProtocolIE-Single-Container.o | Bin 0 -> 31504 bytes asn1c_defs/all-defs/QCI.c | 61 + asn1c_defs/all-defs/QCI.h | 44 + asn1c_defs/all-defs/QCI.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/RANfunction-Item.c | 60 + asn1c_defs/all-defs/RANfunction-Item.h | 44 + asn1c_defs/all-defs/RANfunction-Item.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/RANfunctionDefinition.c | 31 + asn1c_defs/all-defs/RANfunctionDefinition.h | 43 + asn1c_defs/all-defs/RANfunctionDefinition.o | Bin 0 -> 1888 bytes asn1c_defs/all-defs/RANfunctionID-Item.c | 50 + asn1c_defs/all-defs/RANfunctionID-Item.h | 42 + asn1c_defs/all-defs/RANfunctionID-Item.o | Bin 0 -> 2520 bytes asn1c_defs/all-defs/RANfunctionID.c | 61 + asn1c_defs/all-defs/RANfunctionID.h | 44 + asn1c_defs/all-defs/RANfunctionID.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/RANfunctionIDcause-Item.c | 60 + asn1c_defs/all-defs/RANfunctionIDcause-Item.h | 44 + asn1c_defs/all-defs/RANfunctionIDcause-Item.o | Bin 0 -> 2760 bytes asn1c_defs/all-defs/RANfunctions-List.c | 50 + asn1c_defs/all-defs/RANfunctions-List.h | 41 + asn1c_defs/all-defs/RANfunctions-List.o | Bin 0 -> 2392 bytes asn1c_defs/all-defs/RANfunctionsID-List.c | 50 + asn1c_defs/all-defs/RANfunctionsID-List.h | 41 + asn1c_defs/all-defs/RANfunctionsID-List.o | Bin 0 -> 2408 bytes asn1c_defs/all-defs/RANfunctionsIDcause-List.c | 50 + asn1c_defs/all-defs/RANfunctionsIDcause-List.h | 41 + asn1c_defs/all-defs/RANfunctionsIDcause-List.o | Bin 0 -> 2432 bytes asn1c_defs/all-defs/RICaction-Admitted-Item.c | 50 + asn1c_defs/all-defs/RICaction-Admitted-Item.h | 42 + asn1c_defs/all-defs/RICaction-Admitted-Item.o | Bin 0 -> 2544 bytes asn1c_defs/all-defs/RICaction-Admitted-List.c | 50 + asn1c_defs/all-defs/RICaction-Admitted-List.h | 41 + asn1c_defs/all-defs/RICaction-Admitted-List.o | Bin 0 -> 2432 bytes asn1c_defs/all-defs/RICaction-NotAdmitted-Item.c | 60 + asn1c_defs/all-defs/RICaction-NotAdmitted-Item.h | 44 + asn1c_defs/all-defs/RICaction-NotAdmitted-Item.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/RICaction-NotAdmitted-List.c | 50 + asn1c_defs/all-defs/RICaction-NotAdmitted-List.h | 41 + asn1c_defs/all-defs/RICaction-NotAdmitted-List.o | Bin 0 -> 2448 bytes asn1c_defs/all-defs/RICaction-ToBeSetup-Item.c | 83 + asn1c_defs/all-defs/RICaction-ToBeSetup-Item.h | 50 + asn1c_defs/all-defs/RICaction-ToBeSetup-Item.o | Bin 0 -> 3296 bytes asn1c_defs/all-defs/RICactionDefinition.c | 31 + asn1c_defs/all-defs/RICactionDefinition.h | 43 + asn1c_defs/all-defs/RICactionDefinition.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/RICactionID.c | 61 + asn1c_defs/all-defs/RICactionID.h | 44 + asn1c_defs/all-defs/RICactionID.o | Bin 0 -> 2768 bytes asn1c_defs/all-defs/RICactionType.c | 57 + asn1c_defs/all-defs/RICactionType.h | 55 + asn1c_defs/all-defs/RICactionType.o | Bin 0 -> 2624 bytes asn1c_defs/all-defs/RICactions-ToBeSetup-List.c | 50 + asn1c_defs/all-defs/RICactions-ToBeSetup-List.h | 44 + asn1c_defs/all-defs/RICactions-ToBeSetup-List.o | Bin 0 -> 2440 bytes asn1c_defs/all-defs/RICcallProcessID.c | 31 + asn1c_defs/all-defs/RICcallProcessID.h | 43 + asn1c_defs/all-defs/RICcallProcessID.o | Bin 0 -> 1872 bytes asn1c_defs/all-defs/RICcause.c | 92 + asn1c_defs/all-defs/RICcause.h | 68 + asn1c_defs/all-defs/RICcause.o | Bin 0 -> 3336 bytes asn1c_defs/all-defs/RICcontrolAckRequest.c | 57 + asn1c_defs/all-defs/RICcontrolAckRequest.h | 53 + asn1c_defs/all-defs/RICcontrolAckRequest.o | Bin 0 -> 2672 bytes asn1c_defs/all-defs/RICcontrolAcknowledge.c | 50 + asn1c_defs/all-defs/RICcontrolAcknowledge.h | 44 + asn1c_defs/all-defs/RICcontrolAcknowledge.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/RICcontrolFailure.c | 50 + asn1c_defs/all-defs/RICcontrolFailure.h | 44 + asn1c_defs/all-defs/RICcontrolFailure.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/RICcontrolHeader.c | 31 + asn1c_defs/all-defs/RICcontrolHeader.h | 43 + asn1c_defs/all-defs/RICcontrolHeader.o | Bin 0 -> 1872 bytes asn1c_defs/all-defs/RICcontrolMessage.c | 31 + asn1c_defs/all-defs/RICcontrolMessage.h | 43 + asn1c_defs/all-defs/RICcontrolMessage.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/RICcontrolRequest.c | 50 + asn1c_defs/all-defs/RICcontrolRequest.h | 44 + asn1c_defs/all-defs/RICcontrolRequest.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/RICcontrolStatus.c | 57 + asn1c_defs/all-defs/RICcontrolStatus.h | 53 + asn1c_defs/all-defs/RICcontrolStatus.o | Bin 0 -> 2648 bytes asn1c_defs/all-defs/RICeventTriggerDefinition.c | 31 + asn1c_defs/all-defs/RICeventTriggerDefinition.h | 43 + asn1c_defs/all-defs/RICeventTriggerDefinition.o | Bin 0 -> 1904 bytes asn1c_defs/all-defs/RICindication.c | 50 + asn1c_defs/all-defs/RICindication.h | 44 + asn1c_defs/all-defs/RICindication.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/RICindicationHeader.c | 31 + asn1c_defs/all-defs/RICindicationHeader.h | 43 + asn1c_defs/all-defs/RICindicationHeader.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/RICindicationMessage.c | 31 + asn1c_defs/all-defs/RICindicationMessage.h | 43 + asn1c_defs/all-defs/RICindicationMessage.o | Bin 0 -> 1888 bytes asn1c_defs/all-defs/RICindicationSN.c | 61 + asn1c_defs/all-defs/RICindicationSN.h | 43 + asn1c_defs/all-defs/RICindicationSN.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/RICindicationType.c | 55 + asn1c_defs/all-defs/RICindicationType.h | 52 + asn1c_defs/all-defs/RICindicationType.o | Bin 0 -> 2608 bytes asn1c_defs/all-defs/RICrequestID.c | 120 + asn1c_defs/all-defs/RICrequestID.h | 43 + asn1c_defs/all-defs/RICrequestID.o | Bin 0 -> 4344 bytes asn1c_defs/all-defs/RICserviceQuery.c | 50 + asn1c_defs/all-defs/RICserviceQuery.h | 44 + asn1c_defs/all-defs/RICserviceQuery.o | Bin 0 -> 2480 bytes asn1c_defs/all-defs/RICserviceUpdate.c | 50 + asn1c_defs/all-defs/RICserviceUpdate.h | 44 + asn1c_defs/all-defs/RICserviceUpdate.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/RICserviceUpdateAcknowledge.c | 50 + asn1c_defs/all-defs/RICserviceUpdateAcknowledge.h | 44 + asn1c_defs/all-defs/RICserviceUpdateAcknowledge.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/RICserviceUpdateFailure.c | 50 + asn1c_defs/all-defs/RICserviceUpdateFailure.h | 44 + asn1c_defs/all-defs/RICserviceUpdateFailure.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/RICsubscription.c | 60 + asn1c_defs/all-defs/RICsubscription.h | 44 + asn1c_defs/all-defs/RICsubscription.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/RICsubscriptionDeleteFailure.c | 50 + asn1c_defs/all-defs/RICsubscriptionDeleteFailure.h | 44 + asn1c_defs/all-defs/RICsubscriptionDeleteFailure.o | Bin 0 -> 2592 bytes asn1c_defs/all-defs/RICsubscriptionDeleteRequest.c | 50 + asn1c_defs/all-defs/RICsubscriptionDeleteRequest.h | 44 + asn1c_defs/all-defs/RICsubscriptionDeleteRequest.o | Bin 0 -> 2592 bytes .../all-defs/RICsubscriptionDeleteResponse.c | 50 + .../all-defs/RICsubscriptionDeleteResponse.h | 44 + .../all-defs/RICsubscriptionDeleteResponse.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/RICsubscriptionFailure.c | 50 + asn1c_defs/all-defs/RICsubscriptionFailure.h | 44 + asn1c_defs/all-defs/RICsubscriptionFailure.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/RICsubscriptionRequest.c | 50 + asn1c_defs/all-defs/RICsubscriptionRequest.h | 44 + asn1c_defs/all-defs/RICsubscriptionRequest.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/RICsubscriptionResponse.c | 50 + asn1c_defs/all-defs/RICsubscriptionResponse.h | 44 + asn1c_defs/all-defs/RICsubscriptionResponse.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/RICsubsequentAction.c | 60 + asn1c_defs/all-defs/RICsubsequentAction.h | 46 + asn1c_defs/all-defs/RICsubsequentAction.o | Bin 0 -> 2752 bytes asn1c_defs/all-defs/RICsubsequentActionType.c | 55 + asn1c_defs/all-defs/RICsubsequentActionType.h | 54 + asn1c_defs/all-defs/RICsubsequentActionType.o | Bin 0 -> 2648 bytes asn1c_defs/all-defs/RICtimeToWait.c | 87 + asn1c_defs/all-defs/RICtimeToWait.h | 70 + asn1c_defs/all-defs/RICtimeToWait.o | Bin 0 -> 3536 bytes asn1c_defs/all-defs/RLC-Status.c | 63 + asn1c_defs/all-defs/RLC-Status.h | 46 + asn1c_defs/all-defs/RLC-Status.o | Bin 0 -> 2808 bytes asn1c_defs/all-defs/RLCMode.c | 59 + asn1c_defs/all-defs/RLCMode.h | 56 + asn1c_defs/all-defs/RLCMode.o | Bin 0 -> 2728 bytes asn1c_defs/all-defs/RLFIndication.c | 50 + asn1c_defs/all-defs/RLFIndication.h | 44 + asn1c_defs/all-defs/RLFIndication.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/RNL-Header.c | 74 + asn1c_defs/all-defs/RNL-Header.h | 48 + asn1c_defs/all-defs/RNL-Header.o | Bin 0 -> 2992 bytes asn1c_defs/all-defs/RNTP-Threshold.c | 83 + asn1c_defs/all-defs/RNTP-Threshold.h | 68 + asn1c_defs/all-defs/RNTP-Threshold.o | Bin 0 -> 3480 bytes asn1c_defs/all-defs/RRC-Config-Ind.c | 55 + asn1c_defs/all-defs/RRC-Config-Ind.h | 52 + asn1c_defs/all-defs/RRC-Config-Ind.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/RRC-Context.c | 31 + asn1c_defs/all-defs/RRC-Context.h | 43 + asn1c_defs/all-defs/RRC-Context.o | Bin 0 -> 1856 bytes asn1c_defs/all-defs/RRCConnReestabIndicator.c | 57 + asn1c_defs/all-defs/RRCConnReestabIndicator.h | 53 + asn1c_defs/all-defs/RRCConnReestabIndicator.o | Bin 0 -> 2728 bytes asn1c_defs/all-defs/RRCConnSetupIndicator.c | 53 + asn1c_defs/all-defs/RRCConnSetupIndicator.h | 51 + asn1c_defs/all-defs/RRCConnSetupIndicator.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/RRCContainer.c | 31 + asn1c_defs/all-defs/RRCContainer.h | 43 + asn1c_defs/all-defs/RRCContainer.o | Bin 0 -> 1864 bytes asn1c_defs/all-defs/RRCTransfer.c | 50 + asn1c_defs/all-defs/RRCTransfer.h | 44 + asn1c_defs/all-defs/RRCTransfer.o | Bin 0 -> 2456 bytes asn1c_defs/all-defs/RSRPMRList.c | 104 + asn1c_defs/all-defs/RSRPMRList.h | 56 + asn1c_defs/all-defs/RSRPMRList.o | Bin 0 -> 3768 bytes asn1c_defs/all-defs/RSRPMeasurementResult.c | 144 + asn1c_defs/all-defs/RSRPMeasurementResult.h | 61 + asn1c_defs/all-defs/RSRPMeasurementResult.o | Bin 0 -> 5112 bytes asn1c_defs/all-defs/RadioResourceStatus.c | 113 + asn1c_defs/all-defs/RadioResourceStatus.h | 58 + asn1c_defs/all-defs/RadioResourceStatus.o | Bin 0 -> 3984 bytes asn1c_defs/all-defs/RadioframeAllocationOffset.c | 61 + asn1c_defs/all-defs/RadioframeAllocationOffset.h | 44 + asn1c_defs/all-defs/RadioframeAllocationOffset.o | Bin 0 -> 2872 bytes asn1c_defs/all-defs/RadioframeAllocationPeriod.c | 63 + asn1c_defs/all-defs/RadioframeAllocationPeriod.h | 58 + asn1c_defs/all-defs/RadioframeAllocationPeriod.o | Bin 0 -> 2896 bytes .../all-defs/ReceiveStatusOfULPDCPSDUsExtended.c | 67 + .../all-defs/ReceiveStatusOfULPDCPSDUsExtended.h | 43 + .../all-defs/ReceiveStatusOfULPDCPSDUsExtended.o | Bin 0 -> 3048 bytes .../ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.c | 67 + .../ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h | 43 + .../ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.o | Bin 0 -> 3088 bytes asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.c | 67 + asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.h | 44 + asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/Reestablishment-Indication.c | 53 + asn1c_defs/all-defs/Reestablishment-Indication.h | 53 + asn1c_defs/all-defs/Reestablishment-Indication.o | Bin 0 -> 2608 bytes asn1c_defs/all-defs/Registration-Request.c | 59 + asn1c_defs/all-defs/Registration-Request.h | 54 + asn1c_defs/all-defs/Registration-Request.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/RelativeNarrowbandTxPower.c | 249 + asn1c_defs/all-defs/RelativeNarrowbandTxPower.h | 66 + asn1c_defs/all-defs/RelativeNarrowbandTxPower.o | Bin 0 -> 7368 bytes asn1c_defs/all-defs/ReplacingCellsList-Item.c | 50 + asn1c_defs/all-defs/ReplacingCellsList-Item.h | 44 + asn1c_defs/all-defs/ReplacingCellsList-Item.o | Bin 0 -> 2504 bytes asn1c_defs/all-defs/ReplacingCellsList.c | 50 + asn1c_defs/all-defs/ReplacingCellsList.h | 44 + asn1c_defs/all-defs/ReplacingCellsList.o | Bin 0 -> 2392 bytes asn1c_defs/all-defs/ReportAmountMDT.c | 65 + asn1c_defs/all-defs/ReportAmountMDT.h | 57 + asn1c_defs/all-defs/ReportAmountMDT.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/ReportArea.c | 53 + asn1c_defs/all-defs/ReportArea.h | 53 + asn1c_defs/all-defs/ReportArea.o | Bin 0 -> 2464 bytes asn1c_defs/all-defs/ReportCharacteristics.c | 67 + asn1c_defs/all-defs/ReportCharacteristics.h | 44 + asn1c_defs/all-defs/ReportCharacteristics.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/ReportIntervalMDT.c | 75 + asn1c_defs/all-defs/ReportIntervalMDT.h | 62 + asn1c_defs/all-defs/ReportIntervalMDT.o | Bin 0 -> 3296 bytes asn1c_defs/all-defs/ReportingPeriodicity.c | 59 + asn1c_defs/all-defs/ReportingPeriodicity.h | 54 + asn1c_defs/all-defs/ReportingPeriodicity.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/ReportingPeriodicityCSIR.c | 61 + asn1c_defs/all-defs/ReportingPeriodicityCSIR.h | 55 + asn1c_defs/all-defs/ReportingPeriodicityCSIR.o | Bin 0 -> 2864 bytes asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.c | 59 + asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.h | 54 + asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.o | Bin 0 -> 2864 bytes asn1c_defs/all-defs/ReservedSubframePattern.c | 149 + asn1c_defs/all-defs/ReservedSubframePattern.h | 52 + asn1c_defs/all-defs/ReservedSubframePattern.o | Bin 0 -> 5040 bytes asn1c_defs/all-defs/ResetRequest.c | 50 + asn1c_defs/all-defs/ResetRequest.h | 44 + asn1c_defs/all-defs/ResetRequest.o | Bin 0 -> 2464 bytes asn1c_defs/all-defs/ResetResponse.c | 50 + asn1c_defs/all-defs/ResetResponse.h | 44 + asn1c_defs/all-defs/ResetResponse.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/ResourceStatusFailure.c | 50 + asn1c_defs/all-defs/ResourceStatusFailure.h | 44 + asn1c_defs/all-defs/ResourceStatusFailure.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/ResourceStatusRequest.c | 50 + asn1c_defs/all-defs/ResourceStatusRequest.h | 44 + asn1c_defs/all-defs/ResourceStatusRequest.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/ResourceStatusResponse.c | 50 + asn1c_defs/all-defs/ResourceStatusResponse.h | 44 + asn1c_defs/all-defs/ResourceStatusResponse.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/ResourceStatusUpdate.c | 50 + asn1c_defs/all-defs/ResourceStatusUpdate.h | 44 + asn1c_defs/all-defs/ResourceStatusUpdate.o | Bin 0 -> 2544 bytes asn1c_defs/all-defs/ResourceType.c | 57 + asn1c_defs/all-defs/ResourceType.h | 55 + asn1c_defs/all-defs/ResourceType.o | Bin 0 -> 2616 bytes .../all-defs/RespondingNodeType-EndcConfigUpdate.c | 63 + .../all-defs/RespondingNodeType-EndcConfigUpdate.h | 57 + .../all-defs/RespondingNodeType-EndcConfigUpdate.o | Bin 0 -> 3040 bytes .../all-defs/RespondingNodeType-EndcX2Removal.c | 63 + .../all-defs/RespondingNodeType-EndcX2Removal.h | 57 + .../all-defs/RespondingNodeType-EndcX2Removal.o | Bin 0 -> 3024 bytes .../all-defs/RespondingNodeType-EndcX2Setup.c | 63 + .../all-defs/RespondingNodeType-EndcX2Setup.h | 57 + .../all-defs/RespondingNodeType-EndcX2Setup.o | Bin 0 -> 3008 bytes ...ndingNodeType-EutranrCellResourceCoordination.c | 63 + ...ndingNodeType-EutranrCellResourceCoordination.h | 57 + ...ndingNodeType-EutranrCellResourceCoordination.o | Bin 0 -> 3168 bytes ...nseInformationSeNBReconfComp-RejectByMeNBItem.c | 73 + ...nseInformationSeNBReconfComp-RejectByMeNBItem.h | 50 + ...nseInformationSeNBReconfComp-RejectByMeNBItem.o | Bin 0 -> 3432 bytes ...ResponseInformationSeNBReconfComp-SuccessItem.c | 63 + ...ResponseInformationSeNBReconfComp-SuccessItem.h | 48 + ...ResponseInformationSeNBReconfComp-SuccessItem.o | Bin 0 -> 3184 bytes .../all-defs/ResponseInformationSeNBReconfComp.c | 64 + .../all-defs/ResponseInformationSeNBReconfComp.h | 58 + .../all-defs/ResponseInformationSeNBReconfComp.o | Bin 0 -> 3072 bytes ...nseInformationSgNBReconfComp-RejectByMeNBItem.c | 63 + ...nseInformationSgNBReconfComp-RejectByMeNBItem.h | 48 + ...nseInformationSgNBReconfComp-RejectByMeNBItem.o | Bin 0 -> 3184 bytes ...ResponseInformationSgNBReconfComp-SuccessItem.c | 63 + ...ResponseInformationSgNBReconfComp-SuccessItem.h | 48 + ...ResponseInformationSgNBReconfComp-SuccessItem.o | Bin 0 -> 3184 bytes .../all-defs/ResponseInformationSgNBReconfComp.c | 64 + .../all-defs/ResponseInformationSgNBReconfComp.h | 58 + .../all-defs/ResponseInformationSgNBReconfComp.o | Bin 0 -> 3104 bytes asn1c_defs/all-defs/ResumeID.c | 134 + asn1c_defs/all-defs/ResumeID.h | 55 + asn1c_defs/all-defs/ResumeID.o | Bin 0 -> 4400 bytes asn1c_defs/all-defs/RetrieveUEContextFailure.c | 50 + asn1c_defs/all-defs/RetrieveUEContextFailure.h | 44 + asn1c_defs/all-defs/RetrieveUEContextFailure.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/RetrieveUEContextRequest.c | 50 + asn1c_defs/all-defs/RetrieveUEContextRequest.h | 44 + asn1c_defs/all-defs/RetrieveUEContextRequest.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/RetrieveUEContextResponse.c | 50 + asn1c_defs/all-defs/RetrieveUEContextResponse.h | 44 + asn1c_defs/all-defs/RetrieveUEContextResponse.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/S1TNLLoadIndicator.c | 73 + asn1c_defs/all-defs/S1TNLLoadIndicator.h | 49 + asn1c_defs/all-defs/S1TNLLoadIndicator.o | Bin 0 -> 3040 bytes asn1c_defs/all-defs/SCGChangeIndication.c | 57 + asn1c_defs/all-defs/SCGChangeIndication.h | 53 + asn1c_defs/all-defs/SCGChangeIndication.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/SCGConfigurationQuery.c | 53 + asn1c_defs/all-defs/SCGConfigurationQuery.h | 51 + asn1c_defs/all-defs/SCGConfigurationQuery.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.c | 57 + asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.h | 53 + asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.o | Bin 0 -> 2744 bytes .../all-defs/SIPTOBearerDeactivationIndication.c | 53 + .../all-defs/SIPTOBearerDeactivationIndication.h | 51 + .../all-defs/SIPTOBearerDeactivationIndication.o | Bin 0 -> 2768 bytes asn1c_defs/all-defs/SNStatusTransfer.c | 50 + asn1c_defs/all-defs/SNStatusTransfer.h | 44 + asn1c_defs/all-defs/SNStatusTransfer.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/SRBType.c | 55 + asn1c_defs/all-defs/SRBType.h | 54 + asn1c_defs/all-defs/SRBType.o | Bin 0 -> 2536 bytes asn1c_defs/all-defs/SRVCCOperationPossible.c | 53 + asn1c_defs/all-defs/SRVCCOperationPossible.h | 51 + asn1c_defs/all-defs/SRVCCOperationPossible.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/SULInformation.c | 103 + asn1c_defs/all-defs/SULInformation.h | 50 + asn1c_defs/all-defs/SULInformation.o | Bin 0 -> 4120 bytes asn1c_defs/all-defs/ScheduledCommunicationTime.c | 179 + asn1c_defs/all-defs/ScheduledCommunicationTime.h | 51 + asn1c_defs/all-defs/ScheduledCommunicationTime.o | Bin 0 -> 5544 bytes asn1c_defs/all-defs/SeNBAdditionRequest.c | 50 + asn1c_defs/all-defs/SeNBAdditionRequest.h | 44 + asn1c_defs/all-defs/SeNBAdditionRequest.o | Bin 0 -> 2504 bytes .../all-defs/SeNBAdditionRequestAcknowledge.c | 50 + .../all-defs/SeNBAdditionRequestAcknowledge.h | 44 + .../all-defs/SeNBAdditionRequestAcknowledge.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/SeNBAdditionRequestReject.c | 50 + asn1c_defs/all-defs/SeNBAdditionRequestReject.h | 44 + asn1c_defs/all-defs/SeNBAdditionRequestReject.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/SeNBCounterCheckRequest.c | 50 + asn1c_defs/all-defs/SeNBCounterCheckRequest.h | 44 + asn1c_defs/all-defs/SeNBCounterCheckRequest.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/SeNBModificationConfirm.c | 50 + asn1c_defs/all-defs/SeNBModificationConfirm.h | 44 + asn1c_defs/all-defs/SeNBModificationConfirm.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/SeNBModificationRefuse.c | 50 + asn1c_defs/all-defs/SeNBModificationRefuse.h | 44 + asn1c_defs/all-defs/SeNBModificationRefuse.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/SeNBModificationRequest.c | 50 + asn1c_defs/all-defs/SeNBModificationRequest.h | 44 + asn1c_defs/all-defs/SeNBModificationRequest.o | Bin 0 -> 2560 bytes .../all-defs/SeNBModificationRequestAcknowledge.c | 50 + .../all-defs/SeNBModificationRequestAcknowledge.h | 44 + .../all-defs/SeNBModificationRequestAcknowledge.o | Bin 0 -> 2744 bytes .../all-defs/SeNBModificationRequestReject.c | 50 + .../all-defs/SeNBModificationRequestReject.h | 44 + .../all-defs/SeNBModificationRequestReject.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/SeNBModificationRequired.c | 50 + asn1c_defs/all-defs/SeNBModificationRequired.h | 44 + asn1c_defs/all-defs/SeNBModificationRequired.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SeNBReconfigurationComplete.c | 50 + asn1c_defs/all-defs/SeNBReconfigurationComplete.h | 44 + asn1c_defs/all-defs/SeNBReconfigurationComplete.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/SeNBReleaseConfirm.c | 50 + asn1c_defs/all-defs/SeNBReleaseConfirm.h | 44 + asn1c_defs/all-defs/SeNBReleaseConfirm.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/SeNBReleaseRequest.c | 50 + asn1c_defs/all-defs/SeNBReleaseRequest.h | 44 + asn1c_defs/all-defs/SeNBReleaseRequest.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/SeNBReleaseRequired.c | 50 + asn1c_defs/all-defs/SeNBReleaseRequired.h | 44 + asn1c_defs/all-defs/SeNBReleaseRequired.o | Bin 0 -> 2504 bytes asn1c_defs/all-defs/SeNBSecurityKey.c | 67 + asn1c_defs/all-defs/SeNBSecurityKey.h | 44 + asn1c_defs/all-defs/SeNBSecurityKey.o | Bin 0 -> 2928 bytes asn1c_defs/all-defs/SeNBtoMeNBContainer.c | 31 + asn1c_defs/all-defs/SeNBtoMeNBContainer.h | 43 + asn1c_defs/all-defs/SeNBtoMeNBContainer.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/SecondaryRATDataUsageReport.c | 50 + asn1c_defs/all-defs/SecondaryRATDataUsageReport.h | 44 + asn1c_defs/all-defs/SecondaryRATDataUsageReport.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/SecondaryRATUsageReport-Item.c | 129 + asn1c_defs/all-defs/SecondaryRATUsageReport-Item.h | 59 + asn1c_defs/all-defs/SecondaryRATUsageReport-Item.o | Bin 0 -> 4496 bytes asn1c_defs/all-defs/SecondaryRATUsageReportList.c | 50 + asn1c_defs/all-defs/SecondaryRATUsageReportList.h | 41 + asn1c_defs/all-defs/SecondaryRATUsageReportList.o | Bin 0 -> 2456 bytes asn1c_defs/all-defs/ServedCell-Information.c | 103 + asn1c_defs/all-defs/ServedCell-Information.h | 56 + asn1c_defs/all-defs/ServedCell-Information.o | Bin 0 -> 3680 bytes asn1c_defs/all-defs/ServedCells.c | 115 + asn1c_defs/all-defs/ServedCells.h | 58 + asn1c_defs/all-defs/ServedCells.o | Bin 0 -> 3968 bytes asn1c_defs/all-defs/ServedCellsToActivate-Item.c | 63 + asn1c_defs/all-defs/ServedCellsToActivate-Item.h | 48 + asn1c_defs/all-defs/ServedCellsToActivate-Item.o | Bin 0 -> 2896 bytes asn1c_defs/all-defs/ServedCellsToActivate.c | 50 + asn1c_defs/all-defs/ServedCellsToActivate.h | 41 + asn1c_defs/all-defs/ServedCellsToActivate.o | Bin 0 -> 2408 bytes asn1c_defs/all-defs/ServedCellsToModify-Item.c | 84 + asn1c_defs/all-defs/ServedCellsToModify-Item.h | 52 + asn1c_defs/all-defs/ServedCellsToModify-Item.o | Bin 0 -> 3320 bytes asn1c_defs/all-defs/ServedCellsToModify.c | 50 + asn1c_defs/all-defs/ServedCellsToModify.h | 41 + asn1c_defs/all-defs/ServedCellsToModify.o | Bin 0 -> 2392 bytes .../ServedEUTRAcellsENDCX2ManagementList.c | 115 + .../ServedEUTRAcellsENDCX2ManagementList.h | 58 + .../ServedEUTRAcellsENDCX2ManagementList.o | Bin 0 -> 4256 bytes .../ServedEUTRAcellsToDeleteListENDCConfUpd.c | 50 + .../ServedEUTRAcellsToDeleteListENDCConfUpd.h | 41 + .../ServedEUTRAcellsToDeleteListENDCConfUpd.o | Bin 0 -> 2608 bytes .../ServedEUTRAcellsToModifyListENDCConfUpd.c | 125 + .../ServedEUTRAcellsToModifyListENDCConfUpd.h | 60 + .../ServedEUTRAcellsToModifyListENDCConfUpd.o | Bin 0 -> 4456 bytes asn1c_defs/all-defs/ServedNRCell-Information.c | 179 + asn1c_defs/all-defs/ServedNRCell-Information.h | 84 + asn1c_defs/all-defs/ServedNRCell-Information.o | Bin 0 -> 5480 bytes asn1c_defs/all-defs/ServedNRCellsToActivate-Item.c | 63 + asn1c_defs/all-defs/ServedNRCellsToActivate-Item.h | 48 + asn1c_defs/all-defs/ServedNRCellsToActivate-Item.o | Bin 0 -> 2912 bytes asn1c_defs/all-defs/ServedNRCellsToActivate.c | 50 + asn1c_defs/all-defs/ServedNRCellsToActivate.h | 41 + asn1c_defs/all-defs/ServedNRCellsToActivate.o | Bin 0 -> 2424 bytes asn1c_defs/all-defs/ServedNRCellsToModify-Item.c | 94 + asn1c_defs/all-defs/ServedNRCellsToModify-Item.h | 54 + asn1c_defs/all-defs/ServedNRCellsToModify-Item.o | Bin 0 -> 3584 bytes .../all-defs/ServedNRcellsENDCX2ManagementList.c | 115 + .../all-defs/ServedNRcellsENDCX2ManagementList.h | 58 + .../all-defs/ServedNRcellsENDCX2ManagementList.o | Bin 0 -> 4240 bytes .../ServedNRcellsToDeleteENDCConfUpdList.c | 50 + .../ServedNRcellsToDeleteENDCConfUpdList.h | 41 + .../ServedNRcellsToDeleteENDCConfUpdList.o | Bin 0 -> 2592 bytes .../ServedNRcellsToModifyENDCConfUpdList.c | 50 + .../ServedNRcellsToModifyENDCConfUpdList.h | 41 + .../ServedNRcellsToModifyENDCConfUpdList.o | Bin 0 -> 2608 bytes asn1c_defs/all-defs/ServiceType.c | 55 + asn1c_defs/all-defs/ServiceType.h | 52 + asn1c_defs/all-defs/ServiceType.o | Bin 0 -> 2592 bytes asn1c_defs/all-defs/SgNB-UE-X2AP-ID.c | 57 + asn1c_defs/all-defs/SgNB-UE-X2AP-ID.h | 45 + asn1c_defs/all-defs/SgNB-UE-X2AP-ID.o | Bin 0 -> 2856 bytes asn1c_defs/all-defs/SgNBActivityNotification.c | 50 + asn1c_defs/all-defs/SgNBActivityNotification.h | 44 + asn1c_defs/all-defs/SgNBActivityNotification.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SgNBAdditionRequest.c | 50 + asn1c_defs/all-defs/SgNBAdditionRequest.h | 44 + asn1c_defs/all-defs/SgNBAdditionRequest.o | Bin 0 -> 2504 bytes .../all-defs/SgNBAdditionRequestAcknowledge.c | 50 + .../all-defs/SgNBAdditionRequestAcknowledge.h | 44 + .../all-defs/SgNBAdditionRequestAcknowledge.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/SgNBAdditionRequestReject.c | 50 + asn1c_defs/all-defs/SgNBAdditionRequestReject.h | 44 + asn1c_defs/all-defs/SgNBAdditionRequestReject.o | Bin 0 -> 2576 bytes asn1c_defs/all-defs/SgNBChangeConfirm.c | 50 + asn1c_defs/all-defs/SgNBChangeConfirm.h | 44 + asn1c_defs/all-defs/SgNBChangeConfirm.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/SgNBChangeRefuse.c | 50 + asn1c_defs/all-defs/SgNBChangeRefuse.h | 44 + asn1c_defs/all-defs/SgNBChangeRefuse.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/SgNBChangeRequired.c | 50 + asn1c_defs/all-defs/SgNBChangeRequired.h | 44 + asn1c_defs/all-defs/SgNBChangeRequired.o | Bin 0 -> 2496 bytes .../SgNBCoordinationAssistanceInformation.c | 53 + .../SgNBCoordinationAssistanceInformation.h | 51 + .../SgNBCoordinationAssistanceInformation.o | Bin 0 -> 2808 bytes asn1c_defs/all-defs/SgNBCounterCheckRequest.c | 50 + asn1c_defs/all-defs/SgNBCounterCheckRequest.h | 44 + asn1c_defs/all-defs/SgNBCounterCheckRequest.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/SgNBModificationConfirm.c | 50 + asn1c_defs/all-defs/SgNBModificationConfirm.h | 44 + asn1c_defs/all-defs/SgNBModificationConfirm.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/SgNBModificationRefuse.c | 50 + asn1c_defs/all-defs/SgNBModificationRefuse.h | 44 + asn1c_defs/all-defs/SgNBModificationRefuse.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/SgNBModificationRequest.c | 50 + asn1c_defs/all-defs/SgNBModificationRequest.h | 44 + asn1c_defs/all-defs/SgNBModificationRequest.o | Bin 0 -> 2560 bytes .../all-defs/SgNBModificationRequestAcknowledge.c | 50 + .../all-defs/SgNBModificationRequestAcknowledge.h | 44 + .../all-defs/SgNBModificationRequestAcknowledge.o | Bin 0 -> 2744 bytes .../all-defs/SgNBModificationRequestReject.c | 50 + .../all-defs/SgNBModificationRequestReject.h | 44 + .../all-defs/SgNBModificationRequestReject.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/SgNBModificationRequired.c | 50 + asn1c_defs/all-defs/SgNBModificationRequired.h | 44 + asn1c_defs/all-defs/SgNBModificationRequired.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SgNBReconfigurationComplete.c | 50 + asn1c_defs/all-defs/SgNBReconfigurationComplete.h | 44 + asn1c_defs/all-defs/SgNBReconfigurationComplete.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/SgNBReleaseConfirm.c | 50 + asn1c_defs/all-defs/SgNBReleaseConfirm.h | 44 + asn1c_defs/all-defs/SgNBReleaseConfirm.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/SgNBReleaseRequest.c | 50 + asn1c_defs/all-defs/SgNBReleaseRequest.h | 44 + asn1c_defs/all-defs/SgNBReleaseRequest.o | Bin 0 -> 2496 bytes .../all-defs/SgNBReleaseRequestAcknowledge.c | 50 + .../all-defs/SgNBReleaseRequestAcknowledge.h | 44 + .../all-defs/SgNBReleaseRequestAcknowledge.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/SgNBReleaseRequestReject.c | 50 + asn1c_defs/all-defs/SgNBReleaseRequestReject.h | 44 + asn1c_defs/all-defs/SgNBReleaseRequestReject.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SgNBReleaseRequired.c | 50 + asn1c_defs/all-defs/SgNBReleaseRequired.h | 44 + asn1c_defs/all-defs/SgNBReleaseRequired.o | Bin 0 -> 2504 bytes .../all-defs/SgNBResourceCoordinationInformation.c | 155 + .../all-defs/SgNBResourceCoordinationInformation.h | 49 + .../all-defs/SgNBResourceCoordinationInformation.o | Bin 0 -> 5144 bytes asn1c_defs/all-defs/SgNBSecurityKey.c | 67 + asn1c_defs/all-defs/SgNBSecurityKey.h | 44 + asn1c_defs/all-defs/SgNBSecurityKey.o | Bin 0 -> 2928 bytes asn1c_defs/all-defs/SgNBtoMeNBContainer.c | 31 + asn1c_defs/all-defs/SgNBtoMeNBContainer.h | 43 + asn1c_defs/all-defs/SgNBtoMeNBContainer.o | Bin 0 -> 1880 bytes asn1c_defs/all-defs/SharedResourceType.c | 64 + asn1c_defs/all-defs/SharedResourceType.h | 61 + asn1c_defs/all-defs/SharedResourceType.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/ShortMAC-I.c | 67 + asn1c_defs/all-defs/ShortMAC-I.h | 43 + asn1c_defs/all-defs/ShortMAC-I.o | Bin 0 -> 2872 bytes .../SourceOfUEActivityBehaviourInformation.c | 55 + .../SourceOfUEActivityBehaviourInformation.h | 54 + .../SourceOfUEActivityBehaviourInformation.o | Bin 0 -> 2888 bytes asn1c_defs/all-defs/SpecialSubframe-Info.c | 83 + asn1c_defs/all-defs/SpecialSubframe-Info.h | 52 + asn1c_defs/all-defs/SpecialSubframe-Info.o | Bin 0 -> 3288 bytes asn1c_defs/all-defs/SpecialSubframePatterns.c | 69 + asn1c_defs/all-defs/SpecialSubframePatterns.h | 61 + asn1c_defs/all-defs/SpecialSubframePatterns.o | Bin 0 -> 3112 bytes asn1c_defs/all-defs/SpectrumSharingGroupID.c | 61 + asn1c_defs/all-defs/SpectrumSharingGroupID.h | 43 + asn1c_defs/all-defs/SpectrumSharingGroupID.o | Bin 0 -> 2856 bytes asn1c_defs/all-defs/SplitSRB.c | 84 + asn1c_defs/all-defs/SplitSRB.h | 50 + asn1c_defs/all-defs/SplitSRB.o | Bin 0 -> 3160 bytes asn1c_defs/all-defs/SplitSRBs.c | 57 + asn1c_defs/all-defs/SplitSRBs.h | 53 + asn1c_defs/all-defs/SplitSRBs.o | Bin 0 -> 2600 bytes asn1c_defs/all-defs/Style-ID.c | 31 + asn1c_defs/all-defs/Style-ID.h | 43 + asn1c_defs/all-defs/Style-ID.o | Bin 0 -> 1776 bytes asn1c_defs/all-defs/SubbandCQI.c | 74 + asn1c_defs/all-defs/SubbandCQI.h | 50 + asn1c_defs/all-defs/SubbandCQI.o | Bin 0 -> 3048 bytes asn1c_defs/all-defs/SubbandCQICodeword0.c | 162 + asn1c_defs/all-defs/SubbandCQICodeword0.h | 60 + asn1c_defs/all-defs/SubbandCQICodeword0.o | Bin 0 -> 5232 bytes asn1c_defs/all-defs/SubbandCQICodeword1.c | 202 + asn1c_defs/all-defs/SubbandCQICodeword1.h | 62 + asn1c_defs/all-defs/SubbandCQICodeword1.o | Bin 0 -> 5984 bytes asn1c_defs/all-defs/SubbandCQIItem.c | 103 + asn1c_defs/all-defs/SubbandCQIItem.h | 50 + asn1c_defs/all-defs/SubbandCQIItem.o | Bin 0 -> 4128 bytes asn1c_defs/all-defs/SubbandCQIList.c | 50 + asn1c_defs/all-defs/SubbandCQIList.h | 44 + asn1c_defs/all-defs/SubbandCQIList.o | Bin 0 -> 2320 bytes asn1c_defs/all-defs/SubbandSize.c | 61 + asn1c_defs/all-defs/SubbandSize.h | 57 + asn1c_defs/all-defs/SubbandSize.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/SubframeAllocation.c | 62 + asn1c_defs/all-defs/SubframeAllocation.h | 59 + asn1c_defs/all-defs/SubframeAllocation.o | Bin 0 -> 2776 bytes asn1c_defs/all-defs/SubframeAssignment.c | 65 + asn1c_defs/all-defs/SubframeAssignment.h | 59 + asn1c_defs/all-defs/SubframeAssignment.o | Bin 0 -> 2888 bytes asn1c_defs/all-defs/SubframeType.c | 55 + asn1c_defs/all-defs/SubframeType.h | 54 + asn1c_defs/all-defs/SubframeType.o | Bin 0 -> 2568 bytes asn1c_defs/all-defs/SubscriberProfileIDforRFP.c | 61 + asn1c_defs/all-defs/SubscriberProfileIDforRFP.h | 44 + asn1c_defs/all-defs/SubscriberProfileIDforRFP.o | Bin 0 -> 2872 bytes .../Subscription-Based-UE-DifferentiationInfo.c | 340 + .../Subscription-Based-UE-DifferentiationInfo.h | 89 + .../Subscription-Based-UE-DifferentiationInfo.o | Bin 0 -> 9848 bytes asn1c_defs/all-defs/SuccessfulOutcome.c | 448 + asn1c_defs/all-defs/SuccessfulOutcome.h | 114 + asn1c_defs/all-defs/SuccessfulOutcome.o | Bin 0 -> 20104 bytes asn1c_defs/all-defs/SupportedSULFreqBandItem.c | 93 + asn1c_defs/all-defs/SupportedSULFreqBandItem.h | 48 + asn1c_defs/all-defs/SupportedSULFreqBandItem.o | Bin 0 -> 4008 bytes asn1c_defs/all-defs/TABasedMDT.c | 63 + asn1c_defs/all-defs/TABasedMDT.h | 48 + asn1c_defs/all-defs/TABasedMDT.o | Bin 0 -> 2792 bytes asn1c_defs/all-defs/TABasedQMC.c | 63 + asn1c_defs/all-defs/TABasedQMC.h | 48 + asn1c_defs/all-defs/TABasedQMC.o | Bin 0 -> 2792 bytes asn1c_defs/all-defs/TAC.c | 62 + asn1c_defs/all-defs/TAC.h | 44 + asn1c_defs/all-defs/TAC.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/TAI-Item.c | 73 + asn1c_defs/all-defs/TAI-Item.h | 50 + asn1c_defs/all-defs/TAI-Item.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/TAIBasedMDT.c | 63 + asn1c_defs/all-defs/TAIBasedMDT.h | 48 + asn1c_defs/all-defs/TAIBasedMDT.o | Bin 0 -> 2800 bytes asn1c_defs/all-defs/TAIBasedQMC.c | 63 + asn1c_defs/all-defs/TAIBasedQMC.h | 48 + asn1c_defs/all-defs/TAIBasedQMC.o | Bin 0 -> 2800 bytes asn1c_defs/all-defs/TAIListforMDT.c | 50 + asn1c_defs/all-defs/TAIListforMDT.h | 44 + asn1c_defs/all-defs/TAIListforMDT.o | Bin 0 -> 2312 bytes asn1c_defs/all-defs/TAIListforQMC.c | 50 + asn1c_defs/all-defs/TAIListforQMC.h | 44 + asn1c_defs/all-defs/TAIListforQMC.o | Bin 0 -> 2312 bytes asn1c_defs/all-defs/TAListforMDT.c | 49 + asn1c_defs/all-defs/TAListforMDT.h | 42 + asn1c_defs/all-defs/TAListforMDT.o | Bin 0 -> 2304 bytes asn1c_defs/all-defs/TAListforQMC.c | 49 + asn1c_defs/all-defs/TAListforQMC.h | 42 + asn1c_defs/all-defs/TAListforQMC.o | Bin 0 -> 2304 bytes asn1c_defs/all-defs/TDD-Info.c | 93 + asn1c_defs/all-defs/TDD-Info.h | 54 + asn1c_defs/all-defs/TDD-Info.o | Bin 0 -> 3408 bytes .../TDD-InfoNeighbourServedNRCell-Information.c | 63 + .../TDD-InfoNeighbourServedNRCell-Information.h | 48 + .../TDD-InfoNeighbourServedNRCell-Information.o | Bin 0 -> 3136 bytes .../all-defs/TDD-InfoServedNRCell-Information.c | 73 + .../all-defs/TDD-InfoServedNRCell-Information.h | 50 + .../all-defs/TDD-InfoServedNRCell-Information.o | Bin 0 -> 3280 bytes asn1c_defs/all-defs/TargetCellInUTRAN.c | 31 + asn1c_defs/all-defs/TargetCellInUTRAN.h | 43 + asn1c_defs/all-defs/TargetCellInUTRAN.o | Bin 0 -> 1880 bytes .../TargeteNBtoSource-eNBTransparentContainer.c | 31 + .../TargeteNBtoSource-eNBTransparentContainer.h | 43 + .../TargeteNBtoSource-eNBTransparentContainer.o | Bin 0 -> 1984 bytes asn1c_defs/all-defs/Threshold-RSRP.c | 61 + asn1c_defs/all-defs/Threshold-RSRP.h | 44 + asn1c_defs/all-defs/Threshold-RSRP.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/Threshold-RSRQ.c | 61 + asn1c_defs/all-defs/Threshold-RSRQ.h | 44 + asn1c_defs/all-defs/Threshold-RSRQ.o | Bin 0 -> 2816 bytes .../Time-UE-StayedInCell-EnhancedGranularity.c | 61 + .../Time-UE-StayedInCell-EnhancedGranularity.h | 43 + .../Time-UE-StayedInCell-EnhancedGranularity.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/Time-UE-StayedInCell.c | 61 + asn1c_defs/all-defs/Time-UE-StayedInCell.h | 44 + asn1c_defs/all-defs/Time-UE-StayedInCell.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/TimeStamp.c | 62 + asn1c_defs/all-defs/TimeStamp.h | 44 + asn1c_defs/all-defs/TimeStamp.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/TimeToWait.c | 63 + asn1c_defs/all-defs/TimeToWait.h | 56 + asn1c_defs/all-defs/TimeToWait.o | Bin 0 -> 2784 bytes asn1c_defs/all-defs/TraceActivation.c | 93 + asn1c_defs/all-defs/TraceActivation.h | 52 + asn1c_defs/all-defs/TraceActivation.o | Bin 0 -> 3600 bytes .../all-defs/TraceCollectionEntityIPAddress.c | 67 + .../all-defs/TraceCollectionEntityIPAddress.h | 44 + .../all-defs/TraceCollectionEntityIPAddress.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/TraceDepth.c | 63 + asn1c_defs/all-defs/TraceDepth.h | 58 + asn1c_defs/all-defs/TraceDepth.o | Bin 0 -> 3008 bytes asn1c_defs/all-defs/Transmission-Bandwidth.c | 65 + asn1c_defs/all-defs/Transmission-Bandwidth.h | 59 + asn1c_defs/all-defs/Transmission-Bandwidth.o | Bin 0 -> 2944 bytes asn1c_defs/all-defs/TransportLayerAddress.c | 67 + asn1c_defs/all-defs/TransportLayerAddress.h | 44 + asn1c_defs/all-defs/TransportLayerAddress.o | Bin 0 -> 2960 bytes asn1c_defs/all-defs/TriggeringMessage.c | 55 + asn1c_defs/all-defs/TriggeringMessage.h | 52 + asn1c_defs/all-defs/TriggeringMessage.o | Bin 0 -> 2688 bytes asn1c_defs/all-defs/TunnelInformation.c | 73 + asn1c_defs/all-defs/TunnelInformation.h | 48 + asn1c_defs/all-defs/TunnelInformation.o | Bin 0 -> 3096 bytes asn1c_defs/all-defs/TypeOfError.c | 55 + asn1c_defs/all-defs/TypeOfError.h | 54 + asn1c_defs/all-defs/TypeOfError.o | Bin 0 -> 2560 bytes asn1c_defs/all-defs/TypeOfMessage.c | 57 + asn1c_defs/all-defs/TypeOfMessage.h | 53 + asn1c_defs/all-defs/TypeOfMessage.o | Bin 0 -> 2768 bytes .../all-defs/UE-ContextInformation-SgNBModReq.c | 118 + .../all-defs/UE-ContextInformation-SgNBModReq.h | 56 + .../all-defs/UE-ContextInformation-SgNBModReq.o | Bin 0 -> 4312 bytes asn1c_defs/all-defs/UE-ContextInformation.c | 145 + asn1c_defs/all-defs/UE-ContextInformation.h | 62 + asn1c_defs/all-defs/UE-ContextInformation.o | Bin 0 -> 4736 bytes .../all-defs/UE-ContextInformationRetrieve.c | 166 + .../all-defs/UE-ContextInformationRetrieve.h | 66 + .../all-defs/UE-ContextInformationRetrieve.o | Bin 0 -> 5264 bytes .../all-defs/UE-ContextInformationSeNBModReq.c | 118 + .../all-defs/UE-ContextInformationSeNBModReq.h | 56 + .../all-defs/UE-ContextInformationSeNBModReq.o | Bin 0 -> 4256 bytes asn1c_defs/all-defs/UE-ContextKeptIndicator.c | 53 + asn1c_defs/all-defs/UE-ContextKeptIndicator.h | 51 + asn1c_defs/all-defs/UE-ContextKeptIndicator.o | Bin 0 -> 2584 bytes asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.c | 83 + asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.h | 50 + asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.o | Bin 0 -> 3344 bytes asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.c | 73 + asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.h | 48 + asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.o | Bin 0 -> 3136 bytes asn1c_defs/all-defs/UE-ContextReferenceAtWT.c | 73 + asn1c_defs/all-defs/UE-ContextReferenceAtWT.h | 48 + asn1c_defs/all-defs/UE-ContextReferenceAtWT.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/UE-HistoryInformation.c | 50 + asn1c_defs/all-defs/UE-HistoryInformation.h | 41 + asn1c_defs/all-defs/UE-HistoryInformation.o | Bin 0 -> 2400 bytes .../all-defs/UE-HistoryInformationFromTheUE.c | 31 + .../all-defs/UE-HistoryInformationFromTheUE.h | 43 + .../all-defs/UE-HistoryInformationFromTheUE.o | Bin 0 -> 1912 bytes .../UE-RLF-Report-Container-for-extended-bands.c | 31 + .../UE-RLF-Report-Container-for-extended-bands.h | 43 + .../UE-RLF-Report-Container-for-extended-bands.o | Bin 0 -> 1984 bytes asn1c_defs/all-defs/UE-RLF-Report-Container.c | 31 + asn1c_defs/all-defs/UE-RLF-Report-Container.h | 43 + asn1c_defs/all-defs/UE-RLF-Report-Container.o | Bin 0 -> 1896 bytes asn1c_defs/all-defs/UE-S1AP-ID.c | 57 + asn1c_defs/all-defs/UE-S1AP-ID.h | 45 + asn1c_defs/all-defs/UE-S1AP-ID.o | Bin 0 -> 2792 bytes asn1c_defs/all-defs/UE-X2AP-ID-Extension.c | 61 + asn1c_defs/all-defs/UE-X2AP-ID-Extension.h | 44 + asn1c_defs/all-defs/UE-X2AP-ID-Extension.o | Bin 0 -> 2840 bytes asn1c_defs/all-defs/UE-X2AP-ID.c | 61 + asn1c_defs/all-defs/UE-X2AP-ID.h | 44 + asn1c_defs/all-defs/UE-X2AP-ID.o | Bin 0 -> 2760 bytes asn1c_defs/all-defs/UEAggregateMaximumBitRate.c | 73 + asn1c_defs/all-defs/UEAggregateMaximumBitRate.h | 49 + asn1c_defs/all-defs/UEAggregateMaximumBitRate.o | Bin 0 -> 3232 bytes asn1c_defs/all-defs/UEAppLayerMeasConfig.c | 104 + asn1c_defs/all-defs/UEAppLayerMeasConfig.h | 48 + asn1c_defs/all-defs/UEAppLayerMeasConfig.o | Bin 0 -> 4240 bytes asn1c_defs/all-defs/UEContextRelease.c | 50 + asn1c_defs/all-defs/UEContextRelease.h | 44 + asn1c_defs/all-defs/UEContextRelease.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/UEID.c | 67 + asn1c_defs/all-defs/UEID.h | 44 + asn1c_defs/all-defs/UEID.o | Bin 0 -> 2736 bytes asn1c_defs/all-defs/UENRMeasurement.c | 63 + asn1c_defs/all-defs/UENRMeasurement.h | 46 + asn1c_defs/all-defs/UENRMeasurement.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/UESecurityCapabilities.c | 73 + asn1c_defs/all-defs/UESecurityCapabilities.h | 50 + asn1c_defs/all-defs/UESecurityCapabilities.o | Bin 0 -> 3136 bytes .../all-defs/UESidelinkAggregateMaximumBitRate.c | 63 + .../all-defs/UESidelinkAggregateMaximumBitRate.h | 46 + .../all-defs/UESidelinkAggregateMaximumBitRate.o | Bin 0 -> 3104 bytes asn1c_defs/all-defs/UEsToBeResetList-Item.c | 83 + asn1c_defs/all-defs/UEsToBeResetList-Item.h | 52 + asn1c_defs/all-defs/UEsToBeResetList-Item.o | Bin 0 -> 3264 bytes asn1c_defs/all-defs/UEsToBeResetList.c | 50 + asn1c_defs/all-defs/UEsToBeResetList.h | 41 + asn1c_defs/all-defs/UEsToBeResetList.o | Bin 0 -> 2376 bytes asn1c_defs/all-defs/UL-GBR-PRB-usage.c | 61 + asn1c_defs/all-defs/UL-GBR-PRB-usage.h | 44 + asn1c_defs/all-defs/UL-GBR-PRB-usage.o | Bin 0 -> 2824 bytes .../all-defs/UL-HighInterferenceIndication.c | 67 + .../all-defs/UL-HighInterferenceIndication.h | 44 + .../all-defs/UL-HighInterferenceIndication.o | Bin 0 -> 3000 bytes .../UL-HighInterferenceIndicationInfo-Item.c | 73 + .../UL-HighInterferenceIndicationInfo-Item.h | 50 + .../UL-HighInterferenceIndicationInfo-Item.o | Bin 0 -> 3360 bytes .../all-defs/UL-HighInterferenceIndicationInfo.c | 50 + .../all-defs/UL-HighInterferenceIndicationInfo.h | 44 + .../all-defs/UL-HighInterferenceIndicationInfo.o | Bin 0 -> 2608 bytes .../UL-InterferenceOverloadIndication-Item.c | 57 + .../UL-InterferenceOverloadIndication-Item.h | 55 + .../UL-InterferenceOverloadIndication-Item.o | Bin 0 -> 2960 bytes .../all-defs/UL-InterferenceOverloadIndication.c | 49 + .../all-defs/UL-InterferenceOverloadIndication.h | 42 + .../all-defs/UL-InterferenceOverloadIndication.o | Bin 0 -> 2608 bytes asn1c_defs/all-defs/UL-Total-PRB-usage.c | 61 + asn1c_defs/all-defs/UL-Total-PRB-usage.h | 44 + asn1c_defs/all-defs/UL-Total-PRB-usage.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/UL-UE-Configuration.c | 57 + asn1c_defs/all-defs/UL-UE-Configuration.h | 55 + asn1c_defs/all-defs/UL-UE-Configuration.o | Bin 0 -> 2664 bytes asn1c_defs/all-defs/UL-non-GBR-PRB-usage.c | 61 + asn1c_defs/all-defs/UL-non-GBR-PRB-usage.h | 44 + asn1c_defs/all-defs/UL-non-GBR-PRB-usage.o | Bin 0 -> 2840 bytes .../all-defs/UL-scheduling-PDCCH-CCE-usage.c | 61 + .../all-defs/UL-scheduling-PDCCH-CCE-usage.h | 43 + .../all-defs/UL-scheduling-PDCCH-CCE-usage.o | Bin 0 -> 2888 bytes asn1c_defs/all-defs/ULConfiguration.c | 63 + asn1c_defs/all-defs/ULConfiguration.h | 48 + asn1c_defs/all-defs/ULConfiguration.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/ULOnlySharing.c | 63 + asn1c_defs/all-defs/ULOnlySharing.h | 48 + asn1c_defs/all-defs/ULOnlySharing.o | Bin 0 -> 2824 bytes .../all-defs/ULResourceBitmapULandDLSharing.c | 67 + .../all-defs/ULResourceBitmapULandDLSharing.h | 44 + .../all-defs/ULResourceBitmapULandDLSharing.o | Bin 0 -> 3032 bytes asn1c_defs/all-defs/ULResourcesULandDLSharing.c | 62 + asn1c_defs/all-defs/ULResourcesULandDLSharing.h | 59 + asn1c_defs/all-defs/ULResourcesULandDLSharing.o | Bin 0 -> 2832 bytes asn1c_defs/all-defs/ULandDLSharing.c | 73 + asn1c_defs/all-defs/ULandDLSharing.h | 50 + asn1c_defs/all-defs/ULandDLSharing.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/UnsuccessfulOutcome.c | 438 + asn1c_defs/all-defs/UnsuccessfulOutcome.h | 112 + asn1c_defs/all-defs/UnsuccessfulOutcome.o | Bin 0 -> 19944 bytes asn1c_defs/all-defs/UsableABSInformation.c | 64 + asn1c_defs/all-defs/UsableABSInformation.h | 61 + asn1c_defs/all-defs/UsableABSInformation.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/UsableABSInformationFDD.c | 99 + asn1c_defs/all-defs/UsableABSInformationFDD.h | 48 + asn1c_defs/all-defs/UsableABSInformationFDD.o | Bin 0 -> 4048 bytes asn1c_defs/all-defs/UsableABSInformationTDD.c | 99 + asn1c_defs/all-defs/UsableABSInformationTDD.h | 48 + asn1c_defs/all-defs/UsableABSInformationTDD.o | Bin 0 -> 4048 bytes .../all-defs/UserPlaneTrafficActivityReport.c | 55 + .../all-defs/UserPlaneTrafficActivityReport.h | 54 + .../all-defs/UserPlaneTrafficActivityReport.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/V2XServicesAuthorized.c | 73 + asn1c_defs/all-defs/V2XServicesAuthorized.h | 48 + asn1c_defs/all-defs/V2XServicesAuthorized.o | Bin 0 -> 3080 bytes asn1c_defs/all-defs/VehicleUE.c | 55 + asn1c_defs/all-defs/VehicleUE.h | 54 + asn1c_defs/all-defs/VehicleUE.o | Bin 0 -> 2552 bytes asn1c_defs/all-defs/WLANMeasConfig.c | 53 + asn1c_defs/all-defs/WLANMeasConfig.h | 53 + asn1c_defs/all-defs/WLANMeasConfig.o | Bin 0 -> 2520 bytes asn1c_defs/all-defs/WLANMeasConfigNameList.c | 49 + asn1c_defs/all-defs/WLANMeasConfigNameList.h | 42 + asn1c_defs/all-defs/WLANMeasConfigNameList.o | Bin 0 -> 2400 bytes asn1c_defs/all-defs/WLANMeasurementConfiguration.c | 186 + asn1c_defs/all-defs/WLANMeasurementConfiguration.h | 67 + asn1c_defs/all-defs/WLANMeasurementConfiguration.o | Bin 0 -> 5560 bytes asn1c_defs/all-defs/WLANName.c | 62 + asn1c_defs/all-defs/WLANName.h | 44 + asn1c_defs/all-defs/WLANName.o | Bin 0 -> 2824 bytes asn1c_defs/all-defs/WT-UE-XwAP-ID.c | 62 + asn1c_defs/all-defs/WT-UE-XwAP-ID.h | 44 + asn1c_defs/all-defs/WT-UE-XwAP-ID.o | Bin 0 -> 2848 bytes asn1c_defs/all-defs/WTID-Long-Type2.c | 67 + asn1c_defs/all-defs/WTID-Long-Type2.h | 44 + asn1c_defs/all-defs/WTID-Long-Type2.o | Bin 0 -> 2928 bytes asn1c_defs/all-defs/WTID-Type1.c | 96 + asn1c_defs/all-defs/WTID-Type1.h | 46 + asn1c_defs/all-defs/WTID-Type1.o | Bin 0 -> 3792 bytes asn1c_defs/all-defs/WTID.c | 63 + asn1c_defs/all-defs/WTID.h | 61 + asn1c_defs/all-defs/WTID.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/WidebandCQI.c | 104 + asn1c_defs/all-defs/WidebandCQI.h | 50 + asn1c_defs/all-defs/WidebandCQI.o | Bin 0 -> 4144 bytes asn1c_defs/all-defs/WidebandCQICodeword1.c | 122 + asn1c_defs/all-defs/WidebandCQICodeword1.h | 58 + asn1c_defs/all-defs/WidebandCQICodeword1.o | Bin 0 -> 4472 bytes asn1c_defs/all-defs/X2AP-Message.c | 31 + asn1c_defs/all-defs/X2AP-Message.h | 43 + asn1c_defs/all-defs/X2AP-Message.o | Bin 0 -> 1864 bytes asn1c_defs/all-defs/X2AP-PDU.c | 75 + asn1c_defs/all-defs/X2AP-PDU.h | 61 + asn1c_defs/all-defs/X2AP-PDU.o | Bin 0 -> 2976 bytes asn1c_defs/all-defs/X2APMessageTransfer.c | 50 + asn1c_defs/all-defs/X2APMessageTransfer.h | 44 + asn1c_defs/all-defs/X2APMessageTransfer.o | Bin 0 -> 2504 bytes asn1c_defs/all-defs/X2BenefitValue.c | 61 + asn1c_defs/all-defs/X2BenefitValue.h | 43 + asn1c_defs/all-defs/X2BenefitValue.o | Bin 0 -> 2816 bytes asn1c_defs/all-defs/X2InitiatingMessage.c | 1018 + asn1c_defs/all-defs/X2InitiatingMessage.h | 242 + asn1c_defs/all-defs/X2InitiatingMessage.o | Bin 0 -> 48080 bytes asn1c_defs/all-defs/X2Release.c | 50 + asn1c_defs/all-defs/X2Release.h | 44 + asn1c_defs/all-defs/X2Release.o | Bin 0 -> 2448 bytes asn1c_defs/all-defs/X2RemovalFailure.c | 50 + asn1c_defs/all-defs/X2RemovalFailure.h | 44 + asn1c_defs/all-defs/X2RemovalFailure.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/X2RemovalRequest.c | 50 + asn1c_defs/all-defs/X2RemovalRequest.h | 44 + asn1c_defs/all-defs/X2RemovalRequest.o | Bin 0 -> 2488 bytes asn1c_defs/all-defs/X2RemovalResponse.c | 50 + asn1c_defs/all-defs/X2RemovalResponse.h | 44 + asn1c_defs/all-defs/X2RemovalResponse.o | Bin 0 -> 2496 bytes asn1c_defs/all-defs/X2SetupFailure.c | 50 + asn1c_defs/all-defs/X2SetupFailure.h | 44 + asn1c_defs/all-defs/X2SetupFailure.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/X2SetupRequest.c | 50 + asn1c_defs/all-defs/X2SetupRequest.h | 44 + asn1c_defs/all-defs/X2SetupRequest.o | Bin 0 -> 2472 bytes asn1c_defs/all-defs/X2SetupResponse.c | 50 + asn1c_defs/all-defs/X2SetupResponse.h | 44 + asn1c_defs/all-defs/X2SetupResponse.o | Bin 0 -> 2480 bytes asn1c_defs/all-defs/X2SuccessfulOutcome.c | 808 + asn1c_defs/all-defs/X2SuccessfulOutcome.h | 200 + asn1c_defs/all-defs/X2SuccessfulOutcome.o | Bin 0 -> 44552 bytes asn1c_defs/all-defs/X2UnsuccessfulOutcome.c | 758 + asn1c_defs/all-defs/X2UnsuccessfulOutcome.h | 190 + asn1c_defs/all-defs/X2UnsuccessfulOutcome.o | Bin 0 -> 43592 bytes asn1c_defs/all-defs/asn_SEQUENCE_OF.c | 41 + asn1c_defs/all-defs/asn_SEQUENCE_OF.h | 52 + asn1c_defs/all-defs/asn_SEQUENCE_OF.o | Bin 0 -> 1360 bytes asn1c_defs/all-defs/asn_SET_OF.c | 88 + asn1c_defs/all-defs/asn_SET_OF.h | 72 + asn1c_defs/all-defs/asn_SET_OF.o | Bin 0 -> 2048 bytes asn1c_defs/all-defs/asn_application.c | 481 + asn1c_defs/all-defs/asn_application.h | 171 + asn1c_defs/all-defs/asn_application.o | Bin 0 -> 8704 bytes asn1c_defs/all-defs/asn_bit_data.c | 333 + asn1c_defs/all-defs/asn_bit_data.h | 83 + asn1c_defs/all-defs/asn_bit_data.o | Bin 0 -> 5160 bytes asn1c_defs/all-defs/asn_codecs.h | 108 + asn1c_defs/all-defs/asn_codecs_prim.c | 317 + asn1c_defs/all-defs/asn_codecs_prim.h | 51 + asn1c_defs/all-defs/asn_codecs_prim.o | Bin 0 -> 5000 bytes asn1c_defs/all-defs/asn_constant.h | 69 + asn1c_defs/all-defs/asn_internal.c | 48 + asn1c_defs/all-defs/asn_internal.h | 159 + asn1c_defs/all-defs/asn_internal.o | Bin 0 -> 2168 bytes asn1c_defs/all-defs/asn_ioc.h | 51 + asn1c_defs/all-defs/asn_random_fill.c | 56 + asn1c_defs/all-defs/asn_random_fill.h | 51 + asn1c_defs/all-defs/asn_random_fill.o | Bin 0 -> 2952 bytes asn1c_defs/all-defs/asn_system.h | 150 + asn1c_defs/all-defs/ber_decoder.c | 283 + asn1c_defs/all-defs/ber_decoder.h | 66 + asn1c_defs/all-defs/ber_decoder.o | Bin 0 -> 3848 bytes asn1c_defs/all-defs/ber_tlv_length.c | 168 + asn1c_defs/all-defs/ber_tlv_length.h | 50 + asn1c_defs/all-defs/ber_tlv_length.o | Bin 0 -> 2520 bytes asn1c_defs/all-defs/ber_tlv_tag.c | 144 + asn1c_defs/all-defs/ber_tlv_tag.h | 60 + asn1c_defs/all-defs/ber_tlv_tag.o | Bin 0 -> 3272 bytes asn1c_defs/all-defs/constr_CHOICE.c | 1511 + asn1c_defs/all-defs/constr_CHOICE.h | 80 + asn1c_defs/all-defs/constr_CHOICE.o | Bin 0 -> 17416 bytes asn1c_defs/all-defs/constr_SEQUENCE.c | 2059 + asn1c_defs/all-defs/constr_SEQUENCE.h | 68 + asn1c_defs/all-defs/constr_SEQUENCE.o | Bin 0 -> 22920 bytes asn1c_defs/all-defs/constr_SEQUENCE_OF.c | 358 + asn1c_defs/all-defs/constr_SEQUENCE_OF.h | 41 + asn1c_defs/all-defs/constr_SEQUENCE_OF.o | Bin 0 -> 7904 bytes asn1c_defs/all-defs/constr_SET_OF.c | 1441 + asn1c_defs/all-defs/constr_SET_OF.h | 49 + asn1c_defs/all-defs/constr_SET_OF.o | Bin 0 -> 21600 bytes asn1c_defs/all-defs/constr_TYPE.c | 80 + asn1c_defs/all-defs/constr_TYPE.h | 262 + asn1c_defs/all-defs/constr_TYPE.o | Bin 0 -> 2856 bytes asn1c_defs/all-defs/constraints.c | 93 + asn1c_defs/all-defs/constraints.h | 62 + asn1c_defs/all-defs/constraints.o | Bin 0 -> 2696 bytes asn1c_defs/all-defs/converter-example.mk | 7 + asn1c_defs/all-defs/der_encoder.c | 194 + asn1c_defs/all-defs/der_encoder.h | 68 + asn1c_defs/all-defs/der_encoder.o | Bin 0 -> 3832 bytes asn1c_defs/all-defs/per_decoder.c | 185 + asn1c_defs/all-defs/per_decoder.h | 82 + asn1c_defs/all-defs/per_decoder.o | Bin 0 -> 3728 bytes asn1c_defs/all-defs/per_encoder.c | 265 + asn1c_defs/all-defs/per_encoder.h | 93 + asn1c_defs/all-defs/per_encoder.o | Bin 0 -> 4528 bytes asn1c_defs/all-defs/per_opentype.c | 533 + asn1c_defs/all-defs/per_opentype.h | 44 + asn1c_defs/all-defs/per_opentype.o | Bin 0 -> 5728 bytes asn1c_defs/all-defs/per_support.c | 489 + asn1c_defs/all-defs/per_support.h | 127 + asn1c_defs/all-defs/per_support.o | Bin 0 -> 9248 bytes asn1c_defs/all-defs/xer_decoder.c | 369 + asn1c_defs/all-defs/xer_decoder.h | 106 + asn1c_defs/all-defs/xer_decoder.o | Bin 0 -> 5520 bytes asn1c_defs/all-defs/xer_encoder.c | 237 + asn1c_defs/all-defs/xer_encoder.h | 83 + asn1c_defs/all-defs/xer_encoder.o | Bin 0 -> 7328 bytes asn1c_defs/all-defs/xer_support.c | 227 + asn1c_defs/all-defs/xer_support.h | 55 + asn1c_defs/all-defs/xer_support.o | Bin 0 -> 5072 bytes container-tag.yaml | 2 + src/E2AP-c/e2ap_indication.cc | 131 + src/E2AP-c/e2ap_indication.hpp | 73 + src/E2AP-c/subscription/generic_helpers.hpp | 49 + src/E2AP-c/subscription/response_helper.hpp | 181 + src/E2AP-c/subscription/subscription_handler.cc | 332 + src/E2AP-c/subscription/subscription_handler.hpp | 213 + src/E2AP-c/subscription/subscription_helper.hpp | 192 + src/E2AP-c/subscription/subscription_request.cc | 278 + src/E2AP-c/subscription/subscription_request.hpp | 72 + src/E2AP-c/subscription/subscription_response.cc | 562 + src/E2AP-c/subscription/subscription_response.hpp | 82 + src/E2SM/e2sm.cc | 632 + src/E2SM/e2sm.hpp | 145 + src/E2SM/e2sm_helpers.hpp | 96 + src/KPI-Message-Handler/KPIMessageHandler.cc | 73 + src/KPI-Message-Handler/KPIMessageHandler.h | 58 + src/KPI-Monitoring/cu_cp_resource_status_report.cc | 72 + .../cu_cp_resource_status_report.hpp | 54 + .../cu_cp_resource_status_report_helper.hpp | 41 + src/KPI-Monitoring/kpi_db.cc | 69 + src/KPI-Monitoring/kpi_db.hpp | 55 + src/Makefile | 69 + src/README.md | 74 + src/get_config.cc | 142 + src/kpi-xapp.cc | 217 + src/kpi-xapp.hpp | 70 + src/message_processor_class.cc | 123 + src/message_processor_class.hpp | 65 + src/run_xapp.sh | 5 + src/xapp_utils.cc | 307 + src/xapp_utils.hpp | 263 + 2398 files changed, 240344 insertions(+) create mode 100755 Dockerfile create mode 100755 README.md create mode 100755 asn1c_defs/all-defs/ABS-Status.c create mode 100755 asn1c_defs/all-defs/ABS-Status.h create mode 100644 asn1c_defs/all-defs/ABS-Status.o create mode 100755 asn1c_defs/all-defs/ABSInformation.c create mode 100755 asn1c_defs/all-defs/ABSInformation.h create mode 100644 asn1c_defs/all-defs/ABSInformation.o create mode 100755 asn1c_defs/all-defs/ABSInformationFDD.c create mode 100755 asn1c_defs/all-defs/ABSInformationFDD.h create mode 100644 asn1c_defs/all-defs/ABSInformationFDD.o create mode 100755 asn1c_defs/all-defs/ABSInformationTDD.c create mode 100755 asn1c_defs/all-defs/ABSInformationTDD.h create mode 100644 asn1c_defs/all-defs/ABSInformationTDD.o create mode 100755 asn1c_defs/all-defs/ANY.c create mode 100755 asn1c_defs/all-defs/ANY.h create mode 100644 asn1c_defs/all-defs/ANY.o create mode 100755 asn1c_defs/all-defs/AS-SecurityInformation.c create mode 100755 asn1c_defs/all-defs/AS-SecurityInformation.h create mode 100644 asn1c_defs/all-defs/AS-SecurityInformation.o create mode 100755 asn1c_defs/all-defs/ActionParameter-ID.c create mode 100755 asn1c_defs/all-defs/ActionParameter-ID.h create mode 100644 asn1c_defs/all-defs/ActionParameter-ID.o create mode 100755 asn1c_defs/all-defs/ActionParameter-Item.c create mode 100755 asn1c_defs/all-defs/ActionParameter-Item.h create mode 100644 asn1c_defs/all-defs/ActionParameter-Item.o create mode 100755 asn1c_defs/all-defs/ActionParameter-Value.c create mode 100755 asn1c_defs/all-defs/ActionParameter-Value.h create mode 100644 asn1c_defs/all-defs/ActionParameter-Value.o create mode 100755 asn1c_defs/all-defs/ActivatedCellList-Item.c create mode 100755 asn1c_defs/all-defs/ActivatedCellList-Item.h create mode 100644 asn1c_defs/all-defs/ActivatedCellList-Item.o create mode 100755 asn1c_defs/all-defs/ActivatedCellList.c create mode 100755 asn1c_defs/all-defs/ActivatedCellList.h create mode 100644 asn1c_defs/all-defs/ActivatedCellList.o create mode 100755 asn1c_defs/all-defs/ActivatedNRCellList-Item.c create mode 100755 asn1c_defs/all-defs/ActivatedNRCellList-Item.h create mode 100644 asn1c_defs/all-defs/ActivatedNRCellList-Item.o create mode 100755 asn1c_defs/all-defs/ActivatedNRCellList.c create mode 100755 asn1c_defs/all-defs/ActivatedNRCellList.h create mode 100644 asn1c_defs/all-defs/ActivatedNRCellList.o create mode 100755 asn1c_defs/all-defs/ActivationID.c create mode 100755 asn1c_defs/all-defs/ActivationID.h create mode 100644 asn1c_defs/all-defs/ActivationID.o create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframe-Info.c create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframe-Info.h create mode 100644 asn1c_defs/all-defs/AdditionalSpecialSubframe-Info.o create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.c create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.h create mode 100644 asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.o create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.c create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.h create mode 100644 asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.o create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.c create mode 100755 asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.h create mode 100644 asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.o create mode 100755 asn1c_defs/all-defs/AerialUEsubscriptionInformation.c create mode 100755 asn1c_defs/all-defs/AerialUEsubscriptionInformation.h create mode 100644 asn1c_defs/all-defs/AerialUEsubscriptionInformation.o create mode 100755 asn1c_defs/all-defs/AllocationAndRetentionPriority.c create mode 100755 asn1c_defs/all-defs/AllocationAndRetentionPriority.h create mode 100644 asn1c_defs/all-defs/AllocationAndRetentionPriority.o create mode 100755 asn1c_defs/all-defs/AreaScopeOfMDT.c create mode 100755 asn1c_defs/all-defs/AreaScopeOfMDT.h create mode 100644 asn1c_defs/all-defs/AreaScopeOfMDT.o create mode 100755 asn1c_defs/all-defs/AreaScopeOfQMC.c create mode 100755 asn1c_defs/all-defs/AreaScopeOfQMC.h create mode 100644 asn1c_defs/all-defs/AreaScopeOfQMC.o create mode 100755 asn1c_defs/all-defs/BIT_STRING.c create mode 100755 asn1c_defs/all-defs/BIT_STRING.h create mode 100644 asn1c_defs/all-defs/BIT_STRING.o create mode 100755 asn1c_defs/all-defs/BOOLEAN.c create mode 100755 asn1c_defs/all-defs/BOOLEAN.h create mode 100644 asn1c_defs/all-defs/BOOLEAN.o create mode 100755 asn1c_defs/all-defs/BandInfo.c create mode 100755 asn1c_defs/all-defs/BandInfo.h create mode 100644 asn1c_defs/all-defs/BandInfo.o create mode 100755 asn1c_defs/all-defs/BandwidthReducedSI.c create mode 100755 asn1c_defs/all-defs/BandwidthReducedSI.h create mode 100644 asn1c_defs/all-defs/BandwidthReducedSI.o create mode 100755 asn1c_defs/all-defs/BearerType.c create mode 100755 asn1c_defs/all-defs/BearerType.h create mode 100644 asn1c_defs/all-defs/BearerType.o create mode 100755 asn1c_defs/all-defs/BenefitMetric.c create mode 100755 asn1c_defs/all-defs/BenefitMetric.h create mode 100644 asn1c_defs/all-defs/BenefitMetric.o create mode 100755 asn1c_defs/all-defs/BitRate.c create mode 100755 asn1c_defs/all-defs/BitRate.h create mode 100644 asn1c_defs/all-defs/BitRate.o create mode 100755 asn1c_defs/all-defs/BluetoothMeasConfig.c create mode 100755 asn1c_defs/all-defs/BluetoothMeasConfig.h create mode 100644 asn1c_defs/all-defs/BluetoothMeasConfig.o create mode 100755 asn1c_defs/all-defs/BluetoothMeasConfigNameList.c create mode 100755 asn1c_defs/all-defs/BluetoothMeasConfigNameList.h create mode 100644 asn1c_defs/all-defs/BluetoothMeasConfigNameList.o create mode 100755 asn1c_defs/all-defs/BluetoothMeasurementConfiguration.c create mode 100755 asn1c_defs/all-defs/BluetoothMeasurementConfiguration.h create mode 100644 asn1c_defs/all-defs/BluetoothMeasurementConfiguration.o create mode 100755 asn1c_defs/all-defs/BluetoothName.c create mode 100755 asn1c_defs/all-defs/BluetoothName.h create mode 100644 asn1c_defs/all-defs/BluetoothName.o create mode 100755 asn1c_defs/all-defs/BroadcastPLMNs-Item.c create mode 100755 asn1c_defs/all-defs/BroadcastPLMNs-Item.h create mode 100644 asn1c_defs/all-defs/BroadcastPLMNs-Item.o create mode 100755 asn1c_defs/all-defs/CNTypeRestrictions.c create mode 100755 asn1c_defs/all-defs/CNTypeRestrictions.h create mode 100644 asn1c_defs/all-defs/CNTypeRestrictions.o create mode 100755 asn1c_defs/all-defs/CNTypeRestrictionsItem.c create mode 100755 asn1c_defs/all-defs/CNTypeRestrictionsItem.h create mode 100644 asn1c_defs/all-defs/CNTypeRestrictionsItem.o create mode 100755 asn1c_defs/all-defs/COUNTValueExtended.c create mode 100755 asn1c_defs/all-defs/COUNTValueExtended.h create mode 100644 asn1c_defs/all-defs/COUNTValueExtended.o create mode 100755 asn1c_defs/all-defs/COUNTvalue.c create mode 100755 asn1c_defs/all-defs/COUNTvalue.h create mode 100644 asn1c_defs/all-defs/COUNTvalue.o create mode 100755 asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.c create mode 100755 asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.h create mode 100644 asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.o create mode 100755 asn1c_defs/all-defs/CRNTI.c create mode 100755 asn1c_defs/all-defs/CRNTI.h create mode 100644 asn1c_defs/all-defs/CRNTI.o create mode 100755 asn1c_defs/all-defs/CSG-Id.c create mode 100755 asn1c_defs/all-defs/CSG-Id.h create mode 100644 asn1c_defs/all-defs/CSG-Id.o create mode 100755 asn1c_defs/all-defs/CSGMembershipStatus.c create mode 100755 asn1c_defs/all-defs/CSGMembershipStatus.h create mode 100644 asn1c_defs/all-defs/CSGMembershipStatus.o create mode 100755 asn1c_defs/all-defs/CSIReportList.c create mode 100755 asn1c_defs/all-defs/CSIReportList.h create mode 100644 asn1c_defs/all-defs/CSIReportList.o create mode 100755 asn1c_defs/all-defs/CSIReportPerCSIProcess.c create mode 100755 asn1c_defs/all-defs/CSIReportPerCSIProcess.h create mode 100644 asn1c_defs/all-defs/CSIReportPerCSIProcess.o create mode 100755 asn1c_defs/all-defs/CSIReportPerCSIProcessItem.c create mode 100755 asn1c_defs/all-defs/CSIReportPerCSIProcessItem.h create mode 100644 asn1c_defs/all-defs/CSIReportPerCSIProcessItem.o create mode 100755 asn1c_defs/all-defs/CallProcess-ID.c create mode 100755 asn1c_defs/all-defs/CallProcess-ID.h create mode 100644 asn1c_defs/all-defs/CallProcess-ID.o create mode 100755 asn1c_defs/all-defs/CapacityValue.c create mode 100755 asn1c_defs/all-defs/CapacityValue.h create mode 100644 asn1c_defs/all-defs/CapacityValue.o create mode 100755 asn1c_defs/all-defs/Cause.c create mode 100755 asn1c_defs/all-defs/Cause.h create mode 100644 asn1c_defs/all-defs/Cause.o create mode 100755 asn1c_defs/all-defs/CauseMisc.c create mode 100755 asn1c_defs/all-defs/CauseMisc.h create mode 100644 asn1c_defs/all-defs/CauseMisc.o create mode 100755 asn1c_defs/all-defs/CauseProtocol.c create mode 100755 asn1c_defs/all-defs/CauseProtocol.h create mode 100644 asn1c_defs/all-defs/CauseProtocol.o create mode 100755 asn1c_defs/all-defs/CauseRIC.c create mode 100755 asn1c_defs/all-defs/CauseRIC.h create mode 100644 asn1c_defs/all-defs/CauseRIC.o create mode 100755 asn1c_defs/all-defs/CauseRadioNetwork.c create mode 100755 asn1c_defs/all-defs/CauseRadioNetwork.h create mode 100644 asn1c_defs/all-defs/CauseRadioNetwork.o create mode 100755 asn1c_defs/all-defs/CauseTransport.c create mode 100755 asn1c_defs/all-defs/CauseTransport.h create mode 100644 asn1c_defs/all-defs/CauseTransport.o create mode 100755 asn1c_defs/all-defs/Cell-Size.c create mode 100755 asn1c_defs/all-defs/Cell-Size.h create mode 100644 asn1c_defs/all-defs/Cell-Size.o create mode 100755 asn1c_defs/all-defs/CellActivationFailure.c create mode 100755 asn1c_defs/all-defs/CellActivationFailure.h create mode 100644 asn1c_defs/all-defs/CellActivationFailure.o create mode 100755 asn1c_defs/all-defs/CellActivationRequest.c create mode 100755 asn1c_defs/all-defs/CellActivationRequest.h create mode 100644 asn1c_defs/all-defs/CellActivationRequest.o create mode 100755 asn1c_defs/all-defs/CellActivationResponse.c create mode 100755 asn1c_defs/all-defs/CellActivationResponse.h create mode 100644 asn1c_defs/all-defs/CellActivationResponse.o create mode 100755 asn1c_defs/all-defs/CellAssistanceInformation.c create mode 100755 asn1c_defs/all-defs/CellAssistanceInformation.h create mode 100644 asn1c_defs/all-defs/CellAssistanceInformation.o create mode 100755 asn1c_defs/all-defs/CellBasedMDT.c create mode 100755 asn1c_defs/all-defs/CellBasedMDT.h create mode 100644 asn1c_defs/all-defs/CellBasedMDT.o create mode 100755 asn1c_defs/all-defs/CellBasedQMC.c create mode 100755 asn1c_defs/all-defs/CellBasedQMC.h create mode 100644 asn1c_defs/all-defs/CellBasedQMC.o create mode 100755 asn1c_defs/all-defs/CellCapacityClassValue.c create mode 100755 asn1c_defs/all-defs/CellCapacityClassValue.h create mode 100644 asn1c_defs/all-defs/CellCapacityClassValue.o create mode 100755 asn1c_defs/all-defs/CellDeploymentStatusIndicator.c create mode 100755 asn1c_defs/all-defs/CellDeploymentStatusIndicator.h create mode 100644 asn1c_defs/all-defs/CellDeploymentStatusIndicator.o create mode 100755 asn1c_defs/all-defs/CellIdListforMDT.c create mode 100755 asn1c_defs/all-defs/CellIdListforMDT.h create mode 100644 asn1c_defs/all-defs/CellIdListforMDT.o create mode 100755 asn1c_defs/all-defs/CellIdListforQMC.c create mode 100755 asn1c_defs/all-defs/CellIdListforQMC.h create mode 100644 asn1c_defs/all-defs/CellIdListforQMC.o create mode 100755 asn1c_defs/all-defs/CellInformation-Item.c create mode 100755 asn1c_defs/all-defs/CellInformation-Item.h create mode 100644 asn1c_defs/all-defs/CellInformation-Item.o create mode 100755 asn1c_defs/all-defs/CellInformation-List.c create mode 100755 asn1c_defs/all-defs/CellInformation-List.h create mode 100644 asn1c_defs/all-defs/CellInformation-List.o create mode 100755 asn1c_defs/all-defs/CellMeasurementResult-Item.c create mode 100755 asn1c_defs/all-defs/CellMeasurementResult-Item.h create mode 100644 asn1c_defs/all-defs/CellMeasurementResult-Item.o create mode 100755 asn1c_defs/all-defs/CellMeasurementResult-List.c create mode 100755 asn1c_defs/all-defs/CellMeasurementResult-List.h create mode 100644 asn1c_defs/all-defs/CellMeasurementResult-List.o create mode 100755 asn1c_defs/all-defs/CellReplacingInfo.c create mode 100755 asn1c_defs/all-defs/CellReplacingInfo.h create mode 100644 asn1c_defs/all-defs/CellReplacingInfo.o create mode 100755 asn1c_defs/all-defs/CellReportingIndicator.c create mode 100755 asn1c_defs/all-defs/CellReportingIndicator.h create mode 100644 asn1c_defs/all-defs/CellReportingIndicator.o create mode 100755 asn1c_defs/all-defs/CellToReport-Item.c create mode 100755 asn1c_defs/all-defs/CellToReport-Item.h create mode 100644 asn1c_defs/all-defs/CellToReport-Item.o create mode 100755 asn1c_defs/all-defs/CellToReport-List.c create mode 100755 asn1c_defs/all-defs/CellToReport-List.h create mode 100644 asn1c_defs/all-defs/CellToReport-List.o create mode 100755 asn1c_defs/all-defs/CellType.c create mode 100755 asn1c_defs/all-defs/CellType.h create mode 100644 asn1c_defs/all-defs/CellType.o create mode 100755 asn1c_defs/all-defs/CoMPHypothesisSet.c create mode 100755 asn1c_defs/all-defs/CoMPHypothesisSet.h create mode 100644 asn1c_defs/all-defs/CoMPHypothesisSet.o create mode 100755 asn1c_defs/all-defs/CoMPHypothesisSetItem.c create mode 100755 asn1c_defs/all-defs/CoMPHypothesisSetItem.h create mode 100644 asn1c_defs/all-defs/CoMPHypothesisSetItem.o create mode 100755 asn1c_defs/all-defs/CoMPInformation.c create mode 100755 asn1c_defs/all-defs/CoMPInformation.h create mode 100644 asn1c_defs/all-defs/CoMPInformation.o create mode 100755 asn1c_defs/all-defs/CoMPInformationItem.c create mode 100755 asn1c_defs/all-defs/CoMPInformationItem.h create mode 100644 asn1c_defs/all-defs/CoMPInformationItem.o create mode 100755 asn1c_defs/all-defs/CoMPInformationStartTime.c create mode 100755 asn1c_defs/all-defs/CoMPInformationStartTime.h create mode 100644 asn1c_defs/all-defs/CoMPInformationStartTime.o create mode 100755 asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.c create mode 100755 asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.h create mode 100644 asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.o create mode 100755 asn1c_defs/all-defs/CompleteFailureCauseInformation-List.c create mode 100755 asn1c_defs/all-defs/CompleteFailureCauseInformation-List.h create mode 100644 asn1c_defs/all-defs/CompleteFailureCauseInformation-List.o create mode 100755 asn1c_defs/all-defs/CompositeAvailableCapacity.c create mode 100755 asn1c_defs/all-defs/CompositeAvailableCapacity.h create mode 100644 asn1c_defs/all-defs/CompositeAvailableCapacity.o create mode 100755 asn1c_defs/all-defs/CompositeAvailableCapacityGroup.c create mode 100755 asn1c_defs/all-defs/CompositeAvailableCapacityGroup.h create mode 100644 asn1c_defs/all-defs/CompositeAvailableCapacityGroup.o create mode 100755 asn1c_defs/all-defs/Correlation-ID.c create mode 100755 asn1c_defs/all-defs/Correlation-ID.h create mode 100644 asn1c_defs/all-defs/Correlation-ID.o create mode 100755 asn1c_defs/all-defs/CoverageModification-Item.c create mode 100755 asn1c_defs/all-defs/CoverageModification-Item.h create mode 100644 asn1c_defs/all-defs/CoverageModification-Item.o create mode 100755 asn1c_defs/all-defs/CoverageModificationList.c create mode 100755 asn1c_defs/all-defs/CoverageModificationList.h create mode 100644 asn1c_defs/all-defs/CoverageModificationList.o create mode 100755 asn1c_defs/all-defs/Criticality.c create mode 100755 asn1c_defs/all-defs/Criticality.h create mode 100644 asn1c_defs/all-defs/Criticality.o create mode 100755 asn1c_defs/all-defs/CriticalityDiagnostics-IE-List.c create mode 100755 asn1c_defs/all-defs/CriticalityDiagnostics-IE-List.h create mode 100644 asn1c_defs/all-defs/CriticalityDiagnostics-IE-List.o create mode 100755 asn1c_defs/all-defs/CriticalityDiagnostics.c create mode 100755 asn1c_defs/all-defs/CriticalityDiagnostics.h create mode 100644 asn1c_defs/all-defs/CriticalityDiagnostics.o create mode 100755 asn1c_defs/all-defs/CuCpResourceStatus.c create mode 100755 asn1c_defs/all-defs/CuCpResourceStatus.h create mode 100644 asn1c_defs/all-defs/CuCpResourceStatus.o create mode 100755 asn1c_defs/all-defs/CuCpResourceStatusReport.c create mode 100755 asn1c_defs/all-defs/CuCpResourceStatusReport.h create mode 100644 asn1c_defs/all-defs/CuCpResourceStatusReport.o create mode 100755 asn1c_defs/all-defs/CyclicPrefixDL.c create mode 100755 asn1c_defs/all-defs/CyclicPrefixDL.h create mode 100644 asn1c_defs/all-defs/CyclicPrefixDL.o create mode 100755 asn1c_defs/all-defs/CyclicPrefixUL.c create mode 100755 asn1c_defs/all-defs/CyclicPrefixUL.h create mode 100644 asn1c_defs/all-defs/CyclicPrefixUL.o create mode 100755 asn1c_defs/all-defs/DL-ABS-status.c create mode 100755 asn1c_defs/all-defs/DL-ABS-status.h create mode 100644 asn1c_defs/all-defs/DL-ABS-status.o create mode 100755 asn1c_defs/all-defs/DL-Forwarding.c create mode 100755 asn1c_defs/all-defs/DL-Forwarding.h create mode 100644 asn1c_defs/all-defs/DL-Forwarding.o create mode 100755 asn1c_defs/all-defs/DL-GBR-PRB-usage.c create mode 100755 asn1c_defs/all-defs/DL-GBR-PRB-usage.h create mode 100644 asn1c_defs/all-defs/DL-GBR-PRB-usage.o create mode 100755 asn1c_defs/all-defs/DL-Total-PRB-usage.c create mode 100755 asn1c_defs/all-defs/DL-Total-PRB-usage.h create mode 100644 asn1c_defs/all-defs/DL-Total-PRB-usage.o create mode 100755 asn1c_defs/all-defs/DL-non-GBR-PRB-usage.c create mode 100755 asn1c_defs/all-defs/DL-non-GBR-PRB-usage.h create mode 100644 asn1c_defs/all-defs/DL-non-GBR-PRB-usage.o create mode 100755 asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.c create mode 100755 asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.h create mode 100644 asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.o create mode 100755 asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.c create mode 100755 asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.h create mode 100644 asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.o create mode 100755 asn1c_defs/all-defs/DLResourcesULandDLSharing.c create mode 100755 asn1c_defs/all-defs/DLResourcesULandDLSharing.h create mode 100644 asn1c_defs/all-defs/DLResourcesULandDLSharing.o create mode 100755 asn1c_defs/all-defs/DRB-ID.c create mode 100755 asn1c_defs/all-defs/DRB-ID.h create mode 100644 asn1c_defs/all-defs/DRB-ID.o create mode 100755 asn1c_defs/all-defs/DataForwardingAddressIndication.c create mode 100755 asn1c_defs/all-defs/DataForwardingAddressIndication.h create mode 100644 asn1c_defs/all-defs/DataForwardingAddressIndication.o create mode 100755 asn1c_defs/all-defs/DataTrafficResourceIndication.c create mode 100755 asn1c_defs/all-defs/DataTrafficResourceIndication.h create mode 100644 asn1c_defs/all-defs/DataTrafficResourceIndication.o create mode 100755 asn1c_defs/all-defs/DataTrafficResources.c create mode 100755 asn1c_defs/all-defs/DataTrafficResources.h create mode 100644 asn1c_defs/all-defs/DataTrafficResources.o create mode 100755 asn1c_defs/all-defs/DeactivationIndication.c create mode 100755 asn1c_defs/all-defs/DeactivationIndication.h create mode 100644 asn1c_defs/all-defs/DeactivationIndication.o create mode 100755 asn1c_defs/all-defs/DeliveryStatus.c create mode 100755 asn1c_defs/all-defs/DeliveryStatus.h create mode 100644 asn1c_defs/all-defs/DeliveryStatus.o create mode 100755 asn1c_defs/all-defs/DuplicationActivation.c create mode 100755 asn1c_defs/all-defs/DuplicationActivation.h create mode 100644 asn1c_defs/all-defs/DuplicationActivation.o create mode 100755 asn1c_defs/all-defs/DynamicDLTransmissionInformation.c create mode 100755 asn1c_defs/all-defs/DynamicDLTransmissionInformation.h create mode 100644 asn1c_defs/all-defs/DynamicDLTransmissionInformation.o create mode 100755 asn1c_defs/all-defs/DynamicNAICSInformation.c create mode 100755 asn1c_defs/all-defs/DynamicNAICSInformation.h create mode 100644 asn1c_defs/all-defs/DynamicNAICSInformation.o create mode 100755 asn1c_defs/all-defs/E-RAB-ID.c create mode 100755 asn1c_defs/all-defs/E-RAB-ID.h create mode 100644 asn1c_defs/all-defs/E-RAB-ID.o create mode 100755 asn1c_defs/all-defs/E-RAB-Item.c create mode 100755 asn1c_defs/all-defs/E-RAB-Item.h create mode 100644 asn1c_defs/all-defs/E-RAB-Item.o create mode 100755 asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.c create mode 100755 asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.h create mode 100644 asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.o create mode 100755 asn1c_defs/all-defs/E-RAB-List.c create mode 100755 asn1c_defs/all-defs/E-RAB-List.h create mode 100644 asn1c_defs/all-defs/E-RAB-List.o create mode 100755 asn1c_defs/all-defs/E-RABUsageReport-Item.c create mode 100755 asn1c_defs/all-defs/E-RABUsageReport-Item.h create mode 100644 asn1c_defs/all-defs/E-RABUsageReport-Item.o create mode 100755 asn1c_defs/all-defs/E-RABUsageReportList.c create mode 100755 asn1c_defs/all-defs/E-RABUsageReportList.h create mode 100644 asn1c_defs/all-defs/E-RABUsageReportList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.c create mode 100755 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.h create mode 100644 asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.o create mode 100755 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReqList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReqList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReqList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqdList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqdList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqdList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-ModReq.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-ModReq.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-ModReq.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqdList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqdList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqdList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConfList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConfList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConfList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqd-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqd-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqd-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-List.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-List.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeSetup-List.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.o create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetupRetrieve-Item.c create mode 100755 asn1c_defs/all-defs/E-RABs-ToBeSetupRetrieve-Item.h create mode 100644 asn1c_defs/all-defs/E-RABs-ToBeSetupRetrieve-Item.o create mode 100755 asn1c_defs/all-defs/E2AP-PDU.c create mode 100755 asn1c_defs/all-defs/E2AP-PDU.h create mode 100644 asn1c_defs/all-defs/E2AP-PDU.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.o create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.c create mode 100755 asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.h create mode 100644 asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.o create mode 100755 asn1c_defs/all-defs/EARFCN.c create mode 100755 asn1c_defs/all-defs/EARFCN.h create mode 100644 asn1c_defs/all-defs/EARFCN.o create mode 100755 asn1c_defs/all-defs/EARFCNExtension.c create mode 100755 asn1c_defs/all-defs/EARFCNExtension.h create mode 100644 asn1c_defs/all-defs/EARFCNExtension.o create mode 100755 asn1c_defs/all-defs/ECGI.c create mode 100755 asn1c_defs/all-defs/ECGI.h create mode 100644 asn1c_defs/all-defs/ECGI.o create mode 100755 asn1c_defs/all-defs/EN-DC-ResourceConfiguration.c create mode 100755 asn1c_defs/all-defs/EN-DC-ResourceConfiguration.h create mode 100644 asn1c_defs/all-defs/EN-DC-ResourceConfiguration.o create mode 100755 asn1c_defs/all-defs/ENB-ID.c create mode 100755 asn1c_defs/all-defs/ENB-ID.h create mode 100644 asn1c_defs/all-defs/ENB-ID.o create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdate.c create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdate.h create mode 100644 asn1c_defs/all-defs/ENBConfigurationUpdate.o create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.c create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.h create mode 100644 asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.o create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdateFailure.c create mode 100755 asn1c_defs/all-defs/ENBConfigurationUpdateFailure.h create mode 100644 asn1c_defs/all-defs/ENBConfigurationUpdateFailure.o create mode 100755 asn1c_defs/all-defs/ENDCCellActivationFailure.c create mode 100755 asn1c_defs/all-defs/ENDCCellActivationFailure.h create mode 100644 asn1c_defs/all-defs/ENDCCellActivationFailure.o create mode 100755 asn1c_defs/all-defs/ENDCCellActivationRequest.c create mode 100755 asn1c_defs/all-defs/ENDCCellActivationRequest.h create mode 100644 asn1c_defs/all-defs/ENDCCellActivationRequest.o create mode 100755 asn1c_defs/all-defs/ENDCCellActivationResponse.c create mode 100755 asn1c_defs/all-defs/ENDCCellActivationResponse.h create mode 100644 asn1c_defs/all-defs/ENDCCellActivationResponse.o create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdate.c create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdate.h create mode 100644 asn1c_defs/all-defs/ENDCConfigurationUpdate.o create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.c create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.h create mode 100644 asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.o create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.c create mode 100755 asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.h create mode 100644 asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.o create mode 100755 asn1c_defs/all-defs/ENDCPartialResetConfirm.c create mode 100755 asn1c_defs/all-defs/ENDCPartialResetConfirm.h create mode 100644 asn1c_defs/all-defs/ENDCPartialResetConfirm.o create mode 100755 asn1c_defs/all-defs/ENDCPartialResetRequired.c create mode 100755 asn1c_defs/all-defs/ENDCPartialResetRequired.h create mode 100644 asn1c_defs/all-defs/ENDCPartialResetRequired.o create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalFailure.c create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalFailure.h create mode 100644 asn1c_defs/all-defs/ENDCX2RemovalFailure.o create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalRequest.c create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalRequest.h create mode 100644 asn1c_defs/all-defs/ENDCX2RemovalRequest.o create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalResponse.c create mode 100755 asn1c_defs/all-defs/ENDCX2RemovalResponse.h create mode 100644 asn1c_defs/all-defs/ENDCX2RemovalResponse.o create mode 100755 asn1c_defs/all-defs/ENDCX2SetupFailure.c create mode 100755 asn1c_defs/all-defs/ENDCX2SetupFailure.h create mode 100644 asn1c_defs/all-defs/ENDCX2SetupFailure.o create mode 100755 asn1c_defs/all-defs/ENDCX2SetupRequest.c create mode 100755 asn1c_defs/all-defs/ENDCX2SetupRequest.h create mode 100644 asn1c_defs/all-defs/ENDCX2SetupRequest.o create mode 100755 asn1c_defs/all-defs/ENDCX2SetupResponse.c create mode 100755 asn1c_defs/all-defs/ENDCX2SetupResponse.h create mode 100644 asn1c_defs/all-defs/ENDCX2SetupResponse.o create mode 100755 asn1c_defs/all-defs/EPLMNs.c create mode 100755 asn1c_defs/all-defs/EPLMNs.h create mode 100644 asn1c_defs/all-defs/EPLMNs.o create mode 100755 asn1c_defs/all-defs/ERABActivityNotifyItem.c create mode 100755 asn1c_defs/all-defs/ERABActivityNotifyItem.h create mode 100644 asn1c_defs/all-defs/ERABActivityNotifyItem.o create mode 100755 asn1c_defs/all-defs/ERABActivityNotifyItemList.c create mode 100755 asn1c_defs/all-defs/ERABActivityNotifyItemList.h create mode 100644 asn1c_defs/all-defs/ERABActivityNotifyItemList.o create mode 100755 asn1c_defs/all-defs/EUTRA-Mode-Info.c create mode 100755 asn1c_defs/all-defs/EUTRA-Mode-Info.h create mode 100644 asn1c_defs/all-defs/EUTRA-Mode-Info.o create mode 100755 asn1c_defs/all-defs/EUTRANCellIdentifier.c create mode 100755 asn1c_defs/all-defs/EUTRANCellIdentifier.h create mode 100644 asn1c_defs/all-defs/EUTRANCellIdentifier.o create mode 100755 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.c create mode 100755 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.h create mode 100644 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.o create mode 100755 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.c create mode 100755 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.h create mode 100644 asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.o create mode 100755 asn1c_defs/all-defs/EUTRANTraceID.c create mode 100755 asn1c_defs/all-defs/EUTRANTraceID.h create mode 100644 asn1c_defs/all-defs/EUTRANTraceID.o create mode 100755 asn1c_defs/all-defs/EncryptionAlgorithms.c create mode 100755 asn1c_defs/all-defs/EncryptionAlgorithms.h create mode 100644 asn1c_defs/all-defs/EncryptionAlgorithms.o create mode 100755 asn1c_defs/all-defs/EnhancedRNTP.c create mode 100755 asn1c_defs/all-defs/EnhancedRNTP.h create mode 100644 asn1c_defs/all-defs/EnhancedRNTP.o create mode 100755 asn1c_defs/all-defs/EnhancedRNTPStartTime.c create mode 100755 asn1c_defs/all-defs/EnhancedRNTPStartTime.h create mode 100644 asn1c_defs/all-defs/EnhancedRNTPStartTime.o create mode 100755 asn1c_defs/all-defs/ErrorIndication.c create mode 100755 asn1c_defs/all-defs/ErrorIndication.h create mode 100644 asn1c_defs/all-defs/ErrorIndication.o create mode 100755 asn1c_defs/all-defs/EventType.c create mode 100755 asn1c_defs/all-defs/EventType.h create mode 100644 asn1c_defs/all-defs/EventType.o create mode 100755 asn1c_defs/all-defs/ExpectedActivityPeriod.c create mode 100755 asn1c_defs/all-defs/ExpectedActivityPeriod.h create mode 100644 asn1c_defs/all-defs/ExpectedActivityPeriod.o create mode 100755 asn1c_defs/all-defs/ExpectedHOInterval.c create mode 100755 asn1c_defs/all-defs/ExpectedHOInterval.h create mode 100644 asn1c_defs/all-defs/ExpectedHOInterval.o create mode 100755 asn1c_defs/all-defs/ExpectedIdlePeriod.c create mode 100755 asn1c_defs/all-defs/ExpectedIdlePeriod.h create mode 100644 asn1c_defs/all-defs/ExpectedIdlePeriod.o create mode 100755 asn1c_defs/all-defs/ExpectedUEActivityBehaviour.c create mode 100755 asn1c_defs/all-defs/ExpectedUEActivityBehaviour.h create mode 100644 asn1c_defs/all-defs/ExpectedUEActivityBehaviour.o create mode 100755 asn1c_defs/all-defs/ExpectedUEBehaviour.c create mode 100755 asn1c_defs/all-defs/ExpectedUEBehaviour.h create mode 100644 asn1c_defs/all-defs/ExpectedUEBehaviour.o create mode 100755 asn1c_defs/all-defs/ExtendedBitRate.c create mode 100755 asn1c_defs/all-defs/ExtendedBitRate.h create mode 100644 asn1c_defs/all-defs/ExtendedBitRate.o create mode 100755 asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.c create mode 100755 asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.h create mode 100644 asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.o create mode 100755 asn1c_defs/all-defs/FDD-Info.c create mode 100755 asn1c_defs/all-defs/FDD-Info.h create mode 100644 asn1c_defs/all-defs/FDD-Info.o create mode 100755 asn1c_defs/all-defs/FDD-InfoNeighbourServedNRCell-Information.c create mode 100755 asn1c_defs/all-defs/FDD-InfoNeighbourServedNRCell-Information.h create mode 100644 asn1c_defs/all-defs/FDD-InfoNeighbourServedNRCell-Information.o create mode 100755 asn1c_defs/all-defs/FDD-InfoServedNRCell-Information.c create mode 100755 asn1c_defs/all-defs/FDD-InfoServedNRCell-Information.h create mode 100644 asn1c_defs/all-defs/FDD-InfoServedNRCell-Information.o create mode 100755 asn1c_defs/all-defs/FiveGS-TAC.c create mode 100755 asn1c_defs/all-defs/FiveGS-TAC.h create mode 100644 asn1c_defs/all-defs/FiveGS-TAC.o create mode 100755 asn1c_defs/all-defs/ForbiddenInterRATs.c create mode 100755 asn1c_defs/all-defs/ForbiddenInterRATs.h create mode 100644 asn1c_defs/all-defs/ForbiddenInterRATs.o create mode 100755 asn1c_defs/all-defs/ForbiddenLACs.c create mode 100755 asn1c_defs/all-defs/ForbiddenLACs.h create mode 100644 asn1c_defs/all-defs/ForbiddenLACs.o create mode 100755 asn1c_defs/all-defs/ForbiddenLAs-Item.c create mode 100755 asn1c_defs/all-defs/ForbiddenLAs-Item.h create mode 100644 asn1c_defs/all-defs/ForbiddenLAs-Item.o create mode 100755 asn1c_defs/all-defs/ForbiddenLAs.c create mode 100755 asn1c_defs/all-defs/ForbiddenLAs.h create mode 100644 asn1c_defs/all-defs/ForbiddenLAs.o create mode 100755 asn1c_defs/all-defs/ForbiddenTACs.c create mode 100755 asn1c_defs/all-defs/ForbiddenTACs.h create mode 100644 asn1c_defs/all-defs/ForbiddenTACs.o create mode 100755 asn1c_defs/all-defs/ForbiddenTAs-Item.c create mode 100755 asn1c_defs/all-defs/ForbiddenTAs-Item.h create mode 100644 asn1c_defs/all-defs/ForbiddenTAs-Item.o create mode 100755 asn1c_defs/all-defs/ForbiddenTAs.c create mode 100755 asn1c_defs/all-defs/ForbiddenTAs.h create mode 100644 asn1c_defs/all-defs/ForbiddenTAs.o create mode 100755 asn1c_defs/all-defs/Fourframes.c create mode 100755 asn1c_defs/all-defs/Fourframes.h create mode 100644 asn1c_defs/all-defs/Fourframes.o create mode 100755 asn1c_defs/all-defs/FreqBandIndicator.c create mode 100755 asn1c_defs/all-defs/FreqBandIndicator.h create mode 100644 asn1c_defs/all-defs/FreqBandIndicator.o create mode 100755 asn1c_defs/all-defs/FreqBandIndicatorPriority.c create mode 100755 asn1c_defs/all-defs/FreqBandIndicatorPriority.h create mode 100644 asn1c_defs/all-defs/FreqBandIndicatorPriority.o create mode 100755 asn1c_defs/all-defs/FreqBandNrItem.c create mode 100755 asn1c_defs/all-defs/FreqBandNrItem.h create mode 100644 asn1c_defs/all-defs/FreqBandNrItem.o create mode 100755 asn1c_defs/all-defs/GBR-QosInformation.c create mode 100755 asn1c_defs/all-defs/GBR-QosInformation.h create mode 100644 asn1c_defs/all-defs/GBR-QosInformation.o create mode 100755 asn1c_defs/all-defs/GNB-ID.c create mode 100755 asn1c_defs/all-defs/GNB-ID.h create mode 100644 asn1c_defs/all-defs/GNB-ID.o create mode 100755 asn1c_defs/all-defs/GNBOverloadInformation.c create mode 100755 asn1c_defs/all-defs/GNBOverloadInformation.h create mode 100644 asn1c_defs/all-defs/GNBOverloadInformation.o create mode 100755 asn1c_defs/all-defs/GNBStatusIndication.c create mode 100755 asn1c_defs/all-defs/GNBStatusIndication.h create mode 100644 asn1c_defs/all-defs/GNBStatusIndication.o create mode 100755 asn1c_defs/all-defs/GTP-TEI.c create mode 100755 asn1c_defs/all-defs/GTP-TEI.h create mode 100644 asn1c_defs/all-defs/GTP-TEI.o create mode 100755 asn1c_defs/all-defs/GTPtunnelEndpoint.c create mode 100755 asn1c_defs/all-defs/GTPtunnelEndpoint.h create mode 100644 asn1c_defs/all-defs/GTPtunnelEndpoint.o create mode 100755 asn1c_defs/all-defs/GU-Group-ID.c create mode 100755 asn1c_defs/all-defs/GU-Group-ID.h create mode 100644 asn1c_defs/all-defs/GU-Group-ID.o create mode 100755 asn1c_defs/all-defs/GUGroupIDList.c create mode 100755 asn1c_defs/all-defs/GUGroupIDList.h create mode 100644 asn1c_defs/all-defs/GUGroupIDList.o create mode 100755 asn1c_defs/all-defs/GUMMEI.c create mode 100755 asn1c_defs/all-defs/GUMMEI.h create mode 100644 asn1c_defs/all-defs/GUMMEI.o create mode 100755 asn1c_defs/all-defs/GlobalENB-ID.c create mode 100755 asn1c_defs/all-defs/GlobalENB-ID.h create mode 100644 asn1c_defs/all-defs/GlobalENB-ID.o create mode 100755 asn1c_defs/all-defs/GlobalGNB-ID.c create mode 100755 asn1c_defs/all-defs/GlobalGNB-ID.h create mode 100644 asn1c_defs/all-defs/GlobalGNB-ID.o create mode 100755 asn1c_defs/all-defs/HFN.c create mode 100755 asn1c_defs/all-defs/HFN.h create mode 100644 asn1c_defs/all-defs/HFN.o create mode 100755 asn1c_defs/all-defs/HFNModified.c create mode 100755 asn1c_defs/all-defs/HFNModified.h create mode 100644 asn1c_defs/all-defs/HFNModified.o create mode 100755 asn1c_defs/all-defs/HFNforPDCP-SNlength18.c create mode 100755 asn1c_defs/all-defs/HFNforPDCP-SNlength18.h create mode 100644 asn1c_defs/all-defs/HFNforPDCP-SNlength18.o create mode 100755 asn1c_defs/all-defs/HWLoadIndicator.c create mode 100755 asn1c_defs/all-defs/HWLoadIndicator.h create mode 100644 asn1c_defs/all-defs/HWLoadIndicator.o create mode 100755 asn1c_defs/all-defs/HandoverCancel.c create mode 100755 asn1c_defs/all-defs/HandoverCancel.h create mode 100644 asn1c_defs/all-defs/HandoverCancel.o create mode 100755 asn1c_defs/all-defs/HandoverPreparationFailure.c create mode 100755 asn1c_defs/all-defs/HandoverPreparationFailure.h create mode 100644 asn1c_defs/all-defs/HandoverPreparationFailure.o create mode 100755 asn1c_defs/all-defs/HandoverReport.c create mode 100755 asn1c_defs/all-defs/HandoverReport.h create mode 100644 asn1c_defs/all-defs/HandoverReport.o create mode 100755 asn1c_defs/all-defs/HandoverReportType.c create mode 100755 asn1c_defs/all-defs/HandoverReportType.h create mode 100644 asn1c_defs/all-defs/HandoverReportType.o create mode 100755 asn1c_defs/all-defs/HandoverRequest.c create mode 100755 asn1c_defs/all-defs/HandoverRequest.h create mode 100644 asn1c_defs/all-defs/HandoverRequest.o create mode 100755 asn1c_defs/all-defs/HandoverRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/HandoverRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/HandoverRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/HandoverRestrictionList.c create mode 100755 asn1c_defs/all-defs/HandoverRestrictionList.h create mode 100644 asn1c_defs/all-defs/HandoverRestrictionList.o create mode 100755 asn1c_defs/all-defs/INTEGER.c create mode 100755 asn1c_defs/all-defs/INTEGER.h create mode 100644 asn1c_defs/all-defs/INTEGER.o create mode 100755 asn1c_defs/all-defs/InitiatingMessage.c create mode 100755 asn1c_defs/all-defs/InitiatingMessage.h create mode 100644 asn1c_defs/all-defs/InitiatingMessage.o create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.c create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.h create mode 100644 asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.o create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.c create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.h create mode 100644 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.o create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.c create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.h create mode 100644 asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.o create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.c create mode 100755 asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.h create mode 100644 asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.o create mode 100755 asn1c_defs/all-defs/IntegrityProtectionAlgorithms.c create mode 100755 asn1c_defs/all-defs/IntegrityProtectionAlgorithms.h create mode 100644 asn1c_defs/all-defs/IntegrityProtectionAlgorithms.o create mode 100755 asn1c_defs/all-defs/Interface-ID.c create mode 100755 asn1c_defs/all-defs/Interface-ID.h create mode 100644 asn1c_defs/all-defs/Interface-ID.o create mode 100755 asn1c_defs/all-defs/InterfaceDirection.c create mode 100755 asn1c_defs/all-defs/InterfaceDirection.h create mode 100644 asn1c_defs/all-defs/InterfaceDirection.o create mode 100755 asn1c_defs/all-defs/InterfaceMessage.c create mode 100755 asn1c_defs/all-defs/InterfaceMessage.h create mode 100644 asn1c_defs/all-defs/InterfaceMessage.o create mode 100755 asn1c_defs/all-defs/InterfaceMessageType.c create mode 100755 asn1c_defs/all-defs/InterfaceMessageType.h create mode 100644 asn1c_defs/all-defs/InterfaceMessageType.o create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-ID.c create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-ID.h create mode 100644 asn1c_defs/all-defs/InterfaceProtocolIE-ID.o create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Item.c create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Item.h create mode 100644 asn1c_defs/all-defs/InterfaceProtocolIE-Item.o create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Test.c create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Test.h create mode 100644 asn1c_defs/all-defs/InterfaceProtocolIE-Test.o create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Value.c create mode 100755 asn1c_defs/all-defs/InterfaceProtocolIE-Value.h create mode 100644 asn1c_defs/all-defs/InterfaceProtocolIE-Value.o create mode 100755 asn1c_defs/all-defs/InterfacesToTrace.c create mode 100755 asn1c_defs/all-defs/InterfacesToTrace.h create mode 100644 asn1c_defs/all-defs/InterfacesToTrace.o create mode 100755 asn1c_defs/all-defs/InvokeIndication.c create mode 100755 asn1c_defs/all-defs/InvokeIndication.h create mode 100644 asn1c_defs/all-defs/InvokeIndication.o create mode 100755 asn1c_defs/all-defs/Key-eNodeB-Star.c create mode 100755 asn1c_defs/all-defs/Key-eNodeB-Star.h create mode 100644 asn1c_defs/all-defs/Key-eNodeB-Star.o create mode 100755 asn1c_defs/all-defs/LAC.c create mode 100755 asn1c_defs/all-defs/LAC.h create mode 100644 asn1c_defs/all-defs/LAC.o create mode 100755 asn1c_defs/all-defs/LCID.c create mode 100755 asn1c_defs/all-defs/LCID.h create mode 100644 asn1c_defs/all-defs/LCID.o create mode 100755 asn1c_defs/all-defs/LHN-ID.c create mode 100755 asn1c_defs/all-defs/LHN-ID.h create mode 100644 asn1c_defs/all-defs/LHN-ID.o create mode 100755 asn1c_defs/all-defs/LastVisitedCell-Item.c create mode 100755 asn1c_defs/all-defs/LastVisitedCell-Item.h create mode 100644 asn1c_defs/all-defs/LastVisitedCell-Item.o create mode 100755 asn1c_defs/all-defs/LastVisitedEUTRANCellInformation.c create mode 100755 asn1c_defs/all-defs/LastVisitedEUTRANCellInformation.h create mode 100644 asn1c_defs/all-defs/LastVisitedEUTRANCellInformation.o create mode 100755 asn1c_defs/all-defs/LastVisitedGERANCellInformation.c create mode 100755 asn1c_defs/all-defs/LastVisitedGERANCellInformation.h create mode 100644 asn1c_defs/all-defs/LastVisitedGERANCellInformation.o create mode 100755 asn1c_defs/all-defs/LastVisitedNGRANCellInformation.c create mode 100755 asn1c_defs/all-defs/LastVisitedNGRANCellInformation.h create mode 100644 asn1c_defs/all-defs/LastVisitedNGRANCellInformation.o create mode 100755 asn1c_defs/all-defs/LastVisitedUTRANCellInformation.c create mode 100755 asn1c_defs/all-defs/LastVisitedUTRANCellInformation.h create mode 100644 asn1c_defs/all-defs/LastVisitedUTRANCellInformation.o create mode 100755 asn1c_defs/all-defs/Limited-list.c create mode 100755 asn1c_defs/all-defs/Limited-list.h create mode 100644 asn1c_defs/all-defs/Limited-list.o create mode 100755 asn1c_defs/all-defs/Links-to-log.c create mode 100755 asn1c_defs/all-defs/Links-to-log.h create mode 100644 asn1c_defs/all-defs/Links-to-log.o create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationReq.c create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationReq.h create mode 100644 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationReq.o create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.c create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.h create mode 100644 asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.o create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinNRCoordinationReq.c create mode 100755 asn1c_defs/all-defs/ListofEUTRACellsinNRCoordinationReq.h create mode 100644 asn1c_defs/all-defs/ListofEUTRACellsinNRCoordinationReq.o create mode 100755 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.c create mode 100755 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.h create mode 100644 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.o create mode 100755 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationResp.c create mode 100755 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationResp.h create mode 100644 asn1c_defs/all-defs/ListofNRCellsinNRCoordinationResp.o create mode 100755 asn1c_defs/all-defs/LoadIndicator.c create mode 100755 asn1c_defs/all-defs/LoadIndicator.h create mode 100644 asn1c_defs/all-defs/LoadIndicator.o create mode 100755 asn1c_defs/all-defs/LoadInformation.c create mode 100755 asn1c_defs/all-defs/LoadInformation.h create mode 100644 asn1c_defs/all-defs/LoadInformation.o create mode 100755 asn1c_defs/all-defs/LocationReportingInformation.c create mode 100755 asn1c_defs/all-defs/LocationReportingInformation.h create mode 100644 asn1c_defs/all-defs/LocationReportingInformation.o create mode 100755 asn1c_defs/all-defs/M1PeriodicReporting.c create mode 100755 asn1c_defs/all-defs/M1PeriodicReporting.h create mode 100644 asn1c_defs/all-defs/M1PeriodicReporting.o create mode 100755 asn1c_defs/all-defs/M1ReportingTrigger.c create mode 100755 asn1c_defs/all-defs/M1ReportingTrigger.h create mode 100644 asn1c_defs/all-defs/M1ReportingTrigger.o create mode 100755 asn1c_defs/all-defs/M1ThresholdEventA2.c create mode 100755 asn1c_defs/all-defs/M1ThresholdEventA2.h create mode 100644 asn1c_defs/all-defs/M1ThresholdEventA2.o create mode 100755 asn1c_defs/all-defs/M3Configuration.c create mode 100755 asn1c_defs/all-defs/M3Configuration.h create mode 100644 asn1c_defs/all-defs/M3Configuration.o create mode 100755 asn1c_defs/all-defs/M3period.c create mode 100755 asn1c_defs/all-defs/M3period.h create mode 100644 asn1c_defs/all-defs/M3period.o create mode 100755 asn1c_defs/all-defs/M4Configuration.c create mode 100755 asn1c_defs/all-defs/M4Configuration.h create mode 100644 asn1c_defs/all-defs/M4Configuration.o create mode 100755 asn1c_defs/all-defs/M4period.c create mode 100755 asn1c_defs/all-defs/M4period.h create mode 100644 asn1c_defs/all-defs/M4period.o create mode 100755 asn1c_defs/all-defs/M5Configuration.c create mode 100755 asn1c_defs/all-defs/M5Configuration.h create mode 100644 asn1c_defs/all-defs/M5Configuration.o create mode 100755 asn1c_defs/all-defs/M5period.c create mode 100755 asn1c_defs/all-defs/M5period.h create mode 100644 asn1c_defs/all-defs/M5period.o create mode 100755 asn1c_defs/all-defs/M6Configuration.c create mode 100755 asn1c_defs/all-defs/M6Configuration.h create mode 100644 asn1c_defs/all-defs/M6Configuration.o create mode 100755 asn1c_defs/all-defs/M6delay-threshold.c create mode 100755 asn1c_defs/all-defs/M6delay-threshold.h create mode 100644 asn1c_defs/all-defs/M6delay-threshold.o create mode 100755 asn1c_defs/all-defs/M6report-interval.c create mode 100755 asn1c_defs/all-defs/M6report-interval.h create mode 100644 asn1c_defs/all-defs/M6report-interval.o create mode 100755 asn1c_defs/all-defs/M7Configuration.c create mode 100755 asn1c_defs/all-defs/M7Configuration.h create mode 100644 asn1c_defs/all-defs/M7Configuration.o create mode 100755 asn1c_defs/all-defs/M7period.c create mode 100755 asn1c_defs/all-defs/M7period.h create mode 100644 asn1c_defs/all-defs/M7period.o create mode 100755 asn1c_defs/all-defs/MBMS-Service-Area-Identity-List.c create mode 100755 asn1c_defs/all-defs/MBMS-Service-Area-Identity-List.h create mode 100644 asn1c_defs/all-defs/MBMS-Service-Area-Identity-List.o create mode 100755 asn1c_defs/all-defs/MBMS-Service-Area-Identity.c create mode 100755 asn1c_defs/all-defs/MBMS-Service-Area-Identity.h create mode 100644 asn1c_defs/all-defs/MBMS-Service-Area-Identity.o create mode 100755 asn1c_defs/all-defs/MBSFN-Subframe-Info.c create mode 100755 asn1c_defs/all-defs/MBSFN-Subframe-Info.h create mode 100644 asn1c_defs/all-defs/MBSFN-Subframe-Info.o create mode 100755 asn1c_defs/all-defs/MBSFN-Subframe-Infolist.c create mode 100755 asn1c_defs/all-defs/MBSFN-Subframe-Infolist.h create mode 100644 asn1c_defs/all-defs/MBSFN-Subframe-Infolist.o create mode 100755 asn1c_defs/all-defs/MDT-Activation.c create mode 100755 asn1c_defs/all-defs/MDT-Activation.h create mode 100644 asn1c_defs/all-defs/MDT-Activation.o create mode 100755 asn1c_defs/all-defs/MDT-Configuration.c create mode 100755 asn1c_defs/all-defs/MDT-Configuration.h create mode 100644 asn1c_defs/all-defs/MDT-Configuration.o create mode 100755 asn1c_defs/all-defs/MDT-Location-Info.c create mode 100755 asn1c_defs/all-defs/MDT-Location-Info.h create mode 100644 asn1c_defs/all-defs/MDT-Location-Info.o create mode 100755 asn1c_defs/all-defs/MDTPLMNList.c create mode 100755 asn1c_defs/all-defs/MDTPLMNList.h create mode 100644 asn1c_defs/all-defs/MDTPLMNList.o create mode 100755 asn1c_defs/all-defs/MME-Code.c create mode 100755 asn1c_defs/all-defs/MME-Code.h create mode 100644 asn1c_defs/all-defs/MME-Code.o create mode 100755 asn1c_defs/all-defs/MME-Group-ID.c create mode 100755 asn1c_defs/all-defs/MME-Group-ID.h create mode 100644 asn1c_defs/all-defs/MME-Group-ID.o create mode 100755 asn1c_defs/all-defs/MakeBeforeBreakIndicator.c create mode 100755 asn1c_defs/all-defs/MakeBeforeBreakIndicator.h create mode 100644 asn1c_defs/all-defs/MakeBeforeBreakIndicator.o create mode 100755 asn1c_defs/all-defs/Makefile.am.libasncodec create mode 100755 asn1c_defs/all-defs/ManagementBasedMDTallowed.c create mode 100755 asn1c_defs/all-defs/ManagementBasedMDTallowed.h create mode 100644 asn1c_defs/all-defs/ManagementBasedMDTallowed.o create mode 100755 asn1c_defs/all-defs/Masked-IMEISV.c create mode 100755 asn1c_defs/all-defs/Masked-IMEISV.h create mode 100644 asn1c_defs/all-defs/Masked-IMEISV.o create mode 100755 asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.c create mode 100755 asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.h create mode 100644 asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.o create mode 100755 asn1c_defs/all-defs/MeNBResourceCoordinationInformation.c create mode 100755 asn1c_defs/all-defs/MeNBResourceCoordinationInformation.h create mode 100644 asn1c_defs/all-defs/MeNBResourceCoordinationInformation.o create mode 100755 asn1c_defs/all-defs/MeNBtoSeNBContainer.c create mode 100755 asn1c_defs/all-defs/MeNBtoSeNBContainer.h create mode 100644 asn1c_defs/all-defs/MeNBtoSeNBContainer.o create mode 100755 asn1c_defs/all-defs/MeNBtoSgNBContainer.c create mode 100755 asn1c_defs/all-defs/MeNBtoSgNBContainer.h create mode 100644 asn1c_defs/all-defs/MeNBtoSgNBContainer.o create mode 100755 asn1c_defs/all-defs/Measurement-ID.c create mode 100755 asn1c_defs/all-defs/Measurement-ID.h create mode 100644 asn1c_defs/all-defs/Measurement-ID.o create mode 100755 asn1c_defs/all-defs/MeasurementFailureCause-Item.c create mode 100755 asn1c_defs/all-defs/MeasurementFailureCause-Item.h create mode 100644 asn1c_defs/all-defs/MeasurementFailureCause-Item.o create mode 100755 asn1c_defs/all-defs/MeasurementFailureCause-List.c create mode 100755 asn1c_defs/all-defs/MeasurementFailureCause-List.h create mode 100644 asn1c_defs/all-defs/MeasurementFailureCause-List.o create mode 100755 asn1c_defs/all-defs/MeasurementInitiationResult-Item.c create mode 100755 asn1c_defs/all-defs/MeasurementInitiationResult-Item.h create mode 100644 asn1c_defs/all-defs/MeasurementInitiationResult-Item.o create mode 100755 asn1c_defs/all-defs/MeasurementInitiationResult-List.c create mode 100755 asn1c_defs/all-defs/MeasurementInitiationResult-List.h create mode 100644 asn1c_defs/all-defs/MeasurementInitiationResult-List.o create mode 100755 asn1c_defs/all-defs/MeasurementThresholdA2.c create mode 100755 asn1c_defs/all-defs/MeasurementThresholdA2.h create mode 100644 asn1c_defs/all-defs/MeasurementThresholdA2.o create mode 100755 asn1c_defs/all-defs/MeasurementsToActivate.c create mode 100755 asn1c_defs/all-defs/MeasurementsToActivate.h create mode 100644 asn1c_defs/all-defs/MeasurementsToActivate.o create mode 100755 asn1c_defs/all-defs/MobilityChangeAcknowledge.c create mode 100755 asn1c_defs/all-defs/MobilityChangeAcknowledge.h create mode 100644 asn1c_defs/all-defs/MobilityChangeAcknowledge.o create mode 100755 asn1c_defs/all-defs/MobilityChangeFailure.c create mode 100755 asn1c_defs/all-defs/MobilityChangeFailure.h create mode 100644 asn1c_defs/all-defs/MobilityChangeFailure.o create mode 100755 asn1c_defs/all-defs/MobilityChangeRequest.c create mode 100755 asn1c_defs/all-defs/MobilityChangeRequest.h create mode 100644 asn1c_defs/all-defs/MobilityChangeRequest.o create mode 100755 asn1c_defs/all-defs/MobilityInformation.c create mode 100755 asn1c_defs/all-defs/MobilityInformation.h create mode 100644 asn1c_defs/all-defs/MobilityInformation.o create mode 100755 asn1c_defs/all-defs/MobilityParametersInformation.c create mode 100755 asn1c_defs/all-defs/MobilityParametersInformation.h create mode 100644 asn1c_defs/all-defs/MobilityParametersInformation.o create mode 100755 asn1c_defs/all-defs/MobilityParametersModificationRange.c create mode 100755 asn1c_defs/all-defs/MobilityParametersModificationRange.h create mode 100644 asn1c_defs/all-defs/MobilityParametersModificationRange.o create mode 100755 asn1c_defs/all-defs/MultibandInfoList.c create mode 100755 asn1c_defs/all-defs/MultibandInfoList.h create mode 100644 asn1c_defs/all-defs/MultibandInfoList.o create mode 100755 asn1c_defs/all-defs/NR-TxBW.c create mode 100755 asn1c_defs/all-defs/NR-TxBW.h create mode 100644 asn1c_defs/all-defs/NR-TxBW.o create mode 100755 asn1c_defs/all-defs/NRCGI.c create mode 100755 asn1c_defs/all-defs/NRCGI.h create mode 100644 asn1c_defs/all-defs/NRCGI.o create mode 100755 asn1c_defs/all-defs/NRCellIdentifier.c create mode 100755 asn1c_defs/all-defs/NRCellIdentifier.h create mode 100644 asn1c_defs/all-defs/NRCellIdentifier.o create mode 100755 asn1c_defs/all-defs/NRFreqInfo.c create mode 100755 asn1c_defs/all-defs/NRFreqInfo.h create mode 100644 asn1c_defs/all-defs/NRFreqInfo.o create mode 100755 asn1c_defs/all-defs/NRNRB.c create mode 100755 asn1c_defs/all-defs/NRNRB.h create mode 100644 asn1c_defs/all-defs/NRNRB.o create mode 100755 asn1c_defs/all-defs/NRNeighbour-Information.c create mode 100755 asn1c_defs/all-defs/NRNeighbour-Information.h create mode 100644 asn1c_defs/all-defs/NRNeighbour-Information.o create mode 100755 asn1c_defs/all-defs/NRPCI.c create mode 100755 asn1c_defs/all-defs/NRPCI.h create mode 100644 asn1c_defs/all-defs/NRPCI.o create mode 100755 asn1c_defs/all-defs/NRS-NSSS-PowerOffset.c create mode 100755 asn1c_defs/all-defs/NRS-NSSS-PowerOffset.h create mode 100644 asn1c_defs/all-defs/NRS-NSSS-PowerOffset.o create mode 100755 asn1c_defs/all-defs/NRSCS.c create mode 100755 asn1c_defs/all-defs/NRSCS.h create mode 100644 asn1c_defs/all-defs/NRSCS.o create mode 100755 asn1c_defs/all-defs/NRUESecurityCapabilities.c create mode 100755 asn1c_defs/all-defs/NRUESecurityCapabilities.h create mode 100644 asn1c_defs/all-defs/NRUESecurityCapabilities.o create mode 100755 asn1c_defs/all-defs/NRencryptionAlgorithms.c create mode 100755 asn1c_defs/all-defs/NRencryptionAlgorithms.h create mode 100644 asn1c_defs/all-defs/NRencryptionAlgorithms.o create mode 100755 asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.c create mode 100755 asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.h create mode 100644 asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.o create mode 100755 asn1c_defs/all-defs/NRrestrictionin5GS.c create mode 100755 asn1c_defs/all-defs/NRrestrictionin5GS.h create mode 100644 asn1c_defs/all-defs/NRrestrictionin5GS.o create mode 100755 asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.c create mode 100755 asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.h create mode 100644 asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.o create mode 100755 asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.c create mode 100755 asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.h create mode 100644 asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.o create mode 100755 asn1c_defs/all-defs/NULL.c create mode 100755 asn1c_defs/all-defs/NULL.h create mode 100644 asn1c_defs/all-defs/NULL.o create mode 100755 asn1c_defs/all-defs/NativeEnumerated.c create mode 100755 asn1c_defs/all-defs/NativeEnumerated.h create mode 100644 asn1c_defs/all-defs/NativeEnumerated.o create mode 100755 asn1c_defs/all-defs/NativeInteger.c create mode 100755 asn1c_defs/all-defs/NativeInteger.h create mode 100644 asn1c_defs/all-defs/NativeInteger.o create mode 100755 asn1c_defs/all-defs/Neighbour-Information.c create mode 100755 asn1c_defs/all-defs/Neighbour-Information.h create mode 100644 asn1c_defs/all-defs/Neighbour-Information.o create mode 100755 asn1c_defs/all-defs/NewDRBIDrequest.c create mode 100755 asn1c_defs/all-defs/NewDRBIDrequest.h create mode 100644 asn1c_defs/all-defs/NewDRBIDrequest.o create mode 100755 asn1c_defs/all-defs/NextHopChainingCount.c create mode 100755 asn1c_defs/all-defs/NextHopChainingCount.h create mode 100644 asn1c_defs/all-defs/NextHopChainingCount.o create mode 100755 asn1c_defs/all-defs/Number-of-Antennaports.c create mode 100755 asn1c_defs/all-defs/Number-of-Antennaports.h create mode 100644 asn1c_defs/all-defs/Number-of-Antennaports.o create mode 100755 asn1c_defs/all-defs/OBJECT_IDENTIFIER.c create mode 100755 asn1c_defs/all-defs/OBJECT_IDENTIFIER.h create mode 100644 asn1c_defs/all-defs/OBJECT_IDENTIFIER.o create mode 100755 asn1c_defs/all-defs/OCTET_STRING.c create mode 100755 asn1c_defs/all-defs/OCTET_STRING.h create mode 100644 asn1c_defs/all-defs/OCTET_STRING.o create mode 100755 asn1c_defs/all-defs/OPEN_TYPE.c create mode 100755 asn1c_defs/all-defs/OPEN_TYPE.h create mode 100644 asn1c_defs/all-defs/OPEN_TYPE.o create mode 100755 asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.c create mode 100755 asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.h create mode 100644 asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.o create mode 100755 asn1c_defs/all-defs/Old-ECGIs.c create mode 100755 asn1c_defs/all-defs/Old-ECGIs.h create mode 100644 asn1c_defs/all-defs/Old-ECGIs.o create mode 100755 asn1c_defs/all-defs/Oneframe.c create mode 100755 asn1c_defs/all-defs/Oneframe.h create mode 100644 asn1c_defs/all-defs/Oneframe.o create mode 100755 asn1c_defs/all-defs/PA-Values.c create mode 100755 asn1c_defs/all-defs/PA-Values.h create mode 100644 asn1c_defs/all-defs/PA-Values.o create mode 100755 asn1c_defs/all-defs/PCI.c create mode 100755 asn1c_defs/all-defs/PCI.h create mode 100644 asn1c_defs/all-defs/PCI.o create mode 100755 asn1c_defs/all-defs/PDCP-SN.c create mode 100755 asn1c_defs/all-defs/PDCP-SN.h create mode 100644 asn1c_defs/all-defs/PDCP-SN.o create mode 100755 asn1c_defs/all-defs/PDCP-SNExtended.c create mode 100755 asn1c_defs/all-defs/PDCP-SNExtended.h create mode 100644 asn1c_defs/all-defs/PDCP-SNExtended.o create mode 100755 asn1c_defs/all-defs/PDCP-SNlength18.c create mode 100755 asn1c_defs/all-defs/PDCP-SNlength18.h create mode 100644 asn1c_defs/all-defs/PDCP-SNlength18.o create mode 100755 asn1c_defs/all-defs/PDCPChangeIndication.c create mode 100755 asn1c_defs/all-defs/PDCPChangeIndication.h create mode 100644 asn1c_defs/all-defs/PDCPChangeIndication.o create mode 100755 asn1c_defs/all-defs/PDCPSnLength.c create mode 100755 asn1c_defs/all-defs/PDCPSnLength.h create mode 100644 asn1c_defs/all-defs/PDCPSnLength.o create mode 100755 asn1c_defs/all-defs/PLMN-Identity.c create mode 100755 asn1c_defs/all-defs/PLMN-Identity.h create mode 100644 asn1c_defs/all-defs/PLMN-Identity.o create mode 100755 asn1c_defs/all-defs/PLMNAreaBasedQMC.c create mode 100755 asn1c_defs/all-defs/PLMNAreaBasedQMC.h create mode 100644 asn1c_defs/all-defs/PLMNAreaBasedQMC.o create mode 100755 asn1c_defs/all-defs/PLMNListforQMC.c create mode 100755 asn1c_defs/all-defs/PLMNListforQMC.h create mode 100644 asn1c_defs/all-defs/PLMNListforQMC.o create mode 100755 asn1c_defs/all-defs/PRACH-Configuration.c create mode 100755 asn1c_defs/all-defs/PRACH-Configuration.h create mode 100644 asn1c_defs/all-defs/PRACH-Configuration.o create mode 100755 asn1c_defs/all-defs/Packet-LossRate.c create mode 100755 asn1c_defs/all-defs/Packet-LossRate.h create mode 100644 asn1c_defs/all-defs/Packet-LossRate.o create mode 100755 asn1c_defs/all-defs/PartialSuccessIndicator.c create mode 100755 asn1c_defs/all-defs/PartialSuccessIndicator.h create mode 100644 asn1c_defs/all-defs/PartialSuccessIndicator.o create mode 100755 asn1c_defs/all-defs/PedestrianUE.c create mode 100755 asn1c_defs/all-defs/PedestrianUE.h create mode 100644 asn1c_defs/all-defs/PedestrianUE.o create mode 100755 asn1c_defs/all-defs/Port-Number.c create mode 100755 asn1c_defs/all-defs/Port-Number.h create mode 100644 asn1c_defs/all-defs/Port-Number.o create mode 100755 asn1c_defs/all-defs/Pre-emptionCapability.c create mode 100755 asn1c_defs/all-defs/Pre-emptionCapability.h create mode 100644 asn1c_defs/all-defs/Pre-emptionCapability.o create mode 100755 asn1c_defs/all-defs/Pre-emptionVulnerability.c create mode 100755 asn1c_defs/all-defs/Pre-emptionVulnerability.h create mode 100644 asn1c_defs/all-defs/Pre-emptionVulnerability.o create mode 100755 asn1c_defs/all-defs/Presence.c create mode 100755 asn1c_defs/all-defs/Presence.h create mode 100644 asn1c_defs/all-defs/Presence.o create mode 100755 asn1c_defs/all-defs/PrintableString.c create mode 100755 asn1c_defs/all-defs/PrintableString.h create mode 100644 asn1c_defs/all-defs/PrintableString.o create mode 100755 asn1c_defs/all-defs/PriorityLevel.c create mode 100755 asn1c_defs/all-defs/PriorityLevel.h create mode 100644 asn1c_defs/all-defs/PriorityLevel.o create mode 100755 asn1c_defs/all-defs/PrivateIE-Container.c create mode 100755 asn1c_defs/all-defs/PrivateIE-Container.h create mode 100644 asn1c_defs/all-defs/PrivateIE-Container.o create mode 100755 asn1c_defs/all-defs/PrivateIE-Field.c create mode 100755 asn1c_defs/all-defs/PrivateIE-Field.h create mode 100644 asn1c_defs/all-defs/PrivateIE-Field.o create mode 100755 asn1c_defs/all-defs/PrivateIE-ID.c create mode 100755 asn1c_defs/all-defs/PrivateIE-ID.h create mode 100644 asn1c_defs/all-defs/PrivateIE-ID.o create mode 100755 asn1c_defs/all-defs/PrivateMessage.c create mode 100755 asn1c_defs/all-defs/PrivateMessage.h create mode 100644 asn1c_defs/all-defs/PrivateMessage.o create mode 100755 asn1c_defs/all-defs/ProSeAuthorized.c create mode 100755 asn1c_defs/all-defs/ProSeAuthorized.h create mode 100644 asn1c_defs/all-defs/ProSeAuthorized.o create mode 100755 asn1c_defs/all-defs/ProSeDirectCommunication.c create mode 100755 asn1c_defs/all-defs/ProSeDirectCommunication.h create mode 100644 asn1c_defs/all-defs/ProSeDirectCommunication.o create mode 100755 asn1c_defs/all-defs/ProSeDirectDiscovery.c create mode 100755 asn1c_defs/all-defs/ProSeDirectDiscovery.h create mode 100644 asn1c_defs/all-defs/ProSeDirectDiscovery.o create mode 100755 asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.c create mode 100755 asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.h create mode 100644 asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.o create mode 100755 asn1c_defs/all-defs/ProcedureCode.c create mode 100755 asn1c_defs/all-defs/ProcedureCode.h create mode 100644 asn1c_defs/all-defs/ProcedureCode.o create mode 100755 asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.c create mode 100755 asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.h create mode 100644 asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.o create mode 100755 asn1c_defs/all-defs/ProtectedFootprintTimePattern.c create mode 100755 asn1c_defs/all-defs/ProtectedFootprintTimePattern.h create mode 100644 asn1c_defs/all-defs/ProtectedFootprintTimePattern.o create mode 100755 asn1c_defs/all-defs/ProtectedResourceList-Item.c create mode 100755 asn1c_defs/all-defs/ProtectedResourceList-Item.h create mode 100644 asn1c_defs/all-defs/ProtectedResourceList-Item.o create mode 100755 asn1c_defs/all-defs/ProtectedResourceList.c create mode 100755 asn1c_defs/all-defs/ProtectedResourceList.h create mode 100644 asn1c_defs/all-defs/ProtectedResourceList.o create mode 100755 asn1c_defs/all-defs/ProtocolExtensionContainer.c create mode 100755 asn1c_defs/all-defs/ProtocolExtensionContainer.h create mode 100644 asn1c_defs/all-defs/ProtocolExtensionContainer.o create mode 100755 asn1c_defs/all-defs/ProtocolExtensionField.c create mode 100755 asn1c_defs/all-defs/ProtocolExtensionField.h create mode 100644 asn1c_defs/all-defs/ProtocolExtensionField.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-Container.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-Container.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-Container.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerList.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerList.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-ContainerList.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerPair.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerPair.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-ContainerPair.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerPairList.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-ContainerPairList.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-ContainerPairList.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-Field.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-Field.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-Field.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-FieldPair.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-FieldPair.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-FieldPair.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-ID.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-ID.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-ID.o create mode 100755 asn1c_defs/all-defs/ProtocolIE-Single-Container.c create mode 100755 asn1c_defs/all-defs/ProtocolIE-Single-Container.h create mode 100644 asn1c_defs/all-defs/ProtocolIE-Single-Container.o create mode 100755 asn1c_defs/all-defs/QCI.c create mode 100755 asn1c_defs/all-defs/QCI.h create mode 100644 asn1c_defs/all-defs/QCI.o create mode 100755 asn1c_defs/all-defs/RANfunction-Item.c create mode 100755 asn1c_defs/all-defs/RANfunction-Item.h create mode 100644 asn1c_defs/all-defs/RANfunction-Item.o create mode 100755 asn1c_defs/all-defs/RANfunctionDefinition.c create mode 100755 asn1c_defs/all-defs/RANfunctionDefinition.h create mode 100644 asn1c_defs/all-defs/RANfunctionDefinition.o create mode 100755 asn1c_defs/all-defs/RANfunctionID-Item.c create mode 100755 asn1c_defs/all-defs/RANfunctionID-Item.h create mode 100644 asn1c_defs/all-defs/RANfunctionID-Item.o create mode 100755 asn1c_defs/all-defs/RANfunctionID.c create mode 100755 asn1c_defs/all-defs/RANfunctionID.h create mode 100644 asn1c_defs/all-defs/RANfunctionID.o create mode 100755 asn1c_defs/all-defs/RANfunctionIDcause-Item.c create mode 100755 asn1c_defs/all-defs/RANfunctionIDcause-Item.h create mode 100644 asn1c_defs/all-defs/RANfunctionIDcause-Item.o create mode 100755 asn1c_defs/all-defs/RANfunctions-List.c create mode 100755 asn1c_defs/all-defs/RANfunctions-List.h create mode 100644 asn1c_defs/all-defs/RANfunctions-List.o create mode 100755 asn1c_defs/all-defs/RANfunctionsID-List.c create mode 100755 asn1c_defs/all-defs/RANfunctionsID-List.h create mode 100644 asn1c_defs/all-defs/RANfunctionsID-List.o create mode 100755 asn1c_defs/all-defs/RANfunctionsIDcause-List.c create mode 100755 asn1c_defs/all-defs/RANfunctionsIDcause-List.h create mode 100644 asn1c_defs/all-defs/RANfunctionsIDcause-List.o create mode 100755 asn1c_defs/all-defs/RICaction-Admitted-Item.c create mode 100755 asn1c_defs/all-defs/RICaction-Admitted-Item.h create mode 100644 asn1c_defs/all-defs/RICaction-Admitted-Item.o create mode 100755 asn1c_defs/all-defs/RICaction-Admitted-List.c create mode 100755 asn1c_defs/all-defs/RICaction-Admitted-List.h create mode 100644 asn1c_defs/all-defs/RICaction-Admitted-List.o create mode 100755 asn1c_defs/all-defs/RICaction-NotAdmitted-Item.c create mode 100755 asn1c_defs/all-defs/RICaction-NotAdmitted-Item.h create mode 100644 asn1c_defs/all-defs/RICaction-NotAdmitted-Item.o create mode 100755 asn1c_defs/all-defs/RICaction-NotAdmitted-List.c create mode 100755 asn1c_defs/all-defs/RICaction-NotAdmitted-List.h create mode 100644 asn1c_defs/all-defs/RICaction-NotAdmitted-List.o create mode 100755 asn1c_defs/all-defs/RICaction-ToBeSetup-Item.c create mode 100755 asn1c_defs/all-defs/RICaction-ToBeSetup-Item.h create mode 100644 asn1c_defs/all-defs/RICaction-ToBeSetup-Item.o create mode 100755 asn1c_defs/all-defs/RICactionDefinition.c create mode 100755 asn1c_defs/all-defs/RICactionDefinition.h create mode 100644 asn1c_defs/all-defs/RICactionDefinition.o create mode 100755 asn1c_defs/all-defs/RICactionID.c create mode 100755 asn1c_defs/all-defs/RICactionID.h create mode 100644 asn1c_defs/all-defs/RICactionID.o create mode 100755 asn1c_defs/all-defs/RICactionType.c create mode 100755 asn1c_defs/all-defs/RICactionType.h create mode 100644 asn1c_defs/all-defs/RICactionType.o create mode 100755 asn1c_defs/all-defs/RICactions-ToBeSetup-List.c create mode 100755 asn1c_defs/all-defs/RICactions-ToBeSetup-List.h create mode 100644 asn1c_defs/all-defs/RICactions-ToBeSetup-List.o create mode 100755 asn1c_defs/all-defs/RICcallProcessID.c create mode 100755 asn1c_defs/all-defs/RICcallProcessID.h create mode 100644 asn1c_defs/all-defs/RICcallProcessID.o create mode 100755 asn1c_defs/all-defs/RICcause.c create mode 100755 asn1c_defs/all-defs/RICcause.h create mode 100644 asn1c_defs/all-defs/RICcause.o create mode 100755 asn1c_defs/all-defs/RICcontrolAckRequest.c create mode 100755 asn1c_defs/all-defs/RICcontrolAckRequest.h create mode 100644 asn1c_defs/all-defs/RICcontrolAckRequest.o create mode 100755 asn1c_defs/all-defs/RICcontrolAcknowledge.c create mode 100755 asn1c_defs/all-defs/RICcontrolAcknowledge.h create mode 100644 asn1c_defs/all-defs/RICcontrolAcknowledge.o create mode 100755 asn1c_defs/all-defs/RICcontrolFailure.c create mode 100755 asn1c_defs/all-defs/RICcontrolFailure.h create mode 100644 asn1c_defs/all-defs/RICcontrolFailure.o create mode 100755 asn1c_defs/all-defs/RICcontrolHeader.c create mode 100755 asn1c_defs/all-defs/RICcontrolHeader.h create mode 100644 asn1c_defs/all-defs/RICcontrolHeader.o create mode 100755 asn1c_defs/all-defs/RICcontrolMessage.c create mode 100755 asn1c_defs/all-defs/RICcontrolMessage.h create mode 100644 asn1c_defs/all-defs/RICcontrolMessage.o create mode 100755 asn1c_defs/all-defs/RICcontrolRequest.c create mode 100755 asn1c_defs/all-defs/RICcontrolRequest.h create mode 100644 asn1c_defs/all-defs/RICcontrolRequest.o create mode 100755 asn1c_defs/all-defs/RICcontrolStatus.c create mode 100755 asn1c_defs/all-defs/RICcontrolStatus.h create mode 100644 asn1c_defs/all-defs/RICcontrolStatus.o create mode 100755 asn1c_defs/all-defs/RICeventTriggerDefinition.c create mode 100755 asn1c_defs/all-defs/RICeventTriggerDefinition.h create mode 100644 asn1c_defs/all-defs/RICeventTriggerDefinition.o create mode 100755 asn1c_defs/all-defs/RICindication.c create mode 100755 asn1c_defs/all-defs/RICindication.h create mode 100644 asn1c_defs/all-defs/RICindication.o create mode 100755 asn1c_defs/all-defs/RICindicationHeader.c create mode 100755 asn1c_defs/all-defs/RICindicationHeader.h create mode 100644 asn1c_defs/all-defs/RICindicationHeader.o create mode 100755 asn1c_defs/all-defs/RICindicationMessage.c create mode 100755 asn1c_defs/all-defs/RICindicationMessage.h create mode 100644 asn1c_defs/all-defs/RICindicationMessage.o create mode 100755 asn1c_defs/all-defs/RICindicationSN.c create mode 100755 asn1c_defs/all-defs/RICindicationSN.h create mode 100644 asn1c_defs/all-defs/RICindicationSN.o create mode 100755 asn1c_defs/all-defs/RICindicationType.c create mode 100755 asn1c_defs/all-defs/RICindicationType.h create mode 100644 asn1c_defs/all-defs/RICindicationType.o create mode 100755 asn1c_defs/all-defs/RICrequestID.c create mode 100755 asn1c_defs/all-defs/RICrequestID.h create mode 100644 asn1c_defs/all-defs/RICrequestID.o create mode 100755 asn1c_defs/all-defs/RICserviceQuery.c create mode 100755 asn1c_defs/all-defs/RICserviceQuery.h create mode 100644 asn1c_defs/all-defs/RICserviceQuery.o create mode 100755 asn1c_defs/all-defs/RICserviceUpdate.c create mode 100755 asn1c_defs/all-defs/RICserviceUpdate.h create mode 100644 asn1c_defs/all-defs/RICserviceUpdate.o create mode 100755 asn1c_defs/all-defs/RICserviceUpdateAcknowledge.c create mode 100755 asn1c_defs/all-defs/RICserviceUpdateAcknowledge.h create mode 100644 asn1c_defs/all-defs/RICserviceUpdateAcknowledge.o create mode 100755 asn1c_defs/all-defs/RICserviceUpdateFailure.c create mode 100755 asn1c_defs/all-defs/RICserviceUpdateFailure.h create mode 100644 asn1c_defs/all-defs/RICserviceUpdateFailure.o create mode 100755 asn1c_defs/all-defs/RICsubscription.c create mode 100755 asn1c_defs/all-defs/RICsubscription.h create mode 100644 asn1c_defs/all-defs/RICsubscription.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteFailure.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteFailure.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionDeleteFailure.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteRequest.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteRequest.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionDeleteRequest.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteResponse.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionDeleteResponse.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionDeleteResponse.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionFailure.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionFailure.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionFailure.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionRequest.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionRequest.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionRequest.o create mode 100755 asn1c_defs/all-defs/RICsubscriptionResponse.c create mode 100755 asn1c_defs/all-defs/RICsubscriptionResponse.h create mode 100644 asn1c_defs/all-defs/RICsubscriptionResponse.o create mode 100755 asn1c_defs/all-defs/RICsubsequentAction.c create mode 100755 asn1c_defs/all-defs/RICsubsequentAction.h create mode 100644 asn1c_defs/all-defs/RICsubsequentAction.o create mode 100755 asn1c_defs/all-defs/RICsubsequentActionType.c create mode 100755 asn1c_defs/all-defs/RICsubsequentActionType.h create mode 100644 asn1c_defs/all-defs/RICsubsequentActionType.o create mode 100755 asn1c_defs/all-defs/RICtimeToWait.c create mode 100755 asn1c_defs/all-defs/RICtimeToWait.h create mode 100644 asn1c_defs/all-defs/RICtimeToWait.o create mode 100755 asn1c_defs/all-defs/RLC-Status.c create mode 100755 asn1c_defs/all-defs/RLC-Status.h create mode 100644 asn1c_defs/all-defs/RLC-Status.o create mode 100755 asn1c_defs/all-defs/RLCMode.c create mode 100755 asn1c_defs/all-defs/RLCMode.h create mode 100644 asn1c_defs/all-defs/RLCMode.o create mode 100755 asn1c_defs/all-defs/RLFIndication.c create mode 100755 asn1c_defs/all-defs/RLFIndication.h create mode 100644 asn1c_defs/all-defs/RLFIndication.o create mode 100755 asn1c_defs/all-defs/RNL-Header.c create mode 100755 asn1c_defs/all-defs/RNL-Header.h create mode 100644 asn1c_defs/all-defs/RNL-Header.o create mode 100755 asn1c_defs/all-defs/RNTP-Threshold.c create mode 100755 asn1c_defs/all-defs/RNTP-Threshold.h create mode 100644 asn1c_defs/all-defs/RNTP-Threshold.o create mode 100755 asn1c_defs/all-defs/RRC-Config-Ind.c create mode 100755 asn1c_defs/all-defs/RRC-Config-Ind.h create mode 100644 asn1c_defs/all-defs/RRC-Config-Ind.o create mode 100755 asn1c_defs/all-defs/RRC-Context.c create mode 100755 asn1c_defs/all-defs/RRC-Context.h create mode 100644 asn1c_defs/all-defs/RRC-Context.o create mode 100755 asn1c_defs/all-defs/RRCConnReestabIndicator.c create mode 100755 asn1c_defs/all-defs/RRCConnReestabIndicator.h create mode 100644 asn1c_defs/all-defs/RRCConnReestabIndicator.o create mode 100755 asn1c_defs/all-defs/RRCConnSetupIndicator.c create mode 100755 asn1c_defs/all-defs/RRCConnSetupIndicator.h create mode 100644 asn1c_defs/all-defs/RRCConnSetupIndicator.o create mode 100755 asn1c_defs/all-defs/RRCContainer.c create mode 100755 asn1c_defs/all-defs/RRCContainer.h create mode 100644 asn1c_defs/all-defs/RRCContainer.o create mode 100755 asn1c_defs/all-defs/RRCTransfer.c create mode 100755 asn1c_defs/all-defs/RRCTransfer.h create mode 100644 asn1c_defs/all-defs/RRCTransfer.o create mode 100755 asn1c_defs/all-defs/RSRPMRList.c create mode 100755 asn1c_defs/all-defs/RSRPMRList.h create mode 100644 asn1c_defs/all-defs/RSRPMRList.o create mode 100755 asn1c_defs/all-defs/RSRPMeasurementResult.c create mode 100755 asn1c_defs/all-defs/RSRPMeasurementResult.h create mode 100644 asn1c_defs/all-defs/RSRPMeasurementResult.o create mode 100755 asn1c_defs/all-defs/RadioResourceStatus.c create mode 100755 asn1c_defs/all-defs/RadioResourceStatus.h create mode 100644 asn1c_defs/all-defs/RadioResourceStatus.o create mode 100755 asn1c_defs/all-defs/RadioframeAllocationOffset.c create mode 100755 asn1c_defs/all-defs/RadioframeAllocationOffset.h create mode 100644 asn1c_defs/all-defs/RadioframeAllocationOffset.o create mode 100755 asn1c_defs/all-defs/RadioframeAllocationPeriod.c create mode 100755 asn1c_defs/all-defs/RadioframeAllocationPeriod.h create mode 100644 asn1c_defs/all-defs/RadioframeAllocationPeriod.o create mode 100755 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.c create mode 100755 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.h create mode 100644 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.o create mode 100755 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.c create mode 100755 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h create mode 100644 asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.o create mode 100755 asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.c create mode 100755 asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.h create mode 100644 asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.o create mode 100755 asn1c_defs/all-defs/Reestablishment-Indication.c create mode 100755 asn1c_defs/all-defs/Reestablishment-Indication.h create mode 100644 asn1c_defs/all-defs/Reestablishment-Indication.o create mode 100755 asn1c_defs/all-defs/Registration-Request.c create mode 100755 asn1c_defs/all-defs/Registration-Request.h create mode 100644 asn1c_defs/all-defs/Registration-Request.o create mode 100755 asn1c_defs/all-defs/RelativeNarrowbandTxPower.c create mode 100755 asn1c_defs/all-defs/RelativeNarrowbandTxPower.h create mode 100644 asn1c_defs/all-defs/RelativeNarrowbandTxPower.o create mode 100755 asn1c_defs/all-defs/ReplacingCellsList-Item.c create mode 100755 asn1c_defs/all-defs/ReplacingCellsList-Item.h create mode 100644 asn1c_defs/all-defs/ReplacingCellsList-Item.o create mode 100755 asn1c_defs/all-defs/ReplacingCellsList.c create mode 100755 asn1c_defs/all-defs/ReplacingCellsList.h create mode 100644 asn1c_defs/all-defs/ReplacingCellsList.o create mode 100755 asn1c_defs/all-defs/ReportAmountMDT.c create mode 100755 asn1c_defs/all-defs/ReportAmountMDT.h create mode 100644 asn1c_defs/all-defs/ReportAmountMDT.o create mode 100755 asn1c_defs/all-defs/ReportArea.c create mode 100755 asn1c_defs/all-defs/ReportArea.h create mode 100644 asn1c_defs/all-defs/ReportArea.o create mode 100755 asn1c_defs/all-defs/ReportCharacteristics.c create mode 100755 asn1c_defs/all-defs/ReportCharacteristics.h create mode 100644 asn1c_defs/all-defs/ReportCharacteristics.o create mode 100755 asn1c_defs/all-defs/ReportIntervalMDT.c create mode 100755 asn1c_defs/all-defs/ReportIntervalMDT.h create mode 100644 asn1c_defs/all-defs/ReportIntervalMDT.o create mode 100755 asn1c_defs/all-defs/ReportingPeriodicity.c create mode 100755 asn1c_defs/all-defs/ReportingPeriodicity.h create mode 100644 asn1c_defs/all-defs/ReportingPeriodicity.o create mode 100755 asn1c_defs/all-defs/ReportingPeriodicityCSIR.c create mode 100755 asn1c_defs/all-defs/ReportingPeriodicityCSIR.h create mode 100644 asn1c_defs/all-defs/ReportingPeriodicityCSIR.o create mode 100755 asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.c create mode 100755 asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.h create mode 100644 asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.o create mode 100755 asn1c_defs/all-defs/ReservedSubframePattern.c create mode 100755 asn1c_defs/all-defs/ReservedSubframePattern.h create mode 100644 asn1c_defs/all-defs/ReservedSubframePattern.o create mode 100755 asn1c_defs/all-defs/ResetRequest.c create mode 100755 asn1c_defs/all-defs/ResetRequest.h create mode 100644 asn1c_defs/all-defs/ResetRequest.o create mode 100755 asn1c_defs/all-defs/ResetResponse.c create mode 100755 asn1c_defs/all-defs/ResetResponse.h create mode 100644 asn1c_defs/all-defs/ResetResponse.o create mode 100755 asn1c_defs/all-defs/ResourceStatusFailure.c create mode 100755 asn1c_defs/all-defs/ResourceStatusFailure.h create mode 100644 asn1c_defs/all-defs/ResourceStatusFailure.o create mode 100755 asn1c_defs/all-defs/ResourceStatusRequest.c create mode 100755 asn1c_defs/all-defs/ResourceStatusRequest.h create mode 100644 asn1c_defs/all-defs/ResourceStatusRequest.o create mode 100755 asn1c_defs/all-defs/ResourceStatusResponse.c create mode 100755 asn1c_defs/all-defs/ResourceStatusResponse.h create mode 100644 asn1c_defs/all-defs/ResourceStatusResponse.o create mode 100755 asn1c_defs/all-defs/ResourceStatusUpdate.c create mode 100755 asn1c_defs/all-defs/ResourceStatusUpdate.h create mode 100644 asn1c_defs/all-defs/ResourceStatusUpdate.o create mode 100755 asn1c_defs/all-defs/ResourceType.c create mode 100755 asn1c_defs/all-defs/ResourceType.h create mode 100644 asn1c_defs/all-defs/ResourceType.o create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.c create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.h create mode 100644 asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.o create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.c create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.h create mode 100644 asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.o create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.c create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.h create mode 100644 asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.o create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.c create mode 100755 asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.h create mode 100644 asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-SuccessItem.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-SuccessItem.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-SuccessItem.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.o create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.c create mode 100755 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.h create mode 100644 asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.o create mode 100755 asn1c_defs/all-defs/ResumeID.c create mode 100755 asn1c_defs/all-defs/ResumeID.h create mode 100644 asn1c_defs/all-defs/ResumeID.o create mode 100755 asn1c_defs/all-defs/RetrieveUEContextFailure.c create mode 100755 asn1c_defs/all-defs/RetrieveUEContextFailure.h create mode 100644 asn1c_defs/all-defs/RetrieveUEContextFailure.o create mode 100755 asn1c_defs/all-defs/RetrieveUEContextRequest.c create mode 100755 asn1c_defs/all-defs/RetrieveUEContextRequest.h create mode 100644 asn1c_defs/all-defs/RetrieveUEContextRequest.o create mode 100755 asn1c_defs/all-defs/RetrieveUEContextResponse.c create mode 100755 asn1c_defs/all-defs/RetrieveUEContextResponse.h create mode 100644 asn1c_defs/all-defs/RetrieveUEContextResponse.o create mode 100755 asn1c_defs/all-defs/S1TNLLoadIndicator.c create mode 100755 asn1c_defs/all-defs/S1TNLLoadIndicator.h create mode 100644 asn1c_defs/all-defs/S1TNLLoadIndicator.o create mode 100755 asn1c_defs/all-defs/SCGChangeIndication.c create mode 100755 asn1c_defs/all-defs/SCGChangeIndication.h create mode 100644 asn1c_defs/all-defs/SCGChangeIndication.o create mode 100755 asn1c_defs/all-defs/SCGConfigurationQuery.c create mode 100755 asn1c_defs/all-defs/SCGConfigurationQuery.h create mode 100644 asn1c_defs/all-defs/SCGConfigurationQuery.o create mode 100755 asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.c create mode 100755 asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.h create mode 100644 asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.o create mode 100755 asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.c create mode 100755 asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.h create mode 100644 asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.o create mode 100755 asn1c_defs/all-defs/SNStatusTransfer.c create mode 100755 asn1c_defs/all-defs/SNStatusTransfer.h create mode 100644 asn1c_defs/all-defs/SNStatusTransfer.o create mode 100755 asn1c_defs/all-defs/SRBType.c create mode 100755 asn1c_defs/all-defs/SRBType.h create mode 100644 asn1c_defs/all-defs/SRBType.o create mode 100755 asn1c_defs/all-defs/SRVCCOperationPossible.c create mode 100755 asn1c_defs/all-defs/SRVCCOperationPossible.h create mode 100644 asn1c_defs/all-defs/SRVCCOperationPossible.o create mode 100755 asn1c_defs/all-defs/SULInformation.c create mode 100755 asn1c_defs/all-defs/SULInformation.h create mode 100644 asn1c_defs/all-defs/SULInformation.o create mode 100755 asn1c_defs/all-defs/ScheduledCommunicationTime.c create mode 100755 asn1c_defs/all-defs/ScheduledCommunicationTime.h create mode 100644 asn1c_defs/all-defs/ScheduledCommunicationTime.o create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequest.c create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequest.h create mode 100644 asn1c_defs/all-defs/SeNBAdditionRequest.o create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequestReject.c create mode 100755 asn1c_defs/all-defs/SeNBAdditionRequestReject.h create mode 100644 asn1c_defs/all-defs/SeNBAdditionRequestReject.o create mode 100755 asn1c_defs/all-defs/SeNBCounterCheckRequest.c create mode 100755 asn1c_defs/all-defs/SeNBCounterCheckRequest.h create mode 100644 asn1c_defs/all-defs/SeNBCounterCheckRequest.o create mode 100755 asn1c_defs/all-defs/SeNBModificationConfirm.c create mode 100755 asn1c_defs/all-defs/SeNBModificationConfirm.h create mode 100644 asn1c_defs/all-defs/SeNBModificationConfirm.o create mode 100755 asn1c_defs/all-defs/SeNBModificationRefuse.c create mode 100755 asn1c_defs/all-defs/SeNBModificationRefuse.h create mode 100644 asn1c_defs/all-defs/SeNBModificationRefuse.o create mode 100755 asn1c_defs/all-defs/SeNBModificationRequest.c create mode 100755 asn1c_defs/all-defs/SeNBModificationRequest.h create mode 100644 asn1c_defs/all-defs/SeNBModificationRequest.o create mode 100755 asn1c_defs/all-defs/SeNBModificationRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/SeNBModificationRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/SeNBModificationRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/SeNBModificationRequestReject.c create mode 100755 asn1c_defs/all-defs/SeNBModificationRequestReject.h create mode 100644 asn1c_defs/all-defs/SeNBModificationRequestReject.o create mode 100755 asn1c_defs/all-defs/SeNBModificationRequired.c create mode 100755 asn1c_defs/all-defs/SeNBModificationRequired.h create mode 100644 asn1c_defs/all-defs/SeNBModificationRequired.o create mode 100755 asn1c_defs/all-defs/SeNBReconfigurationComplete.c create mode 100755 asn1c_defs/all-defs/SeNBReconfigurationComplete.h create mode 100644 asn1c_defs/all-defs/SeNBReconfigurationComplete.o create mode 100755 asn1c_defs/all-defs/SeNBReleaseConfirm.c create mode 100755 asn1c_defs/all-defs/SeNBReleaseConfirm.h create mode 100644 asn1c_defs/all-defs/SeNBReleaseConfirm.o create mode 100755 asn1c_defs/all-defs/SeNBReleaseRequest.c create mode 100755 asn1c_defs/all-defs/SeNBReleaseRequest.h create mode 100644 asn1c_defs/all-defs/SeNBReleaseRequest.o create mode 100755 asn1c_defs/all-defs/SeNBReleaseRequired.c create mode 100755 asn1c_defs/all-defs/SeNBReleaseRequired.h create mode 100644 asn1c_defs/all-defs/SeNBReleaseRequired.o create mode 100755 asn1c_defs/all-defs/SeNBSecurityKey.c create mode 100755 asn1c_defs/all-defs/SeNBSecurityKey.h create mode 100644 asn1c_defs/all-defs/SeNBSecurityKey.o create mode 100755 asn1c_defs/all-defs/SeNBtoMeNBContainer.c create mode 100755 asn1c_defs/all-defs/SeNBtoMeNBContainer.h create mode 100644 asn1c_defs/all-defs/SeNBtoMeNBContainer.o create mode 100755 asn1c_defs/all-defs/SecondaryRATDataUsageReport.c create mode 100755 asn1c_defs/all-defs/SecondaryRATDataUsageReport.h create mode 100644 asn1c_defs/all-defs/SecondaryRATDataUsageReport.o create mode 100755 asn1c_defs/all-defs/SecondaryRATUsageReport-Item.c create mode 100755 asn1c_defs/all-defs/SecondaryRATUsageReport-Item.h create mode 100644 asn1c_defs/all-defs/SecondaryRATUsageReport-Item.o create mode 100755 asn1c_defs/all-defs/SecondaryRATUsageReportList.c create mode 100755 asn1c_defs/all-defs/SecondaryRATUsageReportList.h create mode 100644 asn1c_defs/all-defs/SecondaryRATUsageReportList.o create mode 100755 asn1c_defs/all-defs/ServedCell-Information.c create mode 100755 asn1c_defs/all-defs/ServedCell-Information.h create mode 100644 asn1c_defs/all-defs/ServedCell-Information.o create mode 100755 asn1c_defs/all-defs/ServedCells.c create mode 100755 asn1c_defs/all-defs/ServedCells.h create mode 100644 asn1c_defs/all-defs/ServedCells.o create mode 100755 asn1c_defs/all-defs/ServedCellsToActivate-Item.c create mode 100755 asn1c_defs/all-defs/ServedCellsToActivate-Item.h create mode 100644 asn1c_defs/all-defs/ServedCellsToActivate-Item.o create mode 100755 asn1c_defs/all-defs/ServedCellsToActivate.c create mode 100755 asn1c_defs/all-defs/ServedCellsToActivate.h create mode 100644 asn1c_defs/all-defs/ServedCellsToActivate.o create mode 100755 asn1c_defs/all-defs/ServedCellsToModify-Item.c create mode 100755 asn1c_defs/all-defs/ServedCellsToModify-Item.h create mode 100644 asn1c_defs/all-defs/ServedCellsToModify-Item.o create mode 100755 asn1c_defs/all-defs/ServedCellsToModify.c create mode 100755 asn1c_defs/all-defs/ServedCellsToModify.h create mode 100644 asn1c_defs/all-defs/ServedCellsToModify.o create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.c create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.h create mode 100644 asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.o create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.c create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.h create mode 100644 asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.o create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.c create mode 100755 asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.h create mode 100644 asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.o create mode 100755 asn1c_defs/all-defs/ServedNRCell-Information.c create mode 100755 asn1c_defs/all-defs/ServedNRCell-Information.h create mode 100644 asn1c_defs/all-defs/ServedNRCell-Information.o create mode 100755 asn1c_defs/all-defs/ServedNRCellsToActivate-Item.c create mode 100755 asn1c_defs/all-defs/ServedNRCellsToActivate-Item.h create mode 100644 asn1c_defs/all-defs/ServedNRCellsToActivate-Item.o create mode 100755 asn1c_defs/all-defs/ServedNRCellsToActivate.c create mode 100755 asn1c_defs/all-defs/ServedNRCellsToActivate.h create mode 100644 asn1c_defs/all-defs/ServedNRCellsToActivate.o create mode 100755 asn1c_defs/all-defs/ServedNRCellsToModify-Item.c create mode 100755 asn1c_defs/all-defs/ServedNRCellsToModify-Item.h create mode 100644 asn1c_defs/all-defs/ServedNRCellsToModify-Item.o create mode 100755 asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.c create mode 100755 asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.h create mode 100644 asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.o create mode 100755 asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.c create mode 100755 asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.h create mode 100644 asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.o create mode 100755 asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.c create mode 100755 asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.h create mode 100644 asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.o create mode 100755 asn1c_defs/all-defs/ServiceType.c create mode 100755 asn1c_defs/all-defs/ServiceType.h create mode 100644 asn1c_defs/all-defs/ServiceType.o create mode 100755 asn1c_defs/all-defs/SgNB-UE-X2AP-ID.c create mode 100755 asn1c_defs/all-defs/SgNB-UE-X2AP-ID.h create mode 100644 asn1c_defs/all-defs/SgNB-UE-X2AP-ID.o create mode 100755 asn1c_defs/all-defs/SgNBActivityNotification.c create mode 100755 asn1c_defs/all-defs/SgNBActivityNotification.h create mode 100644 asn1c_defs/all-defs/SgNBActivityNotification.o create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequest.c create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequest.h create mode 100644 asn1c_defs/all-defs/SgNBAdditionRequest.o create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequestReject.c create mode 100755 asn1c_defs/all-defs/SgNBAdditionRequestReject.h create mode 100644 asn1c_defs/all-defs/SgNBAdditionRequestReject.o create mode 100755 asn1c_defs/all-defs/SgNBChangeConfirm.c create mode 100755 asn1c_defs/all-defs/SgNBChangeConfirm.h create mode 100644 asn1c_defs/all-defs/SgNBChangeConfirm.o create mode 100755 asn1c_defs/all-defs/SgNBChangeRefuse.c create mode 100755 asn1c_defs/all-defs/SgNBChangeRefuse.h create mode 100644 asn1c_defs/all-defs/SgNBChangeRefuse.o create mode 100755 asn1c_defs/all-defs/SgNBChangeRequired.c create mode 100755 asn1c_defs/all-defs/SgNBChangeRequired.h create mode 100644 asn1c_defs/all-defs/SgNBChangeRequired.o create mode 100755 asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.c create mode 100755 asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.h create mode 100644 asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.o create mode 100755 asn1c_defs/all-defs/SgNBCounterCheckRequest.c create mode 100755 asn1c_defs/all-defs/SgNBCounterCheckRequest.h create mode 100644 asn1c_defs/all-defs/SgNBCounterCheckRequest.o create mode 100755 asn1c_defs/all-defs/SgNBModificationConfirm.c create mode 100755 asn1c_defs/all-defs/SgNBModificationConfirm.h create mode 100644 asn1c_defs/all-defs/SgNBModificationConfirm.o create mode 100755 asn1c_defs/all-defs/SgNBModificationRefuse.c create mode 100755 asn1c_defs/all-defs/SgNBModificationRefuse.h create mode 100644 asn1c_defs/all-defs/SgNBModificationRefuse.o create mode 100755 asn1c_defs/all-defs/SgNBModificationRequest.c create mode 100755 asn1c_defs/all-defs/SgNBModificationRequest.h create mode 100644 asn1c_defs/all-defs/SgNBModificationRequest.o create mode 100755 asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/SgNBModificationRequestReject.c create mode 100755 asn1c_defs/all-defs/SgNBModificationRequestReject.h create mode 100644 asn1c_defs/all-defs/SgNBModificationRequestReject.o create mode 100755 asn1c_defs/all-defs/SgNBModificationRequired.c create mode 100755 asn1c_defs/all-defs/SgNBModificationRequired.h create mode 100644 asn1c_defs/all-defs/SgNBModificationRequired.o create mode 100755 asn1c_defs/all-defs/SgNBReconfigurationComplete.c create mode 100755 asn1c_defs/all-defs/SgNBReconfigurationComplete.h create mode 100644 asn1c_defs/all-defs/SgNBReconfigurationComplete.o create mode 100755 asn1c_defs/all-defs/SgNBReleaseConfirm.c create mode 100755 asn1c_defs/all-defs/SgNBReleaseConfirm.h create mode 100644 asn1c_defs/all-defs/SgNBReleaseConfirm.o create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequest.c create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequest.h create mode 100644 asn1c_defs/all-defs/SgNBReleaseRequest.o create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.c create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.h create mode 100644 asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.o create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequestReject.c create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequestReject.h create mode 100644 asn1c_defs/all-defs/SgNBReleaseRequestReject.o create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequired.c create mode 100755 asn1c_defs/all-defs/SgNBReleaseRequired.h create mode 100644 asn1c_defs/all-defs/SgNBReleaseRequired.o create mode 100755 asn1c_defs/all-defs/SgNBResourceCoordinationInformation.c create mode 100755 asn1c_defs/all-defs/SgNBResourceCoordinationInformation.h create mode 100644 asn1c_defs/all-defs/SgNBResourceCoordinationInformation.o create mode 100755 asn1c_defs/all-defs/SgNBSecurityKey.c create mode 100755 asn1c_defs/all-defs/SgNBSecurityKey.h create mode 100644 asn1c_defs/all-defs/SgNBSecurityKey.o create mode 100755 asn1c_defs/all-defs/SgNBtoMeNBContainer.c create mode 100755 asn1c_defs/all-defs/SgNBtoMeNBContainer.h create mode 100644 asn1c_defs/all-defs/SgNBtoMeNBContainer.o create mode 100755 asn1c_defs/all-defs/SharedResourceType.c create mode 100755 asn1c_defs/all-defs/SharedResourceType.h create mode 100644 asn1c_defs/all-defs/SharedResourceType.o create mode 100755 asn1c_defs/all-defs/ShortMAC-I.c create mode 100755 asn1c_defs/all-defs/ShortMAC-I.h create mode 100644 asn1c_defs/all-defs/ShortMAC-I.o create mode 100755 asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.c create mode 100755 asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.h create mode 100644 asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.o create mode 100755 asn1c_defs/all-defs/SpecialSubframe-Info.c create mode 100755 asn1c_defs/all-defs/SpecialSubframe-Info.h create mode 100644 asn1c_defs/all-defs/SpecialSubframe-Info.o create mode 100755 asn1c_defs/all-defs/SpecialSubframePatterns.c create mode 100755 asn1c_defs/all-defs/SpecialSubframePatterns.h create mode 100644 asn1c_defs/all-defs/SpecialSubframePatterns.o create mode 100755 asn1c_defs/all-defs/SpectrumSharingGroupID.c create mode 100755 asn1c_defs/all-defs/SpectrumSharingGroupID.h create mode 100644 asn1c_defs/all-defs/SpectrumSharingGroupID.o create mode 100755 asn1c_defs/all-defs/SplitSRB.c create mode 100755 asn1c_defs/all-defs/SplitSRB.h create mode 100644 asn1c_defs/all-defs/SplitSRB.o create mode 100755 asn1c_defs/all-defs/SplitSRBs.c create mode 100755 asn1c_defs/all-defs/SplitSRBs.h create mode 100644 asn1c_defs/all-defs/SplitSRBs.o create mode 100755 asn1c_defs/all-defs/Style-ID.c create mode 100755 asn1c_defs/all-defs/Style-ID.h create mode 100644 asn1c_defs/all-defs/Style-ID.o create mode 100755 asn1c_defs/all-defs/SubbandCQI.c create mode 100755 asn1c_defs/all-defs/SubbandCQI.h create mode 100644 asn1c_defs/all-defs/SubbandCQI.o create mode 100755 asn1c_defs/all-defs/SubbandCQICodeword0.c create mode 100755 asn1c_defs/all-defs/SubbandCQICodeword0.h create mode 100644 asn1c_defs/all-defs/SubbandCQICodeword0.o create mode 100755 asn1c_defs/all-defs/SubbandCQICodeword1.c create mode 100755 asn1c_defs/all-defs/SubbandCQICodeword1.h create mode 100644 asn1c_defs/all-defs/SubbandCQICodeword1.o create mode 100755 asn1c_defs/all-defs/SubbandCQIItem.c create mode 100755 asn1c_defs/all-defs/SubbandCQIItem.h create mode 100644 asn1c_defs/all-defs/SubbandCQIItem.o create mode 100755 asn1c_defs/all-defs/SubbandCQIList.c create mode 100755 asn1c_defs/all-defs/SubbandCQIList.h create mode 100644 asn1c_defs/all-defs/SubbandCQIList.o create mode 100755 asn1c_defs/all-defs/SubbandSize.c create mode 100755 asn1c_defs/all-defs/SubbandSize.h create mode 100644 asn1c_defs/all-defs/SubbandSize.o create mode 100755 asn1c_defs/all-defs/SubframeAllocation.c create mode 100755 asn1c_defs/all-defs/SubframeAllocation.h create mode 100644 asn1c_defs/all-defs/SubframeAllocation.o create mode 100755 asn1c_defs/all-defs/SubframeAssignment.c create mode 100755 asn1c_defs/all-defs/SubframeAssignment.h create mode 100644 asn1c_defs/all-defs/SubframeAssignment.o create mode 100755 asn1c_defs/all-defs/SubframeType.c create mode 100755 asn1c_defs/all-defs/SubframeType.h create mode 100644 asn1c_defs/all-defs/SubframeType.o create mode 100755 asn1c_defs/all-defs/SubscriberProfileIDforRFP.c create mode 100755 asn1c_defs/all-defs/SubscriberProfileIDforRFP.h create mode 100644 asn1c_defs/all-defs/SubscriberProfileIDforRFP.o create mode 100755 asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.c create mode 100755 asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.h create mode 100644 asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.o create mode 100755 asn1c_defs/all-defs/SuccessfulOutcome.c create mode 100755 asn1c_defs/all-defs/SuccessfulOutcome.h create mode 100644 asn1c_defs/all-defs/SuccessfulOutcome.o create mode 100755 asn1c_defs/all-defs/SupportedSULFreqBandItem.c create mode 100755 asn1c_defs/all-defs/SupportedSULFreqBandItem.h create mode 100644 asn1c_defs/all-defs/SupportedSULFreqBandItem.o create mode 100755 asn1c_defs/all-defs/TABasedMDT.c create mode 100755 asn1c_defs/all-defs/TABasedMDT.h create mode 100644 asn1c_defs/all-defs/TABasedMDT.o create mode 100755 asn1c_defs/all-defs/TABasedQMC.c create mode 100755 asn1c_defs/all-defs/TABasedQMC.h create mode 100644 asn1c_defs/all-defs/TABasedQMC.o create mode 100755 asn1c_defs/all-defs/TAC.c create mode 100755 asn1c_defs/all-defs/TAC.h create mode 100644 asn1c_defs/all-defs/TAC.o create mode 100755 asn1c_defs/all-defs/TAI-Item.c create mode 100755 asn1c_defs/all-defs/TAI-Item.h create mode 100644 asn1c_defs/all-defs/TAI-Item.o create mode 100755 asn1c_defs/all-defs/TAIBasedMDT.c create mode 100755 asn1c_defs/all-defs/TAIBasedMDT.h create mode 100644 asn1c_defs/all-defs/TAIBasedMDT.o create mode 100755 asn1c_defs/all-defs/TAIBasedQMC.c create mode 100755 asn1c_defs/all-defs/TAIBasedQMC.h create mode 100644 asn1c_defs/all-defs/TAIBasedQMC.o create mode 100755 asn1c_defs/all-defs/TAIListforMDT.c create mode 100755 asn1c_defs/all-defs/TAIListforMDT.h create mode 100644 asn1c_defs/all-defs/TAIListforMDT.o create mode 100755 asn1c_defs/all-defs/TAIListforQMC.c create mode 100755 asn1c_defs/all-defs/TAIListforQMC.h create mode 100644 asn1c_defs/all-defs/TAIListforQMC.o create mode 100755 asn1c_defs/all-defs/TAListforMDT.c create mode 100755 asn1c_defs/all-defs/TAListforMDT.h create mode 100644 asn1c_defs/all-defs/TAListforMDT.o create mode 100755 asn1c_defs/all-defs/TAListforQMC.c create mode 100755 asn1c_defs/all-defs/TAListforQMC.h create mode 100644 asn1c_defs/all-defs/TAListforQMC.o create mode 100755 asn1c_defs/all-defs/TDD-Info.c create mode 100755 asn1c_defs/all-defs/TDD-Info.h create mode 100644 asn1c_defs/all-defs/TDD-Info.o create mode 100755 asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.c create mode 100755 asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.h create mode 100644 asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.o create mode 100755 asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.c create mode 100755 asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.h create mode 100644 asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.o create mode 100755 asn1c_defs/all-defs/TargetCellInUTRAN.c create mode 100755 asn1c_defs/all-defs/TargetCellInUTRAN.h create mode 100644 asn1c_defs/all-defs/TargetCellInUTRAN.o create mode 100755 asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.c create mode 100755 asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.h create mode 100644 asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.o create mode 100755 asn1c_defs/all-defs/Threshold-RSRP.c create mode 100755 asn1c_defs/all-defs/Threshold-RSRP.h create mode 100644 asn1c_defs/all-defs/Threshold-RSRP.o create mode 100755 asn1c_defs/all-defs/Threshold-RSRQ.c create mode 100755 asn1c_defs/all-defs/Threshold-RSRQ.h create mode 100644 asn1c_defs/all-defs/Threshold-RSRQ.o create mode 100755 asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.c create mode 100755 asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.h create mode 100644 asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.o create mode 100755 asn1c_defs/all-defs/Time-UE-StayedInCell.c create mode 100755 asn1c_defs/all-defs/Time-UE-StayedInCell.h create mode 100644 asn1c_defs/all-defs/Time-UE-StayedInCell.o create mode 100755 asn1c_defs/all-defs/TimeStamp.c create mode 100755 asn1c_defs/all-defs/TimeStamp.h create mode 100644 asn1c_defs/all-defs/TimeStamp.o create mode 100755 asn1c_defs/all-defs/TimeToWait.c create mode 100755 asn1c_defs/all-defs/TimeToWait.h create mode 100644 asn1c_defs/all-defs/TimeToWait.o create mode 100755 asn1c_defs/all-defs/TraceActivation.c create mode 100755 asn1c_defs/all-defs/TraceActivation.h create mode 100644 asn1c_defs/all-defs/TraceActivation.o create mode 100755 asn1c_defs/all-defs/TraceCollectionEntityIPAddress.c create mode 100755 asn1c_defs/all-defs/TraceCollectionEntityIPAddress.h create mode 100644 asn1c_defs/all-defs/TraceCollectionEntityIPAddress.o create mode 100755 asn1c_defs/all-defs/TraceDepth.c create mode 100755 asn1c_defs/all-defs/TraceDepth.h create mode 100644 asn1c_defs/all-defs/TraceDepth.o create mode 100755 asn1c_defs/all-defs/Transmission-Bandwidth.c create mode 100755 asn1c_defs/all-defs/Transmission-Bandwidth.h create mode 100644 asn1c_defs/all-defs/Transmission-Bandwidth.o create mode 100755 asn1c_defs/all-defs/TransportLayerAddress.c create mode 100755 asn1c_defs/all-defs/TransportLayerAddress.h create mode 100644 asn1c_defs/all-defs/TransportLayerAddress.o create mode 100755 asn1c_defs/all-defs/TriggeringMessage.c create mode 100755 asn1c_defs/all-defs/TriggeringMessage.h create mode 100644 asn1c_defs/all-defs/TriggeringMessage.o create mode 100755 asn1c_defs/all-defs/TunnelInformation.c create mode 100755 asn1c_defs/all-defs/TunnelInformation.h create mode 100644 asn1c_defs/all-defs/TunnelInformation.o create mode 100755 asn1c_defs/all-defs/TypeOfError.c create mode 100755 asn1c_defs/all-defs/TypeOfError.h create mode 100644 asn1c_defs/all-defs/TypeOfError.o create mode 100755 asn1c_defs/all-defs/TypeOfMessage.c create mode 100755 asn1c_defs/all-defs/TypeOfMessage.h create mode 100644 asn1c_defs/all-defs/TypeOfMessage.o create mode 100755 asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.c create mode 100755 asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.h create mode 100644 asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.o create mode 100755 asn1c_defs/all-defs/UE-ContextInformation.c create mode 100755 asn1c_defs/all-defs/UE-ContextInformation.h create mode 100644 asn1c_defs/all-defs/UE-ContextInformation.o create mode 100755 asn1c_defs/all-defs/UE-ContextInformationRetrieve.c create mode 100755 asn1c_defs/all-defs/UE-ContextInformationRetrieve.h create mode 100644 asn1c_defs/all-defs/UE-ContextInformationRetrieve.o create mode 100755 asn1c_defs/all-defs/UE-ContextInformationSeNBModReq.c create mode 100755 asn1c_defs/all-defs/UE-ContextInformationSeNBModReq.h create mode 100644 asn1c_defs/all-defs/UE-ContextInformationSeNBModReq.o create mode 100755 asn1c_defs/all-defs/UE-ContextKeptIndicator.c create mode 100755 asn1c_defs/all-defs/UE-ContextKeptIndicator.h create mode 100644 asn1c_defs/all-defs/UE-ContextKeptIndicator.o create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.c create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.h create mode 100644 asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.o create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.c create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.h create mode 100644 asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.o create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtWT.c create mode 100755 asn1c_defs/all-defs/UE-ContextReferenceAtWT.h create mode 100644 asn1c_defs/all-defs/UE-ContextReferenceAtWT.o create mode 100755 asn1c_defs/all-defs/UE-HistoryInformation.c create mode 100755 asn1c_defs/all-defs/UE-HistoryInformation.h create mode 100644 asn1c_defs/all-defs/UE-HistoryInformation.o create mode 100755 asn1c_defs/all-defs/UE-HistoryInformationFromTheUE.c create mode 100755 asn1c_defs/all-defs/UE-HistoryInformationFromTheUE.h create mode 100644 asn1c_defs/all-defs/UE-HistoryInformationFromTheUE.o create mode 100755 asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.c create mode 100755 asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.h create mode 100644 asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.o create mode 100755 asn1c_defs/all-defs/UE-RLF-Report-Container.c create mode 100755 asn1c_defs/all-defs/UE-RLF-Report-Container.h create mode 100644 asn1c_defs/all-defs/UE-RLF-Report-Container.o create mode 100755 asn1c_defs/all-defs/UE-S1AP-ID.c create mode 100755 asn1c_defs/all-defs/UE-S1AP-ID.h create mode 100644 asn1c_defs/all-defs/UE-S1AP-ID.o create mode 100755 asn1c_defs/all-defs/UE-X2AP-ID-Extension.c create mode 100755 asn1c_defs/all-defs/UE-X2AP-ID-Extension.h create mode 100644 asn1c_defs/all-defs/UE-X2AP-ID-Extension.o create mode 100755 asn1c_defs/all-defs/UE-X2AP-ID.c create mode 100755 asn1c_defs/all-defs/UE-X2AP-ID.h create mode 100644 asn1c_defs/all-defs/UE-X2AP-ID.o create mode 100755 asn1c_defs/all-defs/UEAggregateMaximumBitRate.c create mode 100755 asn1c_defs/all-defs/UEAggregateMaximumBitRate.h create mode 100644 asn1c_defs/all-defs/UEAggregateMaximumBitRate.o create mode 100755 asn1c_defs/all-defs/UEAppLayerMeasConfig.c create mode 100755 asn1c_defs/all-defs/UEAppLayerMeasConfig.h create mode 100644 asn1c_defs/all-defs/UEAppLayerMeasConfig.o create mode 100755 asn1c_defs/all-defs/UEContextRelease.c create mode 100755 asn1c_defs/all-defs/UEContextRelease.h create mode 100644 asn1c_defs/all-defs/UEContextRelease.o create mode 100755 asn1c_defs/all-defs/UEID.c create mode 100755 asn1c_defs/all-defs/UEID.h create mode 100644 asn1c_defs/all-defs/UEID.o create mode 100755 asn1c_defs/all-defs/UENRMeasurement.c create mode 100755 asn1c_defs/all-defs/UENRMeasurement.h create mode 100644 asn1c_defs/all-defs/UENRMeasurement.o create mode 100755 asn1c_defs/all-defs/UESecurityCapabilities.c create mode 100755 asn1c_defs/all-defs/UESecurityCapabilities.h create mode 100644 asn1c_defs/all-defs/UESecurityCapabilities.o create mode 100755 asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.c create mode 100755 asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.h create mode 100644 asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.o create mode 100755 asn1c_defs/all-defs/UEsToBeResetList-Item.c create mode 100755 asn1c_defs/all-defs/UEsToBeResetList-Item.h create mode 100644 asn1c_defs/all-defs/UEsToBeResetList-Item.o create mode 100755 asn1c_defs/all-defs/UEsToBeResetList.c create mode 100755 asn1c_defs/all-defs/UEsToBeResetList.h create mode 100644 asn1c_defs/all-defs/UEsToBeResetList.o create mode 100755 asn1c_defs/all-defs/UL-GBR-PRB-usage.c create mode 100755 asn1c_defs/all-defs/UL-GBR-PRB-usage.h create mode 100644 asn1c_defs/all-defs/UL-GBR-PRB-usage.o create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndication.c create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndication.h create mode 100644 asn1c_defs/all-defs/UL-HighInterferenceIndication.o create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo-Item.c create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo-Item.h create mode 100644 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo-Item.o create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.c create mode 100755 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.h create mode 100644 asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.o create mode 100755 asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.c create mode 100755 asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.h create mode 100644 asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.o create mode 100755 asn1c_defs/all-defs/UL-InterferenceOverloadIndication.c create mode 100755 asn1c_defs/all-defs/UL-InterferenceOverloadIndication.h create mode 100644 asn1c_defs/all-defs/UL-InterferenceOverloadIndication.o create mode 100755 asn1c_defs/all-defs/UL-Total-PRB-usage.c create mode 100755 asn1c_defs/all-defs/UL-Total-PRB-usage.h create mode 100644 asn1c_defs/all-defs/UL-Total-PRB-usage.o create mode 100755 asn1c_defs/all-defs/UL-UE-Configuration.c create mode 100755 asn1c_defs/all-defs/UL-UE-Configuration.h create mode 100644 asn1c_defs/all-defs/UL-UE-Configuration.o create mode 100755 asn1c_defs/all-defs/UL-non-GBR-PRB-usage.c create mode 100755 asn1c_defs/all-defs/UL-non-GBR-PRB-usage.h create mode 100644 asn1c_defs/all-defs/UL-non-GBR-PRB-usage.o create mode 100755 asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.c create mode 100755 asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.h create mode 100644 asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.o create mode 100755 asn1c_defs/all-defs/ULConfiguration.c create mode 100755 asn1c_defs/all-defs/ULConfiguration.h create mode 100644 asn1c_defs/all-defs/ULConfiguration.o create mode 100755 asn1c_defs/all-defs/ULOnlySharing.c create mode 100755 asn1c_defs/all-defs/ULOnlySharing.h create mode 100644 asn1c_defs/all-defs/ULOnlySharing.o create mode 100755 asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.c create mode 100755 asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.h create mode 100644 asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.o create mode 100755 asn1c_defs/all-defs/ULResourcesULandDLSharing.c create mode 100755 asn1c_defs/all-defs/ULResourcesULandDLSharing.h create mode 100644 asn1c_defs/all-defs/ULResourcesULandDLSharing.o create mode 100755 asn1c_defs/all-defs/ULandDLSharing.c create mode 100755 asn1c_defs/all-defs/ULandDLSharing.h create mode 100644 asn1c_defs/all-defs/ULandDLSharing.o create mode 100755 asn1c_defs/all-defs/UnsuccessfulOutcome.c create mode 100755 asn1c_defs/all-defs/UnsuccessfulOutcome.h create mode 100644 asn1c_defs/all-defs/UnsuccessfulOutcome.o create mode 100755 asn1c_defs/all-defs/UsableABSInformation.c create mode 100755 asn1c_defs/all-defs/UsableABSInformation.h create mode 100644 asn1c_defs/all-defs/UsableABSInformation.o create mode 100755 asn1c_defs/all-defs/UsableABSInformationFDD.c create mode 100755 asn1c_defs/all-defs/UsableABSInformationFDD.h create mode 100644 asn1c_defs/all-defs/UsableABSInformationFDD.o create mode 100755 asn1c_defs/all-defs/UsableABSInformationTDD.c create mode 100755 asn1c_defs/all-defs/UsableABSInformationTDD.h create mode 100644 asn1c_defs/all-defs/UsableABSInformationTDD.o create mode 100755 asn1c_defs/all-defs/UserPlaneTrafficActivityReport.c create mode 100755 asn1c_defs/all-defs/UserPlaneTrafficActivityReport.h create mode 100644 asn1c_defs/all-defs/UserPlaneTrafficActivityReport.o create mode 100755 asn1c_defs/all-defs/V2XServicesAuthorized.c create mode 100755 asn1c_defs/all-defs/V2XServicesAuthorized.h create mode 100644 asn1c_defs/all-defs/V2XServicesAuthorized.o create mode 100755 asn1c_defs/all-defs/VehicleUE.c create mode 100755 asn1c_defs/all-defs/VehicleUE.h create mode 100644 asn1c_defs/all-defs/VehicleUE.o create mode 100755 asn1c_defs/all-defs/WLANMeasConfig.c create mode 100755 asn1c_defs/all-defs/WLANMeasConfig.h create mode 100644 asn1c_defs/all-defs/WLANMeasConfig.o create mode 100755 asn1c_defs/all-defs/WLANMeasConfigNameList.c create mode 100755 asn1c_defs/all-defs/WLANMeasConfigNameList.h create mode 100644 asn1c_defs/all-defs/WLANMeasConfigNameList.o create mode 100755 asn1c_defs/all-defs/WLANMeasurementConfiguration.c create mode 100755 asn1c_defs/all-defs/WLANMeasurementConfiguration.h create mode 100644 asn1c_defs/all-defs/WLANMeasurementConfiguration.o create mode 100755 asn1c_defs/all-defs/WLANName.c create mode 100755 asn1c_defs/all-defs/WLANName.h create mode 100644 asn1c_defs/all-defs/WLANName.o create mode 100755 asn1c_defs/all-defs/WT-UE-XwAP-ID.c create mode 100755 asn1c_defs/all-defs/WT-UE-XwAP-ID.h create mode 100644 asn1c_defs/all-defs/WT-UE-XwAP-ID.o create mode 100755 asn1c_defs/all-defs/WTID-Long-Type2.c create mode 100755 asn1c_defs/all-defs/WTID-Long-Type2.h create mode 100644 asn1c_defs/all-defs/WTID-Long-Type2.o create mode 100755 asn1c_defs/all-defs/WTID-Type1.c create mode 100755 asn1c_defs/all-defs/WTID-Type1.h create mode 100644 asn1c_defs/all-defs/WTID-Type1.o create mode 100755 asn1c_defs/all-defs/WTID.c create mode 100755 asn1c_defs/all-defs/WTID.h create mode 100644 asn1c_defs/all-defs/WTID.o create mode 100755 asn1c_defs/all-defs/WidebandCQI.c create mode 100755 asn1c_defs/all-defs/WidebandCQI.h create mode 100644 asn1c_defs/all-defs/WidebandCQI.o create mode 100755 asn1c_defs/all-defs/WidebandCQICodeword1.c create mode 100755 asn1c_defs/all-defs/WidebandCQICodeword1.h create mode 100644 asn1c_defs/all-defs/WidebandCQICodeword1.o create mode 100755 asn1c_defs/all-defs/X2AP-Message.c create mode 100755 asn1c_defs/all-defs/X2AP-Message.h create mode 100644 asn1c_defs/all-defs/X2AP-Message.o create mode 100755 asn1c_defs/all-defs/X2AP-PDU.c create mode 100755 asn1c_defs/all-defs/X2AP-PDU.h create mode 100644 asn1c_defs/all-defs/X2AP-PDU.o create mode 100755 asn1c_defs/all-defs/X2APMessageTransfer.c create mode 100755 asn1c_defs/all-defs/X2APMessageTransfer.h create mode 100644 asn1c_defs/all-defs/X2APMessageTransfer.o create mode 100755 asn1c_defs/all-defs/X2BenefitValue.c create mode 100755 asn1c_defs/all-defs/X2BenefitValue.h create mode 100644 asn1c_defs/all-defs/X2BenefitValue.o create mode 100755 asn1c_defs/all-defs/X2InitiatingMessage.c create mode 100755 asn1c_defs/all-defs/X2InitiatingMessage.h create mode 100644 asn1c_defs/all-defs/X2InitiatingMessage.o create mode 100755 asn1c_defs/all-defs/X2Release.c create mode 100755 asn1c_defs/all-defs/X2Release.h create mode 100644 asn1c_defs/all-defs/X2Release.o create mode 100755 asn1c_defs/all-defs/X2RemovalFailure.c create mode 100755 asn1c_defs/all-defs/X2RemovalFailure.h create mode 100644 asn1c_defs/all-defs/X2RemovalFailure.o create mode 100755 asn1c_defs/all-defs/X2RemovalRequest.c create mode 100755 asn1c_defs/all-defs/X2RemovalRequest.h create mode 100644 asn1c_defs/all-defs/X2RemovalRequest.o create mode 100755 asn1c_defs/all-defs/X2RemovalResponse.c create mode 100755 asn1c_defs/all-defs/X2RemovalResponse.h create mode 100644 asn1c_defs/all-defs/X2RemovalResponse.o create mode 100755 asn1c_defs/all-defs/X2SetupFailure.c create mode 100755 asn1c_defs/all-defs/X2SetupFailure.h create mode 100644 asn1c_defs/all-defs/X2SetupFailure.o create mode 100755 asn1c_defs/all-defs/X2SetupRequest.c create mode 100755 asn1c_defs/all-defs/X2SetupRequest.h create mode 100644 asn1c_defs/all-defs/X2SetupRequest.o create mode 100755 asn1c_defs/all-defs/X2SetupResponse.c create mode 100755 asn1c_defs/all-defs/X2SetupResponse.h create mode 100644 asn1c_defs/all-defs/X2SetupResponse.o create mode 100755 asn1c_defs/all-defs/X2SuccessfulOutcome.c create mode 100755 asn1c_defs/all-defs/X2SuccessfulOutcome.h create mode 100644 asn1c_defs/all-defs/X2SuccessfulOutcome.o create mode 100755 asn1c_defs/all-defs/X2UnsuccessfulOutcome.c create mode 100755 asn1c_defs/all-defs/X2UnsuccessfulOutcome.h create mode 100644 asn1c_defs/all-defs/X2UnsuccessfulOutcome.o create mode 100755 asn1c_defs/all-defs/asn_SEQUENCE_OF.c create mode 100755 asn1c_defs/all-defs/asn_SEQUENCE_OF.h create mode 100644 asn1c_defs/all-defs/asn_SEQUENCE_OF.o create mode 100755 asn1c_defs/all-defs/asn_SET_OF.c create mode 100755 asn1c_defs/all-defs/asn_SET_OF.h create mode 100644 asn1c_defs/all-defs/asn_SET_OF.o create mode 100755 asn1c_defs/all-defs/asn_application.c create mode 100755 asn1c_defs/all-defs/asn_application.h create mode 100644 asn1c_defs/all-defs/asn_application.o create mode 100755 asn1c_defs/all-defs/asn_bit_data.c create mode 100755 asn1c_defs/all-defs/asn_bit_data.h create mode 100644 asn1c_defs/all-defs/asn_bit_data.o create mode 100755 asn1c_defs/all-defs/asn_codecs.h create mode 100755 asn1c_defs/all-defs/asn_codecs_prim.c create mode 100755 asn1c_defs/all-defs/asn_codecs_prim.h create mode 100644 asn1c_defs/all-defs/asn_codecs_prim.o create mode 100755 asn1c_defs/all-defs/asn_constant.h create mode 100755 asn1c_defs/all-defs/asn_internal.c create mode 100755 asn1c_defs/all-defs/asn_internal.h create mode 100644 asn1c_defs/all-defs/asn_internal.o create mode 100755 asn1c_defs/all-defs/asn_ioc.h create mode 100755 asn1c_defs/all-defs/asn_random_fill.c create mode 100755 asn1c_defs/all-defs/asn_random_fill.h create mode 100644 asn1c_defs/all-defs/asn_random_fill.o create mode 100755 asn1c_defs/all-defs/asn_system.h create mode 100755 asn1c_defs/all-defs/ber_decoder.c create mode 100755 asn1c_defs/all-defs/ber_decoder.h create mode 100644 asn1c_defs/all-defs/ber_decoder.o create mode 100755 asn1c_defs/all-defs/ber_tlv_length.c create mode 100755 asn1c_defs/all-defs/ber_tlv_length.h create mode 100644 asn1c_defs/all-defs/ber_tlv_length.o create mode 100755 asn1c_defs/all-defs/ber_tlv_tag.c create mode 100755 asn1c_defs/all-defs/ber_tlv_tag.h create mode 100644 asn1c_defs/all-defs/ber_tlv_tag.o create mode 100755 asn1c_defs/all-defs/constr_CHOICE.c create mode 100755 asn1c_defs/all-defs/constr_CHOICE.h create mode 100644 asn1c_defs/all-defs/constr_CHOICE.o create mode 100755 asn1c_defs/all-defs/constr_SEQUENCE.c create mode 100755 asn1c_defs/all-defs/constr_SEQUENCE.h create mode 100644 asn1c_defs/all-defs/constr_SEQUENCE.o create mode 100755 asn1c_defs/all-defs/constr_SEQUENCE_OF.c create mode 100755 asn1c_defs/all-defs/constr_SEQUENCE_OF.h create mode 100644 asn1c_defs/all-defs/constr_SEQUENCE_OF.o create mode 100755 asn1c_defs/all-defs/constr_SET_OF.c create mode 100755 asn1c_defs/all-defs/constr_SET_OF.h create mode 100644 asn1c_defs/all-defs/constr_SET_OF.o create mode 100755 asn1c_defs/all-defs/constr_TYPE.c create mode 100755 asn1c_defs/all-defs/constr_TYPE.h create mode 100644 asn1c_defs/all-defs/constr_TYPE.o create mode 100755 asn1c_defs/all-defs/constraints.c create mode 100755 asn1c_defs/all-defs/constraints.h create mode 100644 asn1c_defs/all-defs/constraints.o create mode 100755 asn1c_defs/all-defs/converter-example.mk create mode 100755 asn1c_defs/all-defs/der_encoder.c create mode 100755 asn1c_defs/all-defs/der_encoder.h create mode 100644 asn1c_defs/all-defs/der_encoder.o create mode 100755 asn1c_defs/all-defs/per_decoder.c create mode 100755 asn1c_defs/all-defs/per_decoder.h create mode 100644 asn1c_defs/all-defs/per_decoder.o create mode 100755 asn1c_defs/all-defs/per_encoder.c create mode 100755 asn1c_defs/all-defs/per_encoder.h create mode 100644 asn1c_defs/all-defs/per_encoder.o create mode 100755 asn1c_defs/all-defs/per_opentype.c create mode 100755 asn1c_defs/all-defs/per_opentype.h create mode 100644 asn1c_defs/all-defs/per_opentype.o create mode 100755 asn1c_defs/all-defs/per_support.c create mode 100755 asn1c_defs/all-defs/per_support.h create mode 100644 asn1c_defs/all-defs/per_support.o create mode 100755 asn1c_defs/all-defs/xer_decoder.c create mode 100755 asn1c_defs/all-defs/xer_decoder.h create mode 100644 asn1c_defs/all-defs/xer_decoder.o create mode 100755 asn1c_defs/all-defs/xer_encoder.c create mode 100755 asn1c_defs/all-defs/xer_encoder.h create mode 100644 asn1c_defs/all-defs/xer_encoder.o create mode 100755 asn1c_defs/all-defs/xer_support.c create mode 100755 asn1c_defs/all-defs/xer_support.h create mode 100644 asn1c_defs/all-defs/xer_support.o create mode 100755 container-tag.yaml create mode 100755 src/E2AP-c/e2ap_indication.cc create mode 100755 src/E2AP-c/e2ap_indication.hpp create mode 100755 src/E2AP-c/subscription/generic_helpers.hpp create mode 100755 src/E2AP-c/subscription/response_helper.hpp create mode 100755 src/E2AP-c/subscription/subscription_handler.cc create mode 100755 src/E2AP-c/subscription/subscription_handler.hpp create mode 100755 src/E2AP-c/subscription/subscription_helper.hpp create mode 100755 src/E2AP-c/subscription/subscription_request.cc create mode 100755 src/E2AP-c/subscription/subscription_request.hpp create mode 100755 src/E2AP-c/subscription/subscription_response.cc create mode 100755 src/E2AP-c/subscription/subscription_response.hpp create mode 100755 src/E2SM/e2sm.cc create mode 100755 src/E2SM/e2sm.hpp create mode 100755 src/E2SM/e2sm_helpers.hpp create mode 100755 src/KPI-Message-Handler/KPIMessageHandler.cc create mode 100755 src/KPI-Message-Handler/KPIMessageHandler.h create mode 100755 src/KPI-Monitoring/cu_cp_resource_status_report.cc create mode 100755 src/KPI-Monitoring/cu_cp_resource_status_report.hpp create mode 100755 src/KPI-Monitoring/cu_cp_resource_status_report_helper.hpp create mode 100755 src/KPI-Monitoring/kpi_db.cc create mode 100755 src/KPI-Monitoring/kpi_db.hpp create mode 100755 src/Makefile create mode 100755 src/README.md create mode 100755 src/get_config.cc create mode 100755 src/kpi-xapp.cc create mode 100755 src/kpi-xapp.hpp create mode 100755 src/message_processor_class.cc create mode 100755 src/message_processor_class.hpp create mode 100755 src/run_xapp.sh create mode 100755 src/xapp_utils.cc create mode 100755 src/xapp_utils.hpp diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..ca359e4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,95 @@ +ARG STAGE_DIR=/tmp/kpi-xapp + +#================================================================================== +FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go:1-u16.04-nng1.1.1 as ricbuild + +# to override repo base, pass in repo argument when running docker build: +# docker build --build-arg REPOBASE=http://abc.def.org . .... +ARG REPOBASE=https://gerrit.oran-osc.org/r +ARG STAGE_DIR + +# Install necessary packages +WORKDIR ${STAGE_DIR} +RUN apt-get update \ + && apt-get install -y \ + libcurl4-openssl-dev \ + libcurl3 \ + cmake \ + git \ + build-essential \ + automake \ + autoconf-archive \ + autoconf \ + pkg-config \ + gawk \ + libtool \ + wget \ + zlib1g-dev \ + libffi-dev \ + && apt-get clean + +# Install mdclog using debian package hosted at packagecloud.io +ARG MDC_VER=0.0.3-1 +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog_${MDC_VER}_amd64.deb/download.deb +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog-dev_${MDC_VER}_amd64.deb/download.deb +RUN dpkg -i mdclog_${MDC_VER}_amd64.deb +RUN dpkg -i mdclog-dev_${MDC_VER}_amd64.deb + +# Install RMR using debian package hosted at packagecloud.io +ARG RMR_VER=1.3.0 +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_${RMR_VER}_amd64.deb/download.deb +RUN dpkg -i rmr_${RMR_VER}_amd64.deb +RUN dpkg -i rmr-dev_${RMR_VER}_amd64.deb + +##----------------------------------- +# Now install the program +#------------------------------------ +COPY ./ ${STAGE_DIR} +RUN export CPATH=$CPATH:/usr/local/include && \ + cd src && \ + make clean && \ + make install + +#--------------------------------------------- +# Build the final version +#FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go:1-u16.04-nng1.1.1 + +FROM ubuntu:16.04 + +ARG STAGE_DIR + +# Install Hiredis Library +RUN cd /tmp/ +RUN git clone https://github.com/redis/hiredis.git +RUN cd hiredis +RUN make all + +# copy just the needed libraries install it into the final image +RUN cd ${STAGE_DIR}/src +COPY --from=ricbuild ${STAGE_DIR}/*.deb /tmp/ +COPY --from=ricbuild /usr/local/lib/libnng* /usr/local/lib/ +RUN dpkg -i /tmp/*.deb +RUN apt-get update && \ + apt-get install -y libcurl3 && \ + apt-get clean +COPY --from=ricbuild /etc/xapp/* /etc/xapp/ +COPY --from=ricbuild /usr/local/bin/kpi-xapp /usr/local/bin/kpi-xapp +#COPY --from=ricbuild /usr/local/bin/e2e-test-client /usr/local/bin/e2e-test-client +#COPY --from=ricbuild /usr/local/bin/mock-e2term-server /usr/local/bin/mock-e2term-server +#COPY --from=ricbuild /usr/local/bin/e2e-perf-client /usr/local/bin/e2e-perf-client +#COPY --from=ricbuild /usr/local/bin/e2e-perf-server /usr/local/bin/e2e-perf-server +#COPY --from=ricbuild /usr/local/bin/mock-a1-server /usr/local/bin/mock-a1-server + + +RUN ldconfig + +ENV RMR_RTG_SVC="127.0.0.1" \ + NAME=KPI_XAPP \ + PORT=tcp:4560 \ + THREADS=1 + +ARG gNodeB=NYC123,ABC345,CDR331 +ARG THREADS=1 + +CMD ./kpi-xapp -g $gNodeB -t $THREADS diff --git a/README.md b/README.md new file mode 100755 index 0000000..66f71f2 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +#================================================================================== + +# Copyright (c) 2018-2019 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#================================================================================== + +This repo contains code related to the KPI Monitoring Xapp. +Main source code for the xapp is under src/ + +Look at Dockerfile for building instructions + + +NOTE : In order to compile code as a stand alone process, following pre-requisites are required +-- For compilation, the nanomsg, nng and ric messaging libraries, as well as ric messaging header must be installed in standard paths (or if non-default, then visible in search paths) + +-- mdclog library and headers must be installed and available in search path + +-- hiredis library and headers must be installed and available in search path + +The run_xapp.sh script provides a convenient way to set the various parameters and invoke the process (if not running in a docker container) diff --git a/asn1c_defs/all-defs/ABS-Status.c b/asn1c_defs/all-defs/ABS-Status.c new file mode 100755 index 0000000..8b234d1 --- /dev/null +++ b/asn1c_defs/all-defs/ABS-Status.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ABS-Status.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_ABS_Status_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABS_Status, dL_ABS_status), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DL_ABS_status, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-ABS-status" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABS_Status, usableABSInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_UsableABSInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "usableABSInformation" + }, + { ATF_POINTER, 1, offsetof(struct ABS_Status, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P106, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ABS_Status_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ABS_Status_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABS_Status_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dL-ABS-status */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* usableABSInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ABS_Status_specs_1 = { + sizeof(struct ABS_Status), + offsetof(struct ABS_Status, _asn_ctx), + asn_MAP_ABS_Status_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ABS_Status_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABS_Status = { + "ABS-Status", + "ABS-Status", + &asn_OP_SEQUENCE, + asn_DEF_ABS_Status_tags_1, + sizeof(asn_DEF_ABS_Status_tags_1) + /sizeof(asn_DEF_ABS_Status_tags_1[0]), /* 1 */ + asn_DEF_ABS_Status_tags_1, /* Same as above */ + sizeof(asn_DEF_ABS_Status_tags_1) + /sizeof(asn_DEF_ABS_Status_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABS_Status_1, + 3, /* Elements count */ + &asn_SPC_ABS_Status_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ABS-Status.h b/asn1c_defs/all-defs/ABS-Status.h new file mode 100755 index 0000000..e9f62ce --- /dev/null +++ b/asn1c_defs/all-defs/ABS-Status.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ABS_Status_H_ +#define _ABS_Status_H_ + + +#include + +/* Including external dependencies */ +#include "DL-ABS-status.h" +#include "UsableABSInformation.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ABS-Status */ +typedef struct ABS_Status { + DL_ABS_status_t dL_ABS_status; + UsableABSInformation_t usableABSInformation; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABS_Status_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ABS_Status; + +#ifdef __cplusplus +} +#endif + +#endif /* _ABS_Status_H_ */ +#include diff --git a/asn1c_defs/all-defs/ABS-Status.o b/asn1c_defs/all-defs/ABS-Status.o new file mode 100644 index 0000000000000000000000000000000000000000..c027466ed871f66e1e8d545c8f6c38f556e65402 GIT binary patch literal 3008 zcmb_dOK;Oa5Z+)42Z}^iaj78UrL<|lCOMX+1OFywL*#*0Vu;;WdM_KN z5bP-@yBGKl+^0?4qK;-tp#f#*)- zFr2WLAYgtX@>d3*H3q7Ss>A$^Su;nR;c8!Y^v&z5TKE9ZDfYfw#{3cZq>(xMGy>lr zfqxr;{~Up{!6cg^NFslsy6D3=^3!SMt6($nU2Sz~HH(@fWPOu%R{;n5RbU8Cv>0Rns1D1?lCsuJY zZuO^aC5{v%4Lg2m=8o&R#kPglC2hOI!G zQL<@j)hCXADBJaWfFZpn$5a)0!-+ir0cUZU z0OF>ho{2vTINme5Uv!_=0L!YMH$PSS4k>M(1jC;K&#Ld4Uk=4%eT3}#K44g%|HDBQ z>jo&H!YI#V6gOdEJk>!AY0t#t`EWAr&@qVbz#@$M?b{nNM%x$lEZ5HloHQK2KU39-!uL1=`4eX9se6w(Akjy literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ABSInformation.c b/asn1c_defs/all-defs/ABSInformation.c new file mode 100755 index 0000000..a3e9e81 --- /dev/null +++ b/asn1c_defs/all-defs/ABSInformation.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ABSInformation.h" + +#include "ABSInformationFDD.h" +#include "ABSInformationTDD.h" +static asn_per_constraints_t asn_PER_type_ABSInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ABSInformation_1[] = { + { ATF_POINTER, 0, offsetof(struct ABSInformation, choice.fdd), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ABSInformationFDD, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fdd" + }, + { ATF_POINTER, 0, offsetof(struct ABSInformation, choice.tdd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ABSInformationTDD, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tdd" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformation, choice.abs_inactive), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "abs-inactive" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ABSInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tdd */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* abs-inactive */ +}; +static asn_CHOICE_specifics_t asn_SPC_ABSInformation_specs_1 = { + sizeof(struct ABSInformation), + offsetof(struct ABSInformation, _asn_ctx), + offsetof(struct ABSInformation, present), + sizeof(((struct ABSInformation *)0)->present), + asn_MAP_ABSInformation_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ABSInformation = { + "ABSInformation", + "ABSInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ABSInformation_constr_1, CHOICE_constraint }, + asn_MBR_ABSInformation_1, + 3, /* Elements count */ + &asn_SPC_ABSInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ABSInformation.h b/asn1c_defs/all-defs/ABSInformation.h new file mode 100755 index 0000000..5166e64 --- /dev/null +++ b/asn1c_defs/all-defs/ABSInformation.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ABSInformation_H_ +#define _ABSInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ABSInformation_PR { + ABSInformation_PR_NOTHING, /* No components present */ + ABSInformation_PR_fdd, + ABSInformation_PR_tdd, + ABSInformation_PR_abs_inactive + /* Extensions may appear below */ + +} ABSInformation_PR; + +/* Forward declarations */ +struct ABSInformationFDD; +struct ABSInformationTDD; + +/* ABSInformation */ +typedef struct ABSInformation { + ABSInformation_PR present; + union ABSInformation_u { + struct ABSInformationFDD *fdd; + struct ABSInformationTDD *tdd; + NULL_t abs_inactive; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABSInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ABSInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _ABSInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/ABSInformation.o b/asn1c_defs/all-defs/ABSInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..656775172e0e41bcb99285626440770f1d498fcb GIT binary patch literal 2960 zcmcIl%}x_h6uxCZ@E1`NP2AMPL`>|YB_uSOm_jK(2B862muVTGkH^^b{xr=EIFUarVxOj`XVw;jt#H5P#mz8KTbr9Irq8QKxn|%s;^r&= zwDfcHIcMxi)@p>}F=tHmjH#!Fnf+po&#PZ4it%3h5B*C2qQ?nbXJb%E(rN2!^X551 zI@Utg1~%r<6Ej~fKhBP?*AIgDAUowwy7^q;KwE`3g`%6EbPEp?9_guq8iVR*-@SBt zM$qlT=^aVO;iSygp$h%PQ9~!_8^mOc{;M1@rTHP%W_yGe2mXxeUfLr2p&Wx3IwX)$ z7sXWh4nlmFH)!H7n`Q?)dRIE82JfjIGv>9!?$4y0;#jMeZAY}{HzLWKuG;R{+n(@u**{yE zv;4Z;O0`yASXnGrRHAq=UNeZb|76}-nXh2dFVUs|HYVZpI6PaWO|h|SAhfftOp z5*iZl<{e(pY{HK*hN>Do?sS{&4c6!fcU$Bm1Ms*DB1a6sWBj9R|1kKQjG@L6NFwp# zTQK-rNr-OS29N%4vrpy@_Z8-}a-+jm?A4V^2PV-wf@1%5tlUj6_LN(XBIWLfFc4XA z3uOAco^}ISrn?(9Jdip?xs9;Z^63P)K^Xh){PKD(ioM25b0q(S?@|`#ggr5(WEuwM z<>@f@2!S)t0GuT>B(m>`rBqe`>j$K9_U!x*R-Bl2{YT^gHz5J6CI7y~OTOq5`GM{F zUx|aflfcAOS=OSS5WuTm5<)aDXp!@AW^kV5p55WN71I6cZ}3mfe8-WJMPtY_!u{$O z`BxxyP#=_CzeXJDb2&nZd}1Om1naD2Zname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 40)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_measurement_subset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 40)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_abs_pattern_info_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_measurement_subset_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3[] = { + { 0, 3, "one" }, + { 1, 3, "two" }, + { 2, 4, "four" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3[] = { + 2, /* four(2) */ + 0, /* one(0) */ + 1 /* two(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 = { + asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3 = { + "numberOfCellSpecificAntennaPorts", + "numberOfCellSpecificAntennaPorts", + &asn_OP_NativeEnumerated, + asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]) - 1, /* 1 */ + asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, /* Same as above */ + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ABSInformationFDD_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, abs_pattern_info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_abs_pattern_info_constr_2, memb_abs_pattern_info_constraint_1 }, + 0, 0, /* No default value */ + "abs-pattern-info" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, numberOfCellSpecificAntennaPorts), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_numberOfCellSpecificAntennaPorts_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "numberOfCellSpecificAntennaPorts" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, measurement_subset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_measurement_subset_constr_8, memb_measurement_subset_constraint_1 }, + 0, 0, /* No default value */ + "measurement-subset" + }, + { ATF_POINTER, 1, offsetof(struct ABSInformationFDD, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P104, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ABSInformationFDD_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_ABSInformationFDD_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABSInformationFDD_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* abs-pattern-info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numberOfCellSpecificAntennaPorts */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* measurement-subset */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_specs_1 = { + sizeof(struct ABSInformationFDD), + offsetof(struct ABSInformationFDD, _asn_ctx), + asn_MAP_ABSInformationFDD_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ABSInformationFDD_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD = { + "ABSInformationFDD", + "ABSInformationFDD", + &asn_OP_SEQUENCE, + asn_DEF_ABSInformationFDD_tags_1, + sizeof(asn_DEF_ABSInformationFDD_tags_1) + /sizeof(asn_DEF_ABSInformationFDD_tags_1[0]), /* 1 */ + asn_DEF_ABSInformationFDD_tags_1, /* Same as above */ + sizeof(asn_DEF_ABSInformationFDD_tags_1) + /sizeof(asn_DEF_ABSInformationFDD_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABSInformationFDD_1, + 4, /* Elements count */ + &asn_SPC_ABSInformationFDD_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ABSInformationFDD.h b/asn1c_defs/all-defs/ABSInformationFDD.h new file mode 100755 index 0000000..0200a9a --- /dev/null +++ b/asn1c_defs/all-defs/ABSInformationFDD.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ABSInformationFDD_H_ +#define _ABSInformationFDD_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ABSInformationFDD__numberOfCellSpecificAntennaPorts { + ABSInformationFDD__numberOfCellSpecificAntennaPorts_one = 0, + ABSInformationFDD__numberOfCellSpecificAntennaPorts_two = 1, + ABSInformationFDD__numberOfCellSpecificAntennaPorts_four = 2 + /* + * Enumeration is extensible + */ +} e_ABSInformationFDD__numberOfCellSpecificAntennaPorts; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ABSInformationFDD */ +typedef struct ABSInformationFDD { + BIT_STRING_t abs_pattern_info; + long numberOfCellSpecificAntennaPorts; + BIT_STRING_t measurement_subset; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABSInformationFDD_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD; +extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_specs_1; +extern asn_TYPE_member_t asn_MBR_ABSInformationFDD_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ABSInformationFDD_H_ */ +#include diff --git a/asn1c_defs/all-defs/ABSInformationFDD.o b/asn1c_defs/all-defs/ABSInformationFDD.o new file mode 100644 index 0000000000000000000000000000000000000000..ebff317543a4191d89ee842918e6c181ec99ba23 GIT binary patch literal 6360 zcmcIpPiz!r6#vR1trXiLm^5PSfTC?;huu;`gT!oU7q+IfOACbfZ#v!1(#74GW@i>b z6I`trnudhLm~ik=qX$ep;EjY!i6?^x(s&>-QS?Nj2lQY#81cPt-rN25+uZ^YUb6Gv z`@KKk`~J+gZ`%(Nqx;r0H3_CB@v5k3j0$mKQ$>zTF)p4Gn?>@>-;*N?DD&`&a7Oy3lzMVod2U`bg_B#+!GjcyeAn7$%Vg?3;)KJM;Cq>yt{Jr^@SU6 ze3xnO8Wv*lNJsMO%}DI0`QMt8J=c@-ce;z0(A?ft!W2nP{ew&$rh^fVcT(!u%I{yD z&zS99AEWyN)|Y&A_3cvXla*B-xKv0Lq#~`Uh*Ih%ow;VNtA^PhP5yN-BG#zasp_kZ zuNQ2ZJ8a*LrL7q!}kJu&JF^n;Pz&r9FccyzgTecjvMs)#cAIOL^jczI0@tXP^T|E*AcDYi7?KfjRAudPW zOyf7bHzAr%b~J6-(A;t!2F3IK4B0+IKHSzZzs73o9Bng>v~>=)bquXH%ZOy@uhu*NQ*uewRebt5O{nsoJrMEh2ZKqO%kckFi+ABXXCkAm|Zr&v`e5 zkZS@MzQ2es0Y_pS<%noTRz+`t)+Aa*oKSWDBI5BXUsO)R2mP7iBzyrJ@nO=d^HluF zEUrrbh?pXP_vx0zo5f9<8r~a7n?P?;)|37BNW4`fLpRYvJV*Y^q_h8*65l{*`0lV0 z5fz-VAIU#X0FSdC4m{46^Qw^%(azyjJR&-(bX4N<#i`x*gv8gC&pZddMmXy#kH{NV zMT8g!|BcGN^Ll0hudPOiQw{KQl&3`Lr(j)>zLt39oJ2!dTx*c$=LYzCxKQfVv#kLx zYPtyMT=GtS+Ja`nqGrOvX2Pm;B33MPQQ8YDY%i*vpi{Dj6Z@>1F|5Eo=0g^AI53#1 z@6hMuR(0|6oFbK&uvV+t>XRd3DfjBftew)eoU!2)t%3W`DQ8maQbFQ-Q>~p~HL88#VPliI2IXV=@M;|`I4XwN5a;*?jzpdbSJKsbHpl;&G@LMN}AW%}l)q41zM>E#LG^_YyJxgRLDLB@H{RPsJ zf(88{~cVb0irEzD`(7iPgj1>IxjK(!hJ z6=S3WNSbQqytIv=%%B?!9^2Di9{*AxO!!NLW9}b2-0KH+`W*^zX01%Y&O1DT|Hlmo z=QUR|#YuS?jS6)rGKzTTVQ(CVk4j5)NR|nF5;&&f{pWLoXAg1pT?AE>Xxt8Md;^UN zy#zAm)Z@>qo3Hq5=|l`{i1GIXyK?+N28eV0oF@)=z4%{g{6#IEQL|L!DL_kuT zhoR*g2fg0*M=?;rQA#g@G?S(3>GEKaH{!3MF9m>Mv3JSrg%P8LSH22pDVI7(4)Whr>(Sb9Q%F?0%H354N!cE9f@=O41WVcz4>3P zvw!&Rb3C7)dShem%QXH)I>-2LfoJQ)OV literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ABSInformationTDD.c b/asn1c_defs/all-defs/ABSInformationTDD.c new file mode 100755 index 0000000..4f759c1 --- /dev/null +++ b/asn1c_defs/all-defs/ABSInformationTDD.c @@ -0,0 +1,205 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ABSInformationTDD.h" + +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_abs_pattern_info_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 70)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_measurement_subset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 70)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_abs_pattern_info_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 70 } /* (SIZE(1..70,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_measurement_subset_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 70 } /* (SIZE(1..70,...)) */, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3[] = { + { 0, 3, "one" }, + { 1, 3, "two" }, + { 2, 4, "four" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3[] = { + 2, /* four(2) */ + 0, /* one(0) */ + 1 /* two(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 = { + asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3 = { + "numberOfCellSpecificAntennaPorts", + "numberOfCellSpecificAntennaPorts", + &asn_OP_NativeEnumerated, + asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]) - 1, /* 1 */ + asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, /* Same as above */ + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ABSInformationTDD_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, abs_pattern_info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_abs_pattern_info_constr_2, memb_abs_pattern_info_constraint_1 }, + 0, 0, /* No default value */ + "abs-pattern-info" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, numberOfCellSpecificAntennaPorts), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_numberOfCellSpecificAntennaPorts_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "numberOfCellSpecificAntennaPorts" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, measurement_subset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_measurement_subset_constr_8, memb_measurement_subset_constraint_1 }, + 0, 0, /* No default value */ + "measurement-subset" + }, + { ATF_POINTER, 1, offsetof(struct ABSInformationTDD, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P105, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ABSInformationTDD_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_ABSInformationTDD_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABSInformationTDD_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* abs-pattern-info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numberOfCellSpecificAntennaPorts */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* measurement-subset */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_specs_1 = { + sizeof(struct ABSInformationTDD), + offsetof(struct ABSInformationTDD, _asn_ctx), + asn_MAP_ABSInformationTDD_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ABSInformationTDD_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD = { + "ABSInformationTDD", + "ABSInformationTDD", + &asn_OP_SEQUENCE, + asn_DEF_ABSInformationTDD_tags_1, + sizeof(asn_DEF_ABSInformationTDD_tags_1) + /sizeof(asn_DEF_ABSInformationTDD_tags_1[0]), /* 1 */ + asn_DEF_ABSInformationTDD_tags_1, /* Same as above */ + sizeof(asn_DEF_ABSInformationTDD_tags_1) + /sizeof(asn_DEF_ABSInformationTDD_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABSInformationTDD_1, + 4, /* Elements count */ + &asn_SPC_ABSInformationTDD_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ABSInformationTDD.h b/asn1c_defs/all-defs/ABSInformationTDD.h new file mode 100755 index 0000000..831f156 --- /dev/null +++ b/asn1c_defs/all-defs/ABSInformationTDD.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ABSInformationTDD_H_ +#define _ABSInformationTDD_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ABSInformationTDD__numberOfCellSpecificAntennaPorts { + ABSInformationTDD__numberOfCellSpecificAntennaPorts_one = 0, + ABSInformationTDD__numberOfCellSpecificAntennaPorts_two = 1, + ABSInformationTDD__numberOfCellSpecificAntennaPorts_four = 2 + /* + * Enumeration is extensible + */ +} e_ABSInformationTDD__numberOfCellSpecificAntennaPorts; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ABSInformationTDD */ +typedef struct ABSInformationTDD { + BIT_STRING_t abs_pattern_info; + long numberOfCellSpecificAntennaPorts; + BIT_STRING_t measurement_subset; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABSInformationTDD_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD; +extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_specs_1; +extern asn_TYPE_member_t asn_MBR_ABSInformationTDD_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ABSInformationTDD_H_ */ +#include diff --git a/asn1c_defs/all-defs/ABSInformationTDD.o b/asn1c_defs/all-defs/ABSInformationTDD.o new file mode 100644 index 0000000000000000000000000000000000000000..4f4398db3dffe76e60a90340c9a781560e01579e GIT binary patch literal 6360 zcmcIpPi!3J75|(~v73Nn2$iCOnt>9qB|Pk!M6uEctz&PpMvk+I6I9W(r!5l^&4AAyTC_?Foq<0*5Mxs`UN7d2jdI z&uhm~!;@y-d%y4f`~J+g&&h8JQ%AS;^eCYo^@3_^f-3di?zWuQVqX17J*tXV{yj6f zyf(RfBbhH=J=#~ivfBLF@hfYeeMgi$Q@s4IzNxFdQ`a7X&nrX4R46WgTU`EcZgpz; z?_=Ms{ru(So4@!|W!K&brLMj-P`tMNb9m?edikHd#i1{Xm+ur_{RAev_EJ6${TCfN z4M!PX*~6i8YhVBFdd1zf_f1{pz13Iz{^~nu)Tb+Jzc5))8)-`qkl4!)P}!TKP_{^E z^zSD=>f6STSq?Cv&GL(laMyj#kHcKqn-41SbAGKhtc9^7Gm~K@YSjIt8il7PCfsuB z5jN{{LE}VaJgC)X7K3uNQZ0{#Nf3s9DQYCK+7};k&il1y;Dk})oU5J>LT8Y`ee*+l ztQ>`L((tQc;#B-1^;GgeU;sN~g1Rib7?rg%?W_FJ56U2vOkw}CC_*t3n!;TGJxnq&#Z8M)taM=9ox z`xqDNif4hI{`(l0LTyU+ewyFSrjA=2e4FeR4O{zMNPZg^7rP$prTD-GdtlmN?J^i( z$`gkUzd?G$){H@Li(rddHX3gkT7sDqL*j4al7HQNkByHXat6=LHN&Lo9CY`)+2LGM zYq?9gQ8&Ba%?+iv&ip9n?|JQ%>bWq`^VoyEeb*@|&ims$_AdBD|G?#KUjLq{e&?nB zJ!Aa?<2(BMj_o{4?}?q$8i!Bm9(~w+9mBl0t8cpgmSkG1(&?7z*s=ClM(;#h7b&BD zAYup4=w0rBs7Jt_%Wf#8*Mu;9zra_Bg9L}1(Z6_*+Vo2jd(=*qXUN>YjQU~Qkflq+ zVK0YNq;_ z*VulQb+P|Y;}0^LemkOMR2vuUOSaE5AbEDsfyaC$uIZUkyTrYNXVgH44kfQYob~%& z(D(zbGcS%WGA_EwGx~-#5v5L${lmt-%X(G`Utf(<7dODKahxR%KTGQZ`dH)bbCOMA zbz_4#f7<}xK^IE5dY;?>SL?b6>RjqUea@q1!sBMbLo?yEI}tCJni%bcm$nz3M${>J z6NRJRx*T5OpNlC9433YLx*LoHwM|W;x`ZedPI;Tv?2YJ5DCKVbnD@LkZAIL0ir(nf zW9r$q11A?3gS!`!E;rXRQyRa!M@;=?%nn%9yUtbjog)F+-HR9ON3<(>xl`j=yhiX! zH?-@H>%}@z@@5Jr&lIM|3rYmz#Auu2M^1G)4ryep!uqq6PP?7^$mD5n=Jct_>0_-O zDm9`cDo3?e=Q|#S3H8)L!y6rWK3B?R4@iO2)WM$*3N*){;U~eo#?J+0S}l8_`4#9d zbcnxG`W)4d>G==;F)?D`j~V!H4cxT9X5jdJmNGrLx&MJXYy(ze8Tb<{gUzxG{7II<-eVc~ zPgw^0JTCIbYT#HSp)Xi~J$k_@)^8g)Zs%JtAR1&2hF_g5K%%07oAt;&k73j! zv|!kyo)sQgGH}#`{sOdO;7_HHe%~~3*e~*!)Qe%W&aVu66TfZX`#1*J9RtVy%Kr87 zB4XIY9RtUFSLp!_8u-&Gq~Gc9H+li3domd^&mrOq+2>9AB^j4Ec?Rq_CB}ur9_xm_ z4789kT@Ua#SYNX6w^(An(4c2YMoioPy1Ds=y%kR7XbhPAPKc@apA>+()Gu-Jgm?4*2j{

yLjQl=@};%Y=2ye+!opQ8s0*x6_hR z;a9}EqrwZ`=7}!jRvZrgHGH6P-<2>+Q6pR9GU`t^OtUf7`NmEd6!TyValN z`Y*6ORQye3*Z&S-$S?CGQBxlln+WIAB-nz4zi-HTfM5IB-^3t`pWuIB%wE4y_Foc1 z=2E}FpODaP{vUPOKYaV*FXspK*trq=Q_lYppJV*Dz)$G0{c$Gjvrmwk. All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = { + sizeof(ANY_t), + offsetof(ANY_t, _asn_ctx), + ASN_OSUBV_ANY +}; +asn_TYPE_operation_t asn_OP_ANY = { + OCTET_STRING_free, + OCTET_STRING_print, + OCTET_STRING_compare, + OCTET_STRING_decode_ber, + OCTET_STRING_encode_der, + OCTET_STRING_decode_xer_hex, + ANY_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + 0, + 0, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, 0, 0, 0, +#else + ANY_decode_uper, + ANY_encode_uper, + ANY_decode_aper, + ANY_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + 0, /* Random fill is not defined for ANY type */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_ANY = { + "ANY", + "ANY", + &asn_OP_ANY, + 0, 0, 0, 0, + { 0, 0, asn_generic_no_constraint }, /* No constraints */ + 0, 0, /* No members */ + &asn_SPC_ANY_specs, +}; + +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +asn_enc_rval_t +ANY_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + if(flags & XER_F_CANONICAL) { + /* + * Canonical XER-encoding of ANY type is not supported. + */ + ASN__ENCODE_FAILED; + } + + /* Dump as binary */ + return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key); +} + +struct _callback_arg { + uint8_t *buffer; + size_t offset; + size_t size; +}; + +static int ANY__consume_bytes(const void *buffer, size_t size, void *key); + +int +ANY_fromType(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { + struct _callback_arg arg; + asn_enc_rval_t erval = {0,0,0}; + + if(!st || !td) { + errno = EINVAL; + return -1; + } + + if(!sptr) { + if(st->buf) FREEMEM(st->buf); + st->size = 0; + return 0; + } + + arg.offset = arg.size = 0; + arg.buffer = 0; + + erval = der_encode(td, sptr, ANY__consume_bytes, &arg); + if(erval.encoded == -1) { + if(arg.buffer) FREEMEM(arg.buffer); + return -1; + } + assert((size_t)erval.encoded == arg.offset); + + if(st->buf) FREEMEM(st->buf); + st->buf = arg.buffer; + st->size = arg.offset; + + return 0; +} + +int +ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { + uint8_t *buffer = NULL; + ssize_t erval; + + if(!st || !td) { + errno = EINVAL; + return -1; + } + + if(!sptr) { + if(st->buf) FREEMEM(st->buf); + st->size = 0; + return 0; + } + + erval = aper_encode_to_new_buffer(td, td->encoding_constraints.per_constraints, sptr, (void**)&buffer); + + if(erval == -1) { + if(buffer) FREEMEM(buffer); + return -1; + } + assert((size_t)erval > 0); + + if(st->buf) FREEMEM(st->buf); + st->buf = buffer; + st->size = erval; + + return 0; +} + +ANY_t * +ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) { + ANY_t tmp; + ANY_t *st; + + if(!td || !sptr) { + errno = EINVAL; + return 0; + } + + memset(&tmp, 0, sizeof(tmp)); + + if(ANY_fromType(&tmp, td, sptr)) return 0; + + st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); + if(st) { + *st = tmp; + return st; + } else { + FREEMEM(tmp.buf); + return 0; + } +} + +ANY_t * +ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) { + ANY_t tmp; + ANY_t *st; + + if(!td || !sptr) { + errno = EINVAL; + return 0; + } + + memset(&tmp, 0, sizeof(tmp)); + + if(ANY_fromType_aper(&tmp, td, sptr)) return 0; + + st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); + if(st) { + *st = tmp; + return st; + } else { + FREEMEM(tmp.buf); + return 0; + } +} + +int +ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { + asn_dec_rval_t rval; + void *newst = 0; + + if(!st || !td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + if(st->buf == 0) { + /* Nothing to convert, make it empty. */ + *struct_ptr = (void *)0; + return 0; + } + + rval = ber_decode(0, td, (void **)&newst, st->buf, st->size); + if(rval.code == RC_OK) { + *struct_ptr = newst; + return 0; + } else { + /* Remove possibly partially decoded data. */ + ASN_STRUCT_FREE(*td, newst); + return -1; + } +} + +int +ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { + asn_dec_rval_t rval; + void *newst = 0; + + if(!st || !td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + if(st->buf == 0) { + /* Nothing to convert, make it empty. */ + *struct_ptr = (void *)0; + return 0; + } + + rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0); + if(rval.code == RC_OK) { + *struct_ptr = newst; + return 0; + } else { + /* Remove possibly partially decoded data. */ + ASN_STRUCT_FREE(*td, newst); + return -1; + } +} + +static int ANY__consume_bytes(const void *buffer, size_t size, void *key) { + struct _callback_arg *arg = (struct _callback_arg *)key; + + if((arg->offset + size) >= arg->size) { + size_t nsize = (arg->size ? arg->size << 2 : 16) + size; + void *p = REALLOC(arg->buffer, nsize); + if(!p) return -1; + arg->buffer = (uint8_t *)p; + arg->size = nsize; + } + + memcpy(arg->buffer + arg->offset, buffer, size); + arg->offset += size; + assert(arg->offset < arg->size); + + return 0; +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +ANY_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_ANY_specs; + size_t consumed_myself = 0; + int repeat; + ANY_t *st = (ANY_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + + /* + * Allocate the structure. + */ + if(!st) { + st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("UPER Decoding ANY type"); + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, -1, 0, &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len; + len_bits = len_bytes * 8; + + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += len_bits; + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + RETURN(RC_OK); +} + +asn_enc_rval_t +ANY_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const ANY_t *st = (const ANY_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + const uint8_t *buf; + size_t size; + int ret; + + (void)constraints; + + if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; + + buf = st->buf; + size = st->size; + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ret = per_put_many_bits(po, buf, may_save * 8); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save; + size -= may_save; + assert(!(may_save & 0x07) || !size); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size); + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +ANY_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_ANY_specs; + size_t consumed_myself = 0; + int repeat; + ANY_t *st = (ANY_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + + /* + * Allocate the structure. + */ + if(!st) { + st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("APER Decoding ANY type"); + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = aper_get_length(pd, -1, 0, &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len; + len_bits = len_bytes * 8; + + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += len_bits; + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + RETURN(RC_OK); +} + +asn_enc_rval_t +ANY_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const ANY_t *st = (const ANY_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + const uint8_t *buf; + size_t size; + int ret; + + (void)constraints; + + if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; + + buf = st->buf; + size = st->size; + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ret = per_put_many_bits(po, buf, may_save * 8); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save; + size -= may_save; + assert(!(may_save & 0x07) || !size); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size); + + ASN__ENCODED_OK(er); +} +#endif /* ASN_DISABLE_PER_SUPPORT */ + diff --git a/asn1c_defs/all-defs/ANY.h b/asn1c_defs/all-defs/ANY.h new file mode 100755 index 0000000..31658a2 --- /dev/null +++ b/asn1c_defs/all-defs/ANY.h @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_TYPE_ANY_H +#define ASN_TYPE_ANY_H + +#include /* Implemented via OCTET STRING type */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ANY { + uint8_t *buf; /* BER-encoded ANY contents */ + int size; /* Size of the above buffer */ + + asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ +} ANY_t; + +extern asn_TYPE_descriptor_t asn_DEF_ANY; +extern asn_TYPE_operation_t asn_OP_ANY; +extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs; + +asn_struct_free_f ANY_free; +asn_struct_print_f ANY_print; +ber_type_decoder_f ANY_decode_ber; +der_type_encoder_f ANY_encode_der; +xer_type_encoder_f ANY_encode_xer; +per_type_decoder_f ANY_decode_uper; +per_type_encoder_f ANY_encode_uper; +per_type_decoder_f ANY_decode_aper; +per_type_encoder_f ANY_encode_aper; + +#define ANY_free OCTET_STRING_free +#define ANY_print OCTET_STRING_print +#define ANY_compare OCTET_STRING_compare +#define ANY_constraint asn_generic_no_constraint +#define ANY_decode_ber OCTET_STRING_decode_ber +#define ANY_encode_der OCTET_STRING_encode_der +#define ANY_decode_xer OCTET_STRING_decode_xer_hex + +/****************************** + * Handy conversion routines. * + ******************************/ + +/* Convert another ASN.1 type into the ANY. This implies DER encoding. */ +int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr); +int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr); +ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr); +ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr); + +/* Convert the contents of the ANY type into the specified type. */ +int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); +int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); + +#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size)) +#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \ + &asn_DEF_ANY, (buf), (size)) + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_TYPE_ANY_H */ diff --git a/asn1c_defs/all-defs/ANY.o b/asn1c_defs/all-defs/ANY.o new file mode 100644 index 0000000000000000000000000000000000000000..fcd354454f655360498bbb1488fcd1cd86c31020 GIT binary patch literal 10424 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AS-SecurityInformation.c b/asn1c_defs/all-defs/AS-SecurityInformation.c new file mode 100755 index 0000000..92a4829 --- /dev/null +++ b/asn1c_defs/all-defs/AS-SecurityInformation.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AS-SecurityInformation.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_AS_SecurityInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation, key_eNodeB_star), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Key_eNodeB_Star, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "key-eNodeB-star" + }, + { ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation, nextHopChainingCount), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NextHopChainingCount, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nextHopChainingCount" + }, + { ATF_POINTER, 1, offsetof(struct AS_SecurityInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P110, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_AS_SecurityInformation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_AS_SecurityInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AS_SecurityInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* key-eNodeB-star */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nextHopChainingCount */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AS_SecurityInformation_specs_1 = { + sizeof(struct AS_SecurityInformation), + offsetof(struct AS_SecurityInformation, _asn_ctx), + asn_MAP_AS_SecurityInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_AS_SecurityInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AS_SecurityInformation = { + "AS-SecurityInformation", + "AS-SecurityInformation", + &asn_OP_SEQUENCE, + asn_DEF_AS_SecurityInformation_tags_1, + sizeof(asn_DEF_AS_SecurityInformation_tags_1) + /sizeof(asn_DEF_AS_SecurityInformation_tags_1[0]), /* 1 */ + asn_DEF_AS_SecurityInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_AS_SecurityInformation_tags_1) + /sizeof(asn_DEF_AS_SecurityInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AS_SecurityInformation_1, + 3, /* Elements count */ + &asn_SPC_AS_SecurityInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AS-SecurityInformation.h b/asn1c_defs/all-defs/AS-SecurityInformation.h new file mode 100755 index 0000000..ef6413b --- /dev/null +++ b/asn1c_defs/all-defs/AS-SecurityInformation.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AS_SecurityInformation_H_ +#define _AS_SecurityInformation_H_ + + +#include + +/* Including external dependencies */ +#include "Key-eNodeB-Star.h" +#include "NextHopChainingCount.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* AS-SecurityInformation */ +typedef struct AS_SecurityInformation { + Key_eNodeB_Star_t key_eNodeB_star; + NextHopChainingCount_t nextHopChainingCount; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AS_SecurityInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AS_SecurityInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_AS_SecurityInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_AS_SecurityInformation_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _AS_SecurityInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/AS-SecurityInformation.o b/asn1c_defs/all-defs/AS-SecurityInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..2b437494c71ff0a64f135812e37365aefdb51ee4 GIT binary patch literal 3128 zcmb_eOK;Oa5Z=^0%Bv3^qJm2}Q6yr;r4kV!VfrH>eXP2jm(0lPID{XAzCR#`xE#5w3=wBeFfYy@TLs$r z6U+;#GUYX}w$h`oEANNSa|o`fD!3LLgFMbb^|9Gru2vruXV*92Ang_JoAYM5WbGxE z_0Fo8<$2S(lkyOeFIel8ILO>nV`L=59LC6qR6cu_22{urL!ADHz5z@@oD+C1P}E36 zoJ~pP*9MIKEF8B@{5*Ax<{A2P9BM;cP|X20l3f^>3HS)V)5`d<9?BPJQwbXV`If`) z1CM$7|i(}YpIA&mJi6GrukF!EOjquM8oJdXc5 z*}oM2Dq&Q!=m^68w^LKBDEu|zQ1ula^FN|Kb=}mjSYIE$4}=-_I?~+$Eu&O#Gm@~! z!rXMFE6j~J7G@Npfu5FWf$6v1q#KcDn(feYkxW8_>4lw+59iYiLg|~!^>zF|;O)?; zkFRb*C@uxQ7pmB*px=b))#lkrR?0dsxU z=!aOZ{~0)x5A2wlqDY$6Ljd?D*i4Y_(tnegW3#MAosF_|KI{9h7| B3qk+@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ActionParameter-ID.c b/asn1c_defs/all-defs/ActionParameter-ID.c new file mode 100755 index 0000000..c800954 --- /dev/null +++ b/asn1c_defs/all-defs/ActionParameter-ID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ActionParameter-ID.h" + +int +ActionParameter_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ActionParameter_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ActionParameter_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ActionParameter_ID = { + "ActionParameter-ID", + "ActionParameter-ID", + &asn_OP_NativeInteger, + asn_DEF_ActionParameter_ID_tags_1, + sizeof(asn_DEF_ActionParameter_ID_tags_1) + /sizeof(asn_DEF_ActionParameter_ID_tags_1[0]), /* 1 */ + asn_DEF_ActionParameter_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_ActionParameter_ID_tags_1) + /sizeof(asn_DEF_ActionParameter_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ActionParameter_ID_constr_1, ActionParameter_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ActionParameter-ID.h b/asn1c_defs/all-defs/ActionParameter-ID.h new file mode 100755 index 0000000..c11d8a5 --- /dev/null +++ b/asn1c_defs/all-defs/ActionParameter-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ActionParameter_ID_H_ +#define _ActionParameter_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ActionParameter-ID */ +typedef long ActionParameter_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ActionParameter_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ActionParameter_ID; +asn_struct_free_f ActionParameter_ID_free; +asn_struct_print_f ActionParameter_ID_print; +asn_constr_check_f ActionParameter_ID_constraint; +ber_type_decoder_f ActionParameter_ID_decode_ber; +der_type_encoder_f ActionParameter_ID_encode_der; +xer_type_decoder_f ActionParameter_ID_decode_xer; +xer_type_encoder_f ActionParameter_ID_encode_xer; +per_type_decoder_f ActionParameter_ID_decode_uper; +per_type_encoder_f ActionParameter_ID_encode_uper; +per_type_decoder_f ActionParameter_ID_decode_aper; +per_type_encoder_f ActionParameter_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActionParameter_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActionParameter-ID.o b/asn1c_defs/all-defs/ActionParameter-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..c8223b929837689c5320a819b75cb3f5940fd066 GIT binary patch literal 2832 zcmbVN&u<%55FTft32ktlfKa3&*h?W5&1<%bL=-{g5U1HlCXHHJRa9cTaW+4Sy++>W zsO3O|N)HwSapBI9{{abALIRE`CnPT1K}c}mgc@ev&f83179SXE_sx7W-+Qz3-W%Uv zZeAX#RKQ9FF2RvyQGlOL9O-qV)?or_5I+3-+UnpS9Q>#o!7t&*mk!an7laQFzBxqE zuZ9nPA8UR(+WhQUV%>Qu%$0EPS2%ba4t@w8Egl}+e0T8kt?y31T*vvC_=h3p!N|We z$;9B`x9`pR`D+A+F@6LLl!g^bgv8pzMx`#qSsJvW&15UP5VzYiMp-EO)b_u@{X zliti~L$%;+w&3r@?SA5?UF~o0?j@-|jo{hMbH>-|rkU==yQ%iK;@x(#S$L06H!P=N zK6kHNdl*;xsD`kzw6x$)U*G7by6?ZP=G5#=&^K1_Q82G&=TvYm$KiPyK3?@3WlvuB7U_)LiJ-7(Ps`#9EEm&2E6Oo;lgTj%kk zjyDIdSkzd)968QtwGrufJBtEP&81m-U8Gk4C4on`YshrQb!9zTi#1-))l?_jNzZ`m z%U2_P?}MZ)hkRl)Y&W^3tYx`1YQ;K44WOGQ@6l?xsRyR zJ&?GqJ>ioaOT!fFgdd$ofa(9h>jHm{bs9o}+qDSt8K*kXQ;5p$b#%M|3R_)1?pUpt zv}2`{yBgGHtYc6cSq7@tC4<5PHUFfE+io}}05$6c)#`RSNs1F;r%lw#+Vz=C$F27{ zKG})3s52Ky{eQ(rs;#-4rOt-EAJ!*pMA#X8s0Y;Xk>c|ezRe(=0b0lIv)#W}7^_21|Ef6eh!f9mEoe_Q|e5Tm7@IO7z@fb8!GANyz7LX7yc zBfG-d^gv2~*QQGc_1 yi&H-C+6ciugTHdZrxByO#; + +/* Including external dependencies */ +#include "ActionParameter-ID.h" +#include "ActionParameter-Value.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ActionParameter-Item */ +typedef struct ActionParameter_Item { + ActionParameter_ID_t actionParameter_ID; + ActionParameter_Value_t actionParameter_Value; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActionParameter_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActionParameter_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ActionParameter_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ActionParameter_Item_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActionParameter_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActionParameter-Item.o b/asn1c_defs/all-defs/ActionParameter-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..3f2c2c298f76594f0484f901314e8cc8cbbe7b80 GIT binary patch literal 2760 zcmbtV&1w`u5U$Pm6aNyU2!fXp0!A>+P6#L}Vd7>J6-`D%#M{_A4oPtT*y#nmm>j)% z_3jJ!2;vj?2;RKv6KK^;b+)&sCnQ?XTUB4zS5^Hpy?f0ks}r>vXsN*xj6973Or9Ru zVQz*n4O6h3sNG&Sk^|XERXUh|q|y#Z8(b+tFJya|j#5@yb}zPHMVzRbI0ProACyBv zjy*Mrj8iy{+V^n_^pWt=AXTmVsJPv0NV(SCu_-Di^&pva$u>O|gqjl98|B2d_ ze*zE8g*!iZk$}v)@k(Z@zFSAW* zjv7ZHMe(|Cb05aO0+GGzDA@vm$5`kcZK?FF0`XcZ38Ix{AO<~hC^8TMx@lYH(_~q$ zX!jCHU`_#%^g5jsFNx^(R4Ufix8^e?lQ-1rf5|mu(^~2MG$k}0!{+TdK(3=jnEkSa z2NC0j&A)-uw737tzlB`Nxq!ozkewwHL|fO_n&QZ|>+d5*QrCfn3qEVD?x8_%aHs*+ z5r0HJ^UotrkiJLyJJ~?YRsSpV>YPt2UmL6+qjuHr^MUF*RG(f^yMBxql`8#XF))jB zrue3V_BIaU+kMV5pU%e=URKT_ypKa;W?WQisF<~5$#;cn{tqTxz&INA`sp9gK6`|q ZPMeD2TLmo_|Fhiu54`{Tl*AC5{}&bm)|LPO literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ActionParameter-Value.c b/asn1c_defs/all-defs/ActionParameter-Value.c new file mode 100755 index 0000000..0fe5a0a --- /dev/null +++ b/asn1c_defs/all-defs/ActionParameter-Value.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ActionParameter-Value.h" + +asn_per_constraints_t asn_PER_type_ActionParameter_Value_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ActionParameter_Value_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valueInt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valueInt" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valueEnum), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valueEnum" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valueBool), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valueBool" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valueBitS), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valueBitS" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valueOctS), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valueOctS" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActionParameter_Value, choice.valuePrtS), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrintableString, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "valuePrtS" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ActionParameter_Value_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueInt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* valueEnum */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* valueBool */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* valueBitS */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* valueOctS */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* valuePrtS */ +}; +asn_CHOICE_specifics_t asn_SPC_ActionParameter_Value_specs_1 = { + sizeof(struct ActionParameter_Value), + offsetof(struct ActionParameter_Value, _asn_ctx), + offsetof(struct ActionParameter_Value, present), + sizeof(((struct ActionParameter_Value *)0)->present), + asn_MAP_ActionParameter_Value_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, + 6 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ActionParameter_Value = { + "ActionParameter-Value", + "ActionParameter-Value", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ActionParameter_Value_constr_1, CHOICE_constraint }, + asn_MBR_ActionParameter_Value_1, + 6, /* Elements count */ + &asn_SPC_ActionParameter_Value_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ActionParameter-Value.h b/asn1c_defs/all-defs/ActionParameter-Value.h new file mode 100755 index 0000000..0585306 --- /dev/null +++ b/asn1c_defs/all-defs/ActionParameter-Value.h @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ActionParameter_Value_H_ +#define _ActionParameter_Value_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ActionParameter_Value_PR { + ActionParameter_Value_PR_NOTHING, /* No components present */ + ActionParameter_Value_PR_valueInt, + ActionParameter_Value_PR_valueEnum, + ActionParameter_Value_PR_valueBool, + ActionParameter_Value_PR_valueBitS, + ActionParameter_Value_PR_valueOctS, + ActionParameter_Value_PR_valuePrtS + /* Extensions may appear below */ + +} ActionParameter_Value_PR; + +/* ActionParameter-Value */ +typedef struct ActionParameter_Value { + ActionParameter_Value_PR present; + union ActionParameter_Value_u { + long valueInt; + long valueEnum; + BOOLEAN_t valueBool; + BIT_STRING_t valueBitS; + OCTET_STRING_t valueOctS; + PrintableString_t valuePrtS; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActionParameter_Value_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActionParameter_Value; +extern asn_CHOICE_specifics_t asn_SPC_ActionParameter_Value_specs_1; +extern asn_TYPE_member_t asn_MBR_ActionParameter_Value_1[6]; +extern asn_per_constraints_t asn_PER_type_ActionParameter_Value_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActionParameter_Value_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActionParameter-Value.o b/asn1c_defs/all-defs/ActionParameter-Value.o new file mode 100644 index 0000000000000000000000000000000000000000..13f9af2b05d26c55d4316715f34ccfd224275806 GIT binary patch literal 3600 zcmc&#Id2nD5Prejx48tOz*Hm>S=oR@1R~nRm?Q||B?l#&jaeBBACbL|NCPP;Q>IMK zFW@I2s+5%cgwWB!e7iIDf{!CkOB*^&xO7Cg?Q%=Tn|<`Th8z z@S~u5C#?I0IP7uhNqSi9Eqi`(wmerX#ggVlPt7!j(fHKb`*yUZB86A+u1H3oksj!1qkWAL~$L}nR)KPMz zjG?f9A*h2pNMx4*c$`|?N07Zl9f%)AAc@4^NK7-U_>0UzZ7Lr1$Jn={_)E+|eN#N* z@3QZw;x97?mFM#YH{u_GB=Hn4V*>wC@ra)RNg{KII{R)Nr?b(ZB{vT3*F?V&6ov01 zF!51v0~W5W9ga)2X*A0mwMTIF(kT5z_8=nyn~wX6Bd2J5f-1 z8~5#Be%C1(W3t~dcR*2|=AQQ^A#nB!;Bth=T2xK|>szF87VP{jD^5(i{oCXKcSizP zOa2RsmweGK`GM{BW0LqS-VX$0$*~sokN{peR|wX7{FHs+hE5ZY{Uqo9D#w*cr?tPs z9g=r}!%a>A>!+mC+W*X(RN6uN=#t&OPaN8}hH1WY`zz$rlG6s^Dt*Y$TfECpKh{SJ zVj-f}6pkJIt8>2QfF)0O*mmFHTjTsucH%C@9N6Q>G#yxb; + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ActivatedCellList-Item */ +typedef struct ActivatedCellList_Item { + ECGI_t ecgi; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedCellList_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActivatedCellList_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ActivatedCellList_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ActivatedCellList_Item_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActivatedCellList_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActivatedCellList-Item.o b/asn1c_defs/all-defs/ActivatedCellList-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..c75c55c3779fe38911d17434b619d308bddcfce1 GIT binary patch literal 2864 zcmb_d&2G~`5T4Zh|Fjg4sDOi!Km3XXr!VxFX9%&(Ru?KUd`JUaXW1!?X*b$FQm_++hxT@${Yvq zl=Bvg|uKPidt>wU5F6&^4K~3>eOa>dMiNDEqf1M(p-I+4rtZMeK0cUzxf-eZhmHDY3 z$#+~AGSvU`vxMJ8p6YZt{0Hm(j4z(I&in)(*s%JyO8Als!HOVE+rcw$HW;`u0=h8* z5w53!okhKz@ehcajGKRtOIos6dCRQVk{>L4uU5Q8*8>TH2=6P=2^(#Z&-3(k**y8c z%f4F{kZ#72I*RAc&G)v#?<69Ll4kFgbd$Egws9wzp1g1S_5(hJ{F_wY-c#(M?@8t5 zSrI?h%LbTG;_0n3*{+uG&lO(QB+6I#amJ+HF{Zv38Iz*>iG=t|8Oncl852+QUtxPs z;V&~LRi!`_8Gk)DLEQ)SYto-rewSdSA6p_^MJ+nH-jGPd+XAe$P=sKurYTsRgba$b zEgQ|a8D?%mnrStYC?qmV0V_&ctr*`QtDT70np<3{r6P>p^VEk|*LV-;o>s+C4F&VI z^_Uxoh|_OQrx(!=^!(fCraeDw{yog4nv=LxaoD)4l89x0sVR=I-oJ|+NnHl!CYY?H zdW?YXW=9gNzwt+8a{f8wiIVS^e4mz(8`gh^^XgnrDpLa1FHjHbzrzPA^Qk}G#(Mt% zIchcVkH|z7eX5wMfp{Gk<;yCaF9r25$-1wL&mX|17V;(y=p{5{_PE)`Kk&;J7<0_NlZ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ActivatedCellList.c b/asn1c_defs/all-defs/ActivatedCellList.c new file mode 100755 index 0000000..ca99465 --- /dev/null +++ b/asn1c_defs/all-defs/ActivatedCellList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ActivatedCellList.h" + +#include "ActivatedCellList-Item.h" +static asn_per_constraints_t asn_PER_type_ActivatedCellList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ActivatedCellList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActivatedCellList_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ActivatedCellList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ActivatedCellList_specs_1 = { + sizeof(struct ActivatedCellList), + offsetof(struct ActivatedCellList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ActivatedCellList = { + "ActivatedCellList", + "ActivatedCellList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ActivatedCellList_tags_1, + sizeof(asn_DEF_ActivatedCellList_tags_1) + /sizeof(asn_DEF_ActivatedCellList_tags_1[0]), /* 1 */ + asn_DEF_ActivatedCellList_tags_1, /* Same as above */ + sizeof(asn_DEF_ActivatedCellList_tags_1) + /sizeof(asn_DEF_ActivatedCellList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ActivatedCellList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ActivatedCellList_1, + 1, /* Single element */ + &asn_SPC_ActivatedCellList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ActivatedCellList.h b/asn1c_defs/all-defs/ActivatedCellList.h new file mode 100755 index 0000000..6df78b3 --- /dev/null +++ b/asn1c_defs/all-defs/ActivatedCellList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ActivatedCellList_H_ +#define _ActivatedCellList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ActivatedCellList_Item; + +/* ActivatedCellList */ +typedef struct ActivatedCellList { + A_SEQUENCE_OF(struct ActivatedCellList_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedCellList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActivatedCellList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActivatedCellList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActivatedCellList.o b/asn1c_defs/all-defs/ActivatedCellList.o new file mode 100644 index 0000000000000000000000000000000000000000..fb7181f2c51d11ac69da9de6f0a6921fc1cb97e0 GIT binary patch literal 2384 zcmbu9&2G~`5P&B&g#ray5E2p>bD~Ie6{89eNXQVJ0xE4th=hcMaa@Z=hY0#jjgfrsy7mz_tv}4%4^KKB>B`1^d5)c*FjN& zlYfoB!Vb_^n-m9}Nr=S34n^X?`~*IWqy$GYt}Cw!J_oLf)RcZE_&n?>|B2FX1kcyG zs5mLdnBTz2kD6{~JK}_9t}x!?xNNL{M}LK49Bn4S8cx=Z0QME|W?*a#jqgUw11 zZdIWXJVq7D)=|61|M3?0dD1mE4Q)D~<|(1Og2d)}&xxNB8FJ8f6Y=8)Us1NreS_0! zc9nn6;JOzfeGX|Jx+3@RA$cxFxlZ%17#n<9*`&T2oZk1e@`0thT^_Yi^P$u`+TzJ; z4s1K(5wKR80vqJ~;2b{|9}}A0VTY{N_Uk<&&yY z(@2P;?bne}YB|f0#%EPe`(uj2qK5cWd^9ujeip%kTuQUoPV?yceKimL%O~-%-=A)9 cd+!m!Si#@q7-BDr{>h^H59$)Ke-pd@4 + +/* Including external dependencies */ +#include "NRCGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ActivatedNRCellList-Item */ +typedef struct ActivatedNRCellList_Item { + NRCGI_t nrCellID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedNRCellList_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActivatedNRCellList_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ActivatedNRCellList_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ActivatedNRCellList_Item_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActivatedNRCellList_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActivatedNRCellList-Item.o b/asn1c_defs/all-defs/ActivatedNRCellList-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..a1b1e6bb398aa1d68346f4a56c014a16e6b71d41 GIT binary patch literal 2880 zcmb_d%}>-&5TB)f;RlF%(CDEWqifq4X0dv0Sy!S+~wX)U>y4~eYENV+4=t0;geQ6##ty*he1Yz8X!Z=TIOiAxW*UQq3 zl^I6h6!RBpgv+r_)F-WdTxW3oue_LQh`yjUP!RpS<$me74AF7wRmPA{L+Xpo<`c8p z-rNhtp843CvFbH@FVXCe_N-N(vFryaPGO})xlh5b!aX*ID(5K-(7Q}+1{k@MA{khr zhzvM=1ipnx1;)W-iyCQwa_QMV&;G1taUtV(*)W`ET)Gc&11=2dQZeAX6f^!Ar75NV z9kzT$emV2Xh3_T!55y_YfL#xm|4H!ted~F*G~Li%{e3eri1QrJfogWII3_`an*6xTd&)#m1Ya1;QBbTMBnR#BJJw=T6tG# zzBv6zM1IuG#$_`K1=bGw?(Fm<+p+7@d@AWTs@~>vY{6qu zZb^Q2gimJC0M`|Nx`ig|)e`)Lf~)tzQSd32iEXeX)?`sC~;?*Ywil^Uv| z$h>VCavLSW^hw&tJcb25{yv&%&rcfv5MwE4ezQ?QY9vp9I&;ZneaXp>WWD|XF`~M3 zOjR(MOZF56n$-;nFhAgr%jEcrh!Z65m%LA_h!xfU#<8Ci<)N5|yI*hkT$ip6b(d z*6X{7QK=(;NCv8CQ^`~nl(%tFysRV5RgS0gQHftGi6ML!m&8=RH%A&ut-3GiMXqld p{LKNE&~E~l{{Hl5)z2OwaA;GJHnf78ivPmmc=_ueP!fgo_ + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ActivatedNRCellList_Item; + +/* ActivatedNRCellList */ +typedef struct ActivatedNRCellList { + A_SEQUENCE_OF(struct ActivatedNRCellList_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedNRCellList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActivatedNRCellList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActivatedNRCellList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActivatedNRCellList.o b/asn1c_defs/all-defs/ActivatedNRCellList.o new file mode 100644 index 0000000000000000000000000000000000000000..80727e81cc3e74d63c49642649d3d214bd6fca15 GIT binary patch literal 2392 zcmbuB&2AGh5P&CH3I)nfB@mUkgcC)gRu)wP6$vebO#ziOBveA;uxvIf8j(L`9Yils z@f1CBLL7VKz= zEFH~lFEu?l1q)C`dnpfDtpg#pU>V_Q@lafi?U6StwXw~9=f1{W1*`$9U zYCKV6`bAwGCeJJC><~QdYrR%mt1NGIrb9lhTxYASy5de#&wcIQVAWOTUdedj2=pFD z;MajI!O6eIA7KaRtIdi7&MZXY;0QKxU~UFqKvIHZip$Eil$W6*B2A&YDW8K~;Xe`j zZOZd`E(lJ_(fZdg^5eRzYzO9*EsghRENb)L7J<*G&&niCe=XoY3OHCcI*TAohQVFG z9$2CQ51%K2o2E4VR={`0u{AFm4HG^QnGf%@tVvlv?PkpyO~!E~$10dkI*-j}(Dol~ z`Hh+%Y}TReKSmW~69{`l{@3@p&*OnwLE5MKZjoQa6^FAAH~7md^Vo)bQ>WM{y`4r)Hh^tQBk z{E7qXhCBq;NfKa_5jm9UG8f&rAEsflWE5C58Vq9m25dOuFLQQV^jWt=J1R+N<)mr>CkG3)n@Jn5R_U&R2iYcfG-S%2Q( zvR-Nr<7AuTe@900EmNwkC@V8=qN2Oc%UspIBZx9D20DQ@?Gt$(eddql7&pjname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ActivationID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ActivationID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ActivationID = { + "ActivationID", + "ActivationID", + &asn_OP_NativeInteger, + asn_DEF_ActivationID_tags_1, + sizeof(asn_DEF_ActivationID_tags_1) + /sizeof(asn_DEF_ActivationID_tags_1[0]), /* 1 */ + asn_DEF_ActivationID_tags_1, /* Same as above */ + sizeof(asn_DEF_ActivationID_tags_1) + /sizeof(asn_DEF_ActivationID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ActivationID_constr_1, ActivationID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ActivationID.h b/asn1c_defs/all-defs/ActivationID.h new file mode 100755 index 0000000..af7eac0 --- /dev/null +++ b/asn1c_defs/all-defs/ActivationID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ActivationID_H_ +#define _ActivationID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ActivationID */ +typedef long ActivationID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ActivationID; +asn_struct_free_f ActivationID_free; +asn_struct_print_f ActivationID_print; +asn_constr_check_f ActivationID_constraint; +ber_type_decoder_f ActivationID_decode_ber; +der_type_encoder_f ActivationID_encode_der; +xer_type_decoder_f ActivationID_decode_xer; +xer_type_encoder_f ActivationID_encode_xer; +per_type_decoder_f ActivationID_decode_uper; +per_type_encoder_f ActivationID_encode_uper; +per_type_decoder_f ActivationID_decode_aper; +per_type_encoder_f ActivationID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ActivationID_H_ */ +#include diff --git a/asn1c_defs/all-defs/ActivationID.o b/asn1c_defs/all-defs/ActivationID.o new file mode 100644 index 0000000000000000000000000000000000000000..52078b568ed1ddef5345bafd4ff4ee4829175833 GIT binary patch literal 2768 zcmbVNOKTKC5bn*YiLZ4NJp>e;iyF~%G7?mBkO@i51eO?l;R9SJn@O^|J1aZ0i+b>Z zdRRp9CwTNfco78koRi?iqo4?S@Fd2no~lV@92Kl(rmMdGs=KzTyXMYh=|op9r&x08 zxLUOsRqE-6RoyYFqk2_Qxevdep6)EWoww11{ocKId<7=kw)=4T#R^EY-@X62r}U`1 z^mr?JUES@*ire|-c7D2@H}=c1mF4pnJMS*N+P24m^~mvyag52}f3=Ss?d4Ce&HnML z3x*zg1gtO&77PT1?Z1s$4|!o=SIYDLLOA5rYJ)}@t3=hd7gZa<^n|Xcz2T_U_G&HP z3L25MSZ(`(H2~n=`2%LI(g?z+=~aWsTJWkhe?FO&3;it)o=evvZ8Ps*Bj!j=jgOC7 z183)2LDaI2>JdFWXt#`I-?oqG;Sp^gh;g-p7R=o`rE)ilxt&|Od!EAPhXCJ2b1fVv z3dQ?fUZKBKu+A0w#|p*qO@*Gx%`*leV#a{~W1ae%S(AL`2~;W%zbwhaN?DRu>$6~3 zMI2_q$g6H)#cC0ToZ6V+yc6ajC*qk+7#Qa&U%-HGmS&>o)s{qO<)l%5kN=FpHzYM+ z{sqF>mSbLRlBUrw!@E!9+0+uSHaxu|4@-uv)FT)%7r%)-&~P*0@{}hgPn0EGj=aUN zY@4~+$y4R%=5>E9A-*p_(WUWWd>zJ@t=6ovdZ{vZG2qGB@(f(lwm%(2{-WPh2Pt6e z6WD=%#I0auMBoL1djgmIy1=&yKEWoFc&bJTF!v2~Jm(VU93sA*xH$Baj<~GWz#ni& z;PO_u0`Daq2a9yf13ro9@Mb;o=9Gqp6^~1-HT{~WBmYLE^t=~&O3#I%(#-}MNVoN| zwI&)PoQn#O9=KATr=%o#LY4! z4cov$>~M<9{urMWj-S_YU^2`92oa{FGjS1Of9y}Fr{lj%ge4>kv4oB)_Pwn9JJbrF z6Cd-B-J0X){9|9kt=61zus_oN+`j=blC~EBMe1-ooxDGjKh{SI!Nv#i20V;OUVl0u znoM&akbj!a{;pgUbpHPg-vK2ne;+A-oF~j5es$QNaf~OuH$dtNfgdPf?19){(*F46 eOV=JC + +/* Including external dependencies */ +#include "AdditionalSpecialSubframePatterns.h" +#include "CyclicPrefixDL.h" +#include "CyclicPrefixUL.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* AdditionalSpecialSubframe-Info */ +typedef struct AdditionalSpecialSubframe_Info { + AdditionalSpecialSubframePatterns_t additionalspecialSubframePatterns; + CyclicPrefixDL_t cyclicPrefixDL; + CyclicPrefixUL_t cyclicPrefixUL; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AdditionalSpecialSubframe_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframe_Info; + +#ifdef __cplusplus +} +#endif + +#endif /* _AdditionalSpecialSubframe_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframe-Info.o b/asn1c_defs/all-defs/AdditionalSpecialSubframe-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..231f2d68f0da19687e491aec61aeb973d8c263a6 GIT binary patch literal 3512 zcmcImOK;Oa5Z*SF_xmj&p}>VAQ7bN$r~n~D8YrlMq3YRnT^Aw}8^v4Ha)A5;#EoN* z`~;5t1P&ZH@)O|34dz?##G8#npn{RsGxN=3cW2jQziuqt9v>SMOk?7PC^SZe_^_vt zJtcbLus9@cuC6v^Gfl$Q;`2Ca5?fzc>xAui>Ta@@3K90~S-;&6rHngCR;1mQWUtlM zhb7%H%YN>e7N}Hl`XIGEOqO>2zc7)azHP zlS?b>iCnKSp4K_iSNMeJYJ6E2cT?fJG%7@`C!wAN&hUHXUo;U<8@_0KPU}1` z)C#Sqj4J9>2Q3w`e-I?3BK8g76SR*bMjf7Nk4uE(-LdKV5ZoVvzZ`{Wv%|wo_R`0vSb*=YzhBBBs1jBwOm1&f=dhMc~ zCX!~3JHhPqW!HCWSNg6N9lLQ0g~0a!WaE4%fge>K`2+nJ1pELEj|ONmX9M`WfgjT{ z7~XRb@}P%yX@Hj1Gsn?Oncisu{>K?4{>i}6WvW{LX5c5Z3^s`bL}2L6O!EeQl0o8K z1Bd@1ZQC;NQ-=Q+1Bd@vZ8PhPx-r@Hj!^QSDyctZ+jHI$)nR9(I{L0 z7U7_;)`F`FEgsiM#J9>TASG?+PhVHZ<8I+S;Q9G}JtVAb{_eO+)Av0EQqAGs^BzfM z^Z(Ej)wCz($CB*%1Hv%Bo{prPK5Af|0nMwH{)BYI+x6eA4;1HP5`00-Uuc=vsf_fP z`NR0vMlOy8U$!rlHuAje3*Fv3Y#i@tBYMUW8g~8gXHquRmj1Q+Y)xpXDrZ^zr2gf3 KL-|dz<9`95nMVTv literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.c b/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.c new file mode 100755 index 0000000..638411d --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AdditionalSpecialSubframeExtension-Info.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_AdditionalSpecialSubframeExtension_Info_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info, additionalspecialSubframePatternsExtension), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AdditionalSpecialSubframePatternsExtension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "additionalspecialSubframePatternsExtension" + }, + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info, cyclicPrefixDL), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CyclicPrefixDL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cyclicPrefixDL" + }, + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info, cyclicPrefixUL), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CyclicPrefixUL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cyclicPrefixUL" + }, + { ATF_POINTER, 1, offsetof(struct AdditionalSpecialSubframeExtension_Info, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P108, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_AdditionalSpecialSubframeExtension_Info_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AdditionalSpecialSubframeExtension_Info_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* additionalspecialSubframePatternsExtension */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cyclicPrefixDL */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cyclicPrefixUL */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_AdditionalSpecialSubframeExtension_Info_specs_1 = { + sizeof(struct AdditionalSpecialSubframeExtension_Info), + offsetof(struct AdditionalSpecialSubframeExtension_Info, _asn_ctx), + asn_MAP_AdditionalSpecialSubframeExtension_Info_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_AdditionalSpecialSubframeExtension_Info_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframeExtension_Info = { + "AdditionalSpecialSubframeExtension-Info", + "AdditionalSpecialSubframeExtension-Info", + &asn_OP_SEQUENCE, + asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1, + sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1[0]), /* 1 */ + asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1, /* Same as above */ + sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AdditionalSpecialSubframeExtension_Info_1, + 4, /* Elements count */ + &asn_SPC_AdditionalSpecialSubframeExtension_Info_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.h b/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.h new file mode 100755 index 0000000..0bc024f --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AdditionalSpecialSubframeExtension_Info_H_ +#define _AdditionalSpecialSubframeExtension_Info_H_ + + +#include + +/* Including external dependencies */ +#include "AdditionalSpecialSubframePatternsExtension.h" +#include "CyclicPrefixDL.h" +#include "CyclicPrefixUL.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* AdditionalSpecialSubframeExtension-Info */ +typedef struct AdditionalSpecialSubframeExtension_Info { + AdditionalSpecialSubframePatternsExtension_t additionalspecialSubframePatternsExtension; + CyclicPrefixDL_t cyclicPrefixDL; + CyclicPrefixUL_t cyclicPrefixUL; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AdditionalSpecialSubframeExtension_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframeExtension_Info; + +#ifdef __cplusplus +} +#endif + +#endif /* _AdditionalSpecialSubframeExtension_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.o b/asn1c_defs/all-defs/AdditionalSpecialSubframeExtension-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..0f8b13f7a467b0d1fcd2fd59da9913cdd55511b2 GIT binary patch literal 3584 zcmcIm&2G~`5Z*QvD1R;gNFWqW6hW=HRHC91a!CUP6&i?ob{*HHQ4<@*Tht1P<_)-T z;Mhm0ICJ0#Hy#0=0OoUc?9J9GDT0yKGxN>gdUi9;PG#}Y@X(N88WImgrZGzVL?%0l z=!kJKCgxUG8?q6FUbFT(@EgQ7>uYVV6;!rl5XNMgd=joj!b|<)Ucag*WzY`e)IX~; zh-B{7)cfT)($8=JK1{Y>L<)DouOPsT1@7- z@Ohdz`{PV>LN7T6IC`M_VDAMO6gkA9``doA;aA(iT4QT|u}58A6phMcdOu?!9+%7a zixbQB%}{O@?^)AUY0}&sBo0dk@W;05gmoEsOEl1@M8)UqLfPLXNEKUIq@H5HLWv3`A~OW zS-39L0^xa7(1(%cP!OjyEfWjkWTq%-mg=6>`mnC>4Z`u;G3jj|{Cyw%Qy=_WAN)rj ze9!@F`NE4scfRt-{qsn6F_K;By^38s348YN<-lRxh+4Hga0DiPT4}C2a2#!LDroW+ z4-pu(xZEN7ku+kd>eebRmMhQ86~Th*M`0}6UL%x$?(zQ586Qizcf#bsG-(*Fwj&w& zQ8OJo_^9C*lnnMo!!fORA3rqwqLRTTkeCPzGoEQd!!I#N zyrbdpA5*qn4Zp1Uf7NjKUspE0&*&SI*-xHt!iu+B(yJ4f?Ji$uNd{X|SgW4&gjJ7Y zVYMSD@U*QNQiG$`-ZzA8sjm-ZB}z<}aKLw`j&;?4daR|kso(FwjF=5LhD`%H}V zm>w{GN6W>r;49{ZQbw-JzR=BghmGSMWyH)lOUvvZ+MHKvSN%o1W+XT3BWGUxYju9_ J$*z+b{~NVsY&`$~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.c b/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.c new file mode 100755 index 0000000..4ef3c1c --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.c @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AdditionalSpecialSubframePatterns.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_AdditionalSpecialSubframePatterns_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 9 } /* (0..9,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_AdditionalSpecialSubframePatterns_value2enum_1[] = { + { 0, 4, "ssp0" }, + { 1, 4, "ssp1" }, + { 2, 4, "ssp2" }, + { 3, 4, "ssp3" }, + { 4, 4, "ssp4" }, + { 5, 4, "ssp5" }, + { 6, 4, "ssp6" }, + { 7, 4, "ssp7" }, + { 8, 4, "ssp8" }, + { 9, 4, "ssp9" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AdditionalSpecialSubframePatterns_enum2value_1[] = { + 0, /* ssp0(0) */ + 1, /* ssp1(1) */ + 2, /* ssp2(2) */ + 3, /* ssp3(3) */ + 4, /* ssp4(4) */ + 5, /* ssp5(5) */ + 6, /* ssp6(6) */ + 7, /* ssp7(7) */ + 8, /* ssp8(8) */ + 9 /* ssp9(9) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AdditionalSpecialSubframePatterns_specs_1 = { + asn_MAP_AdditionalSpecialSubframePatterns_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AdditionalSpecialSubframePatterns_enum2value_1, /* N => "tag"; sorted by N */ + 10, /* Number of elements in the maps */ + 11, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AdditionalSpecialSubframePatterns_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframePatterns = { + "AdditionalSpecialSubframePatterns", + "AdditionalSpecialSubframePatterns", + &asn_OP_NativeEnumerated, + asn_DEF_AdditionalSpecialSubframePatterns_tags_1, + sizeof(asn_DEF_AdditionalSpecialSubframePatterns_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframePatterns_tags_1[0]), /* 1 */ + asn_DEF_AdditionalSpecialSubframePatterns_tags_1, /* Same as above */ + sizeof(asn_DEF_AdditionalSpecialSubframePatterns_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframePatterns_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_AdditionalSpecialSubframePatterns_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AdditionalSpecialSubframePatterns_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.h b/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.h new file mode 100755 index 0000000..f631fed --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AdditionalSpecialSubframePatterns_H_ +#define _AdditionalSpecialSubframePatterns_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AdditionalSpecialSubframePatterns { + AdditionalSpecialSubframePatterns_ssp0 = 0, + AdditionalSpecialSubframePatterns_ssp1 = 1, + AdditionalSpecialSubframePatterns_ssp2 = 2, + AdditionalSpecialSubframePatterns_ssp3 = 3, + AdditionalSpecialSubframePatterns_ssp4 = 4, + AdditionalSpecialSubframePatterns_ssp5 = 5, + AdditionalSpecialSubframePatterns_ssp6 = 6, + AdditionalSpecialSubframePatterns_ssp7 = 7, + AdditionalSpecialSubframePatterns_ssp8 = 8, + AdditionalSpecialSubframePatterns_ssp9 = 9 + /* + * Enumeration is extensible + */ +} e_AdditionalSpecialSubframePatterns; + +/* AdditionalSpecialSubframePatterns */ +typedef long AdditionalSpecialSubframePatterns_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_AdditionalSpecialSubframePatterns_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframePatterns; +extern const asn_INTEGER_specifics_t asn_SPC_AdditionalSpecialSubframePatterns_specs_1; +asn_struct_free_f AdditionalSpecialSubframePatterns_free; +asn_struct_print_f AdditionalSpecialSubframePatterns_print; +asn_constr_check_f AdditionalSpecialSubframePatterns_constraint; +ber_type_decoder_f AdditionalSpecialSubframePatterns_decode_ber; +der_type_encoder_f AdditionalSpecialSubframePatterns_encode_der; +xer_type_decoder_f AdditionalSpecialSubframePatterns_decode_xer; +xer_type_encoder_f AdditionalSpecialSubframePatterns_encode_xer; +per_type_decoder_f AdditionalSpecialSubframePatterns_decode_uper; +per_type_encoder_f AdditionalSpecialSubframePatterns_encode_uper; +per_type_decoder_f AdditionalSpecialSubframePatterns_decode_aper; +per_type_encoder_f AdditionalSpecialSubframePatterns_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AdditionalSpecialSubframePatterns_H_ */ +#include diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.o b/asn1c_defs/all-defs/AdditionalSpecialSubframePatterns.o new file mode 100644 index 0000000000000000000000000000000000000000..80dc45b544bd01c2a5e5b36d1d18809e20ca1297 GIT binary patch literal 3352 zcmbtW%}x|S5bkAA@RvnBU`))YF=8T<-4z8jAw!U#7{v_)^|s6|BdoHsWT%(NMTtif z6XVGvkKiM4@Zix$;0cW0ykS*O)zTERvcyWde!i;euCDIs-FK6Zr@As3#gtKFYR_U+ zseu!Fx^GlpWmTU#4th5Y0~52t)h?0kZ>NthEmd{39tErOYhk4dqFH{~2x?(5&^l~H zal6DexZI1h+oW|24|WiVYj(kKU|_F~!N9)t!03fx_X^B^(n;{1f^pP+;JP+(zQnOk zB#C3~ND^n8WfGO_F)beVorYsC(s1lg8qPhF>&Ed~P65j!D(eRxfKU9 z9CK6BaJkzg#xXZ)fBbbYGv zmL4QWojwQx;+Pw~-}Md5ersPV){}K2# zva?tq5Z5`Fm}*eqLxd|Y-l*xI3{p1|xx$(b-)QA61v*e(IgXXrsH1_Ad2bZVa5XS) z)YvOv$njR|m7wKMvh&KT)N8d6Zl)L2b?8mcE)2ywsJ!O7{!?CpeB3hs-tlxkD?(Cx zTIdzf5aZuncKD?5Jz?Bsh2#y8c*kV^ClSY{T>ln05G!y1NzT72a9j(C=kZCG>u&>& zw33JxcUxMbJOF{eS$<-+_!c#En~*ag@mt{a`8$6E7}nAS!zP~!oUuXBU12{58$)IN zTa=$8$!RVtB~E`muId|0}>SME3s&ZAju=4$BS7&w;e5i#CMkYZK?O zd=F06?Kn?1gq$)KZP|Ma%~AdiC7cBe-zK?#d@IwI%F@I4K`bat^Jb^zZ_+}aVSbxr F{$IWG9Do1- literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.c b/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.c new file mode 100755 index 0000000..458fedc --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AdditionalSpecialSubframePatternsExtension.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_AdditionalSpecialSubframePatternsExtension_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_AdditionalSpecialSubframePatternsExtension_value2enum_1[] = { + { 0, 5, "ssp10" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AdditionalSpecialSubframePatternsExtension_enum2value_1[] = { + 0 /* ssp10(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AdditionalSpecialSubframePatternsExtension_specs_1 = { + asn_MAP_AdditionalSpecialSubframePatternsExtension_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AdditionalSpecialSubframePatternsExtension_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframePatternsExtension = { + "AdditionalSpecialSubframePatternsExtension", + "AdditionalSpecialSubframePatternsExtension", + &asn_OP_NativeEnumerated, + asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1, + sizeof(asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1[0]), /* 1 */ + asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1, /* Same as above */ + sizeof(asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1) + /sizeof(asn_DEF_AdditionalSpecialSubframePatternsExtension_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_AdditionalSpecialSubframePatternsExtension_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AdditionalSpecialSubframePatternsExtension_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.h b/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.h new file mode 100755 index 0000000..aadb61a --- /dev/null +++ b/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AdditionalSpecialSubframePatternsExtension_H_ +#define _AdditionalSpecialSubframePatternsExtension_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AdditionalSpecialSubframePatternsExtension { + AdditionalSpecialSubframePatternsExtension_ssp10 = 0 + /* + * Enumeration is extensible + */ +} e_AdditionalSpecialSubframePatternsExtension; + +/* AdditionalSpecialSubframePatternsExtension */ +typedef long AdditionalSpecialSubframePatternsExtension_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_AdditionalSpecialSubframePatternsExtension_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframePatternsExtension; +extern const asn_INTEGER_specifics_t asn_SPC_AdditionalSpecialSubframePatternsExtension_specs_1; +asn_struct_free_f AdditionalSpecialSubframePatternsExtension_free; +asn_struct_print_f AdditionalSpecialSubframePatternsExtension_print; +asn_constr_check_f AdditionalSpecialSubframePatternsExtension_constraint; +ber_type_decoder_f AdditionalSpecialSubframePatternsExtension_decode_ber; +der_type_encoder_f AdditionalSpecialSubframePatternsExtension_encode_der; +xer_type_decoder_f AdditionalSpecialSubframePatternsExtension_decode_xer; +xer_type_encoder_f AdditionalSpecialSubframePatternsExtension_encode_xer; +per_type_decoder_f AdditionalSpecialSubframePatternsExtension_decode_uper; +per_type_encoder_f AdditionalSpecialSubframePatternsExtension_encode_uper; +per_type_decoder_f AdditionalSpecialSubframePatternsExtension_decode_aper; +per_type_encoder_f AdditionalSpecialSubframePatternsExtension_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AdditionalSpecialSubframePatternsExtension_H_ */ +#include diff --git a/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.o b/asn1c_defs/all-defs/AdditionalSpecialSubframePatternsExtension.o new file mode 100644 index 0000000000000000000000000000000000000000..c6d07e62975e05c1f07b5e7af96a06d9b228b6b4 GIT binary patch literal 2832 zcmbtV&2G~`5T4Zhl;5^+LFy%(2m)4dsYC@5a#hk+2ujqd;%GL>(gqSIiZ@kz0f`eQ zgm?muJOig*c?*tQd4e*t-bprFr!+8mecf#pV{shgcdwzj&e-bB@}z3$1js!FX@FG(x=S|urFIHVIy ze=oj&0(B%*8u7+ERDTMuzpZoDE0Lz%une%avhuK4+OG8z-7h{6i=uol>>Dq97cPnN zq6lwixX1ThTK^3EKJsz$gE8F&rt{;B02z4_;0k#XfWJEcfr$ke4w1_Y9NeuJz_jZc zd)L&N20SYxH?01Kn(A|1))WrlqRkpr0bCvhtQWwgWB4yb=A3;|A0+d5(6gC2a=(xG zoO7O48`Wd-KbidLL5&hyr+*Z=8n^xOZ& zC+31FV)>JGZd!g(jW?uj?x_kEQ$49w!{F7*W~>joYLflbJ4vd0wwE21s9v)kC!ILM zWi!#H^j39clBy|w#^``O!N=`P6AUKZ$9c90XPZj#+!H>W8UUUfACHKHLin7qvfH|~ z3BTsxuN?fkgR@Eb7w{@ufP3I|`TdJ*obZviO{52HEo&g~%rm{qmR9>3L_=x`qL!v0 zdL42oGZahcs+KfivN-C&$PukhT@KvKYMxX`s?4t0AUN9U^Vmac)0uA zDHP$A*Z(2nB)gd!+=~M%GajL$*@-fDaPQh*%ArNBpeBgd=l9_$VzfT}gIy`vjdDK6 zcuv`WiAG-kk>#&*qSZyu-$XyJ|FRtj=2QRF3-`nQzd?+a^3VUHUEiN83mXp7;K1_v zy(El;{x2l-d|mPRA27(6oA*5r%*mxR|Lm#Gq2>Ry`YK{Gc=`LMZ;C&=2*Fni{_y(n TT=Q+q N; sorted by tag */ + asn_MAP_AerialUEsubscriptionInformation_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AerialUEsubscriptionInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AerialUEsubscriptionInformation = { + "AerialUEsubscriptionInformation", + "AerialUEsubscriptionInformation", + &asn_OP_NativeEnumerated, + asn_DEF_AerialUEsubscriptionInformation_tags_1, + sizeof(asn_DEF_AerialUEsubscriptionInformation_tags_1) + /sizeof(asn_DEF_AerialUEsubscriptionInformation_tags_1[0]), /* 1 */ + asn_DEF_AerialUEsubscriptionInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_AerialUEsubscriptionInformation_tags_1) + /sizeof(asn_DEF_AerialUEsubscriptionInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_AerialUEsubscriptionInformation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AerialUEsubscriptionInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AerialUEsubscriptionInformation.h b/asn1c_defs/all-defs/AerialUEsubscriptionInformation.h new file mode 100755 index 0000000..9f945e4 --- /dev/null +++ b/asn1c_defs/all-defs/AerialUEsubscriptionInformation.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AerialUEsubscriptionInformation_H_ +#define _AerialUEsubscriptionInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AerialUEsubscriptionInformation { + AerialUEsubscriptionInformation_allowed = 0, + AerialUEsubscriptionInformation_not_allowed = 1 + /* + * Enumeration is extensible + */ +} e_AerialUEsubscriptionInformation; + +/* AerialUEsubscriptionInformation */ +typedef long AerialUEsubscriptionInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AerialUEsubscriptionInformation; +asn_struct_free_f AerialUEsubscriptionInformation_free; +asn_struct_print_f AerialUEsubscriptionInformation_print; +asn_constr_check_f AerialUEsubscriptionInformation_constraint; +ber_type_decoder_f AerialUEsubscriptionInformation_decode_ber; +der_type_encoder_f AerialUEsubscriptionInformation_encode_der; +xer_type_decoder_f AerialUEsubscriptionInformation_decode_xer; +xer_type_encoder_f AerialUEsubscriptionInformation_encode_xer; +per_type_decoder_f AerialUEsubscriptionInformation_decode_uper; +per_type_encoder_f AerialUEsubscriptionInformation_encode_uper; +per_type_decoder_f AerialUEsubscriptionInformation_decode_aper; +per_type_encoder_f AerialUEsubscriptionInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AerialUEsubscriptionInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/AerialUEsubscriptionInformation.o b/asn1c_defs/all-defs/AerialUEsubscriptionInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..d8f6119f87d5b58e5d452f7b7762871309f0ef87 GIT binary patch literal 2824 zcmbtV%Wl(95S`S8mUjv)kk|xR5F~2FRV6BrkgJjwDkxD=#nN?L(*_bdvYkRD1QIKj zh%aHuvI{Y*xoXt$JQm zlp{?AKCZ?D@(lcr<0z%Zp|ZRwCi-(@Mi#jJe)!hkf*?$0C5DxyrTdNMMt2k>qsBdR z-fYcUqcpQVSPN!r-n8yyxK=GsslQ41dype}WE?RY18BBIGtw0(!zYU%A_kl);I|N| zLB1-YTu<@5-wrE3r}#8y0P21jN}VwQ0|Rot;NLN*A#O9!V*fkEr^X6ZX~0=#9d-ts zKMZhYfWE5$H*o`Ily%r)?keK-k}BOJaHzOIrUz~uIFH)PP6g9R-0j%0QhKMo?j(Cd zzf$9cL7YUadeK>`6vRW{lU|-Jb}IS1Zhz#@`N3$wot#8O^tn{Yq7zI%o%i#Ovxe`^ zuHVKAe&i;2^Jw|D{Q%!7&j~^&o3Yyql0&;h_enj~a$a;?_LlI=N`-426Rw`F<`KB9 z;Pn28J?4PwToDlcCdY&qPh<9e5pFY29Y2jna=Cw0=OS~-?Qkr(@WG7t28r86pG2A8 zktp%sC17s3i3?^oj=_vVN{DHh3z+(SH*Ka!S~VCoWr8IB~r<%9#HrypCd;EBzm;W~+%36IZnxm=LD!9ktu^gC^^oWdIEc*xyD^Ypm

v{_kP~VRJ%YFZzat%YI578`~+?``<^5OwL1=703So8|aO + +/* Including external dependencies */ +#include "PriorityLevel.h" +#include "Pre-emptionCapability.h" +#include "Pre-emptionVulnerability.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* AllocationAndRetentionPriority */ +typedef struct AllocationAndRetentionPriority { + PriorityLevel_t priorityLevel; + Pre_emptionCapability_t pre_emptionCapability; + Pre_emptionVulnerability_t pre_emptionVulnerability; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AllocationAndRetentionPriority_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AllocationAndRetentionPriority; +extern asn_SEQUENCE_specifics_t asn_SPC_AllocationAndRetentionPriority_specs_1; +extern asn_TYPE_member_t asn_MBR_AllocationAndRetentionPriority_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _AllocationAndRetentionPriority_H_ */ +#include diff --git a/asn1c_defs/all-defs/AllocationAndRetentionPriority.o b/asn1c_defs/all-defs/AllocationAndRetentionPriority.o new file mode 100644 index 0000000000000000000000000000000000000000..e5989da84de14eb13eb9fb6627eb1826cecf2df5 GIT binary patch literal 3480 zcmcJR%}*0S6u_qx75oCkuf&7Jn23qpbdkiWQ5Q>r_yH>f<89fN6&l;!rn?ZhNDtn< za`fWS|HGpu9yogN573)8eQ)+*G!}}oi z2V|d=e+~^m#qs~p?=bXv@(BCIb;WiW+Sw!QHxGSfph;2pMee7{Wj^i+7hFqOgB;g@ z=iuDa7$7k~qhF^J_srRJs^B?Ur&hGkae^0k zWv|-0EDD|*z~eX#D?f2tH}%|IIyNl@+s;m{5cs}8QMo*0$fb>WcweI+$A5(Z4P`u1 z9ej@Q5wcO4jGtqCh4E3wcNss=_!q|czxOBO7g+u{P8_+4w)%wk}tjKr*Drx*Z z8c5dT_&6nXdYpn4v>ag#hBl!glk-G|GD-&m z_m_)WzXL(Zc-|xRKv7W5MPGe(Of{(9pdj8yL(tUq!!Mbnp_=q*^;H>Aap7Acxqg5? Lk={d`i(3B|X8lQh literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AreaScopeOfMDT.c b/asn1c_defs/all-defs/AreaScopeOfMDT.c new file mode 100755 index 0000000..257489d --- /dev/null +++ b/asn1c_defs/all-defs/AreaScopeOfMDT.c @@ -0,0 +1,85 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AreaScopeOfMDT.h" + +#include "CellBasedMDT.h" +#include "TABasedMDT.h" +#include "TAIBasedMDT.h" +asn_per_constraints_t asn_PER_type_AreaScopeOfMDT_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_AreaScopeOfMDT_1[] = { + { ATF_POINTER, 0, offsetof(struct AreaScopeOfMDT, choice.cellBased), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellBasedMDT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellBased" + }, + { ATF_POINTER, 0, offsetof(struct AreaScopeOfMDT, choice.tABased), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TABasedMDT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tABased" + }, + { ATF_NOFLAGS, 0, offsetof(struct AreaScopeOfMDT, choice.pLMNWide), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMNWide" + }, + { ATF_POINTER, 0, offsetof(struct AreaScopeOfMDT, choice.tAIBased), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAIBasedMDT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tAIBased" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_AreaScopeOfMDT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellBased */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tABased */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pLMNWide */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* tAIBased */ +}; +asn_CHOICE_specifics_t asn_SPC_AreaScopeOfMDT_specs_1 = { + sizeof(struct AreaScopeOfMDT), + offsetof(struct AreaScopeOfMDT, _asn_ctx), + offsetof(struct AreaScopeOfMDT, present), + sizeof(((struct AreaScopeOfMDT *)0)->present), + asn_MAP_AreaScopeOfMDT_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_AreaScopeOfMDT = { + "AreaScopeOfMDT", + "AreaScopeOfMDT", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_AreaScopeOfMDT_constr_1, CHOICE_constraint }, + asn_MBR_AreaScopeOfMDT_1, + 4, /* Elements count */ + &asn_SPC_AreaScopeOfMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AreaScopeOfMDT.h b/asn1c_defs/all-defs/AreaScopeOfMDT.h new file mode 100755 index 0000000..fde7e01 --- /dev/null +++ b/asn1c_defs/all-defs/AreaScopeOfMDT.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AreaScopeOfMDT_H_ +#define _AreaScopeOfMDT_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AreaScopeOfMDT_PR { + AreaScopeOfMDT_PR_NOTHING, /* No components present */ + AreaScopeOfMDT_PR_cellBased, + AreaScopeOfMDT_PR_tABased, + AreaScopeOfMDT_PR_pLMNWide, + /* Extensions may appear below */ + AreaScopeOfMDT_PR_tAIBased +} AreaScopeOfMDT_PR; + +/* Forward declarations */ +struct CellBasedMDT; +struct TABasedMDT; +struct TAIBasedMDT; + +/* AreaScopeOfMDT */ +typedef struct AreaScopeOfMDT { + AreaScopeOfMDT_PR present; + union AreaScopeOfMDT_u { + struct CellBasedMDT *cellBased; + struct TABasedMDT *tABased; + NULL_t pLMNWide; + /* + * This type is extensible, + * possible extensions are below. + */ + struct TAIBasedMDT *tAIBased; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AreaScopeOfMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AreaScopeOfMDT; +extern asn_CHOICE_specifics_t asn_SPC_AreaScopeOfMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_AreaScopeOfMDT_1[4]; +extern asn_per_constraints_t asn_PER_type_AreaScopeOfMDT_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _AreaScopeOfMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/AreaScopeOfMDT.o b/asn1c_defs/all-defs/AreaScopeOfMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..4bf0391641f7f2b3fc0c6f7d3da51a89dc9bb83d GIT binary patch literal 3152 zcmcIl%}*0i5P!Acw|w}KXuOn@Xk!T&a;3R!B^P71y^X9#szAct!&Sf%6D5IXKR1;LG z!;7ixYSC5ws!yFK`5gZ=%nLA~KTM*Z#3%Oxf4SOd2IUtE(<`bP)M`_H7;LI&GUm>Wb>WEgkDOm(9r|a2er4wm@O2Z~@wU&RA zpKwOUo&5b6N4TzpoIUDi$G4Gft0)bTZL7@0+bT>9*|rWPFrBA2RSYSsE*M%YUMH4O zmlE7fB=jZ44VdsNrkcoE-Q7gh!WgZCMm^hXo+mE%%#dblv<@15sIc)h@lO8lw12N^ zvEMph_D7AU=bd2tXX2gWeCvXL?}GpCf~)p{=Twy+*1d(viq~%NB7bWvsCjv9pDxZ= zb`6&+USY00Unpv=Qe5()gJxiPdeuffjP@u}?8~~pQ;*`@Q%m-aIO%ewU>m|_Pz{Zm z3No%SyKxW{x)M)r6Ixs?l?;14$l;I>uEl(nm`5NRm%9OeO?$+P%QA3$vqEz$0Ph!& zxV#(S5)C_+j8TSOy!0Ba!&uiB∾5QiqYZ*A= z53%iof!|^b?5lyp{{h?Nj4-!-wN7}j8~Gc`p*IrqZIPnjRivCvKk}8c5r)dyYe0c# z-pP|1)O>A*WT{TAQS|}pEy}4jc6S4MaZbGv1PQ&*)t6k|zq7lv6=%X6H_0^> zL+17*$Ph`u>d-kqMG4`-QuV+4+wM z2OWuHtg0MyVNXfGf2S(|^FwavHt)YmINp literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/AreaScopeOfQMC.c b/asn1c_defs/all-defs/AreaScopeOfQMC.c new file mode 100755 index 0000000..586761a --- /dev/null +++ b/asn1c_defs/all-defs/AreaScopeOfQMC.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "AreaScopeOfQMC.h" + +#include "CellBasedQMC.h" +#include "TABasedQMC.h" +#include "TAIBasedQMC.h" +#include "PLMNAreaBasedQMC.h" +asn_per_constraints_t asn_PER_type_AreaScopeOfQMC_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_AreaScopeOfQMC_1[] = { + { ATF_POINTER, 0, offsetof(struct AreaScopeOfQMC, choice.cellBased), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellBasedQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellBased" + }, + { ATF_POINTER, 0, offsetof(struct AreaScopeOfQMC, choice.tABased), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TABasedQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tABased" + }, + { ATF_POINTER, 0, offsetof(struct AreaScopeOfQMC, choice.tAIBased), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAIBasedQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tAIBased" + }, + { ATF_POINTER, 0, offsetof(struct AreaScopeOfQMC, choice.pLMNAreaBased), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMNAreaBasedQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMNAreaBased" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_AreaScopeOfQMC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellBased */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tABased */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tAIBased */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* pLMNAreaBased */ +}; +asn_CHOICE_specifics_t asn_SPC_AreaScopeOfQMC_specs_1 = { + sizeof(struct AreaScopeOfQMC), + offsetof(struct AreaScopeOfQMC, _asn_ctx), + offsetof(struct AreaScopeOfQMC, present), + sizeof(((struct AreaScopeOfQMC *)0)->present), + asn_MAP_AreaScopeOfQMC_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_AreaScopeOfQMC = { + "AreaScopeOfQMC", + "AreaScopeOfQMC", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_AreaScopeOfQMC_constr_1, CHOICE_constraint }, + asn_MBR_AreaScopeOfQMC_1, + 4, /* Elements count */ + &asn_SPC_AreaScopeOfQMC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/AreaScopeOfQMC.h b/asn1c_defs/all-defs/AreaScopeOfQMC.h new file mode 100755 index 0000000..5dc1c3d --- /dev/null +++ b/asn1c_defs/all-defs/AreaScopeOfQMC.h @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _AreaScopeOfQMC_H_ +#define _AreaScopeOfQMC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AreaScopeOfQMC_PR { + AreaScopeOfQMC_PR_NOTHING, /* No components present */ + AreaScopeOfQMC_PR_cellBased, + AreaScopeOfQMC_PR_tABased, + AreaScopeOfQMC_PR_tAIBased, + AreaScopeOfQMC_PR_pLMNAreaBased + /* Extensions may appear below */ + +} AreaScopeOfQMC_PR; + +/* Forward declarations */ +struct CellBasedQMC; +struct TABasedQMC; +struct TAIBasedQMC; +struct PLMNAreaBasedQMC; + +/* AreaScopeOfQMC */ +typedef struct AreaScopeOfQMC { + AreaScopeOfQMC_PR present; + union AreaScopeOfQMC_u { + struct CellBasedQMC *cellBased; + struct TABasedQMC *tABased; + struct TAIBasedQMC *tAIBased; + struct PLMNAreaBasedQMC *pLMNAreaBased; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AreaScopeOfQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AreaScopeOfQMC; +extern asn_CHOICE_specifics_t asn_SPC_AreaScopeOfQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_AreaScopeOfQMC_1[4]; +extern asn_per_constraints_t asn_PER_type_AreaScopeOfQMC_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _AreaScopeOfQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/AreaScopeOfQMC.o b/asn1c_defs/all-defs/AreaScopeOfQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..df5f573e4b3fa37bc5144f764f593591158ed05c GIT binary patch literal 3168 zcmcIlOHUL*5bk9`@d@}yG+dUGXr#ju5{V{eU|k*t*byWihhZ4Oxa@A2A(6!B{sQCC zBRBtsC(j;DyzmQ*{sOJ)shX*2XALn@$xKy!_3Ezfsd-ypp6@G_6jMn(RGG%8Qb&WC z>=@BeL+Y|R19Bfd2Bue8D8GmV)Ki?@5B>F^-3c4dpRCkW5H_20eiUx2c$WE6B6OBl zR?$1rdL}$2L;nf$axbxc*e7ho2}A$tCiCJMoJQXBrWrS8*45hyj_G<5 z*6de53-3lbx1uaXIkz&2=T?{+%DE1uFzja_Q-oAjXN8uCSAdn&xfFL&3Hy@a0tWno zR8zTZx|^y-n1c6+SkEq*mw@v*6J*#kc#nuaxMX|{yvYBZ@gGoK^4p}t{%G)QzcXb2 z47@1Mw;uTS9(W(rDaxbr15XFak6PZ!tn1|sUhMBog-x$&?2qd6mfgS&*Q+fymTGmQ zx%D+KKJ0{+rx&zaQM?bC5?|8&7p*v{J-22@Bt_TVnr(HJ4)3EyQY4qwGeZ~L*Y^i~upz28O!J*&D3YS{FR86`{A&351;XhM_@ z+IxE;+(6xG$Dv+W-I$1CKX^&2`*$`9p|~fU>yjL)2$|ZGB4Z#SW=~XyJY3?;Dl8Dc z1sw0H9sl0)W7V#I7YvBuT$IG|Jg3;k@ys1CplsJa1`O$#9TQbmh%N zWUopl8fgdK7(Z#@4mA|dM-sKe#30^*hcW5bv=4-gwlC^`tR1ip#SfDaXC3yy-amfJ aMWwnlOh>JPmJ0vY;`j;`>VjR89se6C0pqLy literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BIT_STRING.c b/asn1c_defs/all-defs/BIT_STRING.c new file mode 100755 index 0000000..fd5671e --- /dev/null +++ b/asn1c_defs/all-defs/BIT_STRING.c @@ -0,0 +1,656 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * BIT STRING basic type description. + */ +static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = { + sizeof(BIT_STRING_t), + offsetof(BIT_STRING_t, _asn_ctx), + ASN_OSUBV_BIT +}; +asn_TYPE_operation_t asn_OP_BIT_STRING = { + OCTET_STRING_free, /* Implemented in terms of OCTET STRING */ + BIT_STRING_print, + BIT_STRING_compare, + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_decode_xer_binary, + BIT_STRING_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + BIT_STRING_decode_oer, + BIT_STRING_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + BIT_STRING_decode_uper, /* Unaligned PER decoder */ + BIT_STRING_encode_uper, /* Unaligned PER encoder */ + OCTET_STRING_decode_aper, /* Aligned PER decoder */ + OCTET_STRING_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + BIT_STRING_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_BIT_STRING = { + "BIT STRING", + "BIT_STRING", + &asn_OP_BIT_STRING, + asn_DEF_BIT_STRING_tags, + sizeof(asn_DEF_BIT_STRING_tags) + / sizeof(asn_DEF_BIT_STRING_tags[0]), + asn_DEF_BIT_STRING_tags, /* Same as above */ + sizeof(asn_DEF_BIT_STRING_tags) + / sizeof(asn_DEF_BIT_STRING_tags[0]), + { 0, 0, BIT_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs +}; + +/* + * BIT STRING generic constraint. + */ +int +BIT_STRING_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + + if(st && st->buf) { + if((st->size == 0 && st->bits_unused) + || st->bits_unused < 0 || st->bits_unused > 7) { + ASN__CTFAIL(app_key, td, sptr, + "%s: invalid padding byte (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} + +static const char *_bit_pattern[16] = { + "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", + "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" +}; + +asn_enc_rval_t +BIT_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0, 0, 0}; + char scratch[128]; + char *p = scratch; + char *scend = scratch + (sizeof(scratch) - 10); + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + int xcan = (flags & XER_F_CANONICAL); + uint8_t *buf; + uint8_t *end; + + if(!st || !st->buf) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + buf = st->buf; + end = buf + st->size - 1; /* Last byte is special */ + + /* + * Binary dump + */ + for(; buf < end; buf++) { + int v = *buf; + int nline = xcan?0:(((buf - st->buf) % 8) == 0); + if(p >= scend || nline) { + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + if(nline) ASN__TEXT_INDENT(1, ilevel); + } + memcpy(p + 0, _bit_pattern[v >> 4], 4); + memcpy(p + 4, _bit_pattern[v & 0x0f], 4); + p += 8; + } + + if(!xcan && ((buf - st->buf) % 8) == 0) + ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + + if(buf == end) { + int v = *buf; + int ubits = st->bits_unused; + int i; + for(i = 7; i >= ubits; i--) + *p++ = (v & (1 << i)) ? 0x31 : 0x30; + ASN__CALLBACK(scratch, p - scratch); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + + +/* + * BIT STRING specific contents printer. + */ +int +BIT_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + char scratch[64]; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + uint8_t *buf; + uint8_t *end; + char *p = scratch; + + (void)td; /* Unused argument */ + + if(!st || !st->buf) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + ilevel++; + buf = st->buf; + end = buf + st->size; + + /* + * Hexadecimal dump. + */ + for(; buf < end; buf++) { + if((buf - st->buf) % 16 == 0 && (st->size > 16) + && buf != st->buf) { + _i_INDENT(1); + /* Dump the string */ + if(cb(scratch, p - scratch, app_key) < 0) return -1; + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + + if(p > scratch) { + p--; /* Eat the tailing space */ + + if((st->size > 16)) { + _i_INDENT(1); + } + + /* Dump the incomplete 16-bytes row */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + } + + if(st->bits_unused) { + int ret = snprintf(scratch, sizeof(scratch), " (%d bit%s unused)", + st->bits_unused, st->bits_unused == 1 ? "" : "s"); + assert(ret > 0 && ret < (ssize_t)sizeof(scratch)); + if(ret > 0 && ret < (ssize_t)sizeof(scratch) + && cb(scratch, ret, app_key) < 0) + return -1; + } + + return 0; +} + +/* + * Non-destructively remove the trailing 0-bits from the given bit string. + */ +static const BIT_STRING_t * +BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp) { + const uint8_t *b; + union { + const uint8_t *c_buf; + uint8_t *nc_buf; + } unconst; + + if(st->size == 0) { + assert(st->bits_unused == 0); + return st; + } else { + for(b = &st->buf[st->size - 1]; b > st->buf && *b == 0; b--) { + ; + } + /* b points to the last byte which may contain data */ + if(*b) { + int unused = 7; + uint8_t v = *b; + v &= -(int8_t)v; + if(v & 0x0F) unused -= 4; + if(v & 0x33) unused -= 2; + if(v & 0x55) unused -= 1; + tmp->size = b-st->buf + 1; + tmp->bits_unused = unused; + } else { + tmp->size = b-st->buf; + tmp->bits_unused = 0; + } + + assert(b >= st->buf); + } + + unconst.c_buf = st->buf; + tmp->buf = unconst.nc_buf; + return tmp; +} + +/* + * Lexicographically compare the common prefix of both strings, + * and if it is the same return -1 for the smallest string. + */ +int +BIT_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + /* + * Remove information about trailing bits, since + * X.680 (08/2015) #22.7 "ensure that different semantics are not" + * "associated with [values that differ only in] the trailing 0 bits." + */ + BIT_STRING_t compact_a, compact_b; + const BIT_STRING_t *a = BIT_STRING__compactify(aptr, &compact_a); + const BIT_STRING_t *b = BIT_STRING__compactify(bptr, &compact_b); + const asn_OCTET_STRING_specifics_t *specs = td->specifics; + + assert(specs && specs->subvariant == ASN_OSUBV_BIT); + + if(a && b) { + size_t common_prefix_size = a->size <= b->size ? a->size : b->size; + int ret = memcmp(a->buf, b->buf, common_prefix_size); + if(ret == 0) { + /* Figure out which string with equal prefixes is longer. */ + if(a->size < b->size) { + return -1; + } else if(a->size > b->size) { + return 1; + } else { + /* Figure out how many unused bits */ + if(a->bits_unused > b->bits_unused) { + return -1; + } else if(a->bits_unused < b->bits_unused) { + return 1; + } else { + return 0; + } + } + } else { + return ret; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +static asn_per_constraint_t asn_DEF_BIT_STRING_constraint_size = { + APC_SEMI_CONSTRAINED, -1, -1, 0, 0}; + +asn_dec_rval_t +BIT_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + + (void)opt_codec_ctx; + + if(pc) { + csiz = &pc->size; + } else { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + + if(specs->subvariant != ASN_OSUBV_BIT) { + ASN_DEBUG("Subvariant %d is not BIT OSUBV_BIT", specs->subvariant); + RETURN(RC_FAIL); + } + + /* + * Allocate the string. + */ + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + st->size = (csiz->upper_bound + 7) >> 3; + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + ASN_DEBUG("Encoding BIT STRING size %ld", csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, csiz->upper_bound); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += csiz->upper_bound; + st->buf[st->size] = 0; + st->bits_unused = (8 - (csiz->upper_bound & 0x7)) & 0x7; + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, + &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + len_bits = raw_len; + len_bytes = (len_bits + 7) >> 3; + if(len_bits & 0x7) st->bits_unused = 8 - (len_bits & 0x7); + /* len_bits be multiple of 16K if repeat is set */ + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +BIT_STRING_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *csiz; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + BIT_STRING_t compact_bstr; /* Do not modify this directly! */ + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + size_t size_in_bits; + const uint8_t *buf; + int ret; + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(specs->subvariant == ASN_OSUBV_BIT) { + if((st->size == 0 && st->bits_unused) || (st->bits_unused & ~7)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + + if(pc) { + csiz = &pc->size; + } else { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + /* Figure out the size without the trailing bits */ + st = BIT_STRING__compactify(st, &compact_bstr); + size_in_bits = 8 * st->size - st->bits_unused; + + ASN_DEBUG( + "Encoding %s into %" ASN_PRI_SIZE " bits" + " (%ld..%ld, effective %d)%s", + td->name, size_in_bits, csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out whether size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((ssize_t)size_in_bits > csiz->upper_bound) { + if(ct_extensible) { + csiz = &asn_DEF_BIT_STRING_constraint_size; + inext = 1; + } else { + ASN__ENCODE_FAILED; + } + } + } else { + inext = 0; + } + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + if(csiz->effective_bits >= 0 && !inext) { + int add_trailer = (ssize_t)size_in_bits < csiz->lower_bound; + ASN_DEBUG( + "Encoding %" ASN_PRI_SIZE " bytes (%ld), length (in %d bits) trailer %d; actual " + "value %" ASN_PRI_SSIZE "", + st->size, size_in_bits - csiz->lower_bound, csiz->effective_bits, + add_trailer, + add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound); + ret = per_put_few_bits( + po, add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound, + csiz->effective_bits); + if(ret) ASN__ENCODE_FAILED; + ret = per_put_many_bits(po, st->buf, size_in_bits); + if(ret) ASN__ENCODE_FAILED; + if(add_trailer) { + static const uint8_t zeros[16]; + size_t trailing_zero_bits = csiz->lower_bound - size_in_bits; + while(trailing_zero_bits > 0) { + if(trailing_zero_bits > 8 * sizeof(zeros)) { + ret = per_put_many_bits(po, zeros, 8 * sizeof(zeros)); + trailing_zero_bits -= 8 * sizeof(zeros); + } else { + ret = per_put_many_bits(po, zeros, trailing_zero_bits); + trailing_zero_bits = 0; + } + if(ret) ASN__ENCODE_FAILED; + } + } + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); + + buf = st->buf; + do { + int need_eom = 0; + ssize_t maySave = uper_put_length(po, size_in_bits, &need_eom); + if(maySave < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "", maySave, size_in_bits); + + ret = per_put_many_bits(po, buf, maySave); + if(ret) ASN__ENCODE_FAILED; + + buf += maySave >> 3; + size_in_bits -= maySave; + assert(!(maySave & 0x07) || !size_in_bits); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size_in_bits); + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +asn_random_fill_result_t +BIT_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + static unsigned lengths[] = {0, 1, 2, 3, 4, 8, + 126, 127, 128, 16383, 16384, 16385, + 65534, 65535, 65536, 65537}; + uint8_t *buf; + uint8_t *bend; + uint8_t *b; + size_t rnd_bits, rnd_len; + BIT_STRING_t *st; + + if(max_length == 0) return result_skipped; + + switch(specs->subvariant) { + case ASN_OSUBV_ANY: + return result_failed; + case ASN_OSUBV_BIT: + break; + default: + break; + } + + /* Figure out how far we should go */ + rnd_bits = lengths[asn_random_between( + 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_CONSTRAINED) { + long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length + ? pc->upper_bound + : (ssize_t)max_length; + if(max_length < (size_t)pc->lower_bound) { + return result_skipped; + } + if(pc->flags & APC_EXTENSIBLE) { + switch(asn_random_between(0, 5)) { + case 0: + if(pc->lower_bound > 0) { + rnd_bits = pc->lower_bound - 1; + break; + } + /* Fall through */ + case 1: + rnd_bits = pc->upper_bound + 1; + break; + case 2: + /* Keep rnd_bits from the table */ + if(rnd_bits < max_length) { + break; + } + /* Fall through */ + default: + rnd_bits = asn_random_between(pc->lower_bound, + suggested_upper_bound); + } + } else { + rnd_bits = + asn_random_between(pc->lower_bound, suggested_upper_bound); + } + } else { + rnd_bits = asn_random_between(0, max_length - 1); + } + } else if(rnd_bits >= max_length) { + rnd_bits = asn_random_between(0, max_length - 1); + } + + rnd_len = (rnd_bits + 7) / 8; + buf = CALLOC(1, rnd_len + 1); + if(!buf) return result_failed; + + bend = &buf[rnd_len]; + + for(b = buf; b < bend; b++) { + *(uint8_t *)b = asn_random_between(0, 255); + } + *b = 0; /* Zero-terminate just in case. */ + + if(*sptr) { + st = *sptr; + FREEMEM(st->buf); + } else { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) { + FREEMEM(buf); + return result_failed; + } + } + + st->buf = buf; + st->size = rnd_len; + st->bits_unused = (8 - (rnd_bits & 0x7)) & 0x7; + if(st->bits_unused) { + assert(st->size > 0); + st->buf[st->size-1] &= 0xff << st->bits_unused; + } + + result_ok.length = st->size; + return result_ok; +} diff --git a/asn1c_defs/all-defs/BIT_STRING.h b/asn1c_defs/all-defs/BIT_STRING.h new file mode 100755 index 0000000..a4e2922 --- /dev/null +++ b/asn1c_defs/all-defs/BIT_STRING.h @@ -0,0 +1,48 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BIT_STRING_H_ +#define _BIT_STRING_H_ + +#include /* Some help from OCTET STRING */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct BIT_STRING_s { + uint8_t *buf; /* BIT STRING body */ + size_t size; /* Size of the above buffer */ + + int bits_unused;/* Unused trailing bits in the last octet (0..7) */ + + asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ +} BIT_STRING_t; + +extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING; +extern asn_TYPE_operation_t asn_OP_BIT_STRING; +extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs; + +asn_struct_print_f BIT_STRING_print; /* Human-readable output */ +asn_struct_compare_f BIT_STRING_compare; +asn_constr_check_f BIT_STRING_constraint; +xer_type_encoder_f BIT_STRING_encode_xer; +oer_type_decoder_f BIT_STRING_decode_oer; +oer_type_encoder_f BIT_STRING_encode_oer; +per_type_decoder_f BIT_STRING_decode_uper; +per_type_encoder_f BIT_STRING_encode_uper; +asn_random_fill_f BIT_STRING_random_fill; + +#define BIT_STRING_free OCTET_STRING_free +#define BIT_STRING_decode_ber OCTET_STRING_decode_ber +#define BIT_STRING_encode_der OCTET_STRING_encode_der +#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary +#define BIT_STRING_decode_aper OCTET_STRING_decode_aper +#define BIT_STRING_encode_aper OCTET_STRING_encode_aper + +#ifdef __cplusplus +} +#endif + +#endif /* _BIT_STRING_H_ */ diff --git a/asn1c_defs/all-defs/BIT_STRING.o b/asn1c_defs/all-defs/BIT_STRING.o new file mode 100644 index 0000000000000000000000000000000000000000..17708f0c164e3f9c8c1c2687e15d2d4510e558a1 GIT binary patch literal 13448 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. All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * BOOLEAN basic type description. + */ +static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_operation_t asn_OP_BOOLEAN = { + BOOLEAN_free, + BOOLEAN_print, + BOOLEAN_compare, + BOOLEAN_decode_ber, + BOOLEAN_encode_der, + BOOLEAN_decode_xer, + BOOLEAN_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + BOOLEAN_decode_oer, + BOOLEAN_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + BOOLEAN_decode_uper, /* Unaligned PER decoder */ + BOOLEAN_encode_uper, /* Unaligned PER encoder */ + BOOLEAN_decode_aper, /* Aligned PER decoder */ + BOOLEAN_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + BOOLEAN_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_BOOLEAN = { + "BOOLEAN", + "BOOLEAN", + &asn_OP_BOOLEAN, + asn_DEF_BOOLEAN_tags, + sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), + asn_DEF_BOOLEAN_tags, /* Same as above */ + sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +/* + * Decode BOOLEAN type. + */ +asn_dec_rval_t +BOOLEAN_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **bool_value, + const void *buf_ptr, size_t size, int tag_mode) { + BOOLEAN_t *st = (BOOLEAN_t *)*bool_value; + asn_dec_rval_t rval; + ber_tlv_len_t length; + ber_tlv_len_t lidx; + + if(st == NULL) { + st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st))); + if(st == NULL) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + } + + ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", + td->name, tag_mode); + + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("Boolean length is %d bytes", (int)length); + + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + /* + * Compute boolean value. + */ + for(*st = 0, lidx = 0; + (lidx < length) && *st == 0; lidx++) { + /* + * Very simple approach: read bytes until the end or + * value is already TRUE. + * BOOLEAN is not supposed to contain meaningful data anyway. + */ + *st |= ((const uint8_t *)buf_ptr)[lidx]; + } + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", + (long)rval.consumed, (long)length, + td->name, *st); + + return rval; +} + +asn_enc_rval_t +BOOLEAN_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + + erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + + if(cb) { + uint8_t bool_value; + + bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */ + + if(cb(&bool_value, 1, app_key) < 0) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + } + + erval.encoded += 1; + + ASN__ENCODED_OK(erval); +} + + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +static enum xer_pbd_rval +BOOLEAN__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + BOOLEAN_t *st = (BOOLEAN_t *)sptr; + const char *p = (const char *)chunk_buf; + + (void)td; + + if(chunk_size && p[0] == 0x3c /* '<' */) { + switch(xer_check_tag(chunk_buf, chunk_size, "false")) { + case XCT_BOTH: + /* "" */ + *st = 0; + break; + case XCT_UNKNOWN_BO: + if(xer_check_tag(chunk_buf, chunk_size, "true") + != XCT_BOTH) + return XPBD_BROKEN_ENCODING; + /* "" */ + *st = 1; /* Or 0xff as in DER?.. */ + break; + default: + return XPBD_BROKEN_ENCODING; + } + return XPBD_BODY_CONSUMED; + } else { + return XPBD_BROKEN_ENCODING; + } +} + + +asn_dec_rval_t +BOOLEAN_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size, + BOOLEAN__xer_body_decode); +} + +asn_enc_rval_t +BOOLEAN_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + + (void)ilevel; + (void)flags; + + if(!st) ASN__ENCODE_FAILED; + + if(*st) { + ASN__CALLBACK("", 7); + } else { + ASN__CALLBACK("", 8); + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +int +BOOLEAN_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + const char *buf; + size_t buflen; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(st) { + if(*st) { + buf = "TRUE"; + buflen = 4; + } else { + buf = "FALSE"; + buflen = 5; + } + } else { + buf = ""; + buflen = 8; + } + + return (cb(buf, buflen, app_key) < 0) ? -1 : 0; +} + +void +BOOLEAN_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(td && ptr) { + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, sizeof(BOOLEAN_t)); + break; + } + } +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +BOOLEAN_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + BOOLEAN_t *st = (BOOLEAN_t *)*sptr; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + + if(!st) { + st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + /* + * Extract a single bit + */ + switch(per_get_few_bits(pd, 1)) { + case 1: *st = 1; break; + case 0: *st = 0; break; + case -1: default: ASN__DECODE_STARVED; + } + + ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); + + rv.code = RC_OK; + rv.consumed = 1; + return rv; +} + + +asn_enc_rval_t +BOOLEAN_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + + (void)constraints; + + if(!st) ASN__ENCODE_FAILED; + + if(per_put_few_bits(po, *st ? 1 : 0, 1)) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +BOOLEAN_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv; + BOOLEAN_t *st = (BOOLEAN_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + (void)td; + + if(!st) { + st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + /* + * Extract a single bit + */ + switch(per_get_few_bits(pd, 1)) { + case 1: + *st = 1; + break; + case 0: + *st = 0; + break; + case -1: + default: + ASN__DECODE_STARVED; + } + + ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); + + rv.code = RC_OK; + rv.consumed = 1; + return rv; +} + +asn_enc_rval_t +BOOLEAN_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + + (void)constraints; + + if(!st) ASN__ENCODE_FAILED; + + if(per_put_few_bits(po, *st ? 1 : 0, 1)) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +#ifndef ASN_DISABLE_OER_SUPPORT + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +BOOLEAN_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = { 1, 0, 0 }; + const BOOLEAN_t *st = sptr; + uint8_t bool_value = *st ? 0xff : 0; /* 0xff mandated by OER */ + + (void)td; + (void)constraints; /* Constraints are unused in OER */ + + if(cb(&bool_value, 1, app_key) < 0) { + ASN__ENCODE_FAILED; + } else { + ASN__ENCODED_OK(er); + } +} + +asn_dec_rval_t +BOOLEAN_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + asn_dec_rval_t ok = {RC_OK, 1}; + BOOLEAN_t *st; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; /* Constraints are unused in OER */ + + if(size < 1) { + ASN__DECODE_STARVED; + } + + if(!(st = *sptr)) { + st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + *st = *(const uint8_t *)ptr; + + return ok; +} + + + +#endif + +int +BOOLEAN_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const BOOLEAN_t *a = aptr; + const BOOLEAN_t *b = bptr; + + (void)td; + + if(a && b) { + if(!*a == !*b) { /* TRUE can be encoded by any non-zero byte. */ + return 0; + } else if(!*a) { + return -1; + } else { + return 1; + } + } else if(!a) { + return -1; + } else { + return 1; + } +} + +asn_random_fill_result_t +BOOLEAN_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + BOOLEAN_t *st = *sptr; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(st == NULL) { + return result_failed; + } + } + + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->value; + if(pc->flags & APC_CONSTRAINED) { + *st = asn_random_between(pc->lower_bound, pc->upper_bound); + return result_ok; + } + } + + /* Simulate booleans that are sloppily set and biased. */ + switch(asn_random_between(0, 7)) { + case 0: + case 1: + case 2: + *st = 0; break; + case 3: *st = -1; break; + case 4: *st = 1; break; + case 5: *st = INT_MIN; break; + case 6: *st = INT_MAX; break; + default: + *st = asn_random_between(INT_MIN, INT_MAX); + break; + } + return result_ok; +} diff --git a/asn1c_defs/all-defs/BOOLEAN.h b/asn1c_defs/all-defs/BOOLEAN.h new file mode 100755 index 0000000..d2fc88e --- /dev/null +++ b/asn1c_defs/all-defs/BOOLEAN.h @@ -0,0 +1,45 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BOOLEAN_H_ +#define _BOOLEAN_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The underlying integer may contain various values, but everything + * non-zero is capped to 0xff by the DER encoder. The BER decoder may + * yield non-zero values different from 1, beware. + */ +typedef int BOOLEAN_t; + +extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN; +extern asn_TYPE_operation_t asn_OP_BOOLEAN; + +asn_struct_free_f BOOLEAN_free; +asn_struct_print_f BOOLEAN_print; +asn_struct_compare_f BOOLEAN_compare; +ber_type_decoder_f BOOLEAN_decode_ber; +der_type_encoder_f BOOLEAN_encode_der; +oer_type_decoder_f BOOLEAN_decode_oer; +oer_type_encoder_f BOOLEAN_encode_oer; +per_type_decoder_f BOOLEAN_decode_uper; +per_type_encoder_f BOOLEAN_encode_uper; +per_type_decoder_f BOOLEAN_decode_aper; +per_type_encoder_f BOOLEAN_encode_aper; +xer_type_decoder_f BOOLEAN_decode_xer; +xer_type_encoder_f BOOLEAN_encode_xer; +asn_random_fill_f BOOLEAN_random_fill; + +#define BOOLEAN_constraint asn_generic_no_constraint + +#ifdef __cplusplus +} +#endif + +#endif /* _BOOLEAN_H_ */ diff --git a/asn1c_defs/all-defs/BOOLEAN.o b/asn1c_defs/all-defs/BOOLEAN.o new file mode 100644 index 0000000000000000000000000000000000000000..e1a3a1898c7036b60d6cc8ab9561453c2ae0b34e GIT binary patch literal 7656 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BandInfo.c b/asn1c_defs/all-defs/BandInfo.c new file mode 100755 index 0000000..f58e615 --- /dev/null +++ b/asn1c_defs/all-defs/BandInfo.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BandInfo.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_BandInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BandInfo, freqBandIndicator), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FreqBandIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "freqBandIndicator" + }, + { ATF_POINTER, 1, offsetof(struct BandInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P169, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_BandInfo_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_BandInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BandInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BandInfo_specs_1 = { + sizeof(struct BandInfo), + offsetof(struct BandInfo, _asn_ctx), + asn_MAP_BandInfo_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_BandInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BandInfo = { + "BandInfo", + "BandInfo", + &asn_OP_SEQUENCE, + asn_DEF_BandInfo_tags_1, + sizeof(asn_DEF_BandInfo_tags_1) + /sizeof(asn_DEF_BandInfo_tags_1[0]), /* 1 */ + asn_DEF_BandInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_BandInfo_tags_1) + /sizeof(asn_DEF_BandInfo_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_BandInfo_1, + 2, /* Elements count */ + &asn_SPC_BandInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BandInfo.h b/asn1c_defs/all-defs/BandInfo.h new file mode 100755 index 0000000..3789215 --- /dev/null +++ b/asn1c_defs/all-defs/BandInfo.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BandInfo_H_ +#define _BandInfo_H_ + + +#include + +/* Including external dependencies */ +#include "FreqBandIndicator.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* BandInfo */ +typedef struct BandInfo { + FreqBandIndicator_t freqBandIndicator; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BandInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BandInfo; +extern asn_SEQUENCE_specifics_t asn_SPC_BandInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_BandInfo_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _BandInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/BandInfo.o b/asn1c_defs/all-defs/BandInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..ec0d71f2f436fe7ca9a2b7713e6bab74d11ece7c GIT binary patch literal 2784 zcmb_d&2G~`5Z=`Mm7kUZ2P7^=LL!x@6_*MMNR??w3kX_6iNwvguG>Z=c8RyBT%c#3 zfD00jz=<=Dz@xy80}{-5XY9?!si0z{^?dW~{OqpR<9Dq`OJlW~V5x}(QCiFjVIMEC zmqSlXiV3k8CL0fu%~Wjm<5$Yq=tQAR`=ZmDY3<24$vSD0mC^r(%(a;IsBB}SCJx{+ z<~PUzE`L3R>%?&a#xWTGD=(xPkUCgrHOAaGpO?vVh{@wxIR39EF{kOdX0#1cn` z=+nT|#JI3&Mvt_FcIj#U3i*>+#4Qky^C*LP#uaHiEpf_Vlxc~RLwp;UDQ*4ROkzQbF zsEP3&{C+CaDD4&cstEe)hWSyEkspi7AEmT)%DD2T)9&&ldT~+(SJs5=I_x ziA^?s?F2BAJH>CrW$07;cS|q%wAvSK2d~45OE{>ccDCH=Y6ZRb4#Y&@dfa!CVG} zoZ0ET!ebDa@mFCQ@7`hKuR$#4oQ0u_N5-^H0_OUx(GRg%e;+uM20JQK*rZwA0f4>K zV}i6#AD2z>*vFCL?~L!$DsWZxzfxR-^0BfRkbVfds{RhWP>#p?*gehq0dQDq=nqCj z9p-egbp!Ag42L@Hp${{ck-!r}k` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BandwidthReducedSI.c b/asn1c_defs/all-defs/BandwidthReducedSI.c new file mode 100755 index 0000000..fd018b1 --- /dev/null +++ b/asn1c_defs/all-defs/BandwidthReducedSI.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BandwidthReducedSI.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_BandwidthReducedSI_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_BandwidthReducedSI_value2enum_1[] = { + { 0, 9, "scheduled" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_BandwidthReducedSI_enum2value_1[] = { + 0 /* scheduled(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_BandwidthReducedSI_specs_1 = { + asn_MAP_BandwidthReducedSI_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_BandwidthReducedSI_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BandwidthReducedSI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BandwidthReducedSI = { + "BandwidthReducedSI", + "BandwidthReducedSI", + &asn_OP_NativeEnumerated, + asn_DEF_BandwidthReducedSI_tags_1, + sizeof(asn_DEF_BandwidthReducedSI_tags_1) + /sizeof(asn_DEF_BandwidthReducedSI_tags_1[0]), /* 1 */ + asn_DEF_BandwidthReducedSI_tags_1, /* Same as above */ + sizeof(asn_DEF_BandwidthReducedSI_tags_1) + /sizeof(asn_DEF_BandwidthReducedSI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BandwidthReducedSI_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BandwidthReducedSI_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BandwidthReducedSI.h b/asn1c_defs/all-defs/BandwidthReducedSI.h new file mode 100755 index 0000000..f476efe --- /dev/null +++ b/asn1c_defs/all-defs/BandwidthReducedSI.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BandwidthReducedSI_H_ +#define _BandwidthReducedSI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum BandwidthReducedSI { + BandwidthReducedSI_scheduled = 0 + /* + * Enumeration is extensible + */ +} e_BandwidthReducedSI; + +/* BandwidthReducedSI */ +typedef long BandwidthReducedSI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BandwidthReducedSI; +asn_struct_free_f BandwidthReducedSI_free; +asn_struct_print_f BandwidthReducedSI_print; +asn_constr_check_f BandwidthReducedSI_constraint; +ber_type_decoder_f BandwidthReducedSI_decode_ber; +der_type_encoder_f BandwidthReducedSI_encode_der; +xer_type_decoder_f BandwidthReducedSI_decode_xer; +xer_type_encoder_f BandwidthReducedSI_encode_xer; +per_type_decoder_f BandwidthReducedSI_decode_uper; +per_type_encoder_f BandwidthReducedSI_encode_uper; +per_type_decoder_f BandwidthReducedSI_decode_aper; +per_type_encoder_f BandwidthReducedSI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BandwidthReducedSI_H_ */ +#include diff --git a/asn1c_defs/all-defs/BandwidthReducedSI.o b/asn1c_defs/all-defs/BandwidthReducedSI.o new file mode 100644 index 0000000000000000000000000000000000000000..d3aed497272a9ec88f80c98551ead2caccfd8cce GIT binary patch literal 2552 zcmbtV&2AGh5O%si`ELsnLPALCi6T*}TUDY02`!Yg1wn~gRU8**V>N+fQ)Qh(FMtFG zjywhj4jede?2!lHJrGY&W_D*bj^ok;Bkj&NpTDuk_H6R5_GERUQW0zwaZd~*W`$Tj zHN;U4BQYf|3X2{J9CS$L(BANYN}I3SP1D-c%|W7@TaQGRv;cQ>)0=P%>F&jik4Z0w z=SuW%fb&nlbKE*-+-cTUR_;{iwi|=g463)~l3bV%2YD2}4VUG@k_>Mayqh@^W<2X5%H))Lyqk9 z5(VQ)uiMpd12XLyE!Q@-=QE>{S6s;d`D>7lXW{;TL`O`ETH9tJK+e7s9FOn?Rxe!n zu9m0(H^AZ9yZN6T9f$7vw_pIdMHZ0f{ObF N; sorted by tag */ + asn_MAP_BearerType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BearerType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BearerType = { + "BearerType", + "BearerType", + &asn_OP_NativeEnumerated, + asn_DEF_BearerType_tags_1, + sizeof(asn_DEF_BearerType_tags_1) + /sizeof(asn_DEF_BearerType_tags_1[0]), /* 1 */ + asn_DEF_BearerType_tags_1, /* Same as above */ + sizeof(asn_DEF_BearerType_tags_1) + /sizeof(asn_DEF_BearerType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BearerType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BearerType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BearerType.h b/asn1c_defs/all-defs/BearerType.h new file mode 100755 index 0000000..8ae15bd --- /dev/null +++ b/asn1c_defs/all-defs/BearerType.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BearerType_H_ +#define _BearerType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum BearerType { + BearerType_non_IP = 0 + /* + * Enumeration is extensible + */ +} e_BearerType; + +/* BearerType */ +typedef long BearerType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_BearerType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_BearerType; +extern const asn_INTEGER_specifics_t asn_SPC_BearerType_specs_1; +asn_struct_free_f BearerType_free; +asn_struct_print_f BearerType_print; +asn_constr_check_f BearerType_constraint; +ber_type_decoder_f BearerType_decode_ber; +der_type_encoder_f BearerType_encode_der; +xer_type_decoder_f BearerType_decode_xer; +xer_type_encoder_f BearerType_encode_xer; +per_type_decoder_f BearerType_decode_uper; +per_type_encoder_f BearerType_encode_uper; +per_type_decoder_f BearerType_decode_aper; +per_type_encoder_f BearerType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BearerType_H_ */ +#include diff --git a/asn1c_defs/all-defs/BearerType.o b/asn1c_defs/all-defs/BearerType.o new file mode 100644 index 0000000000000000000000000000000000000000..088f60f174b9331a258beff179927e802a288ede GIT binary patch literal 2496 zcmbtV&2G~`5Z=^4%U?@5A#n*Of<#tvR0#wUGK91RL5T_#N3(TTZK1KNcvH1P0wgXR zk$9CJIQGbi_u$AAl$rI6v)Q^3iIMD?`R1G1@$T6E*nPG*RjUb>ns^{a9;2YojqJ#p zk(d*+E<7T5)-j0(SGte18tB2RgIz7sENwpNRk9`r{b%w0Nh>ubBx3z3xc;?{vz(Xu z0Nxf{^G^Thqr8XfinYdX-@u)B_KoNC@D%<}%bzKWG}syqyiA13)A(_BF&=@jQJZ-j z+Q{>VJvXwac80pG(_z0lj*+${QGC3zE%~AsuPC#S{coy2Jt7r5F^jZJ;o>$q9@u1@d)Ji$42r-gUM$9eA&pL1&P`6JG`80LNT z@d$$;h;vQ!m+=OI_`J1>+Z(bGze={N5I+xBi$LxHakP03BZ?!A&s$EU%n$lTtqTcz zTIemdjNUgwZYZOKT+eeM2N^oZ3}pze-cdG;7Dqi8a^y~yD2OLnzpvqNWSSW*msZxA zxlzeGYV1GNb;!qO^S@`&DRq(S$_;Q3^S?9^k@&qLSJc@ceG@e9x1ayj8OQ3Onc+PnKp8|&K z<3Goh1~tfhj`3Ww{~C;{{v*m?W+Lgj=dXfa)qjg#ZqCR4u@~-#`+o}name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -101 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_BenefitMetric_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, -101, 100 } /* (-101..100,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_BenefitMetric_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BenefitMetric = { + "BenefitMetric", + "BenefitMetric", + &asn_OP_NativeInteger, + asn_DEF_BenefitMetric_tags_1, + sizeof(asn_DEF_BenefitMetric_tags_1) + /sizeof(asn_DEF_BenefitMetric_tags_1[0]), /* 1 */ + asn_DEF_BenefitMetric_tags_1, /* Same as above */ + sizeof(asn_DEF_BenefitMetric_tags_1) + /sizeof(asn_DEF_BenefitMetric_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BenefitMetric_constr_1, BenefitMetric_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/BenefitMetric.h b/asn1c_defs/all-defs/BenefitMetric.h new file mode 100755 index 0000000..0b01aa8 --- /dev/null +++ b/asn1c_defs/all-defs/BenefitMetric.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BenefitMetric_H_ +#define _BenefitMetric_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BenefitMetric */ +typedef long BenefitMetric_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_BenefitMetric_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_BenefitMetric; +asn_struct_free_f BenefitMetric_free; +asn_struct_print_f BenefitMetric_print; +asn_constr_check_f BenefitMetric_constraint; +ber_type_decoder_f BenefitMetric_decode_ber; +der_type_encoder_f BenefitMetric_encode_der; +xer_type_decoder_f BenefitMetric_decode_xer; +xer_type_encoder_f BenefitMetric_encode_xer; +per_type_decoder_f BenefitMetric_decode_uper; +per_type_encoder_f BenefitMetric_encode_uper; +per_type_decoder_f BenefitMetric_decode_aper; +per_type_encoder_f BenefitMetric_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BenefitMetric_H_ */ +#include diff --git a/asn1c_defs/all-defs/BenefitMetric.o b/asn1c_defs/all-defs/BenefitMetric.o new file mode 100644 index 0000000000000000000000000000000000000000..77c41071eb1ed7f3b84b92413da1f52e0fc8e04c GIT binary patch literal 2776 zcmbVN&2Jk;6o1Y_V%p+5fkUJs*h^_DHPdXV)F@JsOOj?InKUZ2LLlL8>~-SetdVyd zwMbA<=)tN$9FaI9@jq~h1Q*0DCnOGVtV9ll11CgyZ}z>-c)ApcXU)9#e)B$N-^@JU zTdrRnE0sW~1h2x8CMdv{<41DMh&7mmDunm{d}DREzdHO;*TVQCBV4s zdSF~LbBu6%id}>K-@eCCw5>7^WbhT`Lu!%2lp%+QqCbf%bv{aypxJ1}?eu)q?amtE zwK$2}9sPQ&`<DF1Z*6byz?nj+O`|YUHja&KZ zNTet2BwKUO!qxvfLS{iVf|bR^1%Kwo#vsuH|B||>=4OL|(SnbHc{O)Y1!prHp69@& z53WP$PPKIE#6fR;K6ZQ&1DZx zsv({^F*vfHD!`)SCqF5Qya34>H)`6_mxEVN+?k zT@u&4JJjjE+ql%2@F^TZ(<~5vbn5_S{spgD_;V~13oTr75#%#Y-$f%QmEPUf(FQ2& zTN&RHsULSErQ#Wk1;?=RzWp;+uL!1fv|1HYGv)l zY^tN?du$(XHQN1XJI*)t{{|g5tE@G5wPP)h`~|1|xVaI6TMYin8$O8`y&cz|dY60l2tkbt|1~KVx!+I!yG8zGYNAM=XDpvx G|9=2b6C(%! literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BitRate.c b/asn1c_defs/all-defs/BitRate.c new file mode 100755 index 0000000..a82c534 --- /dev/null +++ b/asn1c_defs/all-defs/BitRate.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BitRate.h" + +int +BitRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0 && value <= 10000000000)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using INTEGER, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_BitRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 34, -1, 0, 10000000000 } /* (0..10000000000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_BitRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BitRate = { + "BitRate", + "BitRate", + &asn_OP_INTEGER, + asn_DEF_BitRate_tags_1, + sizeof(asn_DEF_BitRate_tags_1) + /sizeof(asn_DEF_BitRate_tags_1[0]), /* 1 */ + asn_DEF_BitRate_tags_1, /* Same as above */ + sizeof(asn_DEF_BitRate_tags_1) + /sizeof(asn_DEF_BitRate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BitRate_constr_1, BitRate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/BitRate.h b/asn1c_defs/all-defs/BitRate.h new file mode 100755 index 0000000..a60efb6 --- /dev/null +++ b/asn1c_defs/all-defs/BitRate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BitRate_H_ +#define _BitRate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BitRate */ +typedef INTEGER_t BitRate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_BitRate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_BitRate; +asn_struct_free_f BitRate_free; +asn_struct_print_f BitRate_print; +asn_constr_check_f BitRate_constraint; +ber_type_decoder_f BitRate_decode_ber; +der_type_encoder_f BitRate_encode_der; +xer_type_decoder_f BitRate_decode_xer; +xer_type_encoder_f BitRate_encode_xer; +per_type_decoder_f BitRate_decode_uper; +per_type_encoder_f BitRate_encode_uper; +per_type_decoder_f BitRate_decode_aper; +per_type_encoder_f BitRate_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BitRate_H_ */ +#include diff --git a/asn1c_defs/all-defs/BitRate.o b/asn1c_defs/all-defs/BitRate.o new file mode 100644 index 0000000000000000000000000000000000000000..3b450f46b51b71be1a6033be8fb8faed38be8bca GIT binary patch literal 3240 zcmbVO&2Jl35Ff{BVv@3PXax~P>Vgt*C9?IV6@(s;*NKyj8n%zb=U0Wva2rI%O$5! z_wxKLntBNA-%Eb`A=D-p+kWFCBd65Z?8184T~}Y!PHOQ%eVtkQJNmE|KdI@*YB(I` z?9iJt5V{x*9XZ$;`4Ed25PypMBGgP$iC$|u})70|?_^ zkc2T)kc8nt5R6$mTHu}g@NPsx@JJn(D}^Pz9)L<1h_zqBaBv?;X95EHe2(EA^)+H9 zzMkj!umJd|bKD0rGYnn(;1>{iOqyr52N0XUC%P{hz-obCXo0_ncrP^Ov&eIP)FS>9 z7T;Lk43CG#iN^D8ji$ydj##d}RJC-_(j#$t4bkfay>vmc8V4Dy@$_`kNL$lmW2aMD zD{CavDGMm)#8fslo|+jdRmw|XSyk80pSSYG^A??b79mw-_H;&&n3+kc^&q+Al{sR9(!sYm{C0vo>A4qtQg#RYta-McN zkSNqA-5H`TVI<_HQDp;`rPtwIKc>)LR$iJOgaSO99m z3tGOiy6TiM5&qaX+W6G$AlpVf-YHs(Yxb&BZ|eUmDpJLq%UKfK5a(F<#Ciz(2r9J3 z2?6kNj$es8+@`%mb;LT0^?R1%jgwjfWE~$S0e@~l=?f?J) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BluetoothMeasConfig.c b/asn1c_defs/all-defs/BluetoothMeasConfig.c new file mode 100755 index 0000000..4e0d44d --- /dev/null +++ b/asn1c_defs/all-defs/BluetoothMeasConfig.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BluetoothMeasConfig.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_BluetoothMeasConfig_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_BluetoothMeasConfig_value2enum_1[] = { + { 0, 5, "setup" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_BluetoothMeasConfig_enum2value_1[] = { + 0 /* setup(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_BluetoothMeasConfig_specs_1 = { + asn_MAP_BluetoothMeasConfig_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_BluetoothMeasConfig_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BluetoothMeasConfig_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BluetoothMeasConfig = { + "BluetoothMeasConfig", + "BluetoothMeasConfig", + &asn_OP_NativeEnumerated, + asn_DEF_BluetoothMeasConfig_tags_1, + sizeof(asn_DEF_BluetoothMeasConfig_tags_1) + /sizeof(asn_DEF_BluetoothMeasConfig_tags_1[0]), /* 1 */ + asn_DEF_BluetoothMeasConfig_tags_1, /* Same as above */ + sizeof(asn_DEF_BluetoothMeasConfig_tags_1) + /sizeof(asn_DEF_BluetoothMeasConfig_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BluetoothMeasConfig_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BluetoothMeasConfig_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BluetoothMeasConfig.h b/asn1c_defs/all-defs/BluetoothMeasConfig.h new file mode 100755 index 0000000..6243e71 --- /dev/null +++ b/asn1c_defs/all-defs/BluetoothMeasConfig.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BluetoothMeasConfig_H_ +#define _BluetoothMeasConfig_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum BluetoothMeasConfig { + BluetoothMeasConfig_setup = 0 + /* + * Enumeration is extensible + */ +} e_BluetoothMeasConfig; + +/* BluetoothMeasConfig */ +typedef long BluetoothMeasConfig_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_BluetoothMeasConfig_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasConfig; +extern const asn_INTEGER_specifics_t asn_SPC_BluetoothMeasConfig_specs_1; +asn_struct_free_f BluetoothMeasConfig_free; +asn_struct_print_f BluetoothMeasConfig_print; +asn_constr_check_f BluetoothMeasConfig_constraint; +ber_type_decoder_f BluetoothMeasConfig_decode_ber; +der_type_encoder_f BluetoothMeasConfig_encode_der; +xer_type_decoder_f BluetoothMeasConfig_decode_xer; +xer_type_encoder_f BluetoothMeasConfig_encode_xer; +per_type_decoder_f BluetoothMeasConfig_decode_uper; +per_type_encoder_f BluetoothMeasConfig_encode_uper; +per_type_decoder_f BluetoothMeasConfig_decode_aper; +per_type_encoder_f BluetoothMeasConfig_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BluetoothMeasConfig_H_ */ +#include diff --git a/asn1c_defs/all-defs/BluetoothMeasConfig.o b/asn1c_defs/all-defs/BluetoothMeasConfig.o new file mode 100644 index 0000000000000000000000000000000000000000..eb4cd3318806ce55f4a03062beb38b16ec43a1d4 GIT binary patch literal 2552 zcmbtV&2G~`5Z=^<^4k)G1cFOAQ6y@`RVAt-Awx)8AzGrMilcGeZ4*fBDBe``0!Umq zaNsd|d=1WQFc79)>QA(qdN z>``y!WW*mtrggZ5c$fAR_iWBwnB zxc(H3N&B3$*IR2eR%-LxJHu2BYY+V;zrGL*wHJH{mi_vYAKWi+J9Es(eW%5rlQEDS z?~JNEUGeD*Pk5(6Ks?yNC7w8SDsdBt6){uN%}me0O9B|4xL~^4UV*s+c%34*NGBSf zDJvRZ|1z=0l_xHZ1K@pyQ8nss6XOWJ_2JPZc!^KpMbCvz%Xm~#n zah^ucnyZl`8mV|cj{;5Ec+zrG4q|wX7G*l@O&}s=QL~A7#-@6=m#t_sR-FUcge*CT zmE6^MtGN}a!@hKul4NPF2DJLVOy!`HL}?Zkc-%>qUgK4(;Y`o_GQrcbV1Juk#+_p0 zdb+S!`_(d3X0=Wjn(dPaQ zDULXv_XhdG&kuVl-T|!!g>JK@EL+8TbLXvK#9#S{$`t$nm>b z5<@)6dOZo(L=ijz)&SxD$9Bq65W57__g(~M-X%)sJP}nPB;g<6e zHPA63S3qO`aG!DiKL-r=$A6V6^Hd=7ImUg-{%bH?^@o(d&P38R%ijXuRezgaZqCR0 zu@wgOvZpH5rm|DKj{&+v85Ug_$&tWiT@_x8L2N!Afv%__MQvNT}R{@)aVb_n} g0Q>F%5}yd + +/* Including external dependencies */ +#include "BluetoothName.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BluetoothMeasConfigNameList */ +typedef struct BluetoothMeasConfigNameList { + A_SEQUENCE_OF(BluetoothName_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BluetoothMeasConfigNameList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasConfigNameList; +extern asn_SET_OF_specifics_t asn_SPC_BluetoothMeasConfigNameList_specs_1; +extern asn_TYPE_member_t asn_MBR_BluetoothMeasConfigNameList_1[1]; +extern asn_per_constraints_t asn_PER_type_BluetoothMeasConfigNameList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _BluetoothMeasConfigNameList_H_ */ +#include diff --git a/asn1c_defs/all-defs/BluetoothMeasConfigNameList.o b/asn1c_defs/all-defs/BluetoothMeasConfigNameList.o new file mode 100644 index 0000000000000000000000000000000000000000..74d8cee02a8de64ff79cdd96aa0083142b9796f1 GIT binary patch literal 2432 zcmbtVO>fgc5Z%ND3ba5^AORwrC=yx4s1gVyWHmTNs7*scBqR>T38sl?>?qzy^uou# z=+CIcg#%Y4jy-bZh{TCsP-fOU&UU-C5S_^TX5PHnvAyff2Yh-?(r2~tGZJex$oWkytcyK+Zlgs zCwz`M_UFJRaPrkSoOR@i9p*4{;Ab-jI@ru%r;gA!fGM#vIj>hb8lMZmaoAZs%zcN= z=RP@4!CBJ!4pbrrw5`u4sV}pN(zO(R2DItF0gv;4RJs=me@h;BdS(j>FT(=Z<|*3f zywAck4j%iBpx|=|M7Wg(?!QQ-X0sJ^{AXRiS@(m@hNN14I}khLsIW~xiBmCwMjih- z6b4xw4r3wb*jQ~BmS;EEY1Io=={V|J9|k{udZ&oEpY>fuJHX`Wog+_cf%SBjAy2i) zFXI4a@}6Wfeo^@dPc;65#?$`6c`j=FE9E0k_lDH2#xE%!VPE6%d9SIM@pNY-!XBWQ zWH=yCMDGOSuR{?s-b+))CkY0qbh!&*v>nPcdX#0npNvKktR{~W5%INVx0;Hu|CSn_ z46i~tKC|}sA}93ZcyvImZZ{!7&OCWMB^oOvsF0)Z79g&(S-)rKC^Y-ufdq1QNuZGG zuNyqo6MB$G-|YVrIJ6%baGj0Qi(i$c;`>N{k{phA>S%dsbxQNqrzigyMi!$@xaUQDQQ}dh$4lnch e@t?zd_du~-MOKabFhV%%?e+WW5Hdd#v;Hs5!p;-` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.c b/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.c new file mode 100755 index 0000000..7d3a819 --- /dev/null +++ b/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.c @@ -0,0 +1,130 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BluetoothMeasurementConfiguration.h" + +#include "BluetoothMeasConfigNameList.h" +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_bt_rssi_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_bt_rssi_value2enum_4[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_bt_rssi_enum2value_4[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_bt_rssi_specs_4 = { + asn_MAP_bt_rssi_value2enum_4, /* "tag" => N; sorted by tag */ + asn_MAP_bt_rssi_enum2value_4, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_bt_rssi_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_bt_rssi_4 = { + "bt-rssi", + "bt-rssi", + &asn_OP_NativeEnumerated, + asn_DEF_bt_rssi_tags_4, + sizeof(asn_DEF_bt_rssi_tags_4) + /sizeof(asn_DEF_bt_rssi_tags_4[0]) - 1, /* 1 */ + asn_DEF_bt_rssi_tags_4, /* Same as above */ + sizeof(asn_DEF_bt_rssi_tags_4) + /sizeof(asn_DEF_bt_rssi_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_bt_rssi_constr_4, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_bt_rssi_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_BluetoothMeasurementConfiguration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BluetoothMeasurementConfiguration, bluetoothMeasConfig), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BluetoothMeasConfig, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "bluetoothMeasConfig" + }, + { ATF_POINTER, 3, offsetof(struct BluetoothMeasurementConfiguration, bluetoothMeasConfigNameList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BluetoothMeasConfigNameList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "bluetoothMeasConfigNameList" + }, + { ATF_POINTER, 2, offsetof(struct BluetoothMeasurementConfiguration, bt_rssi), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_bt_rssi_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "bt-rssi" + }, + { ATF_POINTER, 1, offsetof(struct BluetoothMeasurementConfiguration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P111, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_BluetoothMeasurementConfiguration_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_BluetoothMeasurementConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BluetoothMeasurementConfiguration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bluetoothMeasConfig */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* bluetoothMeasConfigNameList */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bt-rssi */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_BluetoothMeasurementConfiguration_specs_1 = { + sizeof(struct BluetoothMeasurementConfiguration), + offsetof(struct BluetoothMeasurementConfiguration, _asn_ctx), + asn_MAP_BluetoothMeasurementConfiguration_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_BluetoothMeasurementConfiguration_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration = { + "BluetoothMeasurementConfiguration", + "BluetoothMeasurementConfiguration", + &asn_OP_SEQUENCE, + asn_DEF_BluetoothMeasurementConfiguration_tags_1, + sizeof(asn_DEF_BluetoothMeasurementConfiguration_tags_1) + /sizeof(asn_DEF_BluetoothMeasurementConfiguration_tags_1[0]), /* 1 */ + asn_DEF_BluetoothMeasurementConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_BluetoothMeasurementConfiguration_tags_1) + /sizeof(asn_DEF_BluetoothMeasurementConfiguration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_BluetoothMeasurementConfiguration_1, + 4, /* Elements count */ + &asn_SPC_BluetoothMeasurementConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.h b/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.h new file mode 100755 index 0000000..73e0932 --- /dev/null +++ b/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BluetoothMeasurementConfiguration_H_ +#define _BluetoothMeasurementConfiguration_H_ + + +#include + +/* Including external dependencies */ +#include "BluetoothMeasConfig.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum BluetoothMeasurementConfiguration__bt_rssi { + BluetoothMeasurementConfiguration__bt_rssi_true = 0 + /* + * Enumeration is extensible + */ +} e_BluetoothMeasurementConfiguration__bt_rssi; + +/* Forward declarations */ +struct BluetoothMeasConfigNameList; +struct ProtocolExtensionContainer; + +/* BluetoothMeasurementConfiguration */ +typedef struct BluetoothMeasurementConfiguration { + BluetoothMeasConfig_t bluetoothMeasConfig; + struct BluetoothMeasConfigNameList *bluetoothMeasConfigNameList; /* OPTIONAL */ + long *bt_rssi; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BluetoothMeasurementConfiguration_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_bt_rssi_4; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration; + +#ifdef __cplusplus +} +#endif + +#endif /* _BluetoothMeasurementConfiguration_H_ */ +#include diff --git a/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.o b/asn1c_defs/all-defs/BluetoothMeasurementConfiguration.o new file mode 100644 index 0000000000000000000000000000000000000000..3823eb37fbc5c4b5909b104d9f18c16d2215511c GIT binary patch literal 4632 zcmb_f&2Jl35Pz;)X!&da2`FC+5+aqzDh`pbK&qAorxCQNX%*BHo3*nfhS*zqpQBVr z5cLm0NFb2|2X1iWz#qVYKY%0R#0|tL+&BUA+c&eGJl2VYGScqM{O04$yf3dmX}gnxMw)KRA}7LX6BKX2#qzh9^q@Fimt&hRfTd)MlC8x|SySXqfiXfnCZ5 z@Ao!G!^HNof%2V3^n3C3NjXkWG8}=QA{$yg!ewd`>a5dqmLAOUN#;eJ=jplcg!7{2 zC+K7AuHPAkoJIRS05ne=yfuGnA zH%kwwqtA>xELGTQ(oe7Ua%(zvZkXpi(`(JOc5OPy=~(5)4o9iWchp`2;+^wi9`a-F2_cMJTC*&_~G=Lx$@a?RXZV0g`!62=|l0)I~e z@(V>Q{6-x33hNIr2dgW81rv^4bC@2dx@y$duUy|2n=cmlIdhA3+(V$Kz{m61cCdM` z!0%^myf*>V%@`Ml9rl<0ac_V==W*8y?eMv(7dHzV6ssHcG7uiU=xaA>EdOrV7dWG6XvA*cew>yjaeGAVsGRZntj4_Rj6J^zPC< zXNMew-XzF%;G(WkIfCybbhR#|gHfM@v=Q(^;i1Ynb}5R2uealyt#{U1t4l2-LhPzb zdIMWFbtoI(?3Ih|Y~>9vKJ8&Oe#&Q#ATeO>LOE$S(y z53O{gs9`fD*IqXsWV$+icIbGhQ|7)`VE1u3E5M(G1CyM4;5fw* z(bo!p#zDpVXNAMR$u`Lcv(EFo=P&sW6#gvd0Q*bfnEzXBJ4^Qx2xg533fI4$vkHH% zh;*+=;g2d@eorL7nEd@9>n(QpBaigu=UHdRh&lW*Kg+C}Fu&8cNr$){I=&^6O?Ryc zHxiqeu#@K|9A;49*$A7YrrSwjhUBT?cGgV*79ql2Xv6m%X5!w>`uK-q!a-)!@XG4i zTyB%@hf?hS=h)Ne9eYnxq!lH@SJU&P0Mly>dxRHJ+p+Q;l#&x(B8Ii`<3IEKMD@pi znGC=d#DTfQzu@6|AHWpRQ&s;Dgo9RiUpmd0Km_Km6UVn)#JaF1Um~)vA0`973T1rR zzt;(?8b9C(k^L)q0}+_NMZ9YKUH;IMc#My)Mt}U6FpTfDY1VoC4YFwpv_kSGJ&5<` z|3{90+w+GnNccxA`|BT|DWVm}%6CvoPS_z<)&IBLzr>?|d|mqee@Yl?k$EDqpe-IB z`%9D5E&NL|imd&<;CPKe_I;uIa}U3LiRXzqPZ;)$Uq8P1{kbE^>|?QszVed$name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1 && size <= 248)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_BluetoothName_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 248 } /* (SIZE(1..248)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_BluetoothName_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BluetoothName = { + "BluetoothName", + "BluetoothName", + &asn_OP_OCTET_STRING, + asn_DEF_BluetoothName_tags_1, + sizeof(asn_DEF_BluetoothName_tags_1) + /sizeof(asn_DEF_BluetoothName_tags_1[0]), /* 1 */ + asn_DEF_BluetoothName_tags_1, /* Same as above */ + sizeof(asn_DEF_BluetoothName_tags_1) + /sizeof(asn_DEF_BluetoothName_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BluetoothName_constr_1, BluetoothName_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BluetoothName.h b/asn1c_defs/all-defs/BluetoothName.h new file mode 100755 index 0000000..1becf25 --- /dev/null +++ b/asn1c_defs/all-defs/BluetoothName.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BluetoothName_H_ +#define _BluetoothName_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BluetoothName */ +typedef OCTET_STRING_t BluetoothName_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_BluetoothName_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_BluetoothName; +asn_struct_free_f BluetoothName_free; +asn_struct_print_f BluetoothName_print; +asn_constr_check_f BluetoothName_constraint; +ber_type_decoder_f BluetoothName_decode_ber; +der_type_encoder_f BluetoothName_encode_der; +xer_type_decoder_f BluetoothName_decode_xer; +xer_type_encoder_f BluetoothName_encode_xer; +per_type_decoder_f BluetoothName_decode_uper; +per_type_encoder_f BluetoothName_encode_uper; +per_type_decoder_f BluetoothName_decode_aper; +per_type_encoder_f BluetoothName_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BluetoothName_H_ */ +#include diff --git a/asn1c_defs/all-defs/BluetoothName.o b/asn1c_defs/all-defs/BluetoothName.o new file mode 100644 index 0000000000000000000000000000000000000000..77b76db3a36b32934bcd2f42f77137ac39f292ed GIT binary patch literal 2848 zcmbW2&2QXP5Wr_+XqL8YH!X*iid0`pQ>l54OQl9ZMO!u>jw(D+|NJh2i%}(|;f9Wa(%r_d-?)dHXK`$A&H`H}CIpGbo=Y8r;smbfgyPR@(gF7sJ zybPtiYU%vx(ejr#_!Z=Da@!}QXDZeGkxr%7thje7wOf^H<7A~gcWO}+4lGdg9k0M| zg=^+ytCUZ4z{vyl9PFt`9C)<|V=u;LHX~JW$QXB)zWD%gg5m$7iXy6HS*|!BS&& zb~RX8U0zt6*Q_f^lX{FW3B?j?>s2u}b zcErx(Lw80UA5&_4Vs77j2gpfUsmk7NW~IgzRMe-PU!}nc#Ks=R z5R>yDDUyFl0Bf1Q^ixM(lz)Q*WZy|Qk|%nV^X>UR=75eQvUV+h3H_q_?{WPPIG*ZH zx4+C^>i;1!8Y;KP(SOF{oBspEFa3!&kx}R*H5&4q^J#rdVXSkA_wf;C#?|Zzaibmk z8Ry&Kl5f{vzF)?Agho;Qrs#4)kvdWR=-!ij;WQt6Y(%ie@C8r!3^F=9c0S!{_Sz$Y byIlBh$T7tJe)@kG<+phLUl_S$+WG$gwhJWP literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/BroadcastPLMNs-Item.c b/asn1c_defs/all-defs/BroadcastPLMNs-Item.c new file mode 100755 index 0000000..4fd82c8 --- /dev/null +++ b/asn1c_defs/all-defs/BroadcastPLMNs-Item.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "BroadcastPLMNs-Item.h" + +asn_per_constraints_t asn_PER_type_BroadcastPLMNs_Item_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 6 } /* (SIZE(1..6)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_BroadcastPLMNs_Item_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_BroadcastPLMNs_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_BroadcastPLMNs_Item_specs_1 = { + sizeof(struct BroadcastPLMNs_Item), + offsetof(struct BroadcastPLMNs_Item, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_BroadcastPLMNs_Item = { + "BroadcastPLMNs-Item", + "BroadcastPLMNs-Item", + &asn_OP_SEQUENCE_OF, + asn_DEF_BroadcastPLMNs_Item_tags_1, + sizeof(asn_DEF_BroadcastPLMNs_Item_tags_1) + /sizeof(asn_DEF_BroadcastPLMNs_Item_tags_1[0]), /* 1 */ + asn_DEF_BroadcastPLMNs_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_BroadcastPLMNs_Item_tags_1) + /sizeof(asn_DEF_BroadcastPLMNs_Item_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_BroadcastPLMNs_Item_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_BroadcastPLMNs_Item_1, + 1, /* Single element */ + &asn_SPC_BroadcastPLMNs_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/BroadcastPLMNs-Item.h b/asn1c_defs/all-defs/BroadcastPLMNs-Item.h new file mode 100755 index 0000000..46e5dec --- /dev/null +++ b/asn1c_defs/all-defs/BroadcastPLMNs-Item.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _BroadcastPLMNs_Item_H_ +#define _BroadcastPLMNs_Item_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BroadcastPLMNs-Item */ +typedef struct BroadcastPLMNs_Item { + A_SEQUENCE_OF(PLMN_Identity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BroadcastPLMNs_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BroadcastPLMNs_Item; +extern asn_SET_OF_specifics_t asn_SPC_BroadcastPLMNs_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_BroadcastPLMNs_Item_1[1]; +extern asn_per_constraints_t asn_PER_type_BroadcastPLMNs_Item_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _BroadcastPLMNs_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/BroadcastPLMNs-Item.o b/asn1c_defs/all-defs/BroadcastPLMNs-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..6606f91963e7b4e95fdab8b1930d0946a8a5f9f1 GIT binary patch literal 2384 zcmbuAKX21O6u>WWfdVbG5(p%gFi|9Oicuv{k&xBkl%h5b2|-8~<^ z2bPR1>>U}{_yUZKY_ReHPe(!J9iiH9rDX@oZ>JepZ z>Fm_@r0KCmw!kW2U!R7o)}azxun5pm7shF9Z8*fatd9m^HwshH*xIhAZQ{Y~=eye%mH3$(2dvut!8u`o@7 zM}93h8V&F>2t@cQ4cz~w$k0W2k1P?t6^wU75i;IMQ^rRFbTHH9F1YcVP=?W>DC5zf--n52JQ;|XZ`9l6RD{uM z8t`=b29)DFo9DN8Ok2#=iTPOgP1@=|sYA&8Ow9U!S?9G6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CNTypeRestrictions.c b/asn1c_defs/all-defs/CNTypeRestrictions.c new file mode 100755 index 0000000..6f714ba --- /dev/null +++ b/asn1c_defs/all-defs/CNTypeRestrictions.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CNTypeRestrictions.h" + +#include "CNTypeRestrictionsItem.h" +static asn_per_constraints_t asn_PER_type_CNTypeRestrictions_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CNTypeRestrictions_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CNTypeRestrictionsItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CNTypeRestrictions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CNTypeRestrictions_specs_1 = { + sizeof(struct CNTypeRestrictions), + offsetof(struct CNTypeRestrictions, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictions = { + "CNTypeRestrictions", + "CNTypeRestrictions", + &asn_OP_SEQUENCE_OF, + asn_DEF_CNTypeRestrictions_tags_1, + sizeof(asn_DEF_CNTypeRestrictions_tags_1) + /sizeof(asn_DEF_CNTypeRestrictions_tags_1[0]), /* 1 */ + asn_DEF_CNTypeRestrictions_tags_1, /* Same as above */ + sizeof(asn_DEF_CNTypeRestrictions_tags_1) + /sizeof(asn_DEF_CNTypeRestrictions_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CNTypeRestrictions_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CNTypeRestrictions_1, + 1, /* Single element */ + &asn_SPC_CNTypeRestrictions_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CNTypeRestrictions.h b/asn1c_defs/all-defs/CNTypeRestrictions.h new file mode 100755 index 0000000..f0b13b5 --- /dev/null +++ b/asn1c_defs/all-defs/CNTypeRestrictions.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CNTypeRestrictions_H_ +#define _CNTypeRestrictions_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CNTypeRestrictionsItem; + +/* CNTypeRestrictions */ +typedef struct CNTypeRestrictions { + A_SEQUENCE_OF(struct CNTypeRestrictionsItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CNTypeRestrictions_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictions; + +#ifdef __cplusplus +} +#endif + +#endif /* _CNTypeRestrictions_H_ */ +#include diff --git a/asn1c_defs/all-defs/CNTypeRestrictions.o b/asn1c_defs/all-defs/CNTypeRestrictions.o new file mode 100644 index 0000000000000000000000000000000000000000..1762fb260cb6419a6f5b536ac5ca9440f5cd2a91 GIT binary patch literal 2384 zcmbtU&2G~`5MI{>3KVDsLY26f6Gft{7*(PI30VZEfFKP?D>F>{?_~VA$;1Ha~wwEu=}jEh-GZ)bcur; z2J8Y`WHrDmrOS$rmDrqfK+daye(Jr1hDGYl?Y&XjPBSs?C89SRWR{?Rpr{|Em^SgI z{-3zOEOG)nueDjP-}P2^x|4yJcz5_ZudVr$-17JR4PIO4{!Pix?1cX@&wd@-0^DLZ z{`9&GcdaTebE_mUZob1+m&;C7$g99O>`cMq*+AKV;Xq#x4Um>pEC%gBodadRPSlpmwoqUKp8zat^WRmDBha?9`(+0IV+PNv2c0J@&IZxLun|?A zk%-@9k)KDj!geI!me|4)xG`d^0-rr-+hSyuPOENnW}`HrM)s-XbJ%J{o$&ci*sO=q zR)clIZBUWy9`^>~FTe6wqV*`YL#%^O9iJl zr9d|{jIp|02Lm~M&Cnm<2V^8w@%0KM!3|J&M$G&}BaTe7|1EGJcbfu~ru-`gPx+(+ z@FO<+e+Lfbn^eWuE06^DK;fGgNVE7()kCCfW zEqfIPfHn*at?4A-BbATqql=>R9OPfZAWo0_X(KJM7-r5L>rnoos)Kj=A`J8Y@dY>6 Z9w;^?(wK)~!kcc-|EL}t^O~6XzX4Crxw!xU literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CNTypeRestrictionsItem.c b/asn1c_defs/all-defs/CNTypeRestrictionsItem.c new file mode 100755 index 0000000..51c730a --- /dev/null +++ b/asn1c_defs/all-defs/CNTypeRestrictionsItem.c @@ -0,0 +1,119 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CNTypeRestrictionsItem.h" + +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_cn_type_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_cn_type_value2enum_3[] = { + { 0, 16, "fiveGC-forbidden" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_cn_type_enum2value_3[] = { + 0 /* fiveGC-forbidden(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_cn_type_specs_3 = { + asn_MAP_cn_type_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_cn_type_enum2value_3, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_cn_type_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_cn_type_3 = { + "cn-type", + "cn-type", + &asn_OP_NativeEnumerated, + asn_DEF_cn_type_tags_3, + sizeof(asn_DEF_cn_type_tags_3) + /sizeof(asn_DEF_cn_type_tags_3[0]) - 1, /* 1 */ + asn_DEF_cn_type_tags_3, /* Same as above */ + sizeof(asn_DEF_cn_type_tags_3) + /sizeof(asn_DEF_cn_type_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_cn_type_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_cn_type_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CNTypeRestrictionsItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CNTypeRestrictionsItem, plmn_Id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "plmn-Id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CNTypeRestrictionsItem, cn_type), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_cn_type_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cn-type" + }, + { ATF_POINTER, 1, offsetof(struct CNTypeRestrictionsItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P116, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CNTypeRestrictionsItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CNTypeRestrictionsItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CNTypeRestrictionsItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-Id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cn-type */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictionsItem_specs_1 = { + sizeof(struct CNTypeRestrictionsItem), + offsetof(struct CNTypeRestrictionsItem, _asn_ctx), + asn_MAP_CNTypeRestrictionsItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CNTypeRestrictionsItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictionsItem = { + "CNTypeRestrictionsItem", + "CNTypeRestrictionsItem", + &asn_OP_SEQUENCE, + asn_DEF_CNTypeRestrictionsItem_tags_1, + sizeof(asn_DEF_CNTypeRestrictionsItem_tags_1) + /sizeof(asn_DEF_CNTypeRestrictionsItem_tags_1[0]), /* 1 */ + asn_DEF_CNTypeRestrictionsItem_tags_1, /* Same as above */ + sizeof(asn_DEF_CNTypeRestrictionsItem_tags_1) + /sizeof(asn_DEF_CNTypeRestrictionsItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CNTypeRestrictionsItem_1, + 3, /* Elements count */ + &asn_SPC_CNTypeRestrictionsItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CNTypeRestrictionsItem.h b/asn1c_defs/all-defs/CNTypeRestrictionsItem.h new file mode 100755 index 0000000..6ac32fe --- /dev/null +++ b/asn1c_defs/all-defs/CNTypeRestrictionsItem.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CNTypeRestrictionsItem_H_ +#define _CNTypeRestrictionsItem_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CNTypeRestrictionsItem__cn_type { + CNTypeRestrictionsItem__cn_type_fiveGC_forbidden = 0 + /* + * Enumeration is extensible + */ +} e_CNTypeRestrictionsItem__cn_type; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CNTypeRestrictionsItem */ +typedef struct CNTypeRestrictionsItem { + PLMN_Identity_t plmn_Id; + long cn_type; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CNTypeRestrictionsItem_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_cn_type_3; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictionsItem; +extern asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictionsItem_specs_1; +extern asn_TYPE_member_t asn_MBR_CNTypeRestrictionsItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CNTypeRestrictionsItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/CNTypeRestrictionsItem.o b/asn1c_defs/all-defs/CNTypeRestrictionsItem.o new file mode 100644 index 0000000000000000000000000000000000000000..b1d8bc67111aec7b2d7b31af6f694c9868dfe84e GIT binary patch literal 4208 zcmb_eOK%)S5N>A)aR`sK#3Q`KatIiS9qn!mSRkQ+&G>cH8Y4M~Ph0Y*l^r?CzTBy%StsIW;$@ zgyz(zYNiRQROi{5>>JTn3#zG}p24-!e@wLwmZ3kmzQ3Dpq=lXg6FtncVqK?WwL2PT z?e%SyWNl4$H4NIpZJlNXJk*Wht#q~DzL8J1hTGd|X61X7=&se(>*5=AhGXzkWW!b* zL zJ;0ZY=H{9Cvsry_{7-1yI^HRwuJO9^S$K?BFC9JF zFCR-XluWV+w^?*?+JqpcY6*wIM(HKCgswb2;h<|_f10M)O_PFg^eO?j;?Z8(OS8Rk zg%NPicvx*z?}h2|Y8YJ$zT6B3{XmHjl`X}?OqUz=`9|GFl{<;9t7}B%B1$*xQF!^v zAX=wOT@UsCbf3aWuJa@xP5%V+^Gs9ybP_H1E_TCi_e1G+5NrB-5YRHyNvzXtgYTr| zI!vN0w|g%~)cn$TS#N<-@*cam%o^~Qt$2AafuEyC=6sQTTzt*KUtt+6v~bA@=qn3< zm1VGd7LISD&;u5vf2r}eh2u_=@7W?8iNyb{QdMgf{yJk|cP$)W>37*C`P@7|IsTIW zXA6IWbAbJ3;n>e*w*66qKeTZBmN~HSH#vu4{Aq@{Y2o&{qppyg1^j`_y&-nV(_z5P z<1;QC{@Aw<7*}4gKi2UUaXl&dO_6kZTPtrn*0J)oib8pl911+UUYFE#6dN-nNA*T| z5(6|Lu5pr!J;}#odgqjv{1T8j^XHye$!!e?h#eev4lYiAR0h@^1Zz zFw}RJseIm$OJuXDWh*3)=&9=eKF6;){w+t}A-$^qko%W-^pF4UZvS@(Lw#8%iG~ii zKIX$F_=1FgYstpIKQE%G3X(W6L3j5Kw(}hSfQ>H@_7XjA{}>Z@_6Sl3{6b!ElDqX6 QYU1zl{>lA=oFF&;f4o;|O#lD@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/COUNTValueExtended.c b/asn1c_defs/all-defs/COUNTValueExtended.c new file mode 100755 index 0000000..3b9ef3c --- /dev/null +++ b/asn1c_defs/all-defs/COUNTValueExtended.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "COUNTValueExtended.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_COUNTValueExtended_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct COUNTValueExtended, pDCP_SNExtended), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PDCP_SNExtended, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pDCP-SNExtended" + }, + { ATF_NOFLAGS, 0, offsetof(struct COUNTValueExtended, hFNModified), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HFNModified, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "hFNModified" + }, + { ATF_POINTER, 1, offsetof(struct COUNTValueExtended, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P124, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_COUNTValueExtended_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_COUNTValueExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_COUNTValueExtended_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pDCP-SNExtended */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* hFNModified */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_COUNTValueExtended_specs_1 = { + sizeof(struct COUNTValueExtended), + offsetof(struct COUNTValueExtended, _asn_ctx), + asn_MAP_COUNTValueExtended_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_COUNTValueExtended_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended = { + "COUNTValueExtended", + "COUNTValueExtended", + &asn_OP_SEQUENCE, + asn_DEF_COUNTValueExtended_tags_1, + sizeof(asn_DEF_COUNTValueExtended_tags_1) + /sizeof(asn_DEF_COUNTValueExtended_tags_1[0]), /* 1 */ + asn_DEF_COUNTValueExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_COUNTValueExtended_tags_1) + /sizeof(asn_DEF_COUNTValueExtended_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_COUNTValueExtended_1, + 3, /* Elements count */ + &asn_SPC_COUNTValueExtended_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/COUNTValueExtended.h b/asn1c_defs/all-defs/COUNTValueExtended.h new file mode 100755 index 0000000..1a03a80 --- /dev/null +++ b/asn1c_defs/all-defs/COUNTValueExtended.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _COUNTValueExtended_H_ +#define _COUNTValueExtended_H_ + + +#include + +/* Including external dependencies */ +#include "PDCP-SNExtended.h" +#include "HFNModified.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* COUNTValueExtended */ +typedef struct COUNTValueExtended { + PDCP_SNExtended_t pDCP_SNExtended; + HFNModified_t hFNModified; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTValueExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended; + +#ifdef __cplusplus +} +#endif + +#endif /* _COUNTValueExtended_H_ */ +#include diff --git a/asn1c_defs/all-defs/COUNTValueExtended.o b/asn1c_defs/all-defs/COUNTValueExtended.o new file mode 100644 index 0000000000000000000000000000000000000000..7068588a3bef216485c60f74ae0c16172503f5fb GIT binary patch literal 3056 zcmb_d&2G~`5Z=`Ml>Zb8LgEs{fg%wThe|{sP{2)FA(|T6aCP0pv=K>M#g0@ikRy-K z0}sIqaO1#{V;_Md+>v0u&5pC(I+Z{jX+1OF%Lx4onsz?ozbKF>X9|i+yp$MG1*NK#65qZw&)-3T7D92#l9mwR-V1e@)#M{JU7c2?}W`X{;8Mc zLK(_ohjV26L|vXFdzo^5tDe7Bd)cVf-I`#*Z&E`|`a!#wq`UN}5&K#r=G`xA4Vf{o zA0<&U>ZIM-jd}^q7WVy0`M%>hWxhG1Q^fVuZ#O>=CeCLDd}b6XzuZ%RU!cMFbWZu0 z__BsyRx+5U;piO1U^45IR^N`_b(3II*mT+>zRgk+?k2)+1xX<6%{UfzKY{{J$96~! zJApJqGE}=0H3NV$MA*%!+YRY1*}W(U?WKC77$-sVEidoC`3;IhDR5RgRdq#^RoPPH zCP~1|PFzhr4hm-cZ8D?g{~LdoVlii#hE7$bJk~*yIX`pwK{oRb2?Kp($B`-uiZgpe z0(y6q0mVzIpq`39PdM%w-!HyTtAu6cFQ`YD|3fwHq5RLukd=R^o+yq-en4h^pD^Ut z-+WTVh5{;3G%9E^#4Q?#=RCkbdnz91qZ52V%y%?d8r0{jxgdpe9Q#7ga{Z>jyyEzm k^EAx;<7GC_o*=QW9^`c+p`pqinic<9)qjY|G&1A=0`8CS9smFU literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/COUNTvalue.c b/asn1c_defs/all-defs/COUNTvalue.c new file mode 100755 index 0000000..7763d6f --- /dev/null +++ b/asn1c_defs/all-defs/COUNTvalue.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "COUNTvalue.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_COUNTvalue_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct COUNTvalue, pDCP_SN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PDCP_SN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pDCP-SN" + }, + { ATF_NOFLAGS, 0, offsetof(struct COUNTvalue, hFN), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HFN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "hFN" + }, + { ATF_POINTER, 1, offsetof(struct COUNTvalue, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P123, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_COUNTvalue_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_COUNTvalue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_COUNTvalue_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pDCP-SN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* hFN */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_specs_1 = { + sizeof(struct COUNTvalue), + offsetof(struct COUNTvalue, _asn_ctx), + asn_MAP_COUNTvalue_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_COUNTvalue_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_COUNTvalue = { + "COUNTvalue", + "COUNTvalue", + &asn_OP_SEQUENCE, + asn_DEF_COUNTvalue_tags_1, + sizeof(asn_DEF_COUNTvalue_tags_1) + /sizeof(asn_DEF_COUNTvalue_tags_1[0]), /* 1 */ + asn_DEF_COUNTvalue_tags_1, /* Same as above */ + sizeof(asn_DEF_COUNTvalue_tags_1) + /sizeof(asn_DEF_COUNTvalue_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_COUNTvalue_1, + 3, /* Elements count */ + &asn_SPC_COUNTvalue_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/COUNTvalue.h b/asn1c_defs/all-defs/COUNTvalue.h new file mode 100755 index 0000000..45d5f76 --- /dev/null +++ b/asn1c_defs/all-defs/COUNTvalue.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _COUNTvalue_H_ +#define _COUNTvalue_H_ + + +#include + +/* Including external dependencies */ +#include "PDCP-SN.h" +#include "HFN.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* COUNTvalue */ +typedef struct COUNTvalue { + PDCP_SN_t pDCP_SN; + HFN_t hFN; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTvalue_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_COUNTvalue; +extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_specs_1; +extern asn_TYPE_member_t asn_MBR_COUNTvalue_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _COUNTvalue_H_ */ +#include diff --git a/asn1c_defs/all-defs/COUNTvalue.o b/asn1c_defs/all-defs/COUNTvalue.o new file mode 100644 index 0000000000000000000000000000000000000000..bc53302e15af67c06d9132e9626eb77c171da3d7 GIT binary patch literal 2984 zcmb_d%Wl(95WQ)56exZ05J+so0#PJl#c3rXkWe5^TOmjdB}?SG!D=d!IEo!qHjpJB zz@opve{{i;1q+reyM!-*IrdC)b8#xQ>PXIO zKf>i0merh^Rh5l;?e%-F)%R6*rQ+l_YpS_gQ@hoCbuaQe;cn0gN14Y*=DV2oq>9-| zjwARf^8F<_BIMYvY05ZvigmGmJoEHiJjJ?HDpd-^-qbwiTxCB@UQ#eqT`&vD0gpB4 zF=esWDwT)1#rk%?6ZLZstYxc^xBIbWf3!1CyoltjFu%->@j9b;$%D?SOS(D4 z*?1R*W(?lY?}GOJO?G!l&okE5U;_Vzc+`O(GR>R+mGFYLURl=x@oDvcOyGY_;I)g% zYA7%4xGU9FcXV61k+&1NcIkCu+s~opb@l&w{0cpMAXgixuxQg z?byX7n$Sove*IM9eu9|1>;d?>I3oFxy8t{+lk6MLDa7R06FTOlCMZYa7Z^irF-Dy$ zjG^`!gTKlc>N{ibSeKme-x`07G1MXgNhDrst!w=CBqaVFXguoQV4prW=?RxPANhYO zEBw%oylv7^FVRgwk-rxy>#Y}g%GwS?W%U9Wh_o%6OuyyDZXm<7T0z4D8K)?#5wzPr zoi(cyM836FtLMYWYrNyPKDoL@sTc+BZ(Yi|p1PJ z_bC@Oi}dJHX5)@d5|;j=5eIDc9}oxmEP;usa;!x?B7i%(EClOA{xdq9KSMkyIbU*~ zHi%2>pW}~bf$NFN31IzqYIBC&H>-0M>sw1z + +/* Including external dependencies */ +#include "PDCP-SNlength18.h" +#include "HFNforPDCP-SNlength18.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* COUNTvaluePDCP-SNlength18 */ +typedef struct COUNTvaluePDCP_SNlength18 { + PDCP_SNlength18_t pDCP_SNlength18; + HFNforPDCP_SNlength18_t hFNforPDCP_SNlength18; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTvaluePDCP_SNlength18_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_COUNTvaluePDCP_SNlength18; + +#ifdef __cplusplus +} +#endif + +#endif /* _COUNTvaluePDCP_SNlength18_H_ */ +#include diff --git a/asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.o b/asn1c_defs/all-defs/COUNTvaluePDCP-SNlength18.o new file mode 100644 index 0000000000000000000000000000000000000000..d1411a9ea89652d8567175aa700d46463d495db3 GIT binary patch literal 3144 zcmb_eOK;Oa5Z+)OEzgvP#6w8sL_x%=LlF^3$dD$j5Tu5ZvvGrI3W;6C4k{POu{SOp zIPx>N@fSGq1CZbdH*PSWv*T>Gb_7*N+RV&1FYoMnoVT?H^?ikcU@C|^Vx%!D#P-xk zwiD47C&Y14U1>I+yz)AI-&w3WrPW5q57y(hRS}z--mW*EhdteEqgJYI#eNWNgh4ba z@z0X}th%0;$jCEH!1s~u577jd|2Cnm2lp^9_K#Jhb$Ac+QmRavC-kgh(fi8hq2nBa zo~ndia13zlLG`g&U#eDb&CWH~`a#^Ey=g9(^ChdFXx1C6V$Ls^)|DYn5&48#`^B%! zGd0GZWR$}gdm~hM9J4v>%;<&4|N6lKJS`#d|EgHyi&)W#%v>zDWN*7XmIUVg; zR;L%nVJqyUbG{k|G3E7pZl!$Pa;)-=(FLI6Qf>*|b7|6XzB9mQM&ao!0)C7Z-|so; zqvOj8ep1R{j)G$*4W#~5a^%5mV)`Hj;HMZQ{zbv@wx5^!PX#|MWw1FUAOeH`RVYNu z3Vvn?CBFj&hrcatYTwWYCZ5#@1J3WeFr(Mq*jpnW_lCU9QtWTV!hGh%o-o&&bu_i2T&topY6c=LNG)9$E$pA1>`zsgS=$D=+V zy}nBr>Z|`1NEHJKRG=s{tH==7X(68L00VuJ@i-rq;0t2DsmO^z{(RFPNa7sFzRIo{bKEq(v^qU&c*koYY>G6L72%-hW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CRNTI.c b/asn1c_defs/all-defs/CRNTI.c new file mode 100755 index 0000000..f152201 --- /dev/null +++ b/asn1c_defs/all-defs/CRNTI.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CRNTI.h" + +int +CRNTI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_CRNTI_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CRNTI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CRNTI = { + "CRNTI", + "CRNTI", + &asn_OP_BIT_STRING, + asn_DEF_CRNTI_tags_1, + sizeof(asn_DEF_CRNTI_tags_1) + /sizeof(asn_DEF_CRNTI_tags_1[0]), /* 1 */ + asn_DEF_CRNTI_tags_1, /* Same as above */ + sizeof(asn_DEF_CRNTI_tags_1) + /sizeof(asn_DEF_CRNTI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CRNTI_constr_1, CRNTI_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CRNTI.h b/asn1c_defs/all-defs/CRNTI.h new file mode 100755 index 0000000..9a7d370 --- /dev/null +++ b/asn1c_defs/all-defs/CRNTI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CRNTI_H_ +#define _CRNTI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CRNTI */ +typedef BIT_STRING_t CRNTI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CRNTI; +asn_struct_free_f CRNTI_free; +asn_struct_print_f CRNTI_print; +asn_constr_check_f CRNTI_constraint; +ber_type_decoder_f CRNTI_decode_ber; +der_type_encoder_f CRNTI_encode_der; +xer_type_decoder_f CRNTI_decode_xer; +xer_type_encoder_f CRNTI_encode_xer; +per_type_decoder_f CRNTI_decode_uper; +per_type_encoder_f CRNTI_encode_uper; +per_type_decoder_f CRNTI_decode_aper; +per_type_encoder_f CRNTI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CRNTI_H_ */ +#include diff --git a/asn1c_defs/all-defs/CRNTI.o b/asn1c_defs/all-defs/CRNTI.o new file mode 100644 index 0000000000000000000000000000000000000000..14e4fb87b26a9be6388f56a4255e2a770e6b077c GIT binary patch literal 2848 zcmbtV%}*Og6d&UxxPcne0w?1_u!D+pAT5s*$V(Xu=gS{IIt-ro~Tmn#(A`# zwEy0E-sucJbGF`Ont!0Vr~f{ta5(i-l{!iXGu%2ysqMWNzoVl@xD+G}YKt9hDH1ZI zGdIja%FA9*x65wDuLhUBT5U)P`Pu3Df-H-R!KiiHt2KSA-UzLmE4Tf+H2~nn%Am59 z8}%Su_g3nmRrOYCex+?y8O+({S*-fR{ zckL0G9hUZBgp2c(II%e^5*wMsh3?MOFEIHq;2)FiSLEaA%vOh+?klFP>*>C+bS8f` zoto;p0i)A3t#ERWWw@VH;#F+#lCdXMh$Q^tC<&S3C@D_I!H`8e^qNOfbZS~8egG^X zaEyp&`UKR3ww@9@08eWE8Vq=suD0c*P+e;4D2yuY`1-$6_?dPulnMh}F`$$7byivR zp#aK9TAfu-0b787uU3a;3PK)tcQ#MJ1>YRFRqpu2q^oo{^lk>OEf6eC%(~&7HJ>ce z4Fa1i=Ce3l!NHF5xQF*k#kLbFZKmXYU6^<0=4T7jQwo_Y_*f_AyQ<(bFbrEQ^e1a53)Xz5!bsnZ~~sw zaQ&7z8s1AXvPF_HKi_$TEF6HaK1beA8QfV7y(J;xos0M~OY45klcB#63R&?&PspVp z5OTeN3cA~J3EiK9_~N)^%CKFuP|gE2O#}DLEXYZ zqt8LcoMwC$CyOByw!sH6KKC5L@%;=C=k;@*9N=;BGvt7Foj8v9JQz_n*Z&(iEbGA_ zTZTRZdR+ZCsQ$a;kM+k_o!8Ix{|+#m>c|;KKLYrj2S|~rR{_QNY-Dba-4u`g(TTRD zVi0e@pE2EU#9R;=P2V3W-gM`9^ZfAsd9HgP#MN(vE(F&J>xW+_j%OU#W6lkb_=&(b ov|xN2@!c`w@r!Eq9w2d_3jGijjm-UH&baszt^a2&7DY4u9g=hs_5c6? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CSG-Id.c b/asn1c_defs/all-defs/CSG-Id.c new file mode 100755 index 0000000..174c7f9 --- /dev/null +++ b/asn1c_defs/all-defs/CSG-Id.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CSG-Id.h" + +int +CSG_Id_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 27)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_CSG_Id_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 27, 27 } /* (SIZE(27..27)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CSG_Id_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CSG_Id = { + "CSG-Id", + "CSG-Id", + &asn_OP_BIT_STRING, + asn_DEF_CSG_Id_tags_1, + sizeof(asn_DEF_CSG_Id_tags_1) + /sizeof(asn_DEF_CSG_Id_tags_1[0]), /* 1 */ + asn_DEF_CSG_Id_tags_1, /* Same as above */ + sizeof(asn_DEF_CSG_Id_tags_1) + /sizeof(asn_DEF_CSG_Id_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CSG_Id_constr_1, CSG_Id_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CSG-Id.h b/asn1c_defs/all-defs/CSG-Id.h new file mode 100755 index 0000000..2b366ae --- /dev/null +++ b/asn1c_defs/all-defs/CSG-Id.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CSG_Id_H_ +#define _CSG_Id_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CSG-Id */ +typedef BIT_STRING_t CSG_Id_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSG_Id; +asn_struct_free_f CSG_Id_free; +asn_struct_print_f CSG_Id_print; +asn_constr_check_f CSG_Id_constraint; +ber_type_decoder_f CSG_Id_decode_ber; +der_type_encoder_f CSG_Id_encode_der; +xer_type_decoder_f CSG_Id_decode_xer; +xer_type_encoder_f CSG_Id_encode_xer; +per_type_decoder_f CSG_Id_decode_uper; +per_type_encoder_f CSG_Id_encode_uper; +per_type_decoder_f CSG_Id_decode_aper; +per_type_encoder_f CSG_Id_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSG_Id_H_ */ +#include diff --git a/asn1c_defs/all-defs/CSG-Id.o b/asn1c_defs/all-defs/CSG-Id.o new file mode 100644 index 0000000000000000000000000000000000000000..01906c10333e164982014b6548b6f64aa3db3c08 GIT binary patch literal 2848 zcmbtV&uek{hffAOsT2#$J<9|3KL_ z3Oy96G*YdIs+USV_Rv3|cP>Fa(nFO~r5=d5(o1`&I3U7%v+u1Z!y*p6DD&R?=6!Ew z-^@JUU8pP$q*8(H|4O;HU+z5$>(1_C#@X5He)i?g z{)0o1@DpeIpG;+UuyX%>j)-1F;nu z=~J#miA@kIvSV}E zT=94|QyRJqqcgOma0*XU_&x84e-qCxop@7)NW))}q#;w1q{X{QFl5m#y%v!cgPIqa z$3dmUdoj){Sqks(ry57#KKt<+4ET`l#&%k$Q;K~wK3CqW`#-PnWARxi7lsny?CUx$ z@GFi=1>6s`I;%4U>>B)!YIRsAS_^cJY+c=b4KCuB1JBBxUs!YjaLaW!^lk*MEfB3P zEW6>ITRu-kZwMx3rI^Rz91b?7LT3MoDRw`naxYZf^W{}{Wp%l{R8q)FwWvXEaLca+ zVv;tG{Q-N|^QeU!p40HGhJUN!di;G2AJO6oR+YtDHcLQ;G~Rn1=b9pZf?`mOk&U>1 zdK0g~3mV?PmC#o;e3Wcd*U85G{N@p|Z~(#j9OsWohZ+R1kW#uPEMMcN?2t z%U3&myTJlFe!JNT3V@;Tdx*SO?>_#HU@s_e0O>J$ve(JSyM*iT`SZD+CR{%&q#WP? zqW2T@EgUpC12*O~`FUI{K}^_&7{vJAGllsU1EhKXoTmVI62D3Ta|WMztXGL|?*A7G zSU32V;a>nhss3A3|2>Mw`eRq;{d4`X&*4%>?l{H~zdw6OtP)V&6pdaNi+64;+x^jH}4OBKd*&-JE?v%^dPuSSU>!AVm{-zA9HPh#P N; sorted by tag */ + asn_MAP_CSGMembershipStatus_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CSGMembershipStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus = { + "CSGMembershipStatus", + "CSGMembershipStatus", + &asn_OP_NativeEnumerated, + asn_DEF_CSGMembershipStatus_tags_1, + sizeof(asn_DEF_CSGMembershipStatus_tags_1) + /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ + asn_DEF_CSGMembershipStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_CSGMembershipStatus_tags_1) + /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CSGMembershipStatus_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CSGMembershipStatus_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CSGMembershipStatus.h b/asn1c_defs/all-defs/CSGMembershipStatus.h new file mode 100755 index 0000000..68f3e43 --- /dev/null +++ b/asn1c_defs/all-defs/CSGMembershipStatus.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CSGMembershipStatus_H_ +#define _CSGMembershipStatus_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CSGMembershipStatus { + CSGMembershipStatus_member = 0, + CSGMembershipStatus_not_member = 1 +} e_CSGMembershipStatus; + +/* CSGMembershipStatus */ +typedef long CSGMembershipStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus; +asn_struct_free_f CSGMembershipStatus_free; +asn_struct_print_f CSGMembershipStatus_print; +asn_constr_check_f CSGMembershipStatus_constraint; +ber_type_decoder_f CSGMembershipStatus_decode_ber; +der_type_encoder_f CSGMembershipStatus_encode_der; +xer_type_decoder_f CSGMembershipStatus_decode_xer; +xer_type_encoder_f CSGMembershipStatus_encode_xer; +per_type_decoder_f CSGMembershipStatus_decode_uper; +per_type_encoder_f CSGMembershipStatus_encode_uper; +per_type_decoder_f CSGMembershipStatus_decode_aper; +per_type_encoder_f CSGMembershipStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSGMembershipStatus_H_ */ +#include diff --git a/asn1c_defs/all-defs/CSGMembershipStatus.o b/asn1c_defs/all-defs/CSGMembershipStatus.o new file mode 100644 index 0000000000000000000000000000000000000000..bd0f7dc7f1ab76115299f9fea08a7b6ce9a4f211 GIT binary patch literal 2616 zcmbtUJ#Q015FO`$@EH<>1QLyDz)0j|N0C55LWhhKgh;RwMUvK}D(%sCwd2e@i=WajLUaig)3Lv8ZPhk`Z3UF{? ztkJA9ws@0WZX}d9u^|1KJU-rw3m7$3$?<h!kKp!$rAba5+_g zIx|`ZznJmu{&?0r837#+Mts3Pp;JISV4%$QtHEb8g{}193bV$I2NT_bA4plS_S(A=Boc(BTsFqYb?DAyOh(uX3Y$i_Gf~oy=J=}SPeSO zFz$uv4x&!1vlFH7+y2U=e=aU(P545l2Dr^W;dWO`Q}DpT?Z4rLh2LPG%ntiBf8N(5 zc)&cneyT^}I_HT``@P9=+rjT}41RLh)lmbj9;CJ{o>m7M{8pqR@Eb`2{-8$zF)Mxr zL$w!~G~{?F2WXwUAw8BCd$xc0b< z0bzEpC?C)Zhn#B~0Tjhydmkt#nB%Kx>ARBeP5z6Qh|&6^n;8QfB`$D24YRlC1$cu_Ui|^< z`$A+}bmC2n^Xfn1pMHn=R6ngP>r4G_5u>Hb_}JqMuTTB42g61~c!G~$Ht%O1n8PKS wdv-L>FV=r!dkrx + +/* Including external dependencies */ +#include +#include "UEID.h" +#include "CSIReportPerCSIProcess.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CSIReportList__Member { + UEID_t uEID; + CSIReportPerCSIProcess_t cSIReportPerCSIProcess; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportList__Member; + +/* CSIReportList */ +typedef struct CSIReportList { + A_SEQUENCE_OF(CSIReportList__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSIReportList; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSIReportList_H_ */ +#include diff --git a/asn1c_defs/all-defs/CSIReportList.o b/asn1c_defs/all-defs/CSIReportList.o new file mode 100644 index 0000000000000000000000000000000000000000..9c9333467bb4c8c23ae57867392e4b663aa37fb9 GIT binary patch literal 3968 zcmb`J&u`pR5XawU3tfKo$AMo3By%E2#L6y_hya1<)+t3zvrQV&o8uU(31ru+wIih$ z*kf<>2>(HEaID0o#~!(H?SFu{afA6j&)DO)yFgJ!vfs>S=Dj!Xhu`ye;q{HBR?CRA z%qOO{gc|ecg<21+8kqCuoLMFPwc0gT`-^3sbBW+te&CnBr!eM7f9KkEI?g7=^~1a{ zW+%M48{X)L<~Y1|#U$b!q!S7pOtK`+b8{H3geOHh$`7+qKBvupLXwZfxVCV&{I79t zJ=b>IacwtV?6xRRQDQByR8LXmUqi7!o;}5OF@8LI^gK_`Y3EB#HY8|Rvj*l&3&yI~ z2s!GQz_E2Ke5Wl_YVbfc>h25azv5T>{SUq6-TmWHaqNBIulcJh-D7KYzwNI3t80Gu z-IA+TXH~R&#{4mNFSQ#pRM%}cW=iuayBd<#rXJ==+dMOaFA{0llcsb@P2ch*2wDi6u?Cytk?>+r%o zvbG&SqJ_q&5`Z@sy>XnEBxG}V{pa@mvMuc#*E-vwOn{$-AFd7wB>C6DdT z6@Qg=6mp)R9eq~p!ASzHPq!%`2{=x%^Ds#6mBkFduegi_=m*6yF3ID;0{&R>*I7sL ztKzuZYywm~fleah+Orn@3j&a!xMa2RHBcPml3elKLQuS6wes~qam2sHzQ>Bcsp948 zfE)2^?2~@Lk^hvr%!kCEV}8ITIOfe``-Ds3a()^=zdJ1AeJYDdSssX1q$h>(zlw|4 z`1|x9>Q6Eli0t}ZGSj2jx}k~J!TwQ}#NR-LFyOI}i@(pM8{|n4H z#$?x4H4`XZtBBR|HW^@g55pheMKUgn>g`opsk}o)haR{7&rY0}ZvXF*1FRWGeY7AJ zBIQ`=*1@ljxxQx5rJiuu?%cr_aQ%nue2Li0^tkyyM{H*8iT%kR#4k>Vj!FMO^XmtE LnM}#A#jXE08e1(+ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcess.c b/asn1c_defs/all-defs/CSIReportPerCSIProcess.c new file mode 100755 index 0000000..c5a44ed --- /dev/null +++ b/asn1c_defs/all-defs/CSIReportPerCSIProcess.c @@ -0,0 +1,144 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CSIReportPerCSIProcess.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_cSIProcessConfigurationIndex_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_cSIProcessConfigurationIndex_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 7 } /* (1..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_CSIReportPerCSIProcess_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcess__Member, cSIProcessConfigurationIndex), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_cSIProcessConfigurationIndex_constr_3, memb_cSIProcessConfigurationIndex_constraint_2 }, + 0, 0, /* No default value */ + "cSIProcessConfigurationIndex" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcess__Member, cSIReportPerCSIProcessItem), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CSIReportPerCSIProcessItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cSIReportPerCSIProcessItem" + }, + { ATF_POINTER, 1, offsetof(struct CSIReportPerCSIProcess__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P129, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cSIProcessConfigurationIndex */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cSIReportPerCSIProcessItem */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct CSIReportPerCSIProcess__Member), + offsetof(struct CSIReportPerCSIProcess__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcess_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSIReportPerCSIProcess_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CSIReportPerCSIProcess_specs_1 = { + sizeof(struct CSIReportPerCSIProcess), + offsetof(struct CSIReportPerCSIProcess, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcess = { + "CSIReportPerCSIProcess", + "CSIReportPerCSIProcess", + &asn_OP_SEQUENCE_OF, + asn_DEF_CSIReportPerCSIProcess_tags_1, + sizeof(asn_DEF_CSIReportPerCSIProcess_tags_1) + /sizeof(asn_DEF_CSIReportPerCSIProcess_tags_1[0]), /* 1 */ + asn_DEF_CSIReportPerCSIProcess_tags_1, /* Same as above */ + sizeof(asn_DEF_CSIReportPerCSIProcess_tags_1) + /sizeof(asn_DEF_CSIReportPerCSIProcess_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CSIReportPerCSIProcess_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CSIReportPerCSIProcess_1, + 1, /* Single element */ + &asn_SPC_CSIReportPerCSIProcess_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcess.h b/asn1c_defs/all-defs/CSIReportPerCSIProcess.h new file mode 100755 index 0000000..acbd11b --- /dev/null +++ b/asn1c_defs/all-defs/CSIReportPerCSIProcess.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CSIReportPerCSIProcess_H_ +#define _CSIReportPerCSIProcess_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include "CSIReportPerCSIProcessItem.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CSIReportPerCSIProcess__Member { + long cSIProcessConfigurationIndex; + CSIReportPerCSIProcessItem_t cSIReportPerCSIProcessItem; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcess__Member; + +/* CSIReportPerCSIProcess */ +typedef struct CSIReportPerCSIProcess { + A_SEQUENCE_OF(CSIReportPerCSIProcess__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcess_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcess; +extern asn_SET_OF_specifics_t asn_SPC_CSIReportPerCSIProcess_specs_1; +extern asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcess_1[1]; +extern asn_per_constraints_t asn_PER_type_CSIReportPerCSIProcess_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSIReportPerCSIProcess_H_ */ +#include diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcess.o b/asn1c_defs/all-defs/CSIReportPerCSIProcess.o new file mode 100644 index 0000000000000000000000000000000000000000..4f30cbb3567c74740d6056cd099b33b76933f926 GIT binary patch literal 5232 zcmb_gU1%It6uz5{>6+Fxwf;n_?P#f{V5XV0VC;iz+-|!I+jN_>5-d2GY$iYL?oQa5 zgj7KTv0$h|KoNZr#RvQ7yP^SKioQr5q~L=-iBKQ355)(uo^$7%otvAx(rOOOoO8bO zbI-Z=?wy;wQ7E72NTmc*O1vNvjZq;!zdw<4Qp|}x;sH^-d~2+jErI51KiC z2P#DI=;ra+hq-MZ_QHl!b*KF4@UT~_^-Cc?RvPu^gJx9mn;=)3LDdgKyDAQb$E-!K zw%}WhAhKrW7X60R2jIb}L(*0a8e!D*<{FVT?akHvsg~88Qi!p_nRA7ad_h!OD6Zp8ZwzEE$%VFkOfzBGd%`shcd40jac1iJbgLd7AKlVIerG8nVQG;~6q5GIy0*^$0f~3D_7Dg55ze~G(_)vZ zO1U5WcPs0{^Hv7DXN$KGuJlg}i)`H2+im1ZSve|gLlK> zVXD(=gXi1e!u+{~FL>RrPrCp1t#y-cxH~A|cHkZ_oN&$g+{l{=U8m)B3X=OxC5!;+ z7AHIP;;6gHZLE@KAe{HBAw{1Wt}qPIgMMu*9@N>nQW$mbv@!RHu*>-Yd=26&sovb9 zZ0>Z$<%^1Y`hAaGP56OO42%@tds$GY=r|RlM?W`HO;TP-|VX;CdFp4G-3NXz++raR#3k;xKJ| z*pA{Mc>bbGD1Nt*5PujR#ytdqbpLt`OZ*X#*`Hu}yx}Q*i~ziEAi>W`p5Bb}ZwPTb z!*riy~&Je()Pyn;W)&cLrKIQlP!k30XPdTa)SNkfK*PCy&XWVXDSn+CKGEVijydi_l=b?TX)|UvZAu|5 zE#GO-P4hoQSFdr3$92QoFxSuX{|aC@zBY{b7?T2x$E@|XT2d@r1ZJwAukdS{zoqHZ zpquJnqpRrz`D6X~d)DiJ4KN&EU#B&?!s7l=34M{6zp2R5K(8;iUV){B`0vJXZSr3O#S~({qs6u{|IqBw9z7oa64Lh`Kw_5u YL<+RV^!_ogDLzC0AN&-PDWu2$1H?}tY5)KL literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.c b/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.c new file mode 100755 index 0000000..d76eaa5 --- /dev/null +++ b/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.c @@ -0,0 +1,165 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CSIReportPerCSIProcessItem.h" + +#include "SubbandCQIList.h" +#include "ProtocolExtensionContainer.h" +static int +memb_rI_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_rI_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (1..8,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_CSIReportPerCSIProcessItem_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, rI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_rI_constr_3, memb_rI_constraint_2 }, + 0, 0, /* No default value */ + "rI" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, widebandCQI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WidebandCQI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "widebandCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem__Member, subbandSize), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubbandSize, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subbandSize" + }, + { ATF_POINTER, 2, offsetof(struct CSIReportPerCSIProcessItem__Member, subbandCQIList), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubbandCQIList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subbandCQIList" + }, + { ATF_POINTER, 1, offsetof(struct CSIReportPerCSIProcessItem__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P130, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* widebandCQI */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subbandSize */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* subbandCQIList */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct CSIReportPerCSIProcessItem__Member), + offsetof(struct CSIReportPerCSIProcessItem__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 5, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 5, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcessItem_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSIReportPerCSIProcessItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CSIReportPerCSIProcessItem_specs_1 = { + sizeof(struct CSIReportPerCSIProcessItem), + offsetof(struct CSIReportPerCSIProcessItem, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcessItem = { + "CSIReportPerCSIProcessItem", + "CSIReportPerCSIProcessItem", + &asn_OP_SEQUENCE_OF, + asn_DEF_CSIReportPerCSIProcessItem_tags_1, + sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1) + /sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1[0]), /* 1 */ + asn_DEF_CSIReportPerCSIProcessItem_tags_1, /* Same as above */ + sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1) + /sizeof(asn_DEF_CSIReportPerCSIProcessItem_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CSIReportPerCSIProcessItem_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CSIReportPerCSIProcessItem_1, + 1, /* Single element */ + &asn_SPC_CSIReportPerCSIProcessItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.h b/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.h new file mode 100755 index 0000000..c0f52fe --- /dev/null +++ b/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CSIReportPerCSIProcessItem_H_ +#define _CSIReportPerCSIProcessItem_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include "WidebandCQI.h" +#include "SubbandSize.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct SubbandCQIList; +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CSIReportPerCSIProcessItem__Member { + long rI; + WidebandCQI_t widebandCQI; + SubbandSize_t subbandSize; + struct SubbandCQIList *subbandCQIList; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcessItem__Member; + +/* CSIReportPerCSIProcessItem */ +typedef struct CSIReportPerCSIProcessItem { + A_SEQUENCE_OF(CSIReportPerCSIProcessItem__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcessItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcessItem; +extern asn_SET_OF_specifics_t asn_SPC_CSIReportPerCSIProcessItem_specs_1; +extern asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcessItem_1[1]; +extern asn_per_constraints_t asn_PER_type_CSIReportPerCSIProcessItem_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSIReportPerCSIProcessItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.o b/asn1c_defs/all-defs/CSIReportPerCSIProcessItem.o new file mode 100644 index 0000000000000000000000000000000000000000..88fb01517f886f82c66d2563ae145235d38d3171 GIT binary patch literal 5536 zcmb_fO>7%g5PptB6WU_ZQXo)%7HFZBnyojf)TjsK;JURXH+AEtRQ#>i&ZcqepUAr@ zX^{hMFNY69# zy>I5t``O*+4>I{9J+YWziHTQ5$7588TLT?CCC!w0Ol%j~OMew}%WJvi@BG8r%bTp9 zvrE6mvP=K;owu@=*1ow5;=htz`n^AYxiA0GBN%zs$OcAs`F3{sU+Y?a`IoV~Yp35> z{^8AU+d;QwP(Xy(vpXorTKny$96$I;f*Mr(FcXVF3G3?t5a-KtW{vp$$R;4gsUe@^ z`_Ul@Mh_pKIjl`{zvDHmiaq5{d;6VQZAcpFVs65nZMOV^+XB1LYF1p&%lU5Itccy- zA>+JLn{$mu(>Kmk&$|s{4}iO;_R79Wv*GzIr`qt1X{TCqr`o;IX@w|ePE2OT(;3mq ziFd10ZrN!}rBCF9H&;fpSY2@01~^~!d{NB|W#)ai;ZwNYfV&efco~fvF_yB3TsCdrs3~qGZQOLP@1M}j#;`~$463{lPUd)Rv3vK%b z=7m&JQlz7l{+__SP|pyqp~}Iz3v);Ex&Ex^o+8f|9>ki5tTbK~B`GMHZt$qC~FsXfj zKSOXBT8KKb(6sxfff@Fw{f+CxPrF{V8rEqb zFA|LViqe3F`DdlqIcpas4)xFhyGr^KiEkDq;^X%f!&&+kO5ucZ+5cobq z`4L(SDqTbeg!yR4g}eu#*(GuLX6S;%ZRxIG|Gy=^seOhx>JH)Tt2!>Ws;;#0>a$JR z7hbnrfDf!=3vp2L}EuspCa%-BJf^#aKq{!jKKFr z;OPilL|+}?MpAd{WxJKLJ2ww|Sirr;KAbsXM@QPebH=l+HuD&yaa&3#0g@IZJoegz z-9;-F(hPXBZpEYMV`Bw|A$r)Yt;d^nCKoajcJ~zQ5n<-jN&FecpH7X@vysy{Ua95W&L1QWP^MAx>FHnF41WJus~xuEae^!RiDPQL1d;`}8q!>&6`) zZkM@+@1Aj6?QMEpxgGK*7nNJ0hVgBYVYtlt%}TS@zB;Cx4Igf+u=AtCBUZs0NeZ!_ z9uzo^;&Etq=u(aM6cogtfX29kAc)Sd2e8DS1e^H;%hw@(!w(U_?=yJJR9{M88jhJqVpqxzm~tfwDsG(c|2-@x4hc8UB!>PPhgVW^S{j(4R+1VKg> z9QU53py0T_Hg(J@_=`*iy{h2IFH_$Q1%FB5%L4^Ib|W9ZyC?<~f%q zH?QEk75>)>j{IfnQ_mZ&=OW?iIYIs;;WMPM9^6NR{CU!hv(NoFJe3eIP47b8cgn(q zzm|cXVXNiV9MgB_ePK>Hz9Y=C=LxgbLab~|zn`w49FOadw{xza*Z&>Buoi6? zVbGOy5&BdyR0r&H&@f)F{|ky=(fEeuPlF#;|FuU0Vu|=zKR(ZT{qF&W<0ql1lB5HT z=R+0bqOiWG*s_Cu-qIfk!a0t)pM!yzzJ4W&&oYrT*U#|BV1&)zzzKu!KB0^MtvR0Y uu(2_2mBwG8joAj+Qz7yA&rIJtfW#<$+?(3O^!a1n(0Ho + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CallProcess-ID */ +typedef long CallProcess_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CallProcess_ID; +asn_struct_free_f CallProcess_ID_free; +asn_struct_print_f CallProcess_ID_print; +asn_constr_check_f CallProcess_ID_constraint; +ber_type_decoder_f CallProcess_ID_decode_ber; +der_type_encoder_f CallProcess_ID_encode_der; +xer_type_decoder_f CallProcess_ID_decode_xer; +xer_type_encoder_f CallProcess_ID_encode_xer; +per_type_decoder_f CallProcess_ID_decode_uper; +per_type_encoder_f CallProcess_ID_encode_uper; +per_type_decoder_f CallProcess_ID_decode_aper; +per_type_encoder_f CallProcess_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CallProcess_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/CallProcess-ID.o b/asn1c_defs/all-defs/CallProcess-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..22054e942c6392504beed557dff2e768a933b93f GIT binary patch literal 1792 zcmbVM!D`z;5FJNtleP&>dJ5#?o|;0vSS8SqLJ`=B<5Ch+$f*T&tuD5yErE6&noIf% z{iGao$j{`~TRS7|%ELy6kO6t#do#16S?}ui;pd~3MgyER;3F)UQvt4m1&#_B!3L~D zM^2}MJWG_;t$ufrb6@25^7(z&S);^Wr*qKUJsZwbGjF~Zd!pS6=LHKd!+p`-6XBau zU%D*ye+0Mx>Joz5odF17r7j(HwrMOQzz%g5z~ejeOH>-LTIswpV0x8+Ab_WwRycrS zmnu%6jn5YAJGRjt`b~?u`?f^)4uVKP>NM^i9>wg0#Qkn;S)634Ho2UnhP@d5Z+!RMq`vNEB7L3JZ(B^dt0if7iGIxV4T}pW z^u^4`AqafO(vKZ7>X!lWLmCNUs5OW@BSM*>2$8C(EW(6b6hxBEW(tQDX=aq@ot(9_ zk;zZq^x=31OKIjO-V%|=9i?1uuaJ=DpY(_)G3?jB#u)AQL+jsSEv@+uA8wH)FSv-< z^>?1~2>boNqeeC^UG>|nPzgSuqdOUuwEDfWpM*bFd4`_OC(TOc&f6!%)ZhPtTvHMn zzwdSY3yM@v_n6y_CA2@>+}zH8#h}AH?=L3|`?4da7^|xvSkb>Ge*J$U%W=v8 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CapacityValue.c b/asn1c_defs/all-defs/CapacityValue.c new file mode 100755 index 0000000..b037de6 --- /dev/null +++ b/asn1c_defs/all-defs/CapacityValue.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CapacityValue.h" + +int +CapacityValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CapacityValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CapacityValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CapacityValue = { + "CapacityValue", + "CapacityValue", + &asn_OP_NativeInteger, + asn_DEF_CapacityValue_tags_1, + sizeof(asn_DEF_CapacityValue_tags_1) + /sizeof(asn_DEF_CapacityValue_tags_1[0]), /* 1 */ + asn_DEF_CapacityValue_tags_1, /* Same as above */ + sizeof(asn_DEF_CapacityValue_tags_1) + /sizeof(asn_DEF_CapacityValue_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CapacityValue_constr_1, CapacityValue_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/CapacityValue.h b/asn1c_defs/all-defs/CapacityValue.h new file mode 100755 index 0000000..ba7a4e0 --- /dev/null +++ b/asn1c_defs/all-defs/CapacityValue.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CapacityValue_H_ +#define _CapacityValue_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CapacityValue */ +typedef long CapacityValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CapacityValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CapacityValue; +asn_struct_free_f CapacityValue_free; +asn_struct_print_f CapacityValue_print; +asn_constr_check_f CapacityValue_constraint; +ber_type_decoder_f CapacityValue_decode_ber; +der_type_encoder_f CapacityValue_encode_der; +xer_type_decoder_f CapacityValue_decode_xer; +xer_type_encoder_f CapacityValue_encode_xer; +per_type_decoder_f CapacityValue_decode_uper; +per_type_encoder_f CapacityValue_encode_uper; +per_type_decoder_f CapacityValue_decode_aper; +per_type_encoder_f CapacityValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CapacityValue_H_ */ +#include diff --git a/asn1c_defs/all-defs/CapacityValue.o b/asn1c_defs/all-defs/CapacityValue.o new file mode 100644 index 0000000000000000000000000000000000000000..ecca5af97c26ad61c245d4b5529ddb56ac41153c GIT binary patch literal 2776 zcmbVNOKTKC5bn*WS);C-=pmr!T+|4r&8T1qC@Y)C2ulo6gDAL8b|(+rhwRJ-Agxvfv(sPn~Ly;xpy+-Ga=wm`xY?&@Z`@VvY5 zVjrg5J>o`&+xp?Qe!H!Y&ihMSYd3DTKHvJV|L9}n#JL+PH{!z(cl#*US=;!4M3OGh z-SjYqx~w_478DKot10DaFQ_@CV%eVyPJ5Ngpfd8_eXq0_F3)(CrY}q4STJHQp>5ad zp*_F2G!uQxAz9;U9m3RV$u;7;@7L1f6me`pD!zkKe z))T~KTxDxkAu>*@(Oy;}XJIM{KX;by??DUObf7d!A`=*;IDpCdXs?K_h^h(fPS6(_wA?%U;B=+FBN1x}4k7sKWIzA?zz6VGY<17xFeHJs-{$R-@$3!hkIuv`tjSs|fsMS6j)hF|ey=syUBEPJ6R@MS zYh~W_9AGGX48KVrL94=btceUO$hMgLqQ@c_Q%n;$b+C^)<>j*Z-IZ3!F&WHvB8# zC)MAjR{56rSbzNf^ZL2|w*kYcI?g!w>omXK#{u5<1(^d3sY4jlWRvpoJE#l6DhKg8 zJdEkQese(-G`UYH-=uTCS$}?io@)h+r22iM`f;7Ge%KE=pK)A|IX6J!4uM~3!TSNj k{$l21?=truAd#cOzd=V6^ZoI=o0OlX3;j~dMbpgx18u+present), + asn_MAP_Cause_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Cause = { + "Cause", + "Cause", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_Cause_constr_1, CHOICE_constraint }, + asn_MBR_Cause_1, + 4, /* Elements count */ + &asn_SPC_Cause_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Cause.h b/asn1c_defs/all-defs/Cause.h new file mode 100755 index 0000000..c22db87 --- /dev/null +++ b/asn1c_defs/all-defs/Cause.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Cause_H_ +#define _Cause_H_ + + +#include + +/* Including external dependencies */ +#include "CauseRadioNetwork.h" +#include "CauseTransport.h" +#include "CauseProtocol.h" +#include "CauseMisc.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Cause_PR { + Cause_PR_NOTHING, /* No components present */ + Cause_PR_radioNetwork, + Cause_PR_transport, + Cause_PR_protocol, + Cause_PR_misc + /* Extensions may appear below */ + +} Cause_PR; + +/* Cause */ +typedef struct Cause { + Cause_PR present; + union Cause_u { + CauseRadioNetwork_t radioNetwork; + CauseTransport_t transport; + CauseProtocol_t protocol; + CauseMisc_t misc; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Cause_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Cause; +extern asn_CHOICE_specifics_t asn_SPC_Cause_specs_1; +extern asn_TYPE_member_t asn_MBR_Cause_1[4]; +extern asn_per_constraints_t asn_PER_type_Cause_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Cause_H_ */ +#include diff --git a/asn1c_defs/all-defs/Cause.o b/asn1c_defs/all-defs/Cause.o new file mode 100644 index 0000000000000000000000000000000000000000..22945902738235ca177e6b0e804e4ae691bbbd64 GIT binary patch literal 3088 zcmcIlOHUL*5bkBcw>*3#CdOpFC`OsEghZmojIIl4cuY_dZ_6-D0NLHy%*;mdp!@`m z9y$99JnBE-rbn*c^cQGVchzidGi!o@N~XW6ud2Fws(X4qR_CVs3I)YdP>)r|Vpb{d zOhZ&0%s7`_2M~|jyC<@~biJ*F_6~CQ?D)!elqlGYi8^v2Hjs0fQisDqY;wX)R zsID5DNzikOV{!B!aTaV3_5ok@h^hY!$9b{GCo%826PkDM80Q^@xrX6Ek$WO_<29qr z0J&-ZDc6oNyOr`RmG`hUnZl>+heP_}cA1k-DRsK+(a>gf}@*Ts=GKX}m z*{^=*o{eJHiaM#qu9Zo?YlWGk*wvwohW8oh7(y$m)50?9S%8AV(TK|mU{Uab2L8M> zGrg#=yWLU(b409XgWL`v?=w*v9>F*w`rwiCHDF%+8y!EOb|`LzHv7HiJMTM1{$0Sl zc|P~xzxCk1_u!Sj(40W|NwYTp#H(q$mip@xVZBz?^t0-;p|!OLF|&)$D^+cI)umdx z-3lo$h?+?nL!Jq#8Qb4%rl!EtB?>e%zw|0(C#^6@?0QS`n#BcXD|waOxm~o!7jPFl zpK}{y+vTaldkn?qx%bFl)DdQINk<;PNtRhskRM_a&=Wk*iPVbVM@UEbB=}2$-xoZt zAMXp4Uk3F0FO!ZiiVFcjznxFd0Sxpk<#1R@8S$4``hIL=NQL{{^9tA#4_)M$io z>YQejhR)2w@>r7k!4|FV|KU2M;yZEQc_x>JXh2#=7V#0ueUKs>8< z{;n0rrd|IYIFOs*07A~cYw?`V=z<@0yZ%?;P!2fIn5sm`@DLRI2f9oUdeqPj%D(_S zo+th;uTk70U|#(_`bqM=N#Td;zW_&G{V#O&aviLXlwH3D9M+frWH8kM5iS}+N N; sorted by tag */ + asn_MAP_CauseMisc_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseMisc_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseMisc = { + "CauseMisc", + "CauseMisc", + &asn_OP_NativeEnumerated, + asn_DEF_CauseMisc_tags_1, + sizeof(asn_DEF_CauseMisc_tags_1) + /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ + asn_DEF_CauseMisc_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseMisc_tags_1) + /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CauseMisc_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseMisc_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CauseMisc.h b/asn1c_defs/all-defs/CauseMisc.h new file mode 100755 index 0000000..99c2043 --- /dev/null +++ b/asn1c_defs/all-defs/CauseMisc.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CauseMisc_H_ +#define _CauseMisc_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseMisc { + CauseMisc_control_processing_overload = 0, + CauseMisc_hardware_failure = 1, + CauseMisc_om_intervention = 2, + CauseMisc_not_enough_user_plane_processing_resources = 3, + CauseMisc_unspecified = 4 + /* + * Enumeration is extensible + */ +} e_CauseMisc; + +/* CauseMisc */ +typedef long CauseMisc_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CauseMisc_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CauseMisc; +extern const asn_INTEGER_specifics_t asn_SPC_CauseMisc_specs_1; +asn_struct_free_f CauseMisc_free; +asn_struct_print_f CauseMisc_print; +asn_constr_check_f CauseMisc_constraint; +ber_type_decoder_f CauseMisc_decode_ber; +der_type_encoder_f CauseMisc_encode_der; +xer_type_decoder_f CauseMisc_decode_xer; +xer_type_encoder_f CauseMisc_encode_xer; +per_type_decoder_f CauseMisc_decode_uper; +per_type_encoder_f CauseMisc_encode_uper; +per_type_decoder_f CauseMisc_decode_aper; +per_type_encoder_f CauseMisc_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseMisc_H_ */ +#include diff --git a/asn1c_defs/all-defs/CauseMisc.o b/asn1c_defs/all-defs/CauseMisc.o new file mode 100644 index 0000000000000000000000000000000000000000..efe8468b7101992ff5f998895c6904e283fdb439 GIT binary patch literal 2936 zcmbtWOOF#r5H2$i!XsfxI7H%NBt$lW8Ld}Htb!B`+L(8z5T_h-%n3N=m}7nh;vet}psJ^8T-&iFqLegUUwu{8T~poD_HX^0*AI0%Aku+v zVQvWvuy=HhV+Uhcfm84i;(#AV^Ke)h?^qPI6mFWjw71eSfh5nWA|Hp-B2R2trrBG$-}&5I(wZ;@A2J8r1XuTE|&EiOOH`c&dTqRHNFF>LdBOQSB)8o@ki{WO)_Z zEU$M*A#P|9PRAy*dM^uG=5>KP3$V4h`Av8A{&t;Jb@xhiIa&*QwX=G^_BNum%Te#E zhW8dxCiUYmynUyr76wbY6}XPKVJ!&UZnS0#f+f2X0PV^_`2@`l%s(3G6Ga7z*I5C4 ztWAe6;MhSvX3rk$zT=PLH`vG-)}#VBuB;N;v;C;)%=0O+$ht=?Q{tDZ_D_)=GSBj_j zEw&*l_a~LvMqL$+9to=KUIo#PsSHHhWeHJ{lR=TasE4K<8|Nk@UXR9{Xq+de^*7lY z5GDC!g1<%(;Zfhi4 z@h8Vq{ZzYO|If(LQhxt`|cP`3*&HaDgW;Vdje-D>) B>NWrX literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CauseProtocol.c b/asn1c_defs/all-defs/CauseProtocol.c new file mode 100755 index 0000000..3c4887f --- /dev/null +++ b/asn1c_defs/all-defs/CauseProtocol.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CauseProtocol.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseProtocol_value2enum_1[] = { + { 0, 21, "transfer-syntax-error" }, + { 1, 28, "abstract-syntax-error-reject" }, + { 2, 39, "abstract-syntax-error-ignore-and-notify" }, + { 3, 42, "message-not-compatible-with-receiver-state" }, + { 4, 14, "semantic-error" }, + { 5, 11, "unspecified" }, + { 6, 49, "abstract-syntax-error-falsely-constructed-message" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseProtocol_enum2value_1[] = { + 6, /* abstract-syntax-error-falsely-constructed-message(6) */ + 2, /* abstract-syntax-error-ignore-and-notify(2) */ + 1, /* abstract-syntax-error-reject(1) */ + 3, /* message-not-compatible-with-receiver-state(3) */ + 4, /* semantic-error(4) */ + 0, /* transfer-syntax-error(0) */ + 5 /* unspecified(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CauseProtocol_specs_1 = { + asn_MAP_CauseProtocol_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseProtocol_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseProtocol_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseProtocol = { + "CauseProtocol", + "CauseProtocol", + &asn_OP_NativeEnumerated, + asn_DEF_CauseProtocol_tags_1, + sizeof(asn_DEF_CauseProtocol_tags_1) + /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ + asn_DEF_CauseProtocol_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseProtocol_tags_1) + /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CauseProtocol_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseProtocol_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CauseProtocol.h b/asn1c_defs/all-defs/CauseProtocol.h new file mode 100755 index 0000000..982b081 --- /dev/null +++ b/asn1c_defs/all-defs/CauseProtocol.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CauseProtocol_H_ +#define _CauseProtocol_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseProtocol { + CauseProtocol_transfer_syntax_error = 0, + CauseProtocol_abstract_syntax_error_reject = 1, + CauseProtocol_abstract_syntax_error_ignore_and_notify = 2, + CauseProtocol_message_not_compatible_with_receiver_state = 3, + CauseProtocol_semantic_error = 4, + CauseProtocol_unspecified = 5, + CauseProtocol_abstract_syntax_error_falsely_constructed_message = 6 + /* + * Enumeration is extensible + */ +} e_CauseProtocol; + +/* CauseProtocol */ +typedef long CauseProtocol_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CauseProtocol; +extern const asn_INTEGER_specifics_t asn_SPC_CauseProtocol_specs_1; +asn_struct_free_f CauseProtocol_free; +asn_struct_print_f CauseProtocol_print; +asn_constr_check_f CauseProtocol_constraint; +ber_type_decoder_f CauseProtocol_decode_ber; +der_type_encoder_f CauseProtocol_encode_der; +xer_type_decoder_f CauseProtocol_decode_xer; +xer_type_encoder_f CauseProtocol_encode_xer; +per_type_decoder_f CauseProtocol_decode_uper; +per_type_encoder_f CauseProtocol_encode_uper; +per_type_decoder_f CauseProtocol_decode_aper; +per_type_encoder_f CauseProtocol_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseProtocol_H_ */ +#include diff --git a/asn1c_defs/all-defs/CauseProtocol.o b/asn1c_defs/all-defs/CauseProtocol.o new file mode 100644 index 0000000000000000000000000000000000000000..5157b233c0ae69fe1be1bcc60da41b62c1b6f4c7 GIT binary patch literal 3152 zcmbtWL5~zg6t3AuK~P~aCM0+m6BAcMcXl=;5KKsub-@tD5kvGqGSu|c?l#PHZ@Oz1 z<^sl(@nkr0G@d+q3s zEhW-Ym(|P?R;li>nVvc|Rj1TR^)~4dKaS=Xc#)SZV!sME^|&_OsKzNOyxr%aPHa9P|*KYO4g&nsqB|~Qz`5b#IONb2ZtQQny&Kf=`(}&cO+{TkaC~>`X3tLcOfYfN-aO)tDNL1T zy`tF(A``!E`;Mdsx%i}Tr z6}Ddlywq{v@fiO{wpCJ3MppL;ZPnneXx2QiDj8_2Rno6(l~g4RM0S!6nP#Y+8=80n znsSn1ndzy&$-bx(x^+i}Iwzqk*d*6(+`@I6-IKcB5YJLR_FlddGF&Q3fQa?wV=}B$}!i1qn$$~Q>=fu2S6|IYdU1o7>_ zzDf3?`VYANzd0WDqxP`=yToCtaQ}bd1>t+)i{x{8YC=xv>wXaFr};p_^-G@M&zv8m ztILNDw26>BiH9BTJ$xzWA8-QhrIYkX{c?V|;}%WT=F9s(^7|6bkGpnJ{!{+z@Yqi# HJ N; sorted by tag */ + asn_MAP_CauseRIC_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 14, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseRIC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseRIC = { + "CauseRIC", + "CauseRIC", + &asn_OP_NativeEnumerated, + asn_DEF_CauseRIC_tags_1, + sizeof(asn_DEF_CauseRIC_tags_1) + /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */ + asn_DEF_CauseRIC_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseRIC_tags_1) + /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseRIC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CauseRIC.h b/asn1c_defs/all-defs/CauseRIC.h new file mode 100755 index 0000000..6e15376 --- /dev/null +++ b/asn1c_defs/all-defs/CauseRIC.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CauseRIC_H_ +#define _CauseRIC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseRIC { + CauseRIC_function_id_Invalid = 0, + CauseRIC_action_not_supported = 1, + CauseRIC_excessive_actions = 2, + CauseRIC_duplicate_action = 3, + CauseRIC_duplicate_event = 4, + CauseRIC_function_resource_limit = 5, + CauseRIC_request_id_unknown = 6, + CauseRIC_inconsistent_action_subsequent_action_sequence = 7, + CauseRIC_control_message_invalid = 8, + CauseRIC_call_process_id_invalid = 9, + CauseRIC_function_not_required = 10, + CauseRIC_excessive_functions = 11, + CauseRIC_ric_resource_limit = 12 + /* + * Enumeration is extensible + */ +} e_CauseRIC; + +/* CauseRIC */ +typedef long CauseRIC_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CauseRIC_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CauseRIC; +extern const asn_INTEGER_specifics_t asn_SPC_CauseRIC_specs_1; +asn_struct_free_f CauseRIC_free; +asn_struct_print_f CauseRIC_print; +asn_constr_check_f CauseRIC_constraint; +ber_type_decoder_f CauseRIC_decode_ber; +der_type_encoder_f CauseRIC_encode_der; +xer_type_decoder_f CauseRIC_decode_xer; +xer_type_encoder_f CauseRIC_encode_xer; +per_type_decoder_f CauseRIC_decode_uper; +per_type_encoder_f CauseRIC_encode_uper; +per_type_decoder_f CauseRIC_decode_aper; +per_type_encoder_f CauseRIC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseRIC_H_ */ +#include diff --git a/asn1c_defs/all-defs/CauseRIC.o b/asn1c_defs/all-defs/CauseRIC.o new file mode 100644 index 0000000000000000000000000000000000000000..456abda606dfd873b4e1ca2156ee5ced6760876a GIT binary patch literal 3544 zcmbtWO>Z1U5N&$`37@eEh)4)&BO%2|%;2>w#R3TpY@84j!pgxSx6OFAv4`x=Y-W0l zeE=eE+z=;@9CPF+M4b2qC=!>PxpB({g?c?zv%Q^NL6nlZtLjx%cXfAl&wRIi_0sav zk`h`{AE>D&s8aWzo64~jW3{4At7l0*!Og9m>g)K*h}h4?_BArFY7!tS&@g? zFualcW=3lrgiw*u+`TF9>|7ThI4>!z*(l|vepoUslruG6g(DT%up>~oQYQ?P! zQXiw22zi;>ldj{8Hfy)@wA!$?NA94NhP6G`13KNXw#S-4uQ#miu}07<4QqR> z9~3pL?Xhnle;m1PK92naz1Fa{m;LtlLH66vC(Eg_tE@6~ANbwrzSiTkw-(+|{Eo&D?sB)Us&p8s!zuR7~pgEL4T>L^u7 zl@Bg%Um6HBFv)&3=vw^K5BpP`Uh!IQ=)4}!vjX3+E^Kwjw1a)tA6!ceJ@wn6<{4_qTTj=6Ir~GoiRm$>Z$nT+?ei$csUPCmDSN5O}@co5oZVog(cS!ZFHShe7VE zkIUWx7a9I%(GdZcSm?5kJ|4qJ1l)b2KDKCsyLb7fgZpDSJbZ~jw0Ik50Nc?|n zRJG>ecNvd8{2t>sJp2#FCm#M6<0`6-$0pe$Zpwxqh-CDUQPD6liHi2BN=0P>1)klg zOR63v)(lCk9!xROsGz?Mu{Y6MDoTs-7(X)+{b}gv^0nQtGD&(%@_I`C2E}8^@;#H` zVi7#f+tZ@wNCGC`RWZaYNWBT(5rO%6;;2+`QPFABVLDu`SCksn3w;3&i{bpkw0?x^Z$x4xcK}3kPq}-vbiMjlGZU9A+Nhm zB%eo8L^xlUBu@DEWE9!;yUy`02HE$8?(aSPZgBhq4#2-E{tYF6IX}Fge(e&Zw)jH* X3B@6Qe!Ttj;$wc8e{y0W`tkn)S#L2# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CauseRadioNetwork.c b/asn1c_defs/all-defs/CauseRadioNetwork.c new file mode 100755 index 0000000..fca8080 --- /dev/null +++ b/asn1c_defs/all-defs/CauseRadioNetwork.c @@ -0,0 +1,153 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CauseRadioNetwork.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CauseRadioNetwork_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 21 } /* (0..21,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseRadioNetwork_value2enum_1[] = { + { 0, 36, "handover-desirable-for-radio-reasons" }, + { 1, 22, "time-critical-handover" }, + { 2, 30, "resource-optimisation-handover" }, + { 3, 27, "reduce-load-in-serving-cell" }, + { 4, 16, "partial-handover" }, + { 5, 26, "unknown-new-eNB-UE-X2AP-ID" }, + { 6, 26, "unknown-old-eNB-UE-X2AP-ID" }, + { 7, 26, "unknown-pair-of-UE-X2AP-ID" }, + { 8, 21, "ho-target-not-allowed" }, + { 9, 22, "tx2relocoverall-expiry" }, + { 10, 17, "trelocprep-expiry" }, + { 11, 18, "cell-not-available" }, + { 12, 43, "no-radio-resources-available-in-target-cell" }, + { 13, 19, "invalid-MME-GroupID" }, + { 14, 16, "unknown-MME-Code" }, + { 15, 63, "encryption-and-or-integrity-protection-algorithms-not-supported" }, + { 16, 26, "reportCharacteristicsEmpty" }, + { 17, 19, "noReportPeriodicity" }, + { 18, 21, "existingMeasurementID" }, + { 19, 26, "unknown-eNB-Measurement-ID" }, + { 20, 37, "measurement-temporarily-not-available" }, + { 21, 11, "unspecified" }, + { 22, 14, "load-balancing" }, + { 23, 21, "handover-optimisation" }, + { 24, 26, "value-out-of-allowed-range" }, + { 25, 27, "multiple-E-RAB-ID-instances" }, + { 26, 18, "switch-off-ongoing" }, + { 27, 23, "not-supported-QCI-value" }, + { 28, 40, "measurement-not-supported-for-the-object" }, + { 29, 17, "tDCoverall-expiry" }, + { 30, 14, "tDCprep-expiry" }, + { 31, 34, "action-desirable-for-radio-reasons" }, + { 32, 11, "reduce-load" }, + { 33, 21, "resource-optimisation" }, + { 34, 20, "time-critical-action" }, + { 35, 18, "target-not-allowed" }, + { 36, 28, "no-radio-resources-available" }, + { 37, 23, "invalid-QoS-combination" }, + { 38, 35, "encryption-algorithms-not-aupported" }, + { 39, 19, "procedure-cancelled" }, + { 40, 11, "rRM-purpose" }, + { 41, 21, "improve-user-bit-rate" }, + { 42, 15, "user-inactivity" }, + { 43, 29, "radio-connection-with-UE-lost" }, + { 44, 40, "failure-in-the-radio-interface-procedure" }, + { 45, 27, "bearer-option-not-supported" }, + { 46, 12, "mCG-Mobility" }, + { 47, 12, "sCG-Mobility" }, + { 48, 23, "count-reaches-max-value" }, + { 49, 29, "unknown-old-en-gNB-UE-X2AP-ID" }, + { 50, 13, "pDCP-Overload" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseRadioNetwork_enum2value_1[] = { + 31, /* action-desirable-for-radio-reasons(31) */ + 45, /* bearer-option-not-supported(45) */ + 11, /* cell-not-available(11) */ + 48, /* count-reaches-max-value(48) */ + 38, /* encryption-algorithms-not-aupported(38) */ + 15, /* encryption-and-or-integrity-protection-algorithms-not-supported(15) */ + 18, /* existingMeasurementID(18) */ + 44, /* failure-in-the-radio-interface-procedure(44) */ + 0, /* handover-desirable-for-radio-reasons(0) */ + 23, /* handover-optimisation(23) */ + 8, /* ho-target-not-allowed(8) */ + 41, /* improve-user-bit-rate(41) */ + 13, /* invalid-MME-GroupID(13) */ + 37, /* invalid-QoS-combination(37) */ + 22, /* load-balancing(22) */ + 46, /* mCG-Mobility(46) */ + 28, /* measurement-not-supported-for-the-object(28) */ + 20, /* measurement-temporarily-not-available(20) */ + 25, /* multiple-E-RAB-ID-instances(25) */ + 36, /* no-radio-resources-available(36) */ + 12, /* no-radio-resources-available-in-target-cell(12) */ + 17, /* noReportPeriodicity(17) */ + 27, /* not-supported-QCI-value(27) */ + 50, /* pDCP-Overload(50) */ + 4, /* partial-handover(4) */ + 39, /* procedure-cancelled(39) */ + 40, /* rRM-purpose(40) */ + 43, /* radio-connection-with-UE-lost(43) */ + 32, /* reduce-load(32) */ + 3, /* reduce-load-in-serving-cell(3) */ + 16, /* reportCharacteristicsEmpty(16) */ + 33, /* resource-optimisation(33) */ + 2, /* resource-optimisation-handover(2) */ + 47, /* sCG-Mobility(47) */ + 26, /* switch-off-ongoing(26) */ + 29, /* tDCoverall-expiry(29) */ + 30, /* tDCprep-expiry(30) */ + 35, /* target-not-allowed(35) */ + 34, /* time-critical-action(34) */ + 1, /* time-critical-handover(1) */ + 10, /* trelocprep-expiry(10) */ + 9, /* tx2relocoverall-expiry(9) */ + 14, /* unknown-MME-Code(14) */ + 19, /* unknown-eNB-Measurement-ID(19) */ + 5, /* unknown-new-eNB-UE-X2AP-ID(5) */ + 6, /* unknown-old-eNB-UE-X2AP-ID(6) */ + 49, /* unknown-old-en-gNB-UE-X2AP-ID(49) */ + 7, /* unknown-pair-of-UE-X2AP-ID(7) */ + 21, /* unspecified(21) */ + 42, /* user-inactivity(42) */ + 24 /* value-out-of-allowed-range(24) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CauseRadioNetwork_specs_1 = { + asn_MAP_CauseRadioNetwork_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseRadioNetwork_enum2value_1, /* N => "tag"; sorted by N */ + 51, /* Number of elements in the maps */ + 23, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseRadioNetwork_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork = { + "CauseRadioNetwork", + "CauseRadioNetwork", + &asn_OP_NativeEnumerated, + asn_DEF_CauseRadioNetwork_tags_1, + sizeof(asn_DEF_CauseRadioNetwork_tags_1) + /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ + asn_DEF_CauseRadioNetwork_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseRadioNetwork_tags_1) + /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CauseRadioNetwork_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseRadioNetwork_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CauseRadioNetwork.h b/asn1c_defs/all-defs/CauseRadioNetwork.h new file mode 100755 index 0000000..2507a7c --- /dev/null +++ b/asn1c_defs/all-defs/CauseRadioNetwork.h @@ -0,0 +1,103 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CauseRadioNetwork_H_ +#define _CauseRadioNetwork_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseRadioNetwork { + CauseRadioNetwork_handover_desirable_for_radio_reasons = 0, + CauseRadioNetwork_time_critical_handover = 1, + CauseRadioNetwork_resource_optimisation_handover = 2, + CauseRadioNetwork_reduce_load_in_serving_cell = 3, + CauseRadioNetwork_partial_handover = 4, + CauseRadioNetwork_unknown_new_eNB_UE_X2AP_ID = 5, + CauseRadioNetwork_unknown_old_eNB_UE_X2AP_ID = 6, + CauseRadioNetwork_unknown_pair_of_UE_X2AP_ID = 7, + CauseRadioNetwork_ho_target_not_allowed = 8, + CauseRadioNetwork_tx2relocoverall_expiry = 9, + CauseRadioNetwork_trelocprep_expiry = 10, + CauseRadioNetwork_cell_not_available = 11, + CauseRadioNetwork_no_radio_resources_available_in_target_cell = 12, + CauseRadioNetwork_invalid_MME_GroupID = 13, + CauseRadioNetwork_unknown_MME_Code = 14, + CauseRadioNetwork_encryption_and_or_integrity_protection_algorithms_not_supported = 15, + CauseRadioNetwork_reportCharacteristicsEmpty = 16, + CauseRadioNetwork_noReportPeriodicity = 17, + CauseRadioNetwork_existingMeasurementID = 18, + CauseRadioNetwork_unknown_eNB_Measurement_ID = 19, + CauseRadioNetwork_measurement_temporarily_not_available = 20, + CauseRadioNetwork_unspecified = 21, + /* + * Enumeration is extensible + */ + CauseRadioNetwork_load_balancing = 22, + CauseRadioNetwork_handover_optimisation = 23, + CauseRadioNetwork_value_out_of_allowed_range = 24, + CauseRadioNetwork_multiple_E_RAB_ID_instances = 25, + CauseRadioNetwork_switch_off_ongoing = 26, + CauseRadioNetwork_not_supported_QCI_value = 27, + CauseRadioNetwork_measurement_not_supported_for_the_object = 28, + CauseRadioNetwork_tDCoverall_expiry = 29, + CauseRadioNetwork_tDCprep_expiry = 30, + CauseRadioNetwork_action_desirable_for_radio_reasons = 31, + CauseRadioNetwork_reduce_load = 32, + CauseRadioNetwork_resource_optimisation = 33, + CauseRadioNetwork_time_critical_action = 34, + CauseRadioNetwork_target_not_allowed = 35, + CauseRadioNetwork_no_radio_resources_available = 36, + CauseRadioNetwork_invalid_QoS_combination = 37, + CauseRadioNetwork_encryption_algorithms_not_aupported = 38, + CauseRadioNetwork_procedure_cancelled = 39, + CauseRadioNetwork_rRM_purpose = 40, + CauseRadioNetwork_improve_user_bit_rate = 41, + CauseRadioNetwork_user_inactivity = 42, + CauseRadioNetwork_radio_connection_with_UE_lost = 43, + CauseRadioNetwork_failure_in_the_radio_interface_procedure = 44, + CauseRadioNetwork_bearer_option_not_supported = 45, + CauseRadioNetwork_mCG_Mobility = 46, + CauseRadioNetwork_sCG_Mobility = 47, + CauseRadioNetwork_count_reaches_max_value = 48, + CauseRadioNetwork_unknown_old_en_gNB_UE_X2AP_ID = 49, + CauseRadioNetwork_pDCP_Overload = 50 +} e_CauseRadioNetwork; + +/* CauseRadioNetwork */ +typedef long CauseRadioNetwork_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CauseRadioNetwork_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork; +extern const asn_INTEGER_specifics_t asn_SPC_CauseRadioNetwork_specs_1; +asn_struct_free_f CauseRadioNetwork_free; +asn_struct_print_f CauseRadioNetwork_print; +asn_constr_check_f CauseRadioNetwork_constraint; +ber_type_decoder_f CauseRadioNetwork_decode_ber; +der_type_encoder_f CauseRadioNetwork_encode_der; +xer_type_decoder_f CauseRadioNetwork_decode_xer; +xer_type_encoder_f CauseRadioNetwork_encode_xer; +per_type_decoder_f CauseRadioNetwork_decode_uper; +per_type_encoder_f CauseRadioNetwork_encode_uper; +per_type_decoder_f CauseRadioNetwork_decode_aper; +per_type_encoder_f CauseRadioNetwork_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseRadioNetwork_H_ */ +#include diff --git a/asn1c_defs/all-defs/CauseRadioNetwork.o b/asn1c_defs/all-defs/CauseRadioNetwork.o new file mode 100644 index 0000000000000000000000000000000000000000..a7a458a6f29c7d47e14d3fe2119f7ed25ca6459a GIT binary patch literal 6576 zcmb_gON=B(5zTcQJba920mEXzv@xGCIGgFgf(4|d*FEE11G65FS=fs;Q(c|YUEb=d zqN;j65;6vHFbE0DC;Ni-hHoqvv=<~_kXDF;kvMQddon(7fD`MJiI){IogFiS0TEJk zX1t8djEMY2^$*s*_1GP!P8p$7=A4;Hf*N!E-dVlpt39)5?lJGA`a76C%s+v;d5bA* zKdIi2rj^@_hDmq=9);WTzO&7+}BGF!QFH_1je zc4=ygsH~Gvd753#^1aMvZqK?)kJ`&?_R7ln4g2`2k)}Kyp43!CNon()u-7=ZbySXA zZL_?#QJUs^ZfNTLmC~ho3Nzbiu%B0`KE8&AUGc;aYC5ehekG9cTqJh z-Na>eFe(BOv^2q}3Ku6k2|42a%0>Y?Nbs#Ic$d@XrnHll{l7AKTQc zeI3r#ei+MOBT#&*d|J}Bm@{&I2T|l;`7z6vlJ+QkOH&G6xw&qOX<6hIt?Ps|cAcedUD`oX(-gHcUZNq$mR+n=GjE({ne*mZ z3eXrEF3qdj3|v%FZ#b3HCJrNICjAR`Js%_~hN(g!&Ziko=c0J*Dm#hxIihnrKC`3w z^H8kzH|!I%fwBH4ozfYu?+Pu?H2=5S(%W?V1hre@_Yf}=e}?!T;`b9jObq%k@dEKf z#CH>an)pM+9paA>e~|bi#GfL5FY#&Oj}osC-%0#gV%YI{;x=)Mc#-%4;yZ}HKztwZ z$BFMJevtT+#E8YaiQh&1KH?7$aR~{&gEWp#RluKkj8C4Pv$tcUg&_Y(+rL`b+}K(fw_G>eP2A9oo@+mE{h zB>SD!AN{I{vs*L3({V4eakpuKEIZAV|(rBQN*a%|3KQFl?L|rG*^9b zn0^dhm6XVs>`q=DzSmKeXB8CX>7L5~W?3Vp8HatER3UidkwsJy6M?F_S=V?t%Ai)?-R( z2G7uBunE*;G4^euF>n98jgcf>(=tG?a>}B{~{lU z%j-1X*7C3LJce_0%D>1B9`*qI)QSeFsip!>xf2#(C6|c)`$4=+xd17Ph5~b?9 zZjJiTcNu+Nczk1RbE`fm+%ZN_9$wWYk34c2eNx3+S-#ca5giLZ!c!alV>;st3O>#g z_PgXnXpu;2T-FM>)S)l=A#mvnd-^IHwaA_A30Z#7$i2x zyls!p_7U*#Ef{kRe`6tHygY~K15^VhVUmU(S0s-Rye$hVZ+ac0a+DiT|$>^``zlO<(7PxFAW7<;Ta+AvA z>~AkN3b#29uphQ-`=22U^XvG(!hgK{1dRbne}NCE4fW+f2h}bv10t+%NYYQrA5o*! zL%pZDe~6*3bs_86LvNe=-{KDVe*sG>_RIPq2hy=8$n^LRiTl)qO7#C{9M}I0f5^Xx J!2;6#{{K_0A literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CauseTransport.c b/asn1c_defs/all-defs/CauseTransport.c new file mode 100755 index 0000000..6c05093 --- /dev/null +++ b/asn1c_defs/all-defs/CauseTransport.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CauseTransport.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CauseTransport_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseTransport_value2enum_1[] = { + { 0, 30, "transport-resource-unavailable" }, + { 1, 11, "unspecified" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseTransport_enum2value_1[] = { + 0, /* transport-resource-unavailable(0) */ + 1 /* unspecified(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CauseTransport_specs_1 = { + asn_MAP_CauseTransport_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseTransport_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseTransport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseTransport = { + "CauseTransport", + "CauseTransport", + &asn_OP_NativeEnumerated, + asn_DEF_CauseTransport_tags_1, + sizeof(asn_DEF_CauseTransport_tags_1) + /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ + asn_DEF_CauseTransport_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseTransport_tags_1) + /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CauseTransport_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseTransport_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CauseTransport.h b/asn1c_defs/all-defs/CauseTransport.h new file mode 100755 index 0000000..ad26972 --- /dev/null +++ b/asn1c_defs/all-defs/CauseTransport.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CauseTransport_H_ +#define _CauseTransport_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseTransport { + CauseTransport_transport_resource_unavailable = 0, + CauseTransport_unspecified = 1 + /* + * Enumeration is extensible + */ +} e_CauseTransport; + +/* CauseTransport */ +typedef long CauseTransport_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CauseTransport_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CauseTransport; +extern const asn_INTEGER_specifics_t asn_SPC_CauseTransport_specs_1; +asn_struct_free_f CauseTransport_free; +asn_struct_print_f CauseTransport_print; +asn_constr_check_f CauseTransport_constraint; +ber_type_decoder_f CauseTransport_decode_ber; +der_type_encoder_f CauseTransport_encode_der; +xer_type_decoder_f CauseTransport_decode_xer; +xer_type_encoder_f CauseTransport_encode_xer; +per_type_decoder_f CauseTransport_decode_uper; +per_type_encoder_f CauseTransport_encode_uper; +per_type_decoder_f CauseTransport_decode_aper; +per_type_encoder_f CauseTransport_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseTransport_H_ */ +#include diff --git a/asn1c_defs/all-defs/CauseTransport.o b/asn1c_defs/all-defs/CauseTransport.o new file mode 100644 index 0000000000000000000000000000000000000000..4ca18d2373131c3e88cd872ef975b6f3f3a7da32 GIT binary patch literal 2720 zcmbtV&2G~`5Z=@+l;5UsK|+FXB1ptas!CKKA)}BMAt+I4#nIikOB+b+%3fFP1teYo z#1n9XBahGrK;jj8LR>j>C^MUxbh}R410#87=9~FuXV>fX`_{9?iBd_hl*B`E%%9oV?unALd#S6>v*?8qp5vIqj= ziKzm91(1?BJH&0KXW_#HFg!7ByT-1=SOPqt2>K|i@L+vru*R4t&Z8=bCoUE+1U%us zH6eBZpS9MtMa++&%VgW?D>$>(ezqz21N5l;Unc*k>ni1o;~$hC37N&=NR znS~7#eg3HJMt5W{S92=P`{Q#kI%g6or#Oo#|Dqi(OWoa3Eg+~=YWTLXsdj56)O*{? zojXe6Os7g_hE*7 z;b(h&EjyrfI?!8eX|=0`zah00ekaR>pC;&FX2WlQt9sIe(c-8B1IO;>UR zNx!e)9r|&imA|ySR?D=E-g006sjmYc*J}N~OvS*A#Q}3|xdjelc&FPEki+}Tu?icc zZ-d5n;_^Q^dF;CL--Q5TbDTh$`M5q?n9n+ZAlmNy`+%YFc^G&?RM;T>05smU0r{+c z(*?Xwz$MUlp7{Lnck&c4oZtO3RH?x-#B5@WE`fE* z$Nq6{o}c@F0~k)_?*Dh1|0cw2VLpY$9t6>@+eu*mqy&7wwlI(N2MDrl=lvZ8j>yF{ vckfLd0uQLpWdQLm;Qo32c-OdR2l)pCPC0!zuDSC@@u%s7{EWpcaryrM6Eobe literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Cell-Size.c b/asn1c_defs/all-defs/Cell-Size.c new file mode 100755 index 0000000..6b8a00a --- /dev/null +++ b/asn1c_defs/all-defs/Cell-Size.c @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Cell-Size.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Cell_Size_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Cell_Size_value2enum_1[] = { + { 0, 9, "verysmall" }, + { 1, 5, "small" }, + { 2, 6, "medium" }, + { 3, 5, "large" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Cell_Size_enum2value_1[] = { + 3, /* large(3) */ + 2, /* medium(2) */ + 1, /* small(1) */ + 0 /* verysmall(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Cell_Size_specs_1 = { + asn_MAP_Cell_Size_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Cell_Size_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Cell_Size_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Cell_Size = { + "Cell-Size", + "Cell-Size", + &asn_OP_NativeEnumerated, + asn_DEF_Cell_Size_tags_1, + sizeof(asn_DEF_Cell_Size_tags_1) + /sizeof(asn_DEF_Cell_Size_tags_1[0]), /* 1 */ + asn_DEF_Cell_Size_tags_1, /* Same as above */ + sizeof(asn_DEF_Cell_Size_tags_1) + /sizeof(asn_DEF_Cell_Size_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Cell_Size_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Cell_Size_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Cell-Size.h b/asn1c_defs/all-defs/Cell-Size.h new file mode 100755 index 0000000..959073e --- /dev/null +++ b/asn1c_defs/all-defs/Cell-Size.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Cell_Size_H_ +#define _Cell_Size_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Cell_Size { + Cell_Size_verysmall = 0, + Cell_Size_small = 1, + Cell_Size_medium = 2, + Cell_Size_large = 3 + /* + * Enumeration is extensible + */ +} e_Cell_Size; + +/* Cell-Size */ +typedef long Cell_Size_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Cell_Size_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Cell_Size; +extern const asn_INTEGER_specifics_t asn_SPC_Cell_Size_specs_1; +asn_struct_free_f Cell_Size_free; +asn_struct_print_f Cell_Size_print; +asn_constr_check_f Cell_Size_constraint; +ber_type_decoder_f Cell_Size_decode_ber; +der_type_encoder_f Cell_Size_encode_der; +xer_type_decoder_f Cell_Size_decode_xer; +xer_type_encoder_f Cell_Size_encode_xer; +per_type_decoder_f Cell_Size_decode_uper; +per_type_encoder_f Cell_Size_encode_uper; +per_type_decoder_f Cell_Size_decode_aper; +per_type_encoder_f Cell_Size_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Cell_Size_H_ */ +#include diff --git a/asn1c_defs/all-defs/Cell-Size.o b/asn1c_defs/all-defs/Cell-Size.o new file mode 100644 index 0000000000000000000000000000000000000000..414c58c0aab65634e183868441a3c9d488737229 GIT binary patch literal 2680 zcmbtVJ8u&~5FT^k4S6661dVARNXf~LB7s0chl~@1AXtea%FD%GB?kK(`OXoc03>=u zNts_jO_?%31Mv^&=)!#KnRvai1&EPuXTEP9JNxkZef8PWsX~EN3iOZ$NLiw9X9jj; z&4{LGl0cu5&(bmk4mc8VsIg|nv|96P&9{bjO?NMAC#@Fs$F^xSdu?hZ-7PaV{e;6` zi;qtv{DGMD{8%T}|F?A~IQH~E#B->X^J<9J`B2Lh^a62?%VIqbKc1E=mHWln_03+I z_lkGJ#jrGA?paiRSH2gP7Q^zLK5y%c8_>@L{X81w560|HV0Z3hMnKx_urJ^lMoD0I zbl7v5VS&yblWu0<@W%mc1a!`Y*1pAKf%!;08=|YMQGZ&nYQTUl3OlRfB_%z{aK?U8Oc7Ho{ThsxS|FKY2hk~eovm19je$xXxZwd!h|@9h|8vU(@Y z@~%|cGO6h{>v7tN`+U+&bDOzVt2jy7j;W*fVZr@$@4oJc&+DFppK?lE6C1qdg3|r; z`3O!H@LCi22?iGMGuG-48)AdMBDSl*;|+*})E>aY);aV(fX90E#%;3=QT}Ql(g)GX zUl;tv<8KP4FxzYA$tLT(+t=G_<>pOJVI#>C3OBQi!fpouk>#+=(6kckhNWJQ=A5wA zsVD5OciL^kM;xY|+=R<3>+@Nj)L&~O|EF(oI@avJlhK&6h;;?~0nUG^A_>xS5J*Ke zMBiqObMx~*dvOZ=`RCXHZb1V?Yd-3`qWP*LcEa}OKVS}`_oa`BifV{{z#4CABv{pV zd1w!WxWpRw5Nn0#@8~Jpn1Aq+!An$<28$LAhUtN6t(QEG>VHG>_r3U{hgTVo>VIDz z3EfBZkKXNytMBEihc?C1Hch~e!N|y@=NlA`sn1s^z(lMw0yqD literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellActivationFailure.c b/asn1c_defs/all-defs/CellActivationFailure.c new file mode 100755 index 0000000..416a116 --- /dev/null +++ b/asn1c_defs/all-defs/CellActivationFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellActivationFailure.h" + +asn_TYPE_member_t asn_MBR_CellActivationFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P41, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellActivationFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellActivationFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellActivationFailure_specs_1 = { + sizeof(struct CellActivationFailure), + offsetof(struct CellActivationFailure, _asn_ctx), + asn_MAP_CellActivationFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellActivationFailure = { + "CellActivationFailure", + "CellActivationFailure", + &asn_OP_SEQUENCE, + asn_DEF_CellActivationFailure_tags_1, + sizeof(asn_DEF_CellActivationFailure_tags_1) + /sizeof(asn_DEF_CellActivationFailure_tags_1[0]), /* 1 */ + asn_DEF_CellActivationFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_CellActivationFailure_tags_1) + /sizeof(asn_DEF_CellActivationFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellActivationFailure_1, + 1, /* Elements count */ + &asn_SPC_CellActivationFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellActivationFailure.h b/asn1c_defs/all-defs/CellActivationFailure.h new file mode 100755 index 0000000..6cc431e --- /dev/null +++ b/asn1c_defs/all-defs/CellActivationFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellActivationFailure_H_ +#define _CellActivationFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CellActivationFailure */ +typedef struct CellActivationFailure { + ProtocolIE_Container_8180P41_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellActivationFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellActivationFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_CellActivationFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellActivationFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellActivationFailure.o b/asn1c_defs/all-defs/CellActivationFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..6842ab512b48157473cdb8673d5ae4deb4342d9c GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7z2)HPOiR&gRnyiL^x5;EOB#V=ou+uAg(SUzI z@RFkk!K+9AfgW@8PYC)8w5q3jx6<1K5(}oQ>g%r_GyRyi?Z=B_wHg?y!8{B-g90>9 z4DCRf0ZhO+w30Mkh-LR>B)fUG7}le2t-mRJ_+DmD{6yT9-+iz|3{jDV z_uGr1^WcRt+A2a{k)AAcs!6j+s%e$ERFaiWxY~ZY)?RM4!5CqjXNBxV-AtB+?meq0 zR5r5OX;sV@yGd-?r9L`?Ya?vsnZyc7FKqhFMrY2~-_a=A&wN*%(i1jrzAfS7CK&Z) z#;4t2c+(X)onsQpGoh?<=xCd8lY^jj8c+zIR8~3cYn$*Xh95AT-s_U~`FkDOwW4^v zBclxvxD=({HkM3YNf4Wnj6iG@1&Cfw4l#YcY zWg?cA*JcVC#V=UrM>DTt7<~iwTTzJuHI5F%<#G)j!t9$U;3Q_-@i%aezU@)tZ(%Iu zoW+Mrpq=X+MBCIins{W}_4g1X`BAFDSRYuWaTgWcnL+6e#xMFJ{iTs}sA)f$ePs6i z3SzGM>$<^)jyI}q46PrbcGdr=52dL?_375L>xYO@DfC>aww{x4nr$hrUk literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellActivationRequest.c b/asn1c_defs/all-defs/CellActivationRequest.c new file mode 100755 index 0000000..f09b187 --- /dev/null +++ b/asn1c_defs/all-defs/CellActivationRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellActivationRequest.h" + +asn_TYPE_member_t asn_MBR_CellActivationRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P39, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellActivationRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellActivationRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellActivationRequest_specs_1 = { + sizeof(struct CellActivationRequest), + offsetof(struct CellActivationRequest, _asn_ctx), + asn_MAP_CellActivationRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellActivationRequest = { + "CellActivationRequest", + "CellActivationRequest", + &asn_OP_SEQUENCE, + asn_DEF_CellActivationRequest_tags_1, + sizeof(asn_DEF_CellActivationRequest_tags_1) + /sizeof(asn_DEF_CellActivationRequest_tags_1[0]), /* 1 */ + asn_DEF_CellActivationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_CellActivationRequest_tags_1) + /sizeof(asn_DEF_CellActivationRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellActivationRequest_1, + 1, /* Elements count */ + &asn_SPC_CellActivationRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellActivationRequest.h b/asn1c_defs/all-defs/CellActivationRequest.h new file mode 100755 index 0000000..bf125c8 --- /dev/null +++ b/asn1c_defs/all-defs/CellActivationRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellActivationRequest_H_ +#define _CellActivationRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CellActivationRequest */ +typedef struct CellActivationRequest { + ProtocolIE_Container_8180P39_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellActivationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellActivationRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_CellActivationRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellActivationRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellActivationRequest.o b/asn1c_defs/all-defs/CellActivationRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..7ac2f98f1b4a8563e1bf45efb976941800e13f37 GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7z47e(UiR&gRnyd*6xlJbHkOVg~ai>@Gq5=Pa z;3Y>7f>)3J13l*GpAhsHXjM=5Zl$*eBo<6p)z@D=X8JL2n~DittNfms-M1_h`e z8`yy|0~mu*Xe6D^Tr9UEVn^Jgndn4~`DOmk_DINjRrxc%%o%hxoIaZzfC}`5xwR zi3g`$F!E0g;Rzz+tj|r&c!!$TGJzjT@Xv@-o?T5`)%u&l2k&L}#81Rs`P~Og#1Q3a zc)vLxIuBkbqm4ZD73s-btDH2QbTq9rmrAnK3Rjv>+s(yB6O0kYS(?jkw3W)D(7ol7 zLPaAhtwzawzLUhJUFxINzc#`~mP)LUbi=w|ueEO8*5A=6+RuDfozN3DZoVzyqb3;j zMaHMyV0e=yIGtk>$}^^{VrXfbaFc_eH5yO|A6Hf}>}i|u35M@8oZjn#_W64q*tH^m zy)C145V#bD-ZYj>UP%zoA{l{L&vOvnj2vS6!bdmhL~5EW%N3n0jtEpCAmVI$JHdq( zX(kh~u-Kl;WfVVWogdD;jA8T**l$H83e-3}5SPmpbO^I=qJWc_ZO323Ir_GTjlY4h zlye#%E`fHgau97(-)Q2IZP(vLjO0h5`eU_k6~aXbrYdYSjsxh>FgxXdAqdt_T4%Mey&#oULMy2dO%zIt`JkD|9XN&L+e28lI z`ANsq`f$;(iXnUlAA@n;z6*44iDvgsc})Cwo#!lK^w{rDe=K|L5rRDpPFQ_duDVlP O@n7}#-=$ + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CellActivationResponse */ +typedef struct CellActivationResponse { + ProtocolIE_Container_8180P40_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellActivationResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellActivationResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_CellActivationResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellActivationResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellActivationResponse.o b/asn1c_defs/all-defs/CellActivationResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..e663a5b4413fb6cd64109aab37e80e9b783eef4e GIT binary patch literal 2552 zcmbtVJ8u&~5FY1vKN5nFh@df|AV_58iy~oxgf5s%0)oUOvP5?|UrtGceP{XB2pVul zOGioyIvPrT0tH1%eg=pi05f;H&SbrZP#9@& z_HxmKDVT&t-03Vva`#0jchh7&&U$H*#n9`gGL6#CLq9w4JBno1V(Miv|J9EBPoVM} ziDUmOuV8>03sP2>#;FEQ9x2O>#+~YHt362Mpn6*@h}xVx$Tj!1TNkwj;odB8?s`b3 z_{ZRA=Y`dr#Tx0qsY+gK=!+ zz*!rN_GiZM9Ym&Coum`J#l~~xAa?Id@K19%Vb+?#hX1tXuQq(pLJ;9Km;G=zkwvQe z>t(5mS~i-EGJ~uaN4jJxr8#;#f<~H1%n|p4x?8U`7xb#p*#Wj&0H@SCo48(E!Y7pt zu^A;3PNzZJ&6eOR44+amu_nWH41zWpKCNV8dknwG@O_5UZMm#;KCeTkR%EZbGHipu zZ7BGTmSp@=g4haW2%?>3Ao?jOWa$bQ)wmPp!z3B1=%i6dVD17UO1s?{H(4a9jK%V5 zYc7*v^qf_GH1R6B(b}_bB@g7~{dh;VoUWllnE4WU+=$7h{|y|YwLPl;E%c?B^Vm3f zO1aKKly!d1$&O?*{}3^v?*$w6)sa*PcahPX=@sgz|EwO;9|}2#oX(RzNBZ2aA!f_J zsS2zqf6b~|Q2Y^cTmBE~sn>ZZKfUH={s1vbW&SYlRQ^ji#);o8!nd)JsafYoM&INOYHt%)cOx8 I7$ejF51U}jj{pDw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellAssistanceInformation.c b/asn1c_defs/all-defs/CellAssistanceInformation.c new file mode 100755 index 0000000..5797245 --- /dev/null +++ b/asn1c_defs/all-defs/CellAssistanceInformation.c @@ -0,0 +1,109 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellAssistanceInformation.h" + +#include "Limited-list.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_full_list_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_CellAssistanceInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_full_list_value2enum_3[] = { + { 0, 16, "allServedNRcells" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_full_list_enum2value_3[] = { + 0 /* allServedNRcells(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_full_list_specs_3 = { + asn_MAP_full_list_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_full_list_enum2value_3, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_full_list_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_full_list_3 = { + "full-list", + "full-list", + &asn_OP_NativeEnumerated, + asn_DEF_full_list_tags_3, + sizeof(asn_DEF_full_list_tags_3) + /sizeof(asn_DEF_full_list_tags_3[0]) - 1, /* 1 */ + asn_DEF_full_list_tags_3, /* Same as above */ + sizeof(asn_DEF_full_list_tags_3) + /sizeof(asn_DEF_full_list_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_full_list_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_full_list_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_CellAssistanceInformation_1[] = { + { ATF_POINTER, 0, offsetof(struct CellAssistanceInformation, choice.limited_list), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Limited_list, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "limited-list" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellAssistanceInformation, choice.full_list), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_full_list_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "full-list" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_CellAssistanceInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* limited-list */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* full-list */ +}; +static asn_CHOICE_specifics_t asn_SPC_CellAssistanceInformation_specs_1 = { + sizeof(struct CellAssistanceInformation), + offsetof(struct CellAssistanceInformation, _asn_ctx), + offsetof(struct CellAssistanceInformation, present), + sizeof(((struct CellAssistanceInformation *)0)->present), + asn_MAP_CellAssistanceInformation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_CellAssistanceInformation = { + "CellAssistanceInformation", + "CellAssistanceInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_CellAssistanceInformation_constr_1, CHOICE_constraint }, + asn_MBR_CellAssistanceInformation_1, + 2, /* Elements count */ + &asn_SPC_CellAssistanceInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellAssistanceInformation.h b/asn1c_defs/all-defs/CellAssistanceInformation.h new file mode 100755 index 0000000..337c2f2 --- /dev/null +++ b/asn1c_defs/all-defs/CellAssistanceInformation.h @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellAssistanceInformation_H_ +#define _CellAssistanceInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CellAssistanceInformation_PR { + CellAssistanceInformation_PR_NOTHING, /* No components present */ + CellAssistanceInformation_PR_limited_list, + CellAssistanceInformation_PR_full_list + /* Extensions may appear below */ + +} CellAssistanceInformation_PR; +typedef enum CellAssistanceInformation__full_list { + CellAssistanceInformation__full_list_allServedNRcells = 0 + /* + * Enumeration is extensible + */ +} e_CellAssistanceInformation__full_list; + +/* Forward declarations */ +struct Limited_list; + +/* CellAssistanceInformation */ +typedef struct CellAssistanceInformation { + CellAssistanceInformation_PR present; + union CellAssistanceInformation_u { + struct Limited_list *limited_list; + long full_list; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellAssistanceInformation_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_full_list_3; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_CellAssistanceInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellAssistanceInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellAssistanceInformation.o b/asn1c_defs/all-defs/CellAssistanceInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..ee948a1799d1eb7849e7ba6efb783c88f8be9bcd GIT binary patch literal 3984 zcmb_e&2QX96rZhIO89D`N|X;FnG-=GRyM6f1QK$)Y@4EdtWs6#&2bzzS=DQYwKr-n zG{;_$I9BSVM=nS`a^`?~t|Xm zCDKygsIe!gQoXmwwy#ZJEvR|*2HD`-F{b}7iw=9m8}gqfuadtLC&|@3@8?CBM)A$` zZZ;f*ML$bb(jWATcyB48F?Dy8B&8K5$*p*J6z^?rM--c%*34@fKQm(yuCY0i;?@Kcg0&?YLB$n{-M3I#p-voiZVLW{kd~3Z$BYe)pHs)|KV$v9#?P~-)M{m+?id&NiRRCVtK7;0 ze~b(KI~gtN)8_|tzymKdK3B!#+(7=O3;plFA(8$sQhZCjRf2Rk_lRTQLRez{G6Ns5 zUf1|s6>qMrqu!P93GJwNCVV*eD9?hi{xYv037?;0EA^xS|D^%{tpR`0fUCwAwHK){ zPlH}}J18C;#z7-7h_W;qc&O~C9ND0b#v?~zGKyE?bTr_^lfxKT(Hx_p z#)Z@^Z_$L;wr+O1s#LtXVLvUZDXo{EP(4!#+N7`RQQW11@i3(CtH$@^G#>V&AkEA) z<~E~kVeCew`ma8j08U0z|FVNnt{t10wm`We7v)d>4NO&JI<<_IF*kL{6n^( z{xER7%|2rPPXkAOd4DV-F$om-pTQxKaT{N2;P(t%Y9h}a1IMX%0g@av;Kv4zb=v`% zRIe}#NX7BF+qW6;NqaUm}*%E)v!li%FK8@G*&xD_a$a!4WqP`{r-#}jg)<5wEd(QFi5sv*N`%c~k zTZGlsmjzkne4<=2Sbs;luKpeV)Jq-I$KQxuKOhYC@egQ<&kqFaYl>?+WG8gh^?%Iq zYZl+N{C)E4`ak6UB_90)vipBX80yQpCR5AvhW^2Yh<;?)dVp^)?G4Ge#0eL^y>=M; rhvT2};040or_1gie|&YN9`k{GX%)0w`iH8I|CQHIz8gf-V#ognf;3(F literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellBasedMDT.c b/asn1c_defs/all-defs/CellBasedMDT.c new file mode 100755 index 0000000..104d32a --- /dev/null +++ b/asn1c_defs/all-defs/CellBasedMDT.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellBasedMDT.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_CellBasedMDT_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellBasedMDT, cellIdListforMDT), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellIdListforMDT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellIdListforMDT" + }, + { ATF_POINTER, 1, offsetof(struct CellBasedMDT, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P112, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CellBasedMDT_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CellBasedMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellBasedMDT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIdListforMDT */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_specs_1 = { + sizeof(struct CellBasedMDT), + offsetof(struct CellBasedMDT, _asn_ctx), + asn_MAP_CellBasedMDT_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CellBasedMDT_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellBasedMDT = { + "CellBasedMDT", + "CellBasedMDT", + &asn_OP_SEQUENCE, + asn_DEF_CellBasedMDT_tags_1, + sizeof(asn_DEF_CellBasedMDT_tags_1) + /sizeof(asn_DEF_CellBasedMDT_tags_1[0]), /* 1 */ + asn_DEF_CellBasedMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_CellBasedMDT_tags_1) + /sizeof(asn_DEF_CellBasedMDT_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellBasedMDT_1, + 2, /* Elements count */ + &asn_SPC_CellBasedMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellBasedMDT.h b/asn1c_defs/all-defs/CellBasedMDT.h new file mode 100755 index 0000000..1691680 --- /dev/null +++ b/asn1c_defs/all-defs/CellBasedMDT.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellBasedMDT_H_ +#define _CellBasedMDT_H_ + + +#include + +/* Including external dependencies */ +#include "CellIdListforMDT.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CellBasedMDT */ +typedef struct CellBasedMDT { + CellIdListforMDT_t cellIdListforMDT; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellBasedMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellBasedMDT; +extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_CellBasedMDT_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellBasedMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellBasedMDT.o b/asn1c_defs/all-defs/CellBasedMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..54ec7cf018eeecd35d7144701856a89057cbf81c GIT binary patch literal 2808 zcmb_dTWi!%5S}&O>ZP?RC zCR<*jq%)Z7EfQt?d*mt4E(d&I`7z@M=dCgS6=hkTZ$tRPKyV@m({3=+oDK9j5vXt@ z4cyGOaL?akn~dATtVu@#&7@hjB|lhhK3Z)qHku$Hh;a6(UfAlYyyEoZV#RzT%YLIs zr(1Dk7Ap)lIhx-~R1zia{-kRpU4`Z1UQnOB>H4la$<0JT_g}w-$Ju1^(sSa+*oVYL z#>CU@v01OOH2M1)FFA?wHGZ5iiKmPy&soMK-Z3Wr9Agq+7!yzDI?eibjX%$rM3o$I ziT~wX1-%dYTVbA8-Y;;{7abL@p;WzGZVFQIjsj;rR3SKPX$np+A%#3$$3-=6hnbm> zp*rm(3W>}@z=@JhC&ruObQ2XjbBn7JsS2a#yz7IDOWXsRxBBvQMZ?^-K63>TapnZ{ z`W{7K#$Q7-_57gm`5Xk$u69 + +/* Including external dependencies */ +#include "CellIdListforQMC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CellBasedQMC */ +typedef struct CellBasedQMC { + CellIdListforQMC_t cellIdListforQMC; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellBasedQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellBasedQMC; +extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_CellBasedQMC_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellBasedQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellBasedQMC.o b/asn1c_defs/all-defs/CellBasedQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..4dc46a75d7b7b36ca8f1be386ba8aa640d3090cf GIT binary patch literal 2808 zcmb_dTWb?h5T10s)k|wtP!MDV!3cKAwgrQN#KyELy=-j@zOCEs+6I$s$(};>LHj8F z0-yX1z6d`06U4vai@y1$GrKd%*^^Dx;=p0P`Q~=c$;s^N#=_i4sRSY=xC?ztSb*yB zKCY#(2IDXW^{CaF4U%YcWw8z+8V@%Ynu&TAcZp~=CL4Py>Lks$lk^Mx12Xqw+QUkX z409a7Q_e4x1491VMf;>x!F3GR|Ei0na^j&?)fn^Ka$hDdDJD;Ql^lwxi9KJh-?q!^ z8@nB~Yu|EaoXVuTn_BKGx9U`89QQ`XQ`%6W+DG6=;T>DK&ixV=n7hn;7Fhit4O!Ts zNGv!yK%YgX1fyWHN6)lCd-UwT$?1ktpKdBTseqIpG8Ak15|jZ-x1z6!Py z-%Wjs_q+k$RMZ;gjoXrF7EP-yd;V%;WxcUfZ-4+l#Mz^|L9?T>j_nm2EH~WbXkIr~aTvFHldc|j6t;`HesyZv^;~zFFB28LfBhAnV3*0uofALKF{Car zCZ1l8&32i!$v@C|sY#Tl@e_F+qOF1r)T*25Z9yv9Q{Zd{Dgb9ANx_*eY)7X zfp`lSname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CellCapacityClassValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 100 } /* (1..100,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CellCapacityClassValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CellCapacityClassValue = { + "CellCapacityClassValue", + "CellCapacityClassValue", + &asn_OP_NativeInteger, + asn_DEF_CellCapacityClassValue_tags_1, + sizeof(asn_DEF_CellCapacityClassValue_tags_1) + /sizeof(asn_DEF_CellCapacityClassValue_tags_1[0]), /* 1 */ + asn_DEF_CellCapacityClassValue_tags_1, /* Same as above */ + sizeof(asn_DEF_CellCapacityClassValue_tags_1) + /sizeof(asn_DEF_CellCapacityClassValue_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellCapacityClassValue_constr_1, CellCapacityClassValue_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/CellCapacityClassValue.h b/asn1c_defs/all-defs/CellCapacityClassValue.h new file mode 100755 index 0000000..172287d --- /dev/null +++ b/asn1c_defs/all-defs/CellCapacityClassValue.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellCapacityClassValue_H_ +#define _CellCapacityClassValue_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CellCapacityClassValue */ +typedef long CellCapacityClassValue_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CellCapacityClassValue_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CellCapacityClassValue; +asn_struct_free_f CellCapacityClassValue_free; +asn_struct_print_f CellCapacityClassValue_print; +asn_constr_check_f CellCapacityClassValue_constraint; +ber_type_decoder_f CellCapacityClassValue_decode_ber; +der_type_encoder_f CellCapacityClassValue_encode_der; +xer_type_decoder_f CellCapacityClassValue_decode_xer; +xer_type_encoder_f CellCapacityClassValue_encode_xer; +per_type_decoder_f CellCapacityClassValue_decode_uper; +per_type_encoder_f CellCapacityClassValue_encode_uper; +per_type_decoder_f CellCapacityClassValue_decode_aper; +per_type_encoder_f CellCapacityClassValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellCapacityClassValue_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellCapacityClassValue.o b/asn1c_defs/all-defs/CellCapacityClassValue.o new file mode 100644 index 0000000000000000000000000000000000000000..58a4413e18d23945fe5339ad48542bac23650c0a GIT binary patch literal 2856 zcmbVOy>C=U5a06)wlU^%HWXHfqSpXM!fQWdDJK``S!cs@bTS44LLlW>-#vf8eVBXi zESn-kawtwH5oO9Wk@7##AkmTTsz@n9iIg;5bUoIz@a^k$$(-;-vW&fV+Yta`Yq9B5Yudgn2dkft^;n9&fYk&qKoO=xwB1{5_^$&3=Csow+s+C%}5>2XleL@SRuwE~z4OLx_ zw@Y;uMb}lm6UwSM8O^wxD7(#8?5?hFhD~=Iz>~Ez+E#5fqqwcso3Xp1*6U#{wPsKG zq1>`;ykEB2I^!SXgXnOvRGM+euPt|)amW2yPRpqYucI~Zd#@;`rlof#!NqZ!Fn9lo z$ZZvJCx!-n+Se4#XyADlh1s1b6^V7QOZ#DAG* z=A@^*KhP1*et3Ysf92A(>A;D{rpn#ztC zPGuH+Exe!SyvF;}TC@K*gtKmPM+}*&mM_6~)TpOEGr;b_7%}#{roDxD47@YjA1)N+sUj2oK69SpqUjXp(pza6GmDlNPgEG;r*8j4J~-{Tl|JH~b0KCxf?f zh5-FeLB{uC;(R8EkCHF4F_IDAyQM;mAAtJ?evD*ffr0Z{2)Tq~9dM*1qwPklmW71& zm+&=~+F@PEINXYbtf^QDxg148wp*y6yC;kLRk#K^MmvDSRw1jcMk8#(M9_Uhd2#XD zL=>y)UGfjtDl2W(2-BoKU2q|kYi`cslfv(YZDx%SI{^cGgAc=`B0cTf1mYdQb@-h5 z{7w;Wcetm3Bc<;xQPXoFRrh6_(~d9TVi{z^c<&KAXZdpcl!bHtJdY3dtazUsE?e;& z$NXE0xAXs%9M-IO*V3`iW!3)|s{ilgkM+m@6P!QS|2x2NseN}G{RlAoKEUt&;;aCM z@phetDIR|}P2znsZ-J3z)30bJL`K{9M~b)IIX*Ba1)2BH@BgQt<0^&Mh{jk4r zJmZ*;y*5DN2LfME!k+_%Z^w?u-esRXK;kwPzK4oI_Wnn}mKA@4^8eY0MbVCb2O@bg A_W%F@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellDeploymentStatusIndicator.c b/asn1c_defs/all-defs/CellDeploymentStatusIndicator.c new file mode 100755 index 0000000..da78e13 --- /dev/null +++ b/asn1c_defs/all-defs/CellDeploymentStatusIndicator.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellDeploymentStatusIndicator.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CellDeploymentStatusIndicator_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CellDeploymentStatusIndicator_value2enum_1[] = { + { 0, 23, "pre-change-notification" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CellDeploymentStatusIndicator_enum2value_1[] = { + 0 /* pre-change-notification(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CellDeploymentStatusIndicator_specs_1 = { + asn_MAP_CellDeploymentStatusIndicator_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CellDeploymentStatusIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CellDeploymentStatusIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CellDeploymentStatusIndicator = { + "CellDeploymentStatusIndicator", + "CellDeploymentStatusIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_CellDeploymentStatusIndicator_tags_1, + sizeof(asn_DEF_CellDeploymentStatusIndicator_tags_1) + /sizeof(asn_DEF_CellDeploymentStatusIndicator_tags_1[0]), /* 1 */ + asn_DEF_CellDeploymentStatusIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_CellDeploymentStatusIndicator_tags_1) + /sizeof(asn_DEF_CellDeploymentStatusIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellDeploymentStatusIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CellDeploymentStatusIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellDeploymentStatusIndicator.h b/asn1c_defs/all-defs/CellDeploymentStatusIndicator.h new file mode 100755 index 0000000..41282ae --- /dev/null +++ b/asn1c_defs/all-defs/CellDeploymentStatusIndicator.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellDeploymentStatusIndicator_H_ +#define _CellDeploymentStatusIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CellDeploymentStatusIndicator { + CellDeploymentStatusIndicator_pre_change_notification = 0 + /* + * Enumeration is extensible + */ +} e_CellDeploymentStatusIndicator; + +/* CellDeploymentStatusIndicator */ +typedef long CellDeploymentStatusIndicator_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CellDeploymentStatusIndicator_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CellDeploymentStatusIndicator; +extern const asn_INTEGER_specifics_t asn_SPC_CellDeploymentStatusIndicator_specs_1; +asn_struct_free_f CellDeploymentStatusIndicator_free; +asn_struct_print_f CellDeploymentStatusIndicator_print; +asn_constr_check_f CellDeploymentStatusIndicator_constraint; +ber_type_decoder_f CellDeploymentStatusIndicator_decode_ber; +der_type_encoder_f CellDeploymentStatusIndicator_encode_der; +xer_type_decoder_f CellDeploymentStatusIndicator_decode_xer; +xer_type_encoder_f CellDeploymentStatusIndicator_encode_xer; +per_type_decoder_f CellDeploymentStatusIndicator_decode_uper; +per_type_encoder_f CellDeploymentStatusIndicator_encode_uper; +per_type_decoder_f CellDeploymentStatusIndicator_decode_aper; +per_type_encoder_f CellDeploymentStatusIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellDeploymentStatusIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellDeploymentStatusIndicator.o b/asn1c_defs/all-defs/CellDeploymentStatusIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..75659f13d66606b4ac3f50eff97c88ecc6aec5b1 GIT binary patch literal 2656 zcmbuA&2G~`5P&x|P=4En3zd*idVwMlE3PU)AR(hPZ9!0?RuxBg<1S4gv7>lX(F+Li z0z5*GJOB^Cks}8Vh!d{>FHmNj8E3O~n@Fs*o|$iFX2;$izpp)8ohlRrw}N;ih89yH z4$lpBKUIA(D`td&hYpr@M9spvW>vM@E2`U$4>~H+TUzRV@+8`Ag;K{o(e0^n*p$(p zDo3$yy+YiIquflBLHk{8d$KG-EKcZ%`KO?do9CLHZ>?H=P+Ht>^dsFb-E)`SO4;kD zmiNxP?^c#w@AiP(ks~(Fdq(^@8i8auCsgI66(5gqgmWAMabSkL=7_V$@B)y6n9jHv z=@>k70L2mKO*7Ru;8_4(p^o+SGJ!{JrHgvWD*4{wbkHMzd*~qB=Az_=a1`SocCqBua;EQ z?@Szm&P!<=g^VpJt>r~M*nktfuWAsldQz+1l-FyUfj;P}F@=V4l;|GKxThl3YlT4+ z2Lmo!kxsL1)vIF?C0!Nb_Zc==4r8@NwlX&7wM0HU3>Uorkej=e*VX1e#UkgNh}I2W zBpt;L>F9rzbWyKK>xBzfx^mYxw#$i@;TtaG|KxQD$9J>; zQ~n8Q(bsGXU?8(^I-i{CBw3VLA$bcVetSFqljX;zJ^vjTK(@pVBsu=B#W|j(596rY z^Zy2htvL|cvy^EA{|*T-yx(-`ClbY`aC zk35*;i*EL}!#qDJ{u{|Fz-FM^_2V62uRS1fNHDVMuuS+T<;Ty{f%=HajAqCG0~-ka A(EtDd literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellIdListforMDT.c b/asn1c_defs/all-defs/CellIdListforMDT.c new file mode 100755 index 0000000..24450f5 --- /dev/null +++ b/asn1c_defs/all-defs/CellIdListforMDT.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellIdListforMDT.h" + +#include "ECGI.h" +asn_per_constraints_t asn_PER_type_CellIdListforMDT_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_CellIdListforMDT_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellIdListforMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CellIdListforMDT_specs_1 = { + sizeof(struct CellIdListforMDT), + offsetof(struct CellIdListforMDT, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CellIdListforMDT = { + "CellIdListforMDT", + "CellIdListforMDT", + &asn_OP_SEQUENCE_OF, + asn_DEF_CellIdListforMDT_tags_1, + sizeof(asn_DEF_CellIdListforMDT_tags_1) + /sizeof(asn_DEF_CellIdListforMDT_tags_1[0]), /* 1 */ + asn_DEF_CellIdListforMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_CellIdListforMDT_tags_1) + /sizeof(asn_DEF_CellIdListforMDT_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellIdListforMDT_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CellIdListforMDT_1, + 1, /* Single element */ + &asn_SPC_CellIdListforMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellIdListforMDT.h b/asn1c_defs/all-defs/CellIdListforMDT.h new file mode 100755 index 0000000..1057c02 --- /dev/null +++ b/asn1c_defs/all-defs/CellIdListforMDT.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellIdListforMDT_H_ +#define _CellIdListforMDT_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* CellIdListforMDT */ +typedef struct CellIdListforMDT { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellIdListforMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellIdListforMDT; +extern asn_SET_OF_specifics_t asn_SPC_CellIdListforMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_CellIdListforMDT_1[1]; +extern asn_per_constraints_t asn_PER_type_CellIdListforMDT_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellIdListforMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellIdListforMDT.o b/asn1c_defs/all-defs/CellIdListforMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..0050676703016b6f8c05192d32d8ad7a383873de GIT binary patch literal 2360 zcmbu9OK;Oa5P&x|j{+?a!~uzmIZ-6KimONi@}e%_gVtlU{3{_rP9icP0ZhvG2*MtSmc|#B<&{_hqFjojWO?ITFs}jQD+0 zlwcK}1R*SeyEZKrM2f_M5sJjhc0G??2eTy3XF#vCG@d1ZVTlX6o7t9_&uliTV3f6S z_b5;YeU+0my#sa`=4%sckbV!kDE}jH?0-mk&q;quc)o56#J_N9oFWmkmpAXxQl zf%y*vDtr|O&dhic*lGkV|5@AL^!#9}mY{~;4Aj9Wnr_$~4q`QimMwo9vV+tQ_XjE| ztUqo}*QDdO8s2m$9z|XK1AT98o#xL9&mrFd$av>W&TEC7*AVmh4noeg$d~X1Vsba3 zDPJTT)f0_h);RAw_PL_*9kP-0w;?*xc$sWeUp0>N&0;b>=&P_JBrJTY_t;X=8ztm! zs6rt-aV+F`hz@2t(g8Q>g-IAKjtbcw_WKd+m>djMB-b|E%drZ(ujvC$scu3&&iS0t z$2EL*F;|yc;2<+^440Bdq*>W)kiHEX_t~sJHuBgt$G-~!WGkFNn(MC_oa + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* CellIdListforQMC */ +typedef struct CellIdListforQMC { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellIdListforQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellIdListforQMC; +extern asn_SET_OF_specifics_t asn_SPC_CellIdListforQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_CellIdListforQMC_1[1]; +extern asn_per_constraints_t asn_PER_type_CellIdListforQMC_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellIdListforQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellIdListforQMC.o b/asn1c_defs/all-defs/CellIdListforQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..1cac50f27f0e8de46aa41cd8a65e34695cad93a9 GIT binary patch literal 2360 zcmbu9OK;Oa5P&x|j{+?a!~uzmIZ-6KicusGNXWuCp{Qxogh)snTqiZOA}_@oiC&;L z_zC4-^uU1wKY|MqN5qLMH*RIdp0QUOM?!QYduG0QtoPx4=dafmN+rQk5)Vc0F%{y^ z>D+b`(-q5NNmRhTmWK+hW0Ioa0zhod?RjjwC>fX+_4{i(>wB?!Iht%Wyg6zAjCnjR zFn#8x{+~S8Y;poW=~ef<`}RtwI~}U2eOFdxW!0G`p7YkZCo5Iy+)DY}k#HWT#P8#x z1gr2Q2w@4_wOO$sQY03PP$X8i>v{Alm?d#G1A3*U@hkxhOPtf)%(ld0X0uTRqpXd) zOMwRH%bcX?ZLrHQUz=Ey^n1`n`5%E}{{zZtiY=Leg$1U3Cup!UbnY{TAY7^?}iZ2Qk3J4pR-Z>W;O z#-rA3O*($N>CJ}Xan#d4(D&+VG=Elj4*3p1#ye+nUMu9hhM3QH5OS_XzJf0hle-B` z`7+t4o@o4{#(Ced&n1m-lZ~9e4bh>-%VeYas&Sle7L)P*K!sf)Vc}D~%a)4XC?R)3 z6$;snV<9IabTHGA4!BW2Ou}e!RLI_FFoNca#wzT+rVluwx(@X?=QBnh z*YMfJTwQK}gUq}!TuK^~W@WQM`X*@HXS4pu$Ya+W|271W-Qfh%Tz|#jT+iBtINIj; zKY*cpPgVA|Gb=S7fWo`YP2KE$Ko{O34RjtNcux3C^ErPC3{&zO1sssiRHxsY$W6Zm z3{xu@)Z`1* + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct UL_InterferenceOverloadIndication; +struct UL_HighInterferenceIndicationInfo; +struct RelativeNarrowbandTxPower; +struct ProtocolExtensionContainer; + +/* CellInformation-Item */ +typedef struct CellInformation_Item { + ECGI_t cell_ID; + struct UL_InterferenceOverloadIndication *ul_InterferenceOverloadIndication; /* OPTIONAL */ + struct UL_HighInterferenceIndicationInfo *ul_HighInterferenceIndicationInfo; /* OPTIONAL */ + struct RelativeNarrowbandTxPower *relativeNarrowbandTxPower; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellInformation_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellInformation_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellInformation_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellInformation-Item.o b/asn1c_defs/all-defs/CellInformation-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..b2f5ec8f3096d9a229ce4df59a639c95d88eab61 GIT binary patch literal 3720 zcmb_eOK%iM5N@;K5keA^7f2D(=7f>5qg`XkRuV-E%U~}8djqi)iNkn2ZtNAiGiYXP zoJ-gvmk5qIa>|)o@)O|35pm+g87_z$)Hl<$Q*LI=LoTVetG@cGy1Tl2dT+TG&+nU< zP%IPbS5;VyDs}sCp|>-&ttQo%s-p*kZg?$c~OhI)V|uoyp$@F`}F&d(b3uajy-_bc#bNCHA}%> z$uou;OAcy-`mPhCS9B`)$uhQ>oCwuTRI*@{#rL&>j&8lBMyXk z3;p#C$t^gzkV?&WIzQE?mRC2!bhAF|%s9EO zwH=ix!fQJ!B5_$6iOUK}{Ow&iPVNcysp=UTNB)xG`_;(c|C>#^n&Afxs#J5Vq2>k7 z@Q4)TXW?=FHTa5gOfrG`n&1nVaPiR;j+#0mtU|4+&kDn652-&YPUnWfpHVO8U|{vK z0zXXkDB~Ziz|U0R*DLV9EAY|>!U>e0gx)##yl1^19^MZx_16=xm2obeyjD0>C>&=ET5+QTPJVf zA>*R$7N@c}Tfp(nW5Ioe0RNmC-=`^nBsRW~!x{dy(a~`n`1l5os6ke;-#m}JZT!s# z{~NWeFsR4P!Mbk-!WqK3M;o8*^Lmj>wor|1eH`la2z1lZ5vVWwy@_{43@{{bvnmnOV-V_*Z8C K?jV^EJN^ygSx^)J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellInformation-List.c b/asn1c_defs/all-defs/CellInformation-List.c new file mode 100755 index 0000000..b772652 --- /dev/null +++ b/asn1c_defs/all-defs/CellInformation-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellInformation-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_CellInformation_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CellInformation_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P9, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellInformation_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CellInformation_List_specs_1 = { + sizeof(struct CellInformation_List), + offsetof(struct CellInformation_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CellInformation_List = { + "CellInformation-List", + "CellInformation-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_CellInformation_List_tags_1, + sizeof(asn_DEF_CellInformation_List_tags_1) + /sizeof(asn_DEF_CellInformation_List_tags_1[0]), /* 1 */ + asn_DEF_CellInformation_List_tags_1, /* Same as above */ + sizeof(asn_DEF_CellInformation_List_tags_1) + /sizeof(asn_DEF_CellInformation_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellInformation_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CellInformation_List_1, + 1, /* Single element */ + &asn_SPC_CellInformation_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellInformation-List.h b/asn1c_defs/all-defs/CellInformation-List.h new file mode 100755 index 0000000..8bc2b40 --- /dev/null +++ b/asn1c_defs/all-defs/CellInformation-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellInformation_List_H_ +#define _CellInformation_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* CellInformation-List */ +typedef struct CellInformation_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellInformation_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellInformation_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellInformation_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellInformation-List.o b/asn1c_defs/all-defs/CellInformation-List.o new file mode 100644 index 0000000000000000000000000000000000000000..9a816aead9fba916858cbda10be6dfb27c389f6b GIT binary patch literal 2408 zcmbtUJ8u&~5MKKT1PG55phz^P!bo`KgGiW%&I)kl#mn z0Z#Te{&G76|JuAb#F;07aiBwoACFyBO-RJxg*_ZYUsXuZ) z+vkepQ8`9^g9iSzX=?273DqVCpI}`z_P;CLUqD}!*i_#a@V^%DByZ4ZkA!I)Jn|cX zek)*m<0wC{m&7TX$k3+`TlrCCGidwI zI{tRu4|W=)?LP+%lHsNwvW1|iWTsJXRU%{%&&;@q0k zgLepu&8vTb`~@B%7IkMKf7am365G6I@HpiqX+Ji2)e9*#pI8U4&V6`LUh!4z(>yH) z2EQsXs;>r*?|Vtwgr<8V7Is0iiO{FQgUl|0ihFvgm46%6FeZ-#yk7m%?~dM#-r zz%@`fBX<7Gic_ZD{{}dayQu=CR{57LUgaz8fgiEm{|9g=--Oa@Nh1O7fx^4c6Q*8g z@`7BJjn04v=R} + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct HWLoadIndicator; +struct S1TNLLoadIndicator; +struct RadioResourceStatus; +struct ProtocolExtensionContainer; + +/* CellMeasurementResult-Item */ +typedef struct CellMeasurementResult_Item { + ECGI_t cell_ID; + struct HWLoadIndicator *hWLoadIndicator; /* OPTIONAL */ + struct S1TNLLoadIndicator *s1TNLLoadIndicator; /* OPTIONAL */ + struct RadioResourceStatus *radioResourceStatus; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellMeasurementResult_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellMeasurementResult_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellMeasurementResult-Item.o b/asn1c_defs/all-defs/CellMeasurementResult-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..f932f868176b516080387ef3cea1e76c15aadded GIT binary patch literal 3584 zcmb_e&u<%55PqpCP+Cd~EvN)2{FOF!ue~x)6 zRUyap`xEP!+s6ugyI>u!B+ zdv}=HVf~J`=rtSuu(13e{3Wls==q2t@_l&t@I!u$u)dIh0MvVW$&FvTXTZ|ghEH(7%1Q!^4jQk=}=QqZ8*fA>vnrn)$ zV8SnJv(#(F8&#Tx@)!MHQ>SO2-Ltd~T}z_s75HKW{-6T?rUJJW_)!HuxHP}ucl-r8QRA7mSDiv*-e$Lp%b5gzjX9WZu@3xQ8uI?kRp5AUA>iX1 zCn9mc@vR)OV~1zp>aRxmZ3g}Ub1?nRI&geVK4SZ&!mqQAX%0jZ;eRqV&8ot0FotQQ zaO9VE{;cp175@)~gTKtazZHH{@tb@pzzzPl?9=;#K8v{h-w}tGf8V#!uJP#fjpu#Q zY;tIgw-?#Sc)NLSyg>#7OyBd#OnOn_hUS=FFN-69MTqg@tdIY9#!EAscq<#*joe1@ zck&dkJ!9X{1Dpjdfi{%R?JSXxNdxBIKtahkt+?@@k{dmL-T2Qb7CGl>XbITZ*C6Rq zUuN*2yY-(F23gX79>}f(RC14W+?9dCpuXTM@R$o-Aq?kC&X=60CxlI^FAvltzm~c- zNdJPyr20pE)k-|-Rm!IPwdo zd4IYa!cLb9+kJLWUvPZDPQ1&rG~D&0O_NI1`Gxq^Dd?ERH+oY1bMF6$@@sM9{{@o{ BJ`Ml? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellMeasurementResult-List.c b/asn1c_defs/all-defs/CellMeasurementResult-List.c new file mode 100755 index 0000000..ce2bb83 --- /dev/null +++ b/asn1c_defs/all-defs/CellMeasurementResult-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellMeasurementResult-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_CellMeasurementResult_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CellMeasurementResult_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P14, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellMeasurementResult_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CellMeasurementResult_List_specs_1 = { + sizeof(struct CellMeasurementResult_List), + offsetof(struct CellMeasurementResult_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_List = { + "CellMeasurementResult-List", + "CellMeasurementResult-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_CellMeasurementResult_List_tags_1, + sizeof(asn_DEF_CellMeasurementResult_List_tags_1) + /sizeof(asn_DEF_CellMeasurementResult_List_tags_1[0]), /* 1 */ + asn_DEF_CellMeasurementResult_List_tags_1, /* Same as above */ + sizeof(asn_DEF_CellMeasurementResult_List_tags_1) + /sizeof(asn_DEF_CellMeasurementResult_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellMeasurementResult_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CellMeasurementResult_List_1, + 1, /* Single element */ + &asn_SPC_CellMeasurementResult_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellMeasurementResult-List.h b/asn1c_defs/all-defs/CellMeasurementResult-List.h new file mode 100755 index 0000000..444aae9 --- /dev/null +++ b/asn1c_defs/all-defs/CellMeasurementResult-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellMeasurementResult_List_H_ +#define _CellMeasurementResult_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* CellMeasurementResult-List */ +typedef struct CellMeasurementResult_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellMeasurementResult_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellMeasurementResult_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellMeasurementResult-List.o b/asn1c_defs/all-defs/CellMeasurementResult-List.o new file mode 100644 index 0000000000000000000000000000000000000000..994bfd69758e221f8e0628130560657110b36b2d GIT binary patch literal 2448 zcmbtV&2G~`5T4W&3Y4GRkU%J$C=y-8P>BcxvItHA^~WSsLgHYYV6_#A9mN}oT%eE9 z6VK2i2VQ_1#~yp+z=bC$Gy7vNTPG4_B=3Cl%{RO2_3rw!zt)^wmz91I|ej83#uwGY95R&^M8(z`2~)mCpq~2Q`%ml%EKG9`;oH zM)@y-FXp+Zcyf->zd<8^-VAf>h#i`T0({4|YRrE}rGKHns<7#3fy?+RetEc6O8PKE73&aFoQOu;DiD z2kwfw?zF$nT}F2ena%5OK>QV&0DX9*^_4m1}3d(w=f{iTrZ<#qiHi`VtqdzdF|kAH+5*`aiKTg#CI zkI>Pb>B%r}57kAwpa!~t8QLfMJm`J?5;>9-Hzx*YUsavzMv~ataT__3)^mjf-&8%V zk7POcfsD9`yU&hCNfBFO1YmXG{EAp{54=cofLV5j> Lx`gawV%PrxXyerY literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellReplacingInfo.c b/asn1c_defs/all-defs/CellReplacingInfo.c new file mode 100755 index 0000000..280bbfd --- /dev/null +++ b/asn1c_defs/all-defs/CellReplacingInfo.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellReplacingInfo.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_CellReplacingInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellReplacingInfo, replacingCellsList), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReplacingCellsList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "replacingCellsList" + }, + { ATF_POINTER, 1, offsetof(struct CellReplacingInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P114, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CellReplacingInfo_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CellReplacingInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellReplacingInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* replacingCellsList */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellReplacingInfo_specs_1 = { + sizeof(struct CellReplacingInfo), + offsetof(struct CellReplacingInfo, _asn_ctx), + asn_MAP_CellReplacingInfo_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CellReplacingInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellReplacingInfo = { + "CellReplacingInfo", + "CellReplacingInfo", + &asn_OP_SEQUENCE, + asn_DEF_CellReplacingInfo_tags_1, + sizeof(asn_DEF_CellReplacingInfo_tags_1) + /sizeof(asn_DEF_CellReplacingInfo_tags_1[0]), /* 1 */ + asn_DEF_CellReplacingInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_CellReplacingInfo_tags_1) + /sizeof(asn_DEF_CellReplacingInfo_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellReplacingInfo_1, + 2, /* Elements count */ + &asn_SPC_CellReplacingInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellReplacingInfo.h b/asn1c_defs/all-defs/CellReplacingInfo.h new file mode 100755 index 0000000..e030f26 --- /dev/null +++ b/asn1c_defs/all-defs/CellReplacingInfo.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellReplacingInfo_H_ +#define _CellReplacingInfo_H_ + + +#include + +/* Including external dependencies */ +#include "ReplacingCellsList.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CellReplacingInfo */ +typedef struct CellReplacingInfo { + ReplacingCellsList_t replacingCellsList; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellReplacingInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellReplacingInfo; +extern asn_SEQUENCE_specifics_t asn_SPC_CellReplacingInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_CellReplacingInfo_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellReplacingInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellReplacingInfo.o b/asn1c_defs/all-defs/CellReplacingInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..4afcb05e3a7c35db3b3424e8774f4752a59f4083 GIT binary patch literal 2848 zcmb_dOKa3n6h1Y+>Z1=IAh?O3ID!q6wrEk2(Q#Up+Q!y`uF^Edc5o&slUryv+Mgh} zaql1K&aFQ|@DKPCbRoFYbCPo=ckX0LDIU0UzVn^eedW&k#{BG&p&<|%g8NWd!UC+G zC~z%=uhKoXdO8;+EHG!8`z)}EAPrgA zp-e0|)<<7NW(bDCW{;j}fp+QHe~aVU?B=~<{wh0q>kLbHkG9}+k1d7;rv!HO4x({w z{u}K1htvb2h5Tv4Q1mfuDL9>k42pCe z7tN>@WNt!+>9mqCATmnSLRB9{K5DUPt&e-}BDss!dH*sMj} zML=(HO$gQ>_~WuU{|xd($^DZ1w1`|;|F4`^<$9uQ0j!^*F6+O?2P*m0pI%?HzmFWX z>iY*|qJlnMY~4V-j)U^0kGLzGPv@fxFDuI-eiMgqdfbb?3FTfhmh7_7mrVZQgtHho kg2P-t{d1aUj}&;csVMi1hK7m%b>;a#c>i~)h$d$KKiR?JO#lD@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellReportingIndicator.c b/asn1c_defs/all-defs/CellReportingIndicator.c new file mode 100755 index 0000000..70d4255 --- /dev/null +++ b/asn1c_defs/all-defs/CellReportingIndicator.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellReportingIndicator.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_CellReportingIndicator_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CellReportingIndicator_value2enum_1[] = { + { 0, 12, "stop-request" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CellReportingIndicator_enum2value_1[] = { + 0 /* stop-request(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CellReportingIndicator_specs_1 = { + asn_MAP_CellReportingIndicator_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CellReportingIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CellReportingIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CellReportingIndicator = { + "CellReportingIndicator", + "CellReportingIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_CellReportingIndicator_tags_1, + sizeof(asn_DEF_CellReportingIndicator_tags_1) + /sizeof(asn_DEF_CellReportingIndicator_tags_1[0]), /* 1 */ + asn_DEF_CellReportingIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_CellReportingIndicator_tags_1) + /sizeof(asn_DEF_CellReportingIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellReportingIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CellReportingIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellReportingIndicator.h b/asn1c_defs/all-defs/CellReportingIndicator.h new file mode 100755 index 0000000..a083b11 --- /dev/null +++ b/asn1c_defs/all-defs/CellReportingIndicator.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellReportingIndicator_H_ +#define _CellReportingIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CellReportingIndicator { + CellReportingIndicator_stop_request = 0 + /* + * Enumeration is extensible + */ +} e_CellReportingIndicator; + +/* CellReportingIndicator */ +typedef long CellReportingIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellReportingIndicator; +asn_struct_free_f CellReportingIndicator_free; +asn_struct_print_f CellReportingIndicator_print; +asn_constr_check_f CellReportingIndicator_constraint; +ber_type_decoder_f CellReportingIndicator_decode_ber; +der_type_encoder_f CellReportingIndicator_encode_der; +xer_type_decoder_f CellReportingIndicator_decode_xer; +xer_type_encoder_f CellReportingIndicator_encode_xer; +per_type_decoder_f CellReportingIndicator_decode_uper; +per_type_encoder_f CellReportingIndicator_encode_uper; +per_type_decoder_f CellReportingIndicator_decode_aper; +per_type_encoder_f CellReportingIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellReportingIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellReportingIndicator.o b/asn1c_defs/all-defs/CellReportingIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..7488f1ff84099d6be6817747c681bb2afd31fefa GIT binary patch literal 2576 zcmbuA&2G~`5P&B&P@w#@TtILM0*N9~tF9`6Kp>-#wjd}`QN_`9-BlY%>|k#ydVxw@ zIC9`oIB?9d55t8gC^Pnqv)$NmV5E3vzMa{f-5ooh+b>t98VwL>z!MmILIFBw#Y%+B+po*B z`MeEke42j>fB#zNf}OwGYCUYuZ*C7`J#5~0m)*q$ZF9%y7V&gh(7*p-LP$J%O(yX~1;JCDYG2om3$m)_v3sILjV@dG3xe zPZ@xQW5f&pjt0%M$lx05QO>8!9Y{Si?7$4E331^31p9?#&e-oBN6g>_%uYlD+^XSF z-SBP%VHO9^+ABeIK%m3jEb#KEPJ1KJ2Ln|X8YOY2Qx1O9Y1PGL0~N`fuby`5!uG@7 zP%Wu=*ykz#5=&7_c>>4Q?rSv9>h8X3W1>n!t#)$0t74UQqaaR#VmDzoKJg)- zzBjv1I>_d7H^k?Rdy@VjZr--^pUr*FC2qbYYX-l#xZ7CgL7p>dxcD4jx;&t_>A z#vN32_ICa^D^6T{{d+h-Y)JxGOa5((OTK6y$H}(WA0Z>zD^&SxmR4arLPfpe7jF3+ zaRZH*(EkthkMx=J{|jWa{`kv`4$3?iDDedy_oeu6(Wt85=lnGZWZks<4fLz(KjfEN z@~M8RMe33I-yx%= + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CellToReport-Item */ +typedef struct CellToReport_Item { + ECGI_t cell_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellToReport_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellToReport_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellToReport_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellToReport-Item.o b/asn1c_defs/all-defs/CellToReport-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..b455a9921429800bdd09af49d02b135035af6349 GIT binary patch literal 2832 zcmb_d%Wl(95S`SN_oL+@A=nrRi6S*tTq-Cap+M@EB4|w?5tF1`lD!!G<2J#oM zmZznxfUr=!eB4p|dv#{mWyCm+!2YmB*XnU~2+ipkSjC5K{~V$Zi)_w0$a^_{NT zvF|w3PNVMbWS0BZopBn|j(aobDQ&1w?IZA`a>mxa&SeP;%vI(-3#>9oLl$){kKY}l^s?Okr;6xCn-C)+63-rq(pvxjq z;YJ#`S-`VL%M}5+Z^ds__|ok-DzYE?6%kl|DsD@I%8;ZZB`Q~#Ep5pUR=nqH-eSuG z0YQYy`W$FqBIbVO9D$R*>8NlWwd&=1Q;>>x6*#X#6@s&#rr`7vGAPn@ zTr}f$n7IiVrqfQMkjN|roG9sZVtn;ZH&L-OzqnRURT#aN}oo|cfS>i>oF8eC75Er9hC)K&dI@(Y!G>QDa`X8!;= zYBlhW$AmdQ8)J3ZK!ft7kN74ypWcryysa#U_-%ZI)8keL7LPx# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellToReport-List.c b/asn1c_defs/all-defs/CellToReport-List.c new file mode 100755 index 0000000..5834d1a --- /dev/null +++ b/asn1c_defs/all-defs/CellToReport-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellToReport-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_CellToReport_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CellToReport_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P10, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellToReport_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CellToReport_List_specs_1 = { + sizeof(struct CellToReport_List), + offsetof(struct CellToReport_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CellToReport_List = { + "CellToReport-List", + "CellToReport-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_CellToReport_List_tags_1, + sizeof(asn_DEF_CellToReport_List_tags_1) + /sizeof(asn_DEF_CellToReport_List_tags_1[0]), /* 1 */ + asn_DEF_CellToReport_List_tags_1, /* Same as above */ + sizeof(asn_DEF_CellToReport_List_tags_1) + /sizeof(asn_DEF_CellToReport_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CellToReport_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CellToReport_List_1, + 1, /* Single element */ + &asn_SPC_CellToReport_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellToReport-List.h b/asn1c_defs/all-defs/CellToReport-List.h new file mode 100755 index 0000000..e711986 --- /dev/null +++ b/asn1c_defs/all-defs/CellToReport-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellToReport_List_H_ +#define _CellToReport_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* CellToReport-List */ +typedef struct CellToReport_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellToReport_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellToReport_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellToReport_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellToReport-List.o b/asn1c_defs/all-defs/CellToReport-List.o new file mode 100644 index 0000000000000000000000000000000000000000..406db10616d2ef6880bf2c0f30a36781d8044cbf GIT binary patch literal 2392 zcmbuAPjAyO6u{kuu>s@HKuD9gloLauRs$1MAfbqo4$#;_yGlrt2x*D7iZ-blS7IDs zA7cj&969cUIPe9yaYW+6kt?5IyyrY8#!WBfN%ed0_n!T1$9CVl8;!YAi76?u`z-eq zWo+eSZadO+*jcv3s$j3=p+f7Jq$oHCaFKo(&uV7|(p>6czrP(f!(luUm5p8^^3Y6{ zS;q9I4LVDnGi|ULxEyP}UcXyjZFk0z7?>97Gar=78r&hpqoM3;B zixRB-Yy1!;{&wI+Whw@{2BBGvUT-s3jaBUvx$SwyDUf||DoIP z^_Y*Bz!$-8;@dL8bDO@{ABF{4-8f3bi1MC3XcnZTW3;?_K`a@DT~(!U8nXVD=eOKv zZFjTo`dbawa<@VGY3ZOBiEI_#C>C)y?mu?@RxjG^!;IrdKuS3BYj*9HXXE2Sg6C8} zE%;`jm|X2W^7AqyZPXiu{EWs|$u_y8aXi&!@*inj)k5TH9G}Vq@?Vn1@%7trsPSd8 zQGM4quJg6?Zo@c;A`=#FdF{x;-*j%+6z%+=*8IOd*V+`$H9n5wKTXI5%l z1BGWq-*b!{VN)Px{Tq;j?52^c`d>1*>aVl|akS0)zks3qNLALBGb=Ujfx@@XN!_gd zNDty76*>(OJSXZtsB``V7^dVeAUGgjs2>fJLTF9D2@F%KSw?DnrT(}-x)7Fqkng}x zF+J~h5iH2XG;{7aj_Q9z!A@4~QKSTrlQgxbU_Y_y0tXka= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CellType.c b/asn1c_defs/all-defs/CellType.c new file mode 100755 index 0000000..70ad4f4 --- /dev/null +++ b/asn1c_defs/all-defs/CellType.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CellType.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_CellType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellType, cell_Size), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Cell_Size, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cell-Size" + }, + { ATF_POINTER, 1, offsetof(struct CellType, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P115, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CellType_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CellType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cell-Size */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellType_specs_1 = { + sizeof(struct CellType), + offsetof(struct CellType, _asn_ctx), + asn_MAP_CellType_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CellType_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellType = { + "CellType", + "CellType", + &asn_OP_SEQUENCE, + asn_DEF_CellType_tags_1, + sizeof(asn_DEF_CellType_tags_1) + /sizeof(asn_DEF_CellType_tags_1[0]), /* 1 */ + asn_DEF_CellType_tags_1, /* Same as above */ + sizeof(asn_DEF_CellType_tags_1) + /sizeof(asn_DEF_CellType_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellType_1, + 2, /* Elements count */ + &asn_SPC_CellType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CellType.h b/asn1c_defs/all-defs/CellType.h new file mode 100755 index 0000000..7952757 --- /dev/null +++ b/asn1c_defs/all-defs/CellType.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CellType_H_ +#define _CellType_H_ + + +#include + +/* Including external dependencies */ +#include "Cell-Size.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CellType */ +typedef struct CellType { + Cell_Size_t cell_Size; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellType; +extern asn_SEQUENCE_specifics_t asn_SPC_CellType_specs_1; +extern asn_TYPE_member_t asn_MBR_CellType_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellType_H_ */ +#include diff --git a/asn1c_defs/all-defs/CellType.o b/asn1c_defs/all-defs/CellType.o new file mode 100644 index 0000000000000000000000000000000000000000..1dd2053b8614a9f312326b394777383c7a95b7db GIT binary patch literal 2776 zcmb_dOK;Oa5Z+*3<G9?kO&f4#ifV}q{#sR?%+mirAZF;<9;wdd&}`1=Qiz>Qh2`gQ-^ zV)Dz1E_kkql&|sAgi*a9jCC#&Ms+|K`AdXReItxKu8U9dca6VH7*!nuK{%dk>HDCc zdUL(}{Ro-u_4057blz8bi%}l$=0d&<^H9i*EEBSyqJfc)bijjr@FYhp<&v#0do})a^?-^4kCtunSUMJ zxaUXBzX`cma~6g!E*UsKUARAM7o3RA{`uIj%7KKi-;V{{T2_HS*^oq7FV?Y~2972?O)F z54-D>kMBnpT2_&R{5A~c^tknr2`R4`i*{A$b0U9H!g+|Bgki29?+NqW10{UiRFI!a W4W4FyytAtE4`~1Q2bl_(`F{Xo$h{)~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CoMPHypothesisSet.c b/asn1c_defs/all-defs/CoMPHypothesisSet.c new file mode 100755 index 0000000..18fca71 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPHypothesisSet.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CoMPHypothesisSet.h" + +#include "CoMPHypothesisSetItem.h" +asn_per_constraints_t asn_PER_type_CoMPHypothesisSet_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_CoMPHypothesisSet_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPHypothesisSetItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPHypothesisSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CoMPHypothesisSet_specs_1 = { + sizeof(struct CoMPHypothesisSet), + offsetof(struct CoMPHypothesisSet, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSet = { + "CoMPHypothesisSet", + "CoMPHypothesisSet", + &asn_OP_SEQUENCE_OF, + asn_DEF_CoMPHypothesisSet_tags_1, + sizeof(asn_DEF_CoMPHypothesisSet_tags_1) + /sizeof(asn_DEF_CoMPHypothesisSet_tags_1[0]), /* 1 */ + asn_DEF_CoMPHypothesisSet_tags_1, /* Same as above */ + sizeof(asn_DEF_CoMPHypothesisSet_tags_1) + /sizeof(asn_DEF_CoMPHypothesisSet_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CoMPHypothesisSet_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CoMPHypothesisSet_1, + 1, /* Single element */ + &asn_SPC_CoMPHypothesisSet_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoMPHypothesisSet.h b/asn1c_defs/all-defs/CoMPHypothesisSet.h new file mode 100755 index 0000000..4855b8a --- /dev/null +++ b/asn1c_defs/all-defs/CoMPHypothesisSet.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoMPHypothesisSet_H_ +#define _CoMPHypothesisSet_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CoMPHypothesisSetItem; + +/* CoMPHypothesisSet */ +typedef struct CoMPHypothesisSet { + A_SEQUENCE_OF(struct CoMPHypothesisSetItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPHypothesisSet_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSet; +extern asn_SET_OF_specifics_t asn_SPC_CoMPHypothesisSet_specs_1; +extern asn_TYPE_member_t asn_MBR_CoMPHypothesisSet_1[1]; +extern asn_per_constraints_t asn_PER_type_CoMPHypothesisSet_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoMPHypothesisSet_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoMPHypothesisSet.o b/asn1c_defs/all-defs/CoMPHypothesisSet.o new file mode 100644 index 0000000000000000000000000000000000000000..e703caed7ad40d823cbffb20d02f45856a93726e GIT binary patch literal 2384 zcmbtV&ubGw6n^RYqiU;-A_!jAlNIccm7<~`i*eH`wvCAe!Na;)7gIFZkez_JsCWN? zTm=7w9u@o}JPKYsdiCh3zPCGXGo4HY?StL#d*AypGdq*X+u&hiu2KQE3fzII$11?m zu_^a+>cb)|Kn?kYX~@d~W0#d&O(9E;V{jpq7zkjie7?PTplT5|qH;_4$>*cKG|j%e!xGY4J75M}-F zUeE|!jE?P zGOygY+p-iDQ)oBqmRL4O;=fMvzD#=jeHiI{(*3~3J8J6u4N2#3OEr8qkedR1|PubNKlJ*#{W*|;a84x$_u*kvY@ z*Am3@NJbz!Sq5U5l0%uE@X$?OMR}MQM?u7Cub1F1ihe2+v9`IrlF2B3$pan^FJd{Z zS^K-l8~XWs_C>k6T|$R6^Ct0C(m)}D%S7R2MA~Pwe%Huj*Bt*U21vWc2@1LXoS}0) zqmOao=J-EQBl}iB`F2ZIklP4!=lO+Oz9;G;oL2*##0Z@eKGS^8AD~7l)0+kzv`?x| zzfVaw{T6DJTBD$5UsOGPAKjFk*O2}cAJ+7|pEl8wOKIlZsSnrhsy?SsqsLr7{S%nq b9wnG4@i#e|nbV@*q^name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 4400)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_coMPHypothesis_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 13, 13, 6, 4400 } /* (SIZE(6..4400,...)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_CoMPHypothesisSetItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPHypothesisSetItem, coMPCellID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "coMPCellID" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPHypothesisSetItem, coMPHypothesis), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_coMPHypothesis_constr_3, memb_coMPHypothesis_constraint_1 }, + 0, 0, /* No default value */ + "coMPHypothesis" + }, + { ATF_POINTER, 1, offsetof(struct CoMPHypothesisSetItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P117, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CoMPHypothesisSetItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CoMPHypothesisSetItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPHypothesisSetItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* coMPCellID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* coMPHypothesis */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoMPHypothesisSetItem_specs_1 = { + sizeof(struct CoMPHypothesisSetItem), + offsetof(struct CoMPHypothesisSetItem, _asn_ctx), + asn_MAP_CoMPHypothesisSetItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CoMPHypothesisSetItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSetItem = { + "CoMPHypothesisSetItem", + "CoMPHypothesisSetItem", + &asn_OP_SEQUENCE, + asn_DEF_CoMPHypothesisSetItem_tags_1, + sizeof(asn_DEF_CoMPHypothesisSetItem_tags_1) + /sizeof(asn_DEF_CoMPHypothesisSetItem_tags_1[0]), /* 1 */ + asn_DEF_CoMPHypothesisSetItem_tags_1, /* Same as above */ + sizeof(asn_DEF_CoMPHypothesisSetItem_tags_1) + /sizeof(asn_DEF_CoMPHypothesisSetItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPHypothesisSetItem_1, + 3, /* Elements count */ + &asn_SPC_CoMPHypothesisSetItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoMPHypothesisSetItem.h b/asn1c_defs/all-defs/CoMPHypothesisSetItem.h new file mode 100755 index 0000000..4cb6e15 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPHypothesisSetItem.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoMPHypothesisSetItem_H_ +#define _CoMPHypothesisSetItem_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CoMPHypothesisSetItem */ +typedef struct CoMPHypothesisSetItem { + ECGI_t coMPCellID; + BIT_STRING_t coMPHypothesis; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPHypothesisSetItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSetItem; +extern asn_SEQUENCE_specifics_t asn_SPC_CoMPHypothesisSetItem_specs_1; +extern asn_TYPE_member_t asn_MBR_CoMPHypothesisSetItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoMPHypothesisSetItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoMPHypothesisSetItem.o b/asn1c_defs/all-defs/CoMPHypothesisSetItem.o new file mode 100644 index 0000000000000000000000000000000000000000..75774249427d7ecf768bc11469de0b4fb2e41662 GIT binary patch literal 4216 zcmb_fU1%It6uz6S&Dz9u`=drHI1fe>F_WD%&=65J*=#cln{>@j5euD8Hj`%K?oQd6 z)UAR>Vv0)$^g%(N^+Eb1J{5ckh)__l1RoSZi%)_+s1H)4SkJk8&hE`*Hhr)McFsB9 zJ%9JyJNM4Moync*h(rWaM7$(g8lys7?`p{@DW=3xaYUFKf6r#?JK6fz{-U{gDrRnM zuf8y~vGc`UApco&{r6aIvop8#5c;h2nhn9M|7F(yHMVp0pU3X*yz*-O`?FszJ^a*! z5SwQb=GK9){sC{}$Ms)2&HkI_i_aYv;`M82bk*e0-^kF7aFAi;7=<==e)~k$*Lq+n zNG+r#9Rv|;ll1{d9VrPZ!${W$ZLeY!tVL(Z8?;NM0V$;2sl0jlqU$d^UeTL%{H*Vk z^@8a2Mzu?JY1PpxuCHAvUUDj0AAr4!{c^0}Ry@CI7c0KDWEV@$VskV!q9{O~v{Nc& zC#2X)DT#C~H&L~4o1@$SypRY)`p_>(mD0rH7>V!gwP_vGT* znRw4wJdr*Wk4<)+gXehHw8Y6glws`$#Gj$>YIN7kTJF&{yDp2!kOCzx}P@ z$3g5+^2#~Va8z`*3`rUV9uZw4NxE7=R6MxH-XeP*V81JbV}Fr$$59UB#;~{sJfid= zPdKt@^K?@{iN|*XpnWTmz5V%4;s={+&5l11&brE@qFYs^{1ZG6D}7rgi#xy*B&)0& zHbfY%0giFj$T)@@2Ph@+R-d__OKswKZSX5?a1nYg!%1Iu$_o}A&#f~VR6gA;L%_9R zO=M14p#d!4zTlD3)L6c~(U4QRr+#&19!1n^3;$`fkB3 zHE+JOTk+vGb*k3L&meC&{3hZ3+t&s+75p)hk>wSfVD5f*_FEXa1H$ zoac^ii1T@>fsBN;sPzclyIl6|1>kQ1y~quo09IgkEsVWv2qs;akzsC#UBJJl`(7MqbXcwN$msjx76sKQxGd zJ;5HTlp;mF=MYK|&J5Qa@1zt1#DArQI8QqIVIE!|UXN!8SN90I+`jX|JjB82N@vF^>dsQ;9>q28Po#)?8khL{Dbx1B7^tXkm6{8 zc&9-R>%U1?-x~R2|M4q@>*xL#07H{t{xt%UFs72GDj=VOUs(Pd_`wOp{+J(23g*YZ zD42iOy9fF<ZJP>I?heGq>aevGMhPvfLQC}{f;*dP|H zzmNR$ffzi0hTjJvtbezuf4olEKm1B#f5yXdW9%B`zfOhW-StR_Kdwn|?Ew-=`lS6l WFyVkI@6a&+1bv!*jKLHN`u_*I?Z*B9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CoMPInformation.c b/asn1c_defs/all-defs/CoMPInformation.c new file mode 100755 index 0000000..b9d9d56 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPInformation.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CoMPInformation.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_CoMPInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformation, coMPInformationItem), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoMPInformationItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "coMPInformationItem" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformation, coMPInformationStartTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoMPInformationStartTime, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "coMPInformationStartTime" + }, + { ATF_POINTER, 1, offsetof(struct CoMPInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P118, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CoMPInformation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CoMPInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* coMPInformationItem */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* coMPInformationStartTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CoMPInformation_specs_1 = { + sizeof(struct CoMPInformation), + offsetof(struct CoMPInformation, _asn_ctx), + asn_MAP_CoMPInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CoMPInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformation = { + "CoMPInformation", + "CoMPInformation", + &asn_OP_SEQUENCE, + asn_DEF_CoMPInformation_tags_1, + sizeof(asn_DEF_CoMPInformation_tags_1) + /sizeof(asn_DEF_CoMPInformation_tags_1[0]), /* 1 */ + asn_DEF_CoMPInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_CoMPInformation_tags_1) + /sizeof(asn_DEF_CoMPInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPInformation_1, + 3, /* Elements count */ + &asn_SPC_CoMPInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoMPInformation.h b/asn1c_defs/all-defs/CoMPInformation.h new file mode 100755 index 0000000..90e7399 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPInformation.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoMPInformation_H_ +#define _CoMPInformation_H_ + + +#include + +/* Including external dependencies */ +#include "CoMPInformationItem.h" +#include "CoMPInformationStartTime.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CoMPInformation */ +typedef struct CoMPInformation { + CoMPInformationItem_t coMPInformationItem; + CoMPInformationStartTime_t coMPInformationStartTime; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoMPInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoMPInformation.o b/asn1c_defs/all-defs/CoMPInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..d4a5948584d9d3ca09b430389619dad6c0151876 GIT binary patch literal 3080 zcmb_dOK;Oa5Z=^0%Dd$uA#n*(C5l9?xKttnfeayiKp%n9v+EkuMkIC>Z>4g99Jz4s zkvo5YI~R^f`~@U9!i^iu=j=F}ja{i#N7~Fc-#m7AcC&t0Uz{B&l>|#kJP>`0Ss~^} z``AsPD=vuhq82YT7NS>ir|rvT9Eo7iUXWqi#)%`Wi~VD)(>P7zsMkv+2c%2Zmd2QUJQW^CtXkEe`c!Cc40pWHLG z23FFqVGXQE=ks@I(F}QFiQ_}`C1OhAl)$}!aOO1O62*5xl8mY*EfOw?lPQNE&I7hI z9yX*!1NB)r{)6IYl!NDmX=(AwohnP5(aj87>8WLA3O>>AxVB%uGhc`w8w^dY?*;tN z0^Xv2S9ve%VHeY`C!dkTQZe~{&y0^qSPUiWW}zpOCSBmzk|exhfJd5yoKIH<11qyBy6 z)BA=#u$cYf|EsW*H*M)}kd~dE-eM%fT`BCBzVwB?ktD+I#4r%)*bbRt%TL`vhH1Cr zzz3P82s?<|?T{{(9mO)V=a$!|66pu8d3lG{*C-RMz**_y>V}3@+cM@lA#mmk>}C;z zz|6lvZuI=H`L`$+HStdC;ws~*P7>z%StAbEoc|+nkoO$eGeucxR`&?t&32hkdR{fO zq4LiXk9)@Vi|^A4ae4E*>f>8c^;ne|DE)+V-u!#&)5Q6hACx)2M;zwYzx8B_t|F>1 zG%0HsaFYh|c^+_(&nh41ql;=sngf2D26KAc4|74vX~x3N3;m_YF{SZe9;0FIA75ni e?1>V8(Nq#Xzn(R`R=lBk`CnE4yPT-Bx&HswzWN{l literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CoMPInformationItem.c b/asn1c_defs/all-defs/CoMPInformationItem.c new file mode 100755 index 0000000..74ee6c9 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPInformationItem.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CoMPInformationItem.h" + +#include "ProtocolExtensionContainer.h" +asn_per_constraints_t asn_PER_type_CoMPInformationItem_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationItem__Member, coMPHypothesisSet), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoMPHypothesisSet, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "coMPHypothesisSet" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationItem__Member, benefitMetric), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BenefitMetric, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "benefitMetric" + }, + { ATF_POINTER, 1, offsetof(struct CoMPInformationItem__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P119, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* coMPHypothesisSet */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* benefitMetric */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct CoMPInformationItem__Member), + offsetof(struct CoMPInformationItem__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPInformationItem_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPInformationItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CoMPInformationItem_specs_1 = { + sizeof(struct CoMPInformationItem), + offsetof(struct CoMPInformationItem, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformationItem = { + "CoMPInformationItem", + "CoMPInformationItem", + &asn_OP_SEQUENCE_OF, + asn_DEF_CoMPInformationItem_tags_1, + sizeof(asn_DEF_CoMPInformationItem_tags_1) + /sizeof(asn_DEF_CoMPInformationItem_tags_1[0]), /* 1 */ + asn_DEF_CoMPInformationItem_tags_1, /* Same as above */ + sizeof(asn_DEF_CoMPInformationItem_tags_1) + /sizeof(asn_DEF_CoMPInformationItem_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CoMPInformationItem_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CoMPInformationItem_1, + 1, /* Single element */ + &asn_SPC_CoMPInformationItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoMPInformationItem.h b/asn1c_defs/all-defs/CoMPInformationItem.h new file mode 100755 index 0000000..6725748 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPInformationItem.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoMPInformationItem_H_ +#define _CoMPInformationItem_H_ + + +#include + +/* Including external dependencies */ +#include +#include "CoMPHypothesisSet.h" +#include "BenefitMetric.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CoMPInformationItem__Member { + CoMPHypothesisSet_t coMPHypothesisSet; + BenefitMetric_t benefitMetric; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationItem__Member; + +/* CoMPInformationItem */ +typedef struct CoMPInformationItem { + A_SEQUENCE_OF(CoMPInformationItem__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformationItem; +extern asn_SET_OF_specifics_t asn_SPC_CoMPInformationItem_specs_1; +extern asn_TYPE_member_t asn_MBR_CoMPInformationItem_1[1]; +extern asn_per_constraints_t asn_PER_type_CoMPInformationItem_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoMPInformationItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoMPInformationItem.o b/asn1c_defs/all-defs/CoMPInformationItem.o new file mode 100644 index 0000000000000000000000000000000000000000..ada2bf5e578ab294d08e9ebd916ae1441a51189a GIT binary patch literal 4008 zcmb`KOOM<{5P*AjfDF$hJi|lCIk8BrHC`gI1QbjLZxYBPW;ZKx^LmVv8L?xJ#=X++ z1?C3aa^#v@j+}s>kR#$3L_$bhxp9N4c9mVzYois~l004YRaJL&yY2RT6I|b1>2wrJ zM_p32#Z;+3pRRS^sJ=R_o>P6$&(*F*?H`gR=L*0cUFfgIt`wxT4Dw-kExVJ?r?H;o z*)^R`mD&zI-wAFE0+oRG>ftQc@B^SLORk7d4)L)Hzsk^j7b#8ZQr6jMat08Dz7@hUA^6(AjTs^T)U zD|i(EO4q!ZBvI-jm>uYUL3m8_=D+Sbxl;^kaps2_LVvit<*S+PD`|8Kz0EQcEF4->yq)x+~U4fAM*?N6o=-Wrr94x{%`oD#FuJ*EP#A1Q z`f!#uPAP$7P|smf+rceJh)O%2WZL9n{Y@)TE&@)b$y?5>j1dJ@r?fo^PiXnz<~wnD z=>TUM&U2k7`CfIJ5AsYy-Ec!T*5CC)&wHOX7&WjB#I7&DInZTu-qXlmzyK2d#zBtX zD=e#|*xVQVMGl7cs^BjP&d(M0^RnQ(q$9_77|VhbUadLo|o;IHJu)4 z<$f9KSh=I3Q0_cO10y}x12f%=jT<%gTG-volNg*yKAooU__|rHQ}@b^owY*8$yZd> z|8H>3aZcvmif(+NOBG|KoCgD$eUkeWG^3UqhZSnyf)>}=&i~PhW78i09dIC9=KyLs z|GLFFpIaaNsN3Tk2)tJxZD1+onBV&615okI_G@IcM>r{vRm#V65%(qG>c7>ez;JwP z80Anwx4|dHkp}2rz|~a$g7WWK@s4G0f!$Ppk3KziDIV*`+U@%90>kn9a7j5sA2N7< zq+l!xw=name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1023)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_startSubframeNumber_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 9)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_startSFN_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 0, 1023 } /* (0..1023,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_startSubframeNumber_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 9 } /* (0..9,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_CoMPInformationStartTime_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (SIZE(0..1)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationStartTime__Member, startSFN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_startSFN_constr_3, memb_startSFN_constraint_2 }, + 0, 0, /* No default value */ + "startSFN" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationStartTime__Member, startSubframeNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_startSubframeNumber_constr_4, memb_startSubframeNumber_constraint_2 }, + 0, 0, /* No default value */ + "startSubframeNumber" + }, + { ATF_POINTER, 1, offsetof(struct CoMPInformationStartTime__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P120, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startSFN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* startSubframeNumber */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct CoMPInformationStartTime__Member), + offsetof(struct CoMPInformationStartTime__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPInformationStartTime_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPInformationStartTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_CoMPInformationStartTime_specs_1 = { + sizeof(struct CoMPInformationStartTime), + offsetof(struct CoMPInformationStartTime, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformationStartTime = { + "CoMPInformationStartTime", + "CoMPInformationStartTime", + &asn_OP_SEQUENCE_OF, + asn_DEF_CoMPInformationStartTime_tags_1, + sizeof(asn_DEF_CoMPInformationStartTime_tags_1) + /sizeof(asn_DEF_CoMPInformationStartTime_tags_1[0]), /* 1 */ + asn_DEF_CoMPInformationStartTime_tags_1, /* Same as above */ + sizeof(asn_DEF_CoMPInformationStartTime_tags_1) + /sizeof(asn_DEF_CoMPInformationStartTime_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CoMPInformationStartTime_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CoMPInformationStartTime_1, + 1, /* Single element */ + &asn_SPC_CoMPInformationStartTime_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoMPInformationStartTime.h b/asn1c_defs/all-defs/CoMPInformationStartTime.h new file mode 100755 index 0000000..50f6c22 --- /dev/null +++ b/asn1c_defs/all-defs/CoMPInformationStartTime.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoMPInformationStartTime_H_ +#define _CoMPInformationStartTime_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CoMPInformationStartTime__Member { + long startSFN; + long startSubframeNumber; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationStartTime__Member; + +/* CoMPInformationStartTime */ +typedef struct CoMPInformationStartTime { + A_SEQUENCE_OF(CoMPInformationStartTime__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationStartTime_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformationStartTime; +extern asn_SET_OF_specifics_t asn_SPC_CoMPInformationStartTime_specs_1; +extern asn_TYPE_member_t asn_MBR_CoMPInformationStartTime_1[1]; +extern asn_per_constraints_t asn_PER_type_CoMPInformationStartTime_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoMPInformationStartTime_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoMPInformationStartTime.o b/asn1c_defs/all-defs/CoMPInformationStartTime.o new file mode 100644 index 0000000000000000000000000000000000000000..61b4c56e6ff81d16e026fbc523420662ddbe5608 GIT binary patch literal 5680 zcmb_gU2IfE6rSxOlpmKOCRR~<{Xs$LrMEPp;h|Yvwk)PUD=h{!a(lbIrG@=zc5j=4 zM%MsI8$;3uWAIg9c<@1=)r5pZ`(#YxgNZNr3>q=f_+Z3y=AN^Ac6u*L6jMSCsHVoKQgb_+a$1XNwNpK$a+m%XJGQ)*TV4&0I6vmz8@Q8H zYQf1}TKnP-Q1E>2!mak9_csk)eh|IRbmc-JxBOdf`S0BFH_o-gch*k6zWl=**SB}2 zAs#vYq8&qH@ISMY9G$hBU$0Et+q*96Q5g9z3~atj^8ULfuVcVQ{+mYrea-yWb>{HX z1FTc%Q6d%sDXOmxK&-b}b5oD=RK3}9U`>0oMSrT%8y8fmvFs}+vLl(Ss$rtB!4VSXC#S1k z$sd_7P5Mh z>0dh9p&$3){fdk8$JPN2_x1gX3!x$@9f>wUteGU7t6U=-qqIpIy0pc<`%UKgX6_5l z-@uP%GKZ`^Cno31!Mt_Q?z4Nkoq4S}?>PN-PoM4V4RJlxhiSlx^T$bDZspiSh}wE*lO;dS6hjH8@Xn~=58 zo1i6B^H#t+gDEL+#*ioVUx-AMx&&$h;@1hDA^xGpH>*799RE{|!+2<;v=jeI<6G1O z+2cM#`W_mN(?SJ^@mnAxKCaR5&O;HOE(sXv4Z=CUMR?u7QB5lS7NMRdOR7{;A?am3 z-u3G>s_~7DJ<5*bgtIPrQf-r}mR|$=9b&z>p63DYSZA%&Wo@5S7WMIbzl^c}R@>t# z64FWHwgP&gfH0KmIcO7{&@AA{f9UW{W3(n2?@kI+40?Ia) z9S1K_avcCG6ql50jWvrk39A@RK#Z^PMlLdxuYCf?_dMgCz@>dj;ExLXs{)typ9@^Z z|4HD|{%3*9_yoh57ru)Q5rFR`BopVqWyJYDMLYh@g7{Vhi1rXS@wC97AQ@Rs;71VXFM|}NbjV6WX}+WtViJZO1Oa_P`|)&FEZr?j&;C$8);79GX9dlF@7D5f$$B5 zgbd@?p&?xrIL4pWs8Xu}f0i)KXmHq#_UEZj?jNjAop7!<+m8`GLmY8j7mM^o;*9gU zb3dkUsSnvRUMF4IwR5Gwn*<(ILq5Y&)h~K>;4cQsp7H`u*^{-Jva1zT(A=^6TU7^C z^w9<&ajyZ}#Y(}0&O)VB^2-n%exUmH(UB9~aETSplC?kM>K~On(ErCRaOc{}NNG}j zmmtU;hQ15*4bajC{wqBIt`UxYn5Ug|Uhn4!$Gs*gjmAK{-$Sjr&aCeP0b`o}b8?Z{ z7&wJ(AP!-@4I~uU-^6+R948&)|1srXGUBoybKIXOo8wOt&~D7bGUAPb9##L(=t;Un z{#bu_HLt7xDZntlkw#6>6ZItYNwTB@@>yt6T`4XRW#S08(@G#IGB{&G}>8DF0O& L|0ftskm>&qsh)}J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.c b/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.c new file mode 100755 index 0000000..cc53d27 --- /dev/null +++ b/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CompleteFailureCauseInformation-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_Item, cell_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cell-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_Item, measurementFailureCause_List), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MeasurementFailureCause_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "measurementFailureCause-List" + }, + { ATF_POINTER, 1, offsetof(struct CompleteFailureCauseInformation_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P12, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CompleteFailureCauseInformation_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CompleteFailureCauseInformation_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompleteFailureCauseInformation_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cell-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measurementFailureCause-List */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CompleteFailureCauseInformation_Item_specs_1 = { + sizeof(struct CompleteFailureCauseInformation_Item), + offsetof(struct CompleteFailureCauseInformation_Item, _asn_ctx), + asn_MAP_CompleteFailureCauseInformation_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CompleteFailureCauseInformation_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_Item = { + "CompleteFailureCauseInformation-Item", + "CompleteFailureCauseInformation-Item", + &asn_OP_SEQUENCE, + asn_DEF_CompleteFailureCauseInformation_Item_tags_1, + sizeof(asn_DEF_CompleteFailureCauseInformation_Item_tags_1) + /sizeof(asn_DEF_CompleteFailureCauseInformation_Item_tags_1[0]), /* 1 */ + asn_DEF_CompleteFailureCauseInformation_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_CompleteFailureCauseInformation_Item_tags_1) + /sizeof(asn_DEF_CompleteFailureCauseInformation_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompleteFailureCauseInformation_Item_1, + 3, /* Elements count */ + &asn_SPC_CompleteFailureCauseInformation_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.h b/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.h new file mode 100755 index 0000000..a64d0ef --- /dev/null +++ b/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CompleteFailureCauseInformation_Item_H_ +#define _CompleteFailureCauseInformation_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include "MeasurementFailureCause-List.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CompleteFailureCauseInformation-Item */ +typedef struct CompleteFailureCauseInformation_Item { + ECGI_t cell_ID; + MeasurementFailureCause_List_t measurementFailureCause_List; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompleteFailureCauseInformation_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _CompleteFailureCauseInformation_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.o b/asn1c_defs/all-defs/CompleteFailureCauseInformation-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..6abf5f3418fd1d8b16007cff9776cf20e5e80d3a GIT binary patch literal 3336 zcmb_eO-~bH5T3H4;3xPM6EF2(EQ#H)KqAq^R7?3Vd{haZOqQiC(Ae&h?psqmNN<{W z@XAl{;K85Z(Zq{4|AtQ=>9{OyNF9KvZ1 zdQOi0l3%H0=cb_Qdl8^X0oNqcm{c1Bt_Ht8ZXwiECx@eEjdM&2o4?U{j&C$EZy9g@U?{(W!;krWKV zC`W|(EXMnx$@l;->iZZ!#VE9S1X$3)CE*JiR9{5;{APTD1JajVOUvhQtgLu9b);om zaCSe4hy`c%;UhSYVQn2YIpZnfL;JD;*1O=ZyWnrT;GeqSJza2i3A`w9rwY^Vf9^w< z?n7638mjnNiL?=XLyk~E=Q645W&mT|^G{QJgy+FxCSCwd!$V(WQ-%n5PO%q2f5b(g^m nYq~Rr@n^0deSw%~7a>UVC(#e1q2b0gllTp8^nr?LV)Fk1p{qSc literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.c b/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.c new file mode 100755 index 0000000..77f8c86 --- /dev/null +++ b/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CompleteFailureCauseInformation-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_CompleteFailureCauseInformation_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P13, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CompleteFailureCauseInformation_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CompleteFailureCauseInformation_List_specs_1 = { + sizeof(struct CompleteFailureCauseInformation_List), + offsetof(struct CompleteFailureCauseInformation_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_List = { + "CompleteFailureCauseInformation-List", + "CompleteFailureCauseInformation-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_CompleteFailureCauseInformation_List_tags_1, + sizeof(asn_DEF_CompleteFailureCauseInformation_List_tags_1) + /sizeof(asn_DEF_CompleteFailureCauseInformation_List_tags_1[0]), /* 1 */ + asn_DEF_CompleteFailureCauseInformation_List_tags_1, /* Same as above */ + sizeof(asn_DEF_CompleteFailureCauseInformation_List_tags_1) + /sizeof(asn_DEF_CompleteFailureCauseInformation_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CompleteFailureCauseInformation_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CompleteFailureCauseInformation_List_1, + 1, /* Single element */ + &asn_SPC_CompleteFailureCauseInformation_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.h b/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.h new file mode 100755 index 0000000..1941703 --- /dev/null +++ b/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CompleteFailureCauseInformation_List_H_ +#define _CompleteFailureCauseInformation_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* CompleteFailureCauseInformation-List */ +typedef struct CompleteFailureCauseInformation_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompleteFailureCauseInformation_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _CompleteFailureCauseInformation_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.o b/asn1c_defs/all-defs/CompleteFailureCauseInformation-List.o new file mode 100644 index 0000000000000000000000000000000000000000..223efd092a4c1281d6dfb1b58302d129f32686ea GIT binary patch literal 2624 zcmbuBO>fgc5QZl;h4M`~A#n)@M3JZ!(@I2CLKeX(Mg0g3l{g?7Czv*n*pa=FC-BE()>&;%RVpB@0(T(KBn9|< zJdf=pwBa0_g&M|}@}|=0fUT@?3gHZ2)Siu<1w?aego9z<7k<<0^+%E4@J6w}5y1@6 zYm26JJ>`cDLGw8VzYofEM!qWlG#fyxS2P2RB1B@~2xVr#bOFyHslbVh%gQGSpMom4 zwAjB(_%!Ts{+Rujgy+wBhB-My>0iOf>5D9y0jG)(i2)}I{11{@WnMe1n8O!+p`Zp> z8pGGdaF}Exm|gJVz`f@*-9zLq?HgBk+p%jUH7#e;6}v-!vchf{#3JI-wY!^>Riz`f zTaC%&@zC$e$D4FY$y_#CZrgdd<*YXxccTey=Mg$LeP*v0i0mb`qELk0u)pHC?Ow3m zr`ZPrC4S`At@=XCTF{pcmq%IU^eiKd&gGgDmoe$&*-88~0XF*n$#iZfH089*s+`|f z_$vN-Yfi~gy_F1T-`%p#=8UIb}s7s(7l;hW3rTl2B-x-XSy`=9VK7Rz^| z_G7Dw5|dW7E0_?|PduANL-x{DWx)O#dOB_N`VX2;ruz6duz}c3DPS+_uWFpeB9r~t z9P8u%Ku-2Ob=kd|MQN~vj?QK~O|yHQkMtQHh`wz?a(wySKR`y3{Dj5?ZJ+Dpxu4Q> zEE$vE#EYc*{6BI%JCY_QbLl;#6xY(`?EZ-b^nO*7b<)4UMj5NRpJlK_OEP`#)Xy)j p|H_{B+ + +/* Including external dependencies */ +#include "CellCapacityClassValue.h" +#include "CapacityValue.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CompositeAvailableCapacity */ +typedef struct CompositeAvailableCapacity { + CellCapacityClassValue_t *cellCapacityClassValue; /* OPTIONAL */ + CapacityValue_t capacityValue; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompositeAvailableCapacity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacity; +extern asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacity_specs_1; +extern asn_TYPE_member_t asn_MBR_CompositeAvailableCapacity_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CompositeAvailableCapacity_H_ */ +#include diff --git a/asn1c_defs/all-defs/CompositeAvailableCapacity.o b/asn1c_defs/all-defs/CompositeAvailableCapacity.o new file mode 100644 index 0000000000000000000000000000000000000000..d1a9f01c7ca89d24f0621eb96ee536c41664b0ca GIT binary patch literal 3160 zcmb_dOK;Oa5Z=^0S{{AykSZaeaH2@mibEwTkdTW>TOnuzRk@mtvDyg7j^Yh!FOVaD z0I3%weoB8re*^~(9Lg_%8G9z#EKaCsM@r_KZ|AW)yWag&d$BrEDhZa7cp?TCvqBt9 z4zQa+SImfM;U%qhk~USi@ObqZ_Mk`JugJR~DUaW;q|7WxKLu zJNI&)!wNOlJSTn??yWU6qd~YeG&7wqUabWcio_D<|DtaLQxa1G`-`GSTH<0(YX9qi z(VvCm6!FV6pnb-$Cj)_4lm`lD|-U&)=+cQVhHEA@YPR>SCI zzDbLdjxV3p-K_gtwO8A<4X-8`_yOFfsw11R%IEg<^|-m^3)rfAx5Aq5k?-r`deflYy1tus20!>g#D|z zDb_XqCUK~G8jty1Bti7P>0h_mAHFAqo$j}kY=BmsT<7lyIt{~LcFVlgN0H^59>(i@~%aedb4huEzD4LFp~?3kOP zOq$hW0Qly(OprdHhSn+m3h;Q&_$ z?*oVRsT`nOdPKNPkS-hc4%isab$IxY;&Fd;p>||3$hYCgobLD2oDdC~zGxS@9uqlB m`YQNM!_QnlzU=1S1J%DwzZeA#6W-k7_<1VS!(5t}@qYlbN*440 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.c b/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.c new file mode 100755 index 0000000..3ff63b9 --- /dev/null +++ b/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CompositeAvailableCapacityGroup.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_CompositeAvailableCapacityGroup_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacityGroup, dL_CompositeAvailableCapacity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CompositeAvailableCapacity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-CompositeAvailableCapacity" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacityGroup, uL_CompositeAvailableCapacity), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CompositeAvailableCapacity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-CompositeAvailableCapacity" + }, + { ATF_POINTER, 1, offsetof(struct CompositeAvailableCapacityGroup, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P122, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CompositeAvailableCapacityGroup_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CompositeAvailableCapacityGroup_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompositeAvailableCapacityGroup_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dL-CompositeAvailableCapacity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-CompositeAvailableCapacity */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacityGroup_specs_1 = { + sizeof(struct CompositeAvailableCapacityGroup), + offsetof(struct CompositeAvailableCapacityGroup, _asn_ctx), + asn_MAP_CompositeAvailableCapacityGroup_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CompositeAvailableCapacityGroup_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacityGroup = { + "CompositeAvailableCapacityGroup", + "CompositeAvailableCapacityGroup", + &asn_OP_SEQUENCE, + asn_DEF_CompositeAvailableCapacityGroup_tags_1, + sizeof(asn_DEF_CompositeAvailableCapacityGroup_tags_1) + /sizeof(asn_DEF_CompositeAvailableCapacityGroup_tags_1[0]), /* 1 */ + asn_DEF_CompositeAvailableCapacityGroup_tags_1, /* Same as above */ + sizeof(asn_DEF_CompositeAvailableCapacityGroup_tags_1) + /sizeof(asn_DEF_CompositeAvailableCapacityGroup_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompositeAvailableCapacityGroup_1, + 3, /* Elements count */ + &asn_SPC_CompositeAvailableCapacityGroup_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.h b/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.h new file mode 100755 index 0000000..3683f4d --- /dev/null +++ b/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.h @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CompositeAvailableCapacityGroup_H_ +#define _CompositeAvailableCapacityGroup_H_ + + +#include + +/* Including external dependencies */ +#include "CompositeAvailableCapacity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* CompositeAvailableCapacityGroup */ +typedef struct CompositeAvailableCapacityGroup { + CompositeAvailableCapacity_t dL_CompositeAvailableCapacity; + CompositeAvailableCapacity_t uL_CompositeAvailableCapacity; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompositeAvailableCapacityGroup_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacityGroup; + +#ifdef __cplusplus +} +#endif + +#endif /* _CompositeAvailableCapacityGroup_H_ */ +#include diff --git a/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.o b/asn1c_defs/all-defs/CompositeAvailableCapacityGroup.o new file mode 100644 index 0000000000000000000000000000000000000000..c9a8c2008660cf74e1144707178bb814fff98f95 GIT binary patch literal 3256 zcmb_e&2G~`5Z+*Z3gxHeM?ykEK^!O&vFfxE5g_DZ(pIRnp;g7vbzG~BNa84Vsum%d zBR8%*0ph>|aOMek0bT)>8#kEQ?8K9e-IS^$?as_MGdsJp<4yLYPeq~; zD#W+3M7E`9iwSW>IANm|MzuJY+wp33uUZcrujTo*cyFN{c3MeLhNS1x^^7oKWEl>@ zPl4?(&>=4WZJLINvnRMNo*%~sj0-SMdcUyb0ChpzW{6%_x(^+v5UeRDtOdm&j%VOL zw$eA33fZkAI)_?oCyGPaU^wbXUt!?-MCAWd;j_v>c~Lc(zcNc^$Xn(}Pd3EGVGs~Qj1S@C zaE?h<2kOZgz$b>hg>W+P*BSWR41ClBX8OX5n(p)Ryqn#x@~LxUZ!2;w>HhNB>PYvV z=UT-X=^3>GzrXTaWu!lBq!`p`D@OjVtV^K(l}*Q~XAr;2;%_qlOCVF< zPi5eX48NviWEF=zkj(phbq? z=s|MsG93M%C>yUE)`3W`54{7zjP@F_R|OuodwiRuIM|Jax#`88Fso4{%yx(hdRk@) z)S&K3GfJ9j)3elnY39GDBs>xC%x{5Q1Q0&eIshaNZbDg;7A{| z4d*4AOpigt-v&E@r1V774U0G5`Yep2bXl#9ZYCqeNSz|->oQ9pqc zkNFYO^Sgjye*WJCRADQigbJfPlTqA)f$@6%cU3&@j}!VL5#LcV?Nb_I`mW;femPMb z@qI9o%>91p2U14e7xgsP0|ibfj&H^!484B%&q429fclT~XDy+o$~DvCr&OYkaname, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_Correlation_ID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Correlation_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Correlation_ID = { + "Correlation-ID", + "Correlation-ID", + &asn_OP_OCTET_STRING, + asn_DEF_Correlation_ID_tags_1, + sizeof(asn_DEF_Correlation_ID_tags_1) + /sizeof(asn_DEF_Correlation_ID_tags_1[0]), /* 1 */ + asn_DEF_Correlation_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_Correlation_ID_tags_1) + /sizeof(asn_DEF_Correlation_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Correlation_ID_constr_1, Correlation_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Correlation-ID.h b/asn1c_defs/all-defs/Correlation-ID.h new file mode 100755 index 0000000..9821621 --- /dev/null +++ b/asn1c_defs/all-defs/Correlation-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Correlation_ID_H_ +#define _Correlation_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Correlation-ID */ +typedef OCTET_STRING_t Correlation_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Correlation_ID; +asn_struct_free_f Correlation_ID_free; +asn_struct_print_f Correlation_ID_print; +asn_constr_check_f Correlation_ID_constraint; +ber_type_decoder_f Correlation_ID_decode_ber; +der_type_encoder_f Correlation_ID_encode_der; +xer_type_decoder_f Correlation_ID_decode_xer; +xer_type_encoder_f Correlation_ID_encode_xer; +per_type_decoder_f Correlation_ID_decode_uper; +per_type_encoder_f Correlation_ID_encode_uper; +per_type_decoder_f Correlation_ID_decode_aper; +per_type_encoder_f Correlation_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Correlation_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/Correlation-ID.o b/asn1c_defs/all-defs/Correlation-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..15170f6ddc15110f0732e142f6ee2b70048d6978 GIT binary patch literal 2888 zcmbtV&1+jn5MNnNtlEwuCp{Qa$h)Mmq1xz$K#dPYMpFC)!WRB0C4oLaOHZ*AeFVLy zVCUcj93Mnz>7{pH`#0obNT5CY6zHGOT-rm)A=I5&&FHN*&(M-F-kJIBZ)W%H?2ew5 zDtE^c3Bi&O--yU#REX3>WapKc7c(LwoTI(0P%`hPk7f1LiW_Q}%O>38?~Z|}cuT)tiukdH#&sn7u(GCaIW zq4wz?Z`AtHfJ>o7NMwygrn1J#XKhRiDQ|f}+pf8FzY*N>n$4^-3Y~7(Z+hWwr=2Yq zWlh`&7Of{%-a6ROb5s*Eefr z`u{aw28qjs!lE^|x!r4rJ?m?EN9MA2PkHu%y&!XUq&+{t#pjeb@pMfj_A-fU(-Wzm zVDYa2|AOXvsEg^$;h3AAt)#7Q)3ZzIOkpyeTAo@_2oYlxe#f}@Gq$G5*c&QD68_>O z37O&~DK5mpkmcezxb_H$aRqcjd^Y6sN;!o``>75YxX*~M!GKTc?$Az(>7mWWrZPU> z|2>6Y9M*vOF5&F!Iw>Y~SJ`zKuW0A2Y6;i@{LhH!9Cj32h@U~LJ48OKU(UhB=re#9 z1<%ecmhQURgj+7Uq4ywgZ8cjht-0a;W8b6<-Wrf(rI5qnHV(GF1ZIk!(#;t=mwAdTA)60o<0=&4EDGWgI08QTf@^D?rFHrZ)x~tjZd(u z1m4O;0#c;$o#;5%0P(BDK{ZP@;(E2`&cX8<9^GQ-&l)~MHmWVMF+cYPge)9D@O(yk zu?+TGp|>q0w8??qVGBF04E?=O$hsGLLT(3vklhYCNVny}s0)=>F^T{d&k9-Vv|4@} z5tT1;d-qwmkdq^t@9Sl4bh~@eL?Xio#P!nDcJn|3_k-S z?)aQiTVAQGd7;~ L|DzU*rWyY)*I*$6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CoverageModification-Item.c b/asn1c_defs/all-defs/CoverageModification-Item.c new file mode 100755 index 0000000..681902b --- /dev/null +++ b/asn1c_defs/all-defs/CoverageModification-Item.c @@ -0,0 +1,113 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CoverageModification-Item.h" + +#include "CellReplacingInfo.h" +static int +memb_coverageState_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_coverageState_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_CoverageModification_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoverageModification_Item, eCGI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eCGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoverageModification_Item, coverageState), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_coverageState_constr_3, memb_coverageState_constraint_1 }, + 0, 0, /* No default value */ + "coverageState" + }, + { ATF_POINTER, 2, offsetof(struct CoverageModification_Item, cellDeploymentStatusIndicator), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellDeploymentStatusIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellDeploymentStatusIndicator" + }, + { ATF_POINTER, 1, offsetof(struct CoverageModification_Item, cellReplacingInfo), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellReplacingInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellReplacingInfo" + }, +}; +static const int asn_MAP_CoverageModification_Item_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_CoverageModification_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoverageModification_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eCGI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* coverageState */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cellDeploymentStatusIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* cellReplacingInfo */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoverageModification_Item_specs_1 = { + sizeof(struct CoverageModification_Item), + offsetof(struct CoverageModification_Item, _asn_ctx), + asn_MAP_CoverageModification_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_CoverageModification_Item_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoverageModification_Item = { + "CoverageModification-Item", + "CoverageModification-Item", + &asn_OP_SEQUENCE, + asn_DEF_CoverageModification_Item_tags_1, + sizeof(asn_DEF_CoverageModification_Item_tags_1) + /sizeof(asn_DEF_CoverageModification_Item_tags_1[0]), /* 1 */ + asn_DEF_CoverageModification_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_CoverageModification_Item_tags_1) + /sizeof(asn_DEF_CoverageModification_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoverageModification_Item_1, + 4, /* Elements count */ + &asn_SPC_CoverageModification_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoverageModification-Item.h b/asn1c_defs/all-defs/CoverageModification-Item.h new file mode 100755 index 0000000..2fb9ede --- /dev/null +++ b/asn1c_defs/all-defs/CoverageModification-Item.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoverageModification_Item_H_ +#define _CoverageModification_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include +#include "CellDeploymentStatusIndicator.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CellReplacingInfo; + +/* CoverageModification-Item */ +typedef struct CoverageModification_Item { + ECGI_t eCGI; + long coverageState; + CellDeploymentStatusIndicator_t *cellDeploymentStatusIndicator; /* OPTIONAL */ + struct CellReplacingInfo *cellReplacingInfo; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoverageModification_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoverageModification_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_CoverageModification_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_CoverageModification_Item_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoverageModification_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoverageModification-Item.o b/asn1c_defs/all-defs/CoverageModification-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..2086d82c261fbdfe15cc93bfe921fe5974696dae GIT binary patch literal 4416 zcmb_fO>7%g5PptJ6WZdW4L^Yb-Af^r$Tpi+qKZW2;JDdHNoo>O@gvpQIGe=9Kb5_S zQb1rSM8ZOqf`ml5A@#zME9xau50qP#QzV2`!GS}201liGWxlsF@$+IwL3E_&nfcz# zym|B9?yNsfPh9AT#gtG?omUM_P^D@|8gf#LN!6>4DR<+~neqCzTfY;GIzPJW=et)O zcVqk3L!#hicl|-v#Alro*PnpPl@o3#xb;8W`rmH-duMCp;r3ha)OX&!-F>14n_b`g z+BdYP5LbHH*V(>*8-`2=i67u07*eyL zrSZ~Yx$O>{C!%K^)tjvw8fyMuse>H$dk*`Jy+($(1CJ^$_K!SkG!D^tlyMRJQyPg! z821~BwMj!LdM?-tD2j(@xL1+EQA_gS=arIck$dKZ?ng&4P z3p6^6b@krZB(6G}jY)frMob-6NuDt?h^xmLZLmcWVK0D-}U)f;|F)oSiF8^Ty&GimC=NF;sNoaM%|VfPtd{l zn9eM}*ajaW9C2!FH;0QubV=ilIuC}hsUgNN-GhJZEKs!*QfW`OSsZZCbfr6^{StfZJ>l{G-9de6!ra8f4mg< zOMYb+P3_s3#TQmB8gxJ3C%iw8()bGvhsZJTV+QUSxM^QB@Lt27VS1Lscl$5{^880} zd1in=EzZRISO$)#Kgqh}AH`js2mTDpVDcUTE-``6;fDzLvswy&Zme?3jv70%>LD5;5Y-JegjARw|T-faOqE&!utRO2Kyx_L|+>?-u*&51`hiT zo-ohFe9KC$;09dkYq1}4H}h9^^;$9T=7|TDkS~i=@e7_E_-lc(7rekz_I$Of>`EC5 z%pLn&v+9rvA8kNVM70a$oCi=xP3i6>$EIcns)3h#kG=fm>|(_$`keUx zWES~L&CO6rR?PkiNbWaJE8G$E)T98+Yy8TeV;z22N6tsi<0Zz;I|Y|5{19bAw)<=C zN}+)79K?+J%e{=4>l{oB?+N5JWP&7%|CtCb`NId4q|wSh#Rgx($RP0(j^_??H2-^S zAY4LNA~3&5yjA`0as9vLIH*6qjwFAne~z$L>u+&FgEViFWhx|JrqOEsP5y)uf2@y` zqU%=)!}?9n9_czLu?%E`EJKF)0S)-eI>0~~Bt?Y#VG@@^`vCuhhG3@MhwN`+kfXL= zF&53g#{O<3fb3u3FGzrCQUK;#Tt7J{)DQn1#9wga6I~l2?(q6|c@n+uDH>6KoJsWV c5u|SLr}Qt84M$Ynb6ffEaQ-(D%%G_MKQam89{>OV literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CoverageModificationList.c b/asn1c_defs/all-defs/CoverageModificationList.c new file mode 100755 index 0000000..2413a99 --- /dev/null +++ b/asn1c_defs/all-defs/CoverageModificationList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CoverageModificationList.h" + +#include "CoverageModification-Item.h" +static asn_per_constraints_t asn_PER_type_CoverageModificationList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_CoverageModificationList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoverageModification_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoverageModificationList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CoverageModificationList_specs_1 = { + sizeof(struct CoverageModificationList), + offsetof(struct CoverageModificationList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CoverageModificationList = { + "CoverageModificationList", + "CoverageModificationList", + &asn_OP_SEQUENCE_OF, + asn_DEF_CoverageModificationList_tags_1, + sizeof(asn_DEF_CoverageModificationList_tags_1) + /sizeof(asn_DEF_CoverageModificationList_tags_1[0]), /* 1 */ + asn_DEF_CoverageModificationList_tags_1, /* Same as above */ + sizeof(asn_DEF_CoverageModificationList_tags_1) + /sizeof(asn_DEF_CoverageModificationList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CoverageModificationList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_CoverageModificationList_1, + 1, /* Single element */ + &asn_SPC_CoverageModificationList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CoverageModificationList.h b/asn1c_defs/all-defs/CoverageModificationList.h new file mode 100755 index 0000000..a79d301 --- /dev/null +++ b/asn1c_defs/all-defs/CoverageModificationList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CoverageModificationList_H_ +#define _CoverageModificationList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CoverageModification_Item; + +/* CoverageModificationList */ +typedef struct CoverageModificationList { + A_SEQUENCE_OF(struct CoverageModification_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoverageModificationList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CoverageModificationList; + +#ifdef __cplusplus +} +#endif + +#endif /* _CoverageModificationList_H_ */ +#include diff --git a/asn1c_defs/all-defs/CoverageModificationList.o b/asn1c_defs/all-defs/CoverageModificationList.o new file mode 100644 index 0000000000000000000000000000000000000000..3b6b4e0dfb173ca8f0811bcd8c60b25438af9ab6 GIT binary patch literal 2424 zcmbuAOK;Oa5XUz$fdb{x8?S>owMcXoqe@gDA&b;0pguxEBqR>TaZMXR;wauAdVzil z)Q{042P8Oh~q`JBiLM8|(yJjX@f_=?3GWm%ldHW(en~3QM%`h^&ue^v zVw1ZX$5U@p{z&6$E<`Pj<5jvx`AhORzW(*>YkZDkbl)|O&wG_}#*^KF2zubfIQ2U! z645)s_*NhS#(PP^_&CM{l@50xjot*ZjFGA`9>#+~1aE;4V-fMyjqYM1g7CGP@c;aE z=#I~<{jJCWUD-}IsMYNzB<7xB-NgoMl)9|7vnUPb!QmOv_Z%w+*c6yK|83A9yJKio z|7!+U{grp2jZ>+;e;qEW)|BWso^D{B~{{cp8%l7~P literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Criticality.c b/asn1c_defs/all-defs/Criticality.c new file mode 100755 index 0000000..6a167da --- /dev/null +++ b/asn1c_defs/all-defs/Criticality.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Criticality.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Criticality_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Criticality_value2enum_1[] = { + { 0, 6, "reject" }, + { 1, 6, "ignore" }, + { 2, 6, "notify" } +}; +static const unsigned int asn_MAP_Criticality_enum2value_1[] = { + 1, /* ignore(1) */ + 2, /* notify(2) */ + 0 /* reject(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1 = { + asn_MAP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Criticality_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Criticality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Criticality = { + "Criticality", + "Criticality", + &asn_OP_NativeEnumerated, + asn_DEF_Criticality_tags_1, + sizeof(asn_DEF_Criticality_tags_1) + /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ + asn_DEF_Criticality_tags_1, /* Same as above */ + sizeof(asn_DEF_Criticality_tags_1) + /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Criticality_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Criticality_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Criticality.h b/asn1c_defs/all-defs/Criticality.h new file mode 100755 index 0000000..e983272 --- /dev/null +++ b/asn1c_defs/all-defs/Criticality.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Criticality_H_ +#define _Criticality_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Criticality { + Criticality_reject = 0, + Criticality_ignore = 1, + Criticality_notify = 2 +} e_Criticality; + +/* Criticality */ +typedef long Criticality_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Criticality_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Criticality; +extern const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1; +asn_struct_free_f Criticality_free; +asn_struct_print_f Criticality_print; +asn_constr_check_f Criticality_constraint; +ber_type_decoder_f Criticality_decode_ber; +der_type_encoder_f Criticality_encode_der; +xer_type_decoder_f Criticality_decode_xer; +xer_type_encoder_f Criticality_encode_xer; +per_type_decoder_f Criticality_decode_uper; +per_type_encoder_f Criticality_encode_uper; +per_type_decoder_f Criticality_decode_aper; +per_type_encoder_f Criticality_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Criticality_H_ */ +#include diff --git a/asn1c_defs/all-defs/Criticality.o b/asn1c_defs/all-defs/Criticality.o new file mode 100644 index 0000000000000000000000000000000000000000..cbe9b2cefae4f77ae577851a6b466568940ac086 GIT binary patch literal 2608 zcmbuA&2G~`5P&DRP<~qq91vX669G}HsVad$LPjBN#ZQTfDvri=m)0e5B70Lc7pTOA zBS#*CGp8PT03L!PNF2D8ne|MvU7SjYk(`B;G3eY<> zvIAoVFbz|10&RIl83hynkVX9CbR$c25=ZSs4w-yJ# zpf1b*X7Wets&PJ8AB-PEl&9gN=2B?UP)A#NST~_(4_ik^H#VT>1034 zq%7~Lm{uV|--mr#WM^D1dr6$mlE_syh)XRY*;khb6ht8|W0Jo@KPbd!j8*)+Vw?CS zwrxfH3_bxv>47-e;>)=pPV1HPxs5i7@XLh@`>cguV;}r{(9zKbYMm8&TP&^iH29m5 zj=*%U>WWr=g)WKNex4U?8gCBQ09fhya#~WMu%d6{ixsKvD(#Zem z>sU@}bML=k%&?Se%Pcy?+?y%jB-w9vp(+OJ8>s2sxb+{MJaOImZ)1Sif+Vn(`dNod zz32erWV`bpAS01;QFs7VF<9S6O?PO(zNpW9u^up>b4KS)&Y^rSkCD;*@;`*8ks3F6 zMF4B57yJ^9vi<|E{~(F1tB${hep&xLz6|y_pZce{Wq#>@2N_K@kB=>1d4767wlFp| z#B+Rv*?GUpU`Z~exqC + +/* Including external dependencies */ +#include +#include "Criticality.h" +#include "ProtocolIE-ID.h" +#include "TypeOfError.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct CriticalityDiagnostics_IE_List__Member { + Criticality_t iECriticality; + ProtocolIE_ID_t iE_ID; + TypeOfError_t typeOfError; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_IE_List__Member; + +/* CriticalityDiagnostics-IE-List */ +typedef struct CriticalityDiagnostics_IE_List { + A_SEQUENCE_OF(CriticalityDiagnostics_IE_List__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_IE_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List; +extern asn_SET_OF_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_specs_1; +extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_1[1]; +extern asn_per_constraints_t asn_PER_type_CriticalityDiagnostics_IE_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _CriticalityDiagnostics_IE_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/CriticalityDiagnostics-IE-List.o b/asn1c_defs/all-defs/CriticalityDiagnostics-IE-List.o new file mode 100644 index 0000000000000000000000000000000000000000..3c4f2606e6bcb94f796d49c954433f760c0dbcef GIT binary patch literal 4360 zcmcIn&2Jl35P$BLrscB{U*UVRD>?T7CL*OpI} zN=Bq)J~1OtP-D(MH?sZA^v!wmf>|VcVKg++`j=(W;3)#n@`dqY?ZN;$lKQZdc3M%l zlkP2bqC5RKAvYQo33k(VKk3B%WNal52m%PdcIj*7}H4*o;`Dfx;cE+k6&2`2)t#RFPjTc#uK(ZY3 z)R+(FJ-SL}uE6z7N8ts53@3Z?X(YEDbM6S(Af!a=?(@ht>nOwLOp|?C_v;L&Jb43} ztPe8$T*1fl8}b8P$lrxS;%C3c{7M@5E%qfoT*o}i=(uvsGvfexf6z6r`X>25A{_U+ zEoUg-dD<_R2T(uc3gMIZs~LaPx0^ZL+~qjz78(CECC)EX@ZYE4e@($3O~L2rW}lS5 zQ8)F37n|2IQPK~Wg5_{BFj0@LhjyL%LmdqO@w(=4O4Mko)qaBVq*8o_#q=h<#E^o5GzzIXW!5CCS;iwC9AOnTJnM2v{p~AtJ9z9U_TZ%8QI1GdT zHjladkpWyV4Bb>X_#Xl!k#)dFz58@Q^ge&En_!Fa8>*K5-g!t2Lr z+q-&wvz(++>nl$32^98NdZoko+EF&RTHYlGn4>|mef9?y?ppr)ve)UFRR1B*uUUMlTl8(7f24i}?pyO+%a6#PRR02hVl|nM z`q2`*{=0-Bmqog?3=otA`>RFr7JZKf#n!yvU3UJc e$?hFN=72w`FIvIv_2;L|-{t;&i(pFZ`TqfZ)^nEt literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CriticalityDiagnostics.c b/asn1c_defs/all-defs/CriticalityDiagnostics.c new file mode 100755 index 0000000..935f988 --- /dev/null +++ b/asn1c_defs/all-defs/CriticalityDiagnostics.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CriticalityDiagnostics.h" + +#include "CriticalityDiagnostics-IE-List.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[] = { + { ATF_POINTER, 5, offsetof(struct CriticalityDiagnostics, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_POINTER, 4, offsetof(struct CriticalityDiagnostics, triggeringMessage), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TriggeringMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "triggeringMessage" + }, + { ATF_POINTER, 3, offsetof(struct CriticalityDiagnostics, procedureCriticality), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "procedureCriticality" + }, + { ATF_POINTER, 2, offsetof(struct CriticalityDiagnostics, iEsCriticalityDiagnostics), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CriticalityDiagnostics_IE_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iEsCriticalityDiagnostics" + }, + { ATF_POINTER, 1, offsetof(struct CriticalityDiagnostics, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P126, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggeringMessage */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* procedureCriticality */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iEsCriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1 = { + sizeof(struct CriticalityDiagnostics), + offsetof(struct CriticalityDiagnostics, _asn_ctx), + asn_MAP_CriticalityDiagnostics_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CriticalityDiagnostics_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics = { + "CriticalityDiagnostics", + "CriticalityDiagnostics", + &asn_OP_SEQUENCE, + asn_DEF_CriticalityDiagnostics_tags_1, + sizeof(asn_DEF_CriticalityDiagnostics_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ + asn_DEF_CriticalityDiagnostics_tags_1, /* Same as above */ + sizeof(asn_DEF_CriticalityDiagnostics_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CriticalityDiagnostics_1, + 5, /* Elements count */ + &asn_SPC_CriticalityDiagnostics_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CriticalityDiagnostics.h b/asn1c_defs/all-defs/CriticalityDiagnostics.h new file mode 100755 index 0000000..dee1a80 --- /dev/null +++ b/asn1c_defs/all-defs/CriticalityDiagnostics.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CriticalityDiagnostics_H_ +#define _CriticalityDiagnostics_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "TriggeringMessage.h" +#include "Criticality.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CriticalityDiagnostics_IE_List; +struct ProtocolExtensionContainer; + +/* CriticalityDiagnostics */ +typedef struct CriticalityDiagnostics { + ProcedureCode_t *procedureCode; /* OPTIONAL */ + TriggeringMessage_t *triggeringMessage; /* OPTIONAL */ + Criticality_t *procedureCriticality; /* OPTIONAL */ + struct CriticalityDiagnostics_IE_List *iEsCriticalityDiagnostics; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics; + +#ifdef __cplusplus +} +#endif + +#endif /* _CriticalityDiagnostics_H_ */ +#include diff --git a/asn1c_defs/all-defs/CriticalityDiagnostics.o b/asn1c_defs/all-defs/CriticalityDiagnostics.o new file mode 100644 index 0000000000000000000000000000000000000000..176da7afd2e2be0aa8251889de52f8267965407e GIT binary patch literal 3568 zcmb_eOK;RL5O!&KzuyQh%K=d&8f{7i6-X$sgqI2|kKT~dbQ`u2+oamK5?o*%N81&Jd+0VEFGU_P%WJ8L!)sydS6nQy)s+Y`sm>u~Poma#F#GN!JofyJm& z^<4u!FlwOot9`1`O?BFeJE?woBaPcxUXWR+)o$KOme#sSBVS6C?xyW_(oM7Wy`(7O zb|UOZ1*Cyu|*D}3UyX4Jy^(lYNSpF-2)~nBW z{<%IbvJ9)pIiY@z+^ge5D;UI$53NMvazzrCE0g%Y)jUb=F||`QEsY}sgKt$mi+{4k zjSartqI5o$8tOE_8GdW{JJ~G9S-1Ft^&BY~$TQ#znDE`wEcJ2oMU|#ezS8qxc|s_) zY~8=8$2aK81g&orexd^RD)8GC_|ppfO$Ao28jUucba=dKUcSP~s;6$|{Gb^<4j;~k_Zy*NC2G;_qq}jM z>2meWp^J`d^5mZjk3FJVWe$OfJ2bizMssN~G?dO;d8fPy8+oQ_GD$a@oxb2V{ppK? z-9)cb?7IFv0elA;9-iYr-Jmv(m+H_uYn%GmVAgz{lCxvyKJZ0~fy* z>Ycz3TOHjOf#dWzZtWiem*4Ir5|f|<{|pQgd>0UOM~&8h^aKw6CF^@H@MD7iP2k|q zS>JDg^Bm!-+e-j$@Sg!B+0pOJd{Ac=xBd(4@QRl!I$l&B?Zke+%$iPKXyq-%I#%9d zQ7EsQ!vNFwd@_?xY~0Ws)9d8)7snyWYvn5|3GH()%XQ-2x<5Zv=(zQqXR+b_6h)#2 z*b7nuX$akxvqVml2F$&2f|4<;xbbJnjhb&X{yfDZ=QK4bfi<)QN$2so2M@YC{%67< zv+`$w>>5BJS4hX*7zhmN7klNc+ky5FhJD8Si}%w5!bXkH6RMM6N=+K1-=#Kc{GPok zIUeIQtObqZa53Cd4@&Rh@`cbA)L)GjD@xd9;G0ho0Dt_J8zeo9{xbc4hcrZUs literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CuCpResourceStatus.c b/asn1c_defs/all-defs/CuCpResourceStatus.c new file mode 100755 index 0000000..c4de762 --- /dev/null +++ b/asn1c_defs/all-defs/CuCpResourceStatus.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "KPIMonitoringModule" + * found in "KPIMonitoring.asn1" + * `asn1c -gen-PER` + */ + +#include "CuCpResourceStatus.h" + +asn_TYPE_member_t asn_MBR_CuCpResourceStatus_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CuCpResourceStatus, bhca), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "bhca" + }, + { ATF_POINTER, 1, offsetof(struct CuCpResourceStatus, numberOfUEs), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "numberOfUEs" + }, +}; +static const int asn_MAP_CuCpResourceStatus_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CuCpResourceStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CuCpResourceStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* bhca */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* numberOfUEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CuCpResourceStatus_specs_1 = { + sizeof(struct CuCpResourceStatus), + offsetof(struct CuCpResourceStatus, _asn_ctx), + asn_MAP_CuCpResourceStatus_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CuCpResourceStatus_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CuCpResourceStatus = { + "CuCpResourceStatus", + "CuCpResourceStatus", + &asn_OP_SEQUENCE, + asn_DEF_CuCpResourceStatus_tags_1, + sizeof(asn_DEF_CuCpResourceStatus_tags_1) + /sizeof(asn_DEF_CuCpResourceStatus_tags_1[0]), /* 1 */ + asn_DEF_CuCpResourceStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_CuCpResourceStatus_tags_1) + /sizeof(asn_DEF_CuCpResourceStatus_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CuCpResourceStatus_1, + 2, /* Elements count */ + &asn_SPC_CuCpResourceStatus_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CuCpResourceStatus.h b/asn1c_defs/all-defs/CuCpResourceStatus.h new file mode 100755 index 0000000..0b28d28 --- /dev/null +++ b/asn1c_defs/all-defs/CuCpResourceStatus.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "KPIMonitoringModule" + * found in "KPIMonitoring.asn1" + * `asn1c -gen-PER` + */ + +#ifndef _CuCpResourceStatus_H_ +#define _CuCpResourceStatus_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CuCpResourceStatus */ +typedef struct CuCpResourceStatus { + long bhca; + long *numberOfUEs /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CuCpResourceStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CuCpResourceStatus; +extern asn_SEQUENCE_specifics_t asn_SPC_CuCpResourceStatus_specs_1; +extern asn_TYPE_member_t asn_MBR_CuCpResourceStatus_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _CuCpResourceStatus_H_ */ +#include diff --git a/asn1c_defs/all-defs/CuCpResourceStatus.o b/asn1c_defs/all-defs/CuCpResourceStatus.o new file mode 100644 index 0000000000000000000000000000000000000000..c456133b19a3384728e07cd9853faa894e79d7dc GIT binary patch literal 2784 zcmb_dOKTHR6h7(rs*l!I5W&p|f)VT`QwkOZ8I5UGw2iF+7s5Ch$F|tagv^cTLha9R z>C&Y?z=c1-tvi2$?gc$(=A7i_W>TXI*=aDiWs+(q6ah*KZUfYyi#KWM0w|?<3A@tk&z-+-j@cPjuhCs+Lr3 z!RzOi_tslhwI$_UF8D$1GC;Ks!OzlJoTAfMngjN#iVz2!u~;G;>`*2S93G?3B2$5B zaM@#KI$&IS_Ahfhn}fV3%wJ^3Xq{;ZAJGn+7_r50;JCnneuHSvn17o+?@^oQF9{zf z@Sl;VI(r=WiS@UfAFj8?{4dmH^-ErS6+xIK!R^LMF#c5tbhwoTULNt_W^+QsV!XS5 zOxlqm&;-Z@vzlct2aPE5T!|`d*M!^iy3Zhl+92KxY?|iIkRpYneEp?z4J1@ zo9K8e?(u$!qI+)MHhIr%UiOywSxH8Hjxq6cOI)_AtZn{|!Anh|ng&0|nAB6oRA-(s zDY{Q2#GlDg@$;22@w6`S{V;gph^kT`ip0x$%zZF#zxXMhczKUNWv@FrY@^n_LT?Mw z@hc7LS*Sx$?JNV;OUa-}PkCs@yJ7AoWSMF=jY1;x6i`vx>BM+9RFdjgt**5eG95-Q zXbJx$=P{esbi}ISTeg_IZDPU&M8w%&I)4x`3hew#=%zhCX#N$+oj-)1mg$XWeQP&aBx6~Jcb(3E%m-9~|Pn6s*xlilJmG%F^c{Q#l$`!!+ z9_q6GT|Q9Br~dTywEG9hQLC|kFea+#GsQIx#9R1KzVs1ymGkL*OyOnaImCDI5zdTz zG&WG-wPVRH3w_MwcTPBkaWnYX>!*J{`|Oc|W!hAfd8?si;(t|n{s-RwJt|^|o&N{v Cmdz>v literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CuCpResourceStatusReport.c b/asn1c_defs/all-defs/CuCpResourceStatusReport.c new file mode 100755 index 0000000..ee0ee89 --- /dev/null +++ b/asn1c_defs/all-defs/CuCpResourceStatusReport.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "KPIMonitoringModule" + * found in "KPIMonitoring.asn1" + * `asn1c -gen-PER` + */ + +#include "CuCpResourceStatusReport.h" + +static asn_TYPE_member_t asn_MBR_CuCpResourceStatusReport_1[] = { + { ATF_POINTER, 1, offsetof(struct CuCpResourceStatusReport, cuCpName), + (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)), + 0, + &asn_DEF_PrintableString, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cuCpName" + }, + { ATF_NOFLAGS, 0, offsetof(struct CuCpResourceStatusReport, gnbId), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_BIT_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "gnbId" + }, + { ATF_NOFLAGS, 0, offsetof(struct CuCpResourceStatusReport, cuCpResourceStatus), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CuCpResourceStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cuCpResourceStatus" + }, +}; +static const int asn_MAP_CuCpResourceStatusReport_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_CuCpResourceStatusReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CuCpResourceStatusReport_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 1, 0, 0 }, /* gnbId */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* cuCpResourceStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)), 0, 0, 0 } /* cuCpName */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CuCpResourceStatusReport_specs_1 = { + sizeof(struct CuCpResourceStatusReport), + offsetof(struct CuCpResourceStatusReport, _asn_ctx), + asn_MAP_CuCpResourceStatusReport_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CuCpResourceStatusReport_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CuCpResourceStatusReport = { + "CuCpResourceStatusReport", + "CuCpResourceStatusReport", + &asn_OP_SEQUENCE, + asn_DEF_CuCpResourceStatusReport_tags_1, + sizeof(asn_DEF_CuCpResourceStatusReport_tags_1) + /sizeof(asn_DEF_CuCpResourceStatusReport_tags_1[0]), /* 1 */ + asn_DEF_CuCpResourceStatusReport_tags_1, /* Same as above */ + sizeof(asn_DEF_CuCpResourceStatusReport_tags_1) + /sizeof(asn_DEF_CuCpResourceStatusReport_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CuCpResourceStatusReport_1, + 3, /* Elements count */ + &asn_SPC_CuCpResourceStatusReport_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CuCpResourceStatusReport.h b/asn1c_defs/all-defs/CuCpResourceStatusReport.h new file mode 100755 index 0000000..1791b6f --- /dev/null +++ b/asn1c_defs/all-defs/CuCpResourceStatusReport.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "KPIMonitoringModule" + * found in "KPIMonitoring.asn1" + * `asn1c -gen-PER` + */ + +#ifndef _CuCpResourceStatusReport_H_ +#define _CuCpResourceStatusReport_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include "CuCpResourceStatus.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CuCpResourceStatusReport */ +typedef struct CuCpResourceStatusReport { + PrintableString_t *cuCpName /* OPTIONAL */; + BIT_STRING_t gnbId; + CuCpResourceStatus_t cuCpResourceStatus; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CuCpResourceStatusReport_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CuCpResourceStatusReport; + +#ifdef __cplusplus +} +#endif + +#endif /* _CuCpResourceStatusReport_H_ */ +#include diff --git a/asn1c_defs/all-defs/CuCpResourceStatusReport.o b/asn1c_defs/all-defs/CuCpResourceStatusReport.o new file mode 100644 index 0000000000000000000000000000000000000000..687ce80295e634b66a57282cd925ecdd60bfa120 GIT binary patch literal 3080 zcmcImKX21e5PzvDl>co32?Rr6fFe<=t}0Q1RGFq}Q&iG4X=m4QtrU^OQS3-%fsBld z{VdE39T{2q2Ji{s&c1UluXcy3oaEf^e)sRa^Ru1L<*oIJLP4<<)QTEe%qmrx8euzz zwz{ousnVd-tNURv=zD%6a-%_5_j^GHpk;e_0B^2T68-v*T{2d zJl5lyTbl18OdQ*dizuYkSO(kHxc^}uLD79tSf4A;?k|W4OCj!^W017rnm|CJ&)jCm zMyd3wIJegvbfZD>rMYA-%v*!lvOZbM=E9O`Jx_Sf$kf>TlKPXmHe+mMqjY0zg_75I zpZE;ukR^tiJVieOrl78>1@ds_TFg(XA@Nf*v{uYtAy%b%NEm9wbHG;sSf7Rad?S8| z9NZU8L&TFiR))GR%@iBzT8bI`0x%=?dq|E6*vB*n2|b&`Kh5D+a`>GbKKI3BdddyE z&RTih$$NJ>k=qI#D~@}&TF;M5LK?MFen{B!y|mVwT7Dq(T=d)A^{mLC!v)XUM7;X# zn$sxn?3JsfvSQ$PK{t&0?)z?(PNLQa%Wbyd6%MGC@~fM>PGh&eS=~sf(?b(?HF?(M zsproI+$M24MrQ)~8ByUrVdQVZ#pib}hpz~JmN2TC;4cFnlD$tF>&sJoEciQwQT-4+ z?&|^BzXgAnFseB$41x;dpP&I!5&XS`ihqZK$9UeSoEy%8MV}8p&&muxcHkC*j{1o{ zWEA;Fkune5$W>-D43*gr(7;H`w7~S+ZtO;+nPxliTqNTZWqLuU4c2s!-?ZKo0AK+k^$Zk+jf^It$N)?9>3icQ9A zNdo5ntT7I;-hT)j$`=kyOjRV!3hU!L-DZMxg$7!qeEc5cIpg!i=V=?bto}v%So3p8 zWl!~g3y!S*$MlKfeC&^u-roTZ`^*0ZV5)s0meCMW6c}L(F3jgX$e|olKHeWG7>mNX zCvfbbpYQsDi03?xMLR3>gve>q_$*JurSBiV*!sN(O8uk{bz5twnejU`EB}P%Kg41} G^!$H@t@y0~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CyclicPrefixDL.c b/asn1c_defs/all-defs/CyclicPrefixDL.c new file mode 100755 index 0000000..f7ebca6 --- /dev/null +++ b/asn1c_defs/all-defs/CyclicPrefixDL.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CyclicPrefixDL.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CyclicPrefixDL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CyclicPrefixDL_value2enum_1[] = { + { 0, 6, "normal" }, + { 1, 8, "extended" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CyclicPrefixDL_enum2value_1[] = { + 1, /* extended(1) */ + 0 /* normal(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CyclicPrefixDL_specs_1 = { + asn_MAP_CyclicPrefixDL_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CyclicPrefixDL_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CyclicPrefixDL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CyclicPrefixDL = { + "CyclicPrefixDL", + "CyclicPrefixDL", + &asn_OP_NativeEnumerated, + asn_DEF_CyclicPrefixDL_tags_1, + sizeof(asn_DEF_CyclicPrefixDL_tags_1) + /sizeof(asn_DEF_CyclicPrefixDL_tags_1[0]), /* 1 */ + asn_DEF_CyclicPrefixDL_tags_1, /* Same as above */ + sizeof(asn_DEF_CyclicPrefixDL_tags_1) + /sizeof(asn_DEF_CyclicPrefixDL_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CyclicPrefixDL_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CyclicPrefixDL_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CyclicPrefixDL.h b/asn1c_defs/all-defs/CyclicPrefixDL.h new file mode 100755 index 0000000..1411dd1 --- /dev/null +++ b/asn1c_defs/all-defs/CyclicPrefixDL.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CyclicPrefixDL_H_ +#define _CyclicPrefixDL_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CyclicPrefixDL { + CyclicPrefixDL_normal = 0, + CyclicPrefixDL_extended = 1 + /* + * Enumeration is extensible + */ +} e_CyclicPrefixDL; + +/* CyclicPrefixDL */ +typedef long CyclicPrefixDL_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CyclicPrefixDL_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CyclicPrefixDL; +extern const asn_INTEGER_specifics_t asn_SPC_CyclicPrefixDL_specs_1; +asn_struct_free_f CyclicPrefixDL_free; +asn_struct_print_f CyclicPrefixDL_print; +asn_constr_check_f CyclicPrefixDL_constraint; +ber_type_decoder_f CyclicPrefixDL_decode_ber; +der_type_encoder_f CyclicPrefixDL_encode_der; +xer_type_decoder_f CyclicPrefixDL_decode_xer; +xer_type_encoder_f CyclicPrefixDL_encode_xer; +per_type_decoder_f CyclicPrefixDL_decode_uper; +per_type_encoder_f CyclicPrefixDL_encode_uper; +per_type_decoder_f CyclicPrefixDL_decode_aper; +per_type_encoder_f CyclicPrefixDL_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CyclicPrefixDL_H_ */ +#include diff --git a/asn1c_defs/all-defs/CyclicPrefixDL.o b/asn1c_defs/all-defs/CyclicPrefixDL.o new file mode 100644 index 0000000000000000000000000000000000000000..f65bfbcf67fbb61cf4dc3394d26c1b1a69112250 GIT binary patch literal 2584 zcmbtU&2G~`5T4)`%3pstAS4ci6G5U@QdI(hgpAU(2$d2QD!93>yR?DCj%=rDFL2-i z;4R?TN9d6Q2OfX}C+<8!nOV;?o3*1H7->B--+bTh?AqRst@YJ&l?sSe;4us{K>^;J zAI6>zJ(z=8Aei{J#>`LIv~0qoc@%a#VLMT8JBKUl5XDI^=z==TRJ5yhCx}bRW*=0x z^AbrZRAY3K{v7fg9FutVBF6FRlIUk_;##x$uv**N8AREjdf#1k>x+$n&Ke&Y58V2) z+qj$KwsIt=`KRFT=?KV)Gp2h7Xm>?(^p4B$sUnDo1Jeck8X^_AaE6;o$H31B7&uTk z9jNPhX24@24-?nXp zU&P^YL3$vZV#(!uA)NLrd)UXAOz`V@3gD(ky)4*4pC!59mng$)6x`h)3&7n;Q*e`* z5@I&o2BxYT=rTo8wP4h^-8jTM*$v}fPvJ{*qc~IU+Q!ymng!u|Y2^R>P2QV*FM4C9 zrE@UtHYSA8U2K}iiJYs{suHljgPz`jt^Z>2B(>MShXulxguq_(w=7)r;ytWWY_ETU z7@55PJOijo!2S_>xcH_a^_vGsI~9;mw5!T8$f=&(pJ~=mmI< zL0SJE>-$1vU$yd0%**=k^H0CceCnUpmi49ocZktabsVN0^ZN9DOk-GU2v2bcX7YZO yfhAm`*=I-d{AT@k_E!;`#bNhPcZ2=z5rS_FPFsCgslJQK^gsFhKG9@`+4_IvQ^-^R literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/CyclicPrefixUL.c b/asn1c_defs/all-defs/CyclicPrefixUL.c new file mode 100755 index 0000000..e156ef2 --- /dev/null +++ b/asn1c_defs/all-defs/CyclicPrefixUL.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "CyclicPrefixUL.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_CyclicPrefixUL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CyclicPrefixUL_value2enum_1[] = { + { 0, 6, "normal" }, + { 1, 8, "extended" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CyclicPrefixUL_enum2value_1[] = { + 1, /* extended(1) */ + 0 /* normal(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CyclicPrefixUL_specs_1 = { + asn_MAP_CyclicPrefixUL_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CyclicPrefixUL_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CyclicPrefixUL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CyclicPrefixUL = { + "CyclicPrefixUL", + "CyclicPrefixUL", + &asn_OP_NativeEnumerated, + asn_DEF_CyclicPrefixUL_tags_1, + sizeof(asn_DEF_CyclicPrefixUL_tags_1) + /sizeof(asn_DEF_CyclicPrefixUL_tags_1[0]), /* 1 */ + asn_DEF_CyclicPrefixUL_tags_1, /* Same as above */ + sizeof(asn_DEF_CyclicPrefixUL_tags_1) + /sizeof(asn_DEF_CyclicPrefixUL_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_CyclicPrefixUL_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CyclicPrefixUL_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/CyclicPrefixUL.h b/asn1c_defs/all-defs/CyclicPrefixUL.h new file mode 100755 index 0000000..9df30e1 --- /dev/null +++ b/asn1c_defs/all-defs/CyclicPrefixUL.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _CyclicPrefixUL_H_ +#define _CyclicPrefixUL_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CyclicPrefixUL { + CyclicPrefixUL_normal = 0, + CyclicPrefixUL_extended = 1 + /* + * Enumeration is extensible + */ +} e_CyclicPrefixUL; + +/* CyclicPrefixUL */ +typedef long CyclicPrefixUL_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_CyclicPrefixUL_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_CyclicPrefixUL; +extern const asn_INTEGER_specifics_t asn_SPC_CyclicPrefixUL_specs_1; +asn_struct_free_f CyclicPrefixUL_free; +asn_struct_print_f CyclicPrefixUL_print; +asn_constr_check_f CyclicPrefixUL_constraint; +ber_type_decoder_f CyclicPrefixUL_decode_ber; +der_type_encoder_f CyclicPrefixUL_encode_der; +xer_type_decoder_f CyclicPrefixUL_decode_xer; +xer_type_encoder_f CyclicPrefixUL_encode_xer; +per_type_decoder_f CyclicPrefixUL_decode_uper; +per_type_encoder_f CyclicPrefixUL_encode_uper; +per_type_decoder_f CyclicPrefixUL_decode_aper; +per_type_encoder_f CyclicPrefixUL_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CyclicPrefixUL_H_ */ +#include diff --git a/asn1c_defs/all-defs/CyclicPrefixUL.o b/asn1c_defs/all-defs/CyclicPrefixUL.o new file mode 100644 index 0000000000000000000000000000000000000000..701e6ed3c4dbfa5b3aa4a045f993097e4b42430b GIT binary patch literal 2584 zcmbtU&2G~`5T4X6l)wIPKu8=2CxS$+xT*vK2^od72$d2QD!93>yR?DCj$)^3FL2-i z;4R?TN9d6Q2OfX}C+<8!nOV;?o3*1H7->B--+bTh?AqRs&Gpr(N(IC!@Cb&Ppa5^q z4P#%2KFq@$5KMeqW9Fx9S~lU)IEp&$sMS|*+lO205GVa^*a3Bzsd!iIP7s%r%|57X z=OvO-sK)3d{S@*X9FutVBF6FRlIUk`;##BepjzA78N}J3de2>P>r381XWj?zzFS{$ zy*oK>D@Ssge;WRtj)0svW4d>Mc2_h<@3;(~E`o?SFjK&-xv49;SvS{?b&y3IL7Yb~EubMwRw-$4LjN$*$ z{9$)B=ELZZ;YJXqaqy(M8jKc#EZj>2PgkEmZrRm?urpB0DjsylbEvwkiOeakqNjh+ z3O2&5eW02sQ2j8&|C5?(H8+FosHg0;qa;qVKF_(QV%2X)L7W6R9=795%U`w{wleLh zh&E*yeZS^cBqwI$@=ge!H}uyzCS0@x$$8tjPenAsWlqYU(gTg~MIGgjZH@`2Z`(G) zFW~UGAUzOHvE=f-5KjA*J?vvlCit~H1#r`&ZWivK&-%IFmng$)6x`h~3&Gtjr>_$nqtMH|{agr%_ZDVUG&BExtH1dD`2Jg+j7yU8Q z(m9xR3lqZVE;h~QM9x)eRSDSNMo;g+)_<{hlG^Lv#R6f=LSQfYn-(s5@jlimw%0#F zj7;8to&i)PVE+(3-Jw3`;*R-ZJz?N7dit*9dz1g-8Dg~l@aDnname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DL_ABS_status_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DL_ABS_status_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_ABS_status = { + "DL-ABS-status", + "DL-ABS-status", + &asn_OP_NativeInteger, + asn_DEF_DL_ABS_status_tags_1, + sizeof(asn_DEF_DL_ABS_status_tags_1) + /sizeof(asn_DEF_DL_ABS_status_tags_1[0]), /* 1 */ + asn_DEF_DL_ABS_status_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_ABS_status_tags_1) + /sizeof(asn_DEF_DL_ABS_status_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_ABS_status_constr_1, DL_ABS_status_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DL-ABS-status.h b/asn1c_defs/all-defs/DL-ABS-status.h new file mode 100755 index 0000000..8ad198a --- /dev/null +++ b/asn1c_defs/all-defs/DL-ABS-status.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_ABS_status_H_ +#define _DL_ABS_status_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DL-ABS-status */ +typedef long DL_ABS_status_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DL_ABS_status_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DL_ABS_status; +asn_struct_free_f DL_ABS_status_free; +asn_struct_print_f DL_ABS_status_print; +asn_constr_check_f DL_ABS_status_constraint; +ber_type_decoder_f DL_ABS_status_decode_ber; +der_type_encoder_f DL_ABS_status_encode_der; +xer_type_decoder_f DL_ABS_status_decode_xer; +xer_type_encoder_f DL_ABS_status_encode_xer; +per_type_decoder_f DL_ABS_status_decode_uper; +per_type_encoder_f DL_ABS_status_encode_uper; +per_type_decoder_f DL_ABS_status_decode_aper; +per_type_encoder_f DL_ABS_status_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_ABS_status_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-ABS-status.o b/asn1c_defs/all-defs/DL-ABS-status.o new file mode 100644 index 0000000000000000000000000000000000000000..0d428d21152a5616d1723bf4b339681b3c0caaff GIT binary patch literal 2776 zcmbVNOKTKC5bn*WSzqfWdI&^xE@}kRW>hc)l#SWw2ulpU5CzA{?&P8Ske%6JJoq4b zSVZyY9}xTxUIY(%&Pnj%QAiHz!IK!Pda7o7J0pU%%vROcUv>9Xchx+cES>GiWCTk_ zoE9CAQ6XM!>DUEj7DS)O3-{^IOXu4wZu?_YbUwSwrz?w&`*h{)I!JWLU0%zUp7oZV z@5GSX``p-Y+dtg)Z@2xyc{jeka_xHi(~bAL_CG>S61%EmV?IoAyPsm6mDTr1BP2zuF4y zdLy#u78ZlLJp|x^%3(EDZq&o5=`YkHd)8m529;#AYo@<$BN;Hy!t@j3Ka4DnpPQH% zvxlzCwCYjIJ}FPgkzuE$Jm-NkDo0L8=WvXRJv3kD{zZ|wm(L9D=*_-_#g72Km&RJC zi@E%A&&}LGDQ92J4UFgV6WelGcl(q=h?t`AJvNE&sb^xP-asKN_@#*jGo^_oHmAWb zi*}hchNW(j27uWIPeyD_Kz$`k!xI7+me{VliEW7;iOq&o#>RafSNN7B*UTR!oPAwe zVw>(N`xN~5Yxz`X2G~`2`n30*S8O4wpz~zw>M=NdTK=bbug{|z3g&{Q0;eZ0dePF|z*sb% z5S9fQqWxmOz*G1Yw}f>y2tMN2q!{w)an3Q~ z{lrBzKsMr?Ti4mYi5E2fZn9Ci8qRAWWD}0>g-;?fT&hL>jF8Z`Vm;4RGpPD93hqTh zR{Y2pawZIgY&OtAx+6!sT{vhJqX=N}sF3AGtrpZ_B50d|JU4X(TWa|Z@q>A9w&~Y` zWK;id*bs`jGAq3R7z)=x>}|aBgD`-#USI<0uhal;k&kx(*Wq*K^E*hm*|FXMj*`?* z>?Y?zuIjTmrx~Be#ZttC@m?c#%;0kTAp__A^E?F@Pm4cE1ioK94ac#*O!4Oa9}!`m z14-M4e*yfo{JYdD-w+@3kKcdZKj;4@V7OG*9S8p_t*`fSfH!n>me9v`TIus<2+&hupe?f99PcL9d|#f-<^Wu84iqCkm%jgBVf`{Q>vEj~*H{X&aH(~SQE#R?RY literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DL-Forwarding.c b/asn1c_defs/all-defs/DL-Forwarding.c new file mode 100755 index 0000000..3023ffa --- /dev/null +++ b/asn1c_defs/all-defs/DL-Forwarding.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DL-Forwarding.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DL_Forwarding_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_DL_Forwarding_value2enum_1[] = { + { 0, 21, "dL-forwardingProposed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_DL_Forwarding_enum2value_1[] = { + 0 /* dL-forwardingProposed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_DL_Forwarding_specs_1 = { + asn_MAP_DL_Forwarding_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DL_Forwarding_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DL_Forwarding_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_Forwarding = { + "DL-Forwarding", + "DL-Forwarding", + &asn_OP_NativeEnumerated, + asn_DEF_DL_Forwarding_tags_1, + sizeof(asn_DEF_DL_Forwarding_tags_1) + /sizeof(asn_DEF_DL_Forwarding_tags_1[0]), /* 1 */ + asn_DEF_DL_Forwarding_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_Forwarding_tags_1) + /sizeof(asn_DEF_DL_Forwarding_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_Forwarding_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DL_Forwarding_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DL-Forwarding.h b/asn1c_defs/all-defs/DL-Forwarding.h new file mode 100755 index 0000000..5e5f0e4 --- /dev/null +++ b/asn1c_defs/all-defs/DL-Forwarding.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_Forwarding_H_ +#define _DL_Forwarding_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DL_Forwarding { + DL_Forwarding_dL_forwardingProposed = 0 + /* + * Enumeration is extensible + */ +} e_DL_Forwarding; + +/* DL-Forwarding */ +typedef long DL_Forwarding_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DL_Forwarding_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DL_Forwarding; +extern const asn_INTEGER_specifics_t asn_SPC_DL_Forwarding_specs_1; +asn_struct_free_f DL_Forwarding_free; +asn_struct_print_f DL_Forwarding_print; +asn_constr_check_f DL_Forwarding_constraint; +ber_type_decoder_f DL_Forwarding_decode_ber; +der_type_encoder_f DL_Forwarding_encode_der; +xer_type_decoder_f DL_Forwarding_decode_xer; +xer_type_encoder_f DL_Forwarding_encode_xer; +per_type_decoder_f DL_Forwarding_decode_uper; +per_type_encoder_f DL_Forwarding_encode_uper; +per_type_decoder_f DL_Forwarding_decode_aper; +per_type_encoder_f DL_Forwarding_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_Forwarding_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-Forwarding.o b/asn1c_defs/all-defs/DL-Forwarding.o new file mode 100644 index 0000000000000000000000000000000000000000..155d8cf367c54e0593cfd786a7747a59a031072b GIT binary patch literal 2512 zcmbuAPixdr5WwFyYW>?kf*^QVL9l}R*pz~zAdz<4B5PeM#bZpfv0d#ZC3#!zMGIbv zCqILq!Gp)1#E;=u@C#UHvNOrs*(@F$NM`0YGw)4aCc7V7?bWGTO|jI}BUO4#m6|(O z+FovYYF5oC3zrGPIwcXf(p_mcR+IEykam0Vj_S4>uM4k}Ci_Vibt~&8LHR7wpHwIL zf&>$MTz?9#f9-Qk)~_uuKd3KkZ4Y8IsNd5|y4i3Cx#xax@9XB0cJB z=?Empnb4J!cRXIVKCqK7*bk+g4w}nYYfZL%|=QtMY&4`Q>vJ^E5K> zI#fXx`zx(gf2Hl0AA)a!oy>Rh;M2z)5j+U?2GL>^5Bd{RFu0iKQOejB`P$Dq{zhPW z2T=?1qckw^wP8b@)~0U`_am`!n8cY$X~mr=j?!M}$B94WK`%CW^^4B3D9rYw5TB^X4bNwyBxt_HLakSO3u|aR1ckHW z4c+2?L<4j}VM1ZFPBv_HNdTL|Yh$TPT@*?HfpU_~yb$+N?CzEk~A(pP}t jw=4U{-vIgU0jVQ`f6%c+wuQerRrSYoexIybG-dr?0=32h literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DL-GBR-PRB-usage.c b/asn1c_defs/all-defs/DL-GBR-PRB-usage.c new file mode 100755 index 0000000..acfc2c2 --- /dev/null +++ b/asn1c_defs/all-defs/DL-GBR-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DL-GBR-PRB-usage.h" + +int +DL_GBR_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DL_GBR_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DL_GBR_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_GBR_PRB_usage = { + "DL-GBR-PRB-usage", + "DL-GBR-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_DL_GBR_PRB_usage_tags_1, + sizeof(asn_DEF_DL_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_GBR_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_DL_GBR_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_GBR_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_GBR_PRB_usage_constr_1, DL_GBR_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DL-GBR-PRB-usage.h b/asn1c_defs/all-defs/DL-GBR-PRB-usage.h new file mode 100755 index 0000000..0128fd3 --- /dev/null +++ b/asn1c_defs/all-defs/DL-GBR-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_GBR_PRB_usage_H_ +#define _DL_GBR_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DL-GBR-PRB-usage */ +typedef long DL_GBR_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DL_GBR_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DL_GBR_PRB_usage; +asn_struct_free_f DL_GBR_PRB_usage_free; +asn_struct_print_f DL_GBR_PRB_usage_print; +asn_constr_check_f DL_GBR_PRB_usage_constraint; +ber_type_decoder_f DL_GBR_PRB_usage_decode_ber; +der_type_encoder_f DL_GBR_PRB_usage_encode_der; +xer_type_decoder_f DL_GBR_PRB_usage_decode_xer; +xer_type_encoder_f DL_GBR_PRB_usage_encode_xer; +per_type_decoder_f DL_GBR_PRB_usage_decode_uper; +per_type_encoder_f DL_GBR_PRB_usage_encode_uper; +per_type_decoder_f DL_GBR_PRB_usage_decode_aper; +per_type_encoder_f DL_GBR_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_GBR_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-GBR-PRB-usage.o b/asn1c_defs/all-defs/DL-GBR-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..f9a0a1590f83b1fc98b91a3d11e5494aa641e028 GIT binary patch literal 2824 zcmbVO%}*3r5Pw6fAmTW%9!S`@eNkcKJZM9*EC(_=gS2sigq6)^O>CN(=0oRWGu=bL z!)k&aCPuS=f=B;=z3s)sgPu8=c=4_mJ$N#URj;dho^P7OSfsnEe)X&OUe|l|hI{kn zD}9-aV9AI%(e)S=;?=RPT~KC042zs_AAb7nYG>c=yoyTB8+UK6y6w0R_y0QpiO#!w z?+40{`pb_`V#@6^Zfv-nk8bCGxAW3@e(7NUk3T!FZ@xJ7(|zP5x$jhN%!eUvk5I0& z|Lz46N%}zd)593*s^;KYP&DXJQ_4v{Y&aFK8mxzteyx^QMyZ@%xV)TSTE3ibhyF$& zE8=W8Yj69tc3?M}k-f3C9W?B50MAw@RIJi$gi*`iYDD(Bzf}vWNz@$d(8YX1z}zd- z|ArwHWdPp`#p0|zzOvSCL~Z*QIW4F1PFs1--_DGjnwHK)jEmDWaOUo^$n4}YV?+G| z|G?xI0RNF#}iPW$d)_lQv?Y zywdy?uT=J+sXS;ZPc@Yn`5U3<2w5&p;p-y49MMDTcGjUoslfFmZ_$sSF|RhFU?XTL zaA|(oi+2ACdS{P^h51p&Y5jP=;I4d*uaJW{Dg@$qsWI+@jbifaF|6<`*vuzbRUS{< zECH$y!N&8i<6LvZM~I7Rlx)Pir?9(z6EA4|AIL`KYB$ z7wb*7T0za1QLqyUS@k1d$h9yOveiTf>5iQF+J!AwIf?)lM}@33>-C@k1Hl~|$c4p~ zd>HwaJH!t*z4ew~50XWFzhOfv*2?Vs0$?cI7qQpd17i@t-Y+nL^eDCND*1Q@a30=g z-oJB%n>W~Vz)_NZirr*i$W`|)j%nuSaIzFJVLaD}T{O6y|FePf`gxoJ#MAO;iEz!x z=RDRoDBoQFQzC2{`L^L-2S2U;J5>K?#K-#M{|mf+uKz8-aH_A)IPwV4?{$ECeo@u| z!~7`>YBEIm_`9eJe>dwU1liVkGvUVmKJ;pFuY&Pe7w8Ny$49FQsMtaM-%h=har}hKSS$(qUEA#=6?Zk C`xi6- literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DL-Total-PRB-usage.c b/asn1c_defs/all-defs/DL-Total-PRB-usage.c new file mode 100755 index 0000000..8f7fc38 --- /dev/null +++ b/asn1c_defs/all-defs/DL-Total-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DL-Total-PRB-usage.h" + +int +DL_Total_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DL_Total_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DL_Total_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_Total_PRB_usage = { + "DL-Total-PRB-usage", + "DL-Total-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_DL_Total_PRB_usage_tags_1, + sizeof(asn_DEF_DL_Total_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_Total_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_DL_Total_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_Total_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_Total_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_Total_PRB_usage_constr_1, DL_Total_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DL-Total-PRB-usage.h b/asn1c_defs/all-defs/DL-Total-PRB-usage.h new file mode 100755 index 0000000..50402b3 --- /dev/null +++ b/asn1c_defs/all-defs/DL-Total-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_Total_PRB_usage_H_ +#define _DL_Total_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DL-Total-PRB-usage */ +typedef long DL_Total_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DL_Total_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DL_Total_PRB_usage; +asn_struct_free_f DL_Total_PRB_usage_free; +asn_struct_print_f DL_Total_PRB_usage_print; +asn_constr_check_f DL_Total_PRB_usage_constraint; +ber_type_decoder_f DL_Total_PRB_usage_decode_ber; +der_type_encoder_f DL_Total_PRB_usage_encode_der; +xer_type_decoder_f DL_Total_PRB_usage_decode_xer; +xer_type_encoder_f DL_Total_PRB_usage_encode_xer; +per_type_decoder_f DL_Total_PRB_usage_decode_uper; +per_type_encoder_f DL_Total_PRB_usage_encode_uper; +per_type_decoder_f DL_Total_PRB_usage_decode_aper; +per_type_encoder_f DL_Total_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_Total_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-Total-PRB-usage.o b/asn1c_defs/all-defs/DL-Total-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..748d7ee0294141ea93148b5cfeec393cf4b06ca5 GIT binary patch literal 2832 zcmbtW&5sOG5U<(BF4mY`BAXEUf|ZzOTO>9cWY}5TlCd`HBSNC}&h&mTA2Qvu!GTSd z!$gRSyQBX>A`%CVvL}g)I~NX4VpYAa*Ymt-9F+9DU;V1;ebjqZ>;6RPbWbJ&N-}T) zI+|hu-f!sOf`kPafE>6Fzn?$TUUl2=qN4NBT{%%%a@>cjFV|3_{qD+_zS5)K(&H@@ za$~m}1GoLnZU1!JZ=KgC*H$lIX@9u-X6v41@=0Pp%h=c-r?@f5vCit}H{{6DgJUm$ zilecjDYO?7jrt=L;*cNKow8R6=E6gMwVIcpSjt~$M1D0tJ##AG3jO&&lwof;W-s~G zR$$i~kv+e-6x8iuB==ShNL#s452L2PSdZ*Ef3X@=5^MK#f85YN4CY;#`ai-Gb049} z@$oTx_~LA<9<}VF;)oc@J1wa>_nc8Nazr=>Vji}0WajP+WNzm&JNtY4p5o#Mk>AC( z7LCPhZl&j1cBquKFJ*^LW^?14vVHF6Dao*7%0TB>2VYa~%u0Qs02cmB6ANcb6ARX- z(Kw6t*fkGJzBG+MxC6foY)nXfB}?NI2Lu*u*3|@C(4SxhMkVOp=W)qzNOG zmX(KP<;k-0B7Z*g91x}P5&AhyKMtfgcB<ZDpusqMyqhLO0N^*K)#*6OU z3exrvPmQ|(80K?OpP}3N5x0^xvXKx^%}wz>ktn8rEv6-(MXdapmN!7JZj1?8kBF%b zbYA72_(AriVTdvDo!8jezsVOg|80zEa5Y}7MU>4vor}IiM0lqb`LiIf)y3n2Ld~G+ zizv7qfvEVA4`Mb9K{Okrkh>#Be^>F^WsGz{q^uyyjan_J<3!kL12H*uF&{>L`6l}Z z3*KDQuhEH!7iz@yD2e4TZA1GJ91XLW!3m^VAw zYvf6ix{B50URag=m*zC%bF^5Bm^8g>;tm_WDxUhgE^7a3o&p-v;*YVzSv{D2iBjYX2(#*N~&7etYBO$AsSBk?#7-GKU<+ zkC0K5evUWur_Qa$2F56?g~O=1AvT)64>;a*SMjbsDPnbgMc+q|mcL;x2$d(wAN4~O zuXx&zxi(U;%;YED@K)rgznJmVyUe>s3a)eFUy-7TdHw;krNtL`|4+17f@b_L#0?*_ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.c b/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.c new file mode 100755 index 0000000..028fda6 --- /dev/null +++ b/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DL-non-GBR-PRB-usage.h" + +int +DL_non_GBR_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DL_non_GBR_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DL_non_GBR_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_non_GBR_PRB_usage = { + "DL-non-GBR-PRB-usage", + "DL-non-GBR-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_DL_non_GBR_PRB_usage_tags_1, + sizeof(asn_DEF_DL_non_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_non_GBR_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_DL_non_GBR_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_non_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_DL_non_GBR_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_non_GBR_PRB_usage_constr_1, DL_non_GBR_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.h b/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.h new file mode 100755 index 0000000..0044b8b --- /dev/null +++ b/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_non_GBR_PRB_usage_H_ +#define _DL_non_GBR_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DL-non-GBR-PRB-usage */ +typedef long DL_non_GBR_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DL_non_GBR_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DL_non_GBR_PRB_usage; +asn_struct_free_f DL_non_GBR_PRB_usage_free; +asn_struct_print_f DL_non_GBR_PRB_usage_print; +asn_constr_check_f DL_non_GBR_PRB_usage_constraint; +ber_type_decoder_f DL_non_GBR_PRB_usage_decode_ber; +der_type_encoder_f DL_non_GBR_PRB_usage_encode_der; +xer_type_decoder_f DL_non_GBR_PRB_usage_decode_xer; +xer_type_encoder_f DL_non_GBR_PRB_usage_encode_xer; +per_type_decoder_f DL_non_GBR_PRB_usage_decode_uper; +per_type_encoder_f DL_non_GBR_PRB_usage_encode_uper; +per_type_decoder_f DL_non_GBR_PRB_usage_decode_aper; +per_type_encoder_f DL_non_GBR_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_non_GBR_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.o b/asn1c_defs/all-defs/DL-non-GBR-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..04900b0ed24712324132245704909175ae7a0f1b GIT binary patch literal 2840 zcmbVOPfrs;6rZvR2v`bwAi?NfP)O|1B_tAJNPz-NY=EE`qY2B>E`Qst>23*l5E3Mz zF&e*siATSK7ZMI~=0xJfJ6`nQ$%yaG&Md>QaPX1YdGGh$n|bqQ-Yc6U+0mLoO9IA%BtaLlly=*mYvioFv*2~xg+h`snQYQ6xyiAi>EzV(P_p9Liw@0^4zFKd zvkMhRcT2v$xV+}LdMAJ#`7Wl*m0Zs++sm%6FWAckCm(8~7Q8U1OBCu|sq!VRXH@kl zjSUa?>zy<671yum4`?qjqaHd`4iuS{85y-Q zSqlowg2J+(uq;+smTxb5mO*HCIE9}c{1_zC^t8e*U6Ls$r>qIvhaw$!eP_`rGjM8T z+VVGEI?<5?%R?-k{5;ri@Rt4rE#<_JaBOk{w{(^pBt_*FcO#z2VQU|jGqIghy53n3jpK$r&{AyIFm=-cyzLcNy0dPV~Xs%Q&IxZ{({nnvl6EjKA zw{xr9-dVC1%68ESgZh6)2Uk41+6mHtA&EK(q_a6ftQ`jSf;0@7I(aG2aS-1C?j!D5 z+}~Y}s~v3*aHO!l0x`T7F0ww1YpVVU+$@4r7~eHwJ&LXHrwT6O7we=!ALT#54JH+T z;V0%N++U6V6E|2={B=df^`r8?%k%%4+hhLm{|6Dj$p0*0xYe0Aj&>Z7`#iwseqj~> zL;n;iC2HdS_&X_+IJcNfpcK4p*QW-=m8$Iname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_DL_scheduling_PDCCH_CCE_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DL_scheduling_PDCCH_CCE_usage = { + "DL-scheduling-PDCCH-CCE-usage", + "DL-scheduling-PDCCH-CCE-usage", + &asn_OP_NativeInteger, + asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1, + sizeof(asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1) + /sizeof(asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1[0]), /* 1 */ + asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1) + /sizeof(asn_DEF_DL_scheduling_PDCCH_CCE_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DL_scheduling_PDCCH_CCE_usage_constr_1, DL_scheduling_PDCCH_CCE_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.h b/asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.h new file mode 100755 index 0000000..b2f70c9 --- /dev/null +++ b/asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DL_scheduling_PDCCH_CCE_usage_H_ +#define _DL_scheduling_PDCCH_CCE_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DL-scheduling-PDCCH-CCE-usage */ +typedef long DL_scheduling_PDCCH_CCE_usage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DL_scheduling_PDCCH_CCE_usage; +asn_struct_free_f DL_scheduling_PDCCH_CCE_usage_free; +asn_struct_print_f DL_scheduling_PDCCH_CCE_usage_print; +asn_constr_check_f DL_scheduling_PDCCH_CCE_usage_constraint; +ber_type_decoder_f DL_scheduling_PDCCH_CCE_usage_decode_ber; +der_type_encoder_f DL_scheduling_PDCCH_CCE_usage_encode_der; +xer_type_decoder_f DL_scheduling_PDCCH_CCE_usage_decode_xer; +xer_type_encoder_f DL_scheduling_PDCCH_CCE_usage_encode_xer; +per_type_decoder_f DL_scheduling_PDCCH_CCE_usage_decode_uper; +per_type_encoder_f DL_scheduling_PDCCH_CCE_usage_encode_uper; +per_type_decoder_f DL_scheduling_PDCCH_CCE_usage_decode_aper; +per_type_encoder_f DL_scheduling_PDCCH_CCE_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DL_scheduling_PDCCH_CCE_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.o b/asn1c_defs/all-defs/DL-scheduling-PDCCH-CCE-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..a52acea0a7f0c217759489ad570e45edbd0dcf26 GIT binary patch literal 2888 zcmbVN&rcIU6rNIrs#uG9AkpZ0P$97cYe*m*Oiha{NrObi5KUZ`c4@(OYr0#49@L1& zH2#SG2Oj+sj9y4Q=$Vs=7w>w}L{CP1Z~A6C3=0@v(|zxK?|Uo1jfg+*-@i!damIG4P%%O@xip&5T1G09N~jQ-0W}R>@bZNyK{-fmQ%4K z-Ccq4k5a6GI+skXblgbx=99+NWbgT8D!VtCu=Y&~goqIe-(wg19=T`n$P>y~ z9DY#}hmoQr&UQz^FiPhZxPHnQI|0lX+Y|ETOp^j{*E1C|u+BDLfdSvAx}hCs-Jvaw z2g2A~|6_r7hI=6SPYIX4s^e_0>I(ZMJP#`CEcOzxxA5;#x~(kOjC}!}B71|{_IyL< zK)2bsu?u!CZ?`+l79D0ohuNaT?7%7cwkgO{W0&mU_APgZj8?}%4$o%?@o^R(Cfk0V zcAx%RVS;sW%ARxr==ljRa7%6--@lI*0q-Zg{C>BtpmkHhlM3!AxXQ08_yL7au-G9y zt)m2pJ_Z~6N5$pdAbyCrsCvmpTs;M{ejU#!{PyXFdt1SK$VO$5jq8B_P`H1)8aQ)| z!@bzjWogyjio*kUIbgi#1P8t_K6bwe0fo z$?3EoIE9WF&#~47K;sZpzf6zDZp$OjFIHsPT!pR~;hw)q^c2?uc{9z53^~-TG5Rb|q zC&G-DFY~0nLiu|AuZU3A@(sfWVE#F_l_rQo+zgcPs zxlXu#_%)OH632Skf3D=B HsptO%(|S9e literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.c b/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.c new file mode 100755 index 0000000..2c5c382 --- /dev/null +++ b/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DLResourceBitmapULandDLSharing.h" + +int +DLResourceBitmapULandDLSharing_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const DataTrafficResources_t *st = (const DataTrafficResources_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 17600)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using DataTrafficResources, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DLResourceBitmapULandDLSharing_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 15, 15, 6, 17600 } /* (SIZE(6..17600)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DLResourceBitmapULandDLSharing_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DLResourceBitmapULandDLSharing = { + "DLResourceBitmapULandDLSharing", + "DLResourceBitmapULandDLSharing", + &asn_OP_BIT_STRING, + asn_DEF_DLResourceBitmapULandDLSharing_tags_1, + sizeof(asn_DEF_DLResourceBitmapULandDLSharing_tags_1) + /sizeof(asn_DEF_DLResourceBitmapULandDLSharing_tags_1[0]), /* 1 */ + asn_DEF_DLResourceBitmapULandDLSharing_tags_1, /* Same as above */ + sizeof(asn_DEF_DLResourceBitmapULandDLSharing_tags_1) + /sizeof(asn_DEF_DLResourceBitmapULandDLSharing_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DLResourceBitmapULandDLSharing_constr_1, DLResourceBitmapULandDLSharing_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.h b/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.h new file mode 100755 index 0000000..d84bb00 --- /dev/null +++ b/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DLResourceBitmapULandDLSharing_H_ +#define _DLResourceBitmapULandDLSharing_H_ + + +#include + +/* Including external dependencies */ +#include "DataTrafficResources.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DLResourceBitmapULandDLSharing */ +typedef DataTrafficResources_t DLResourceBitmapULandDLSharing_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DLResourceBitmapULandDLSharing_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DLResourceBitmapULandDLSharing; +asn_struct_free_f DLResourceBitmapULandDLSharing_free; +asn_struct_print_f DLResourceBitmapULandDLSharing_print; +asn_constr_check_f DLResourceBitmapULandDLSharing_constraint; +ber_type_decoder_f DLResourceBitmapULandDLSharing_decode_ber; +der_type_encoder_f DLResourceBitmapULandDLSharing_encode_der; +xer_type_decoder_f DLResourceBitmapULandDLSharing_decode_xer; +xer_type_encoder_f DLResourceBitmapULandDLSharing_encode_xer; +per_type_decoder_f DLResourceBitmapULandDLSharing_decode_uper; +per_type_encoder_f DLResourceBitmapULandDLSharing_encode_uper; +per_type_decoder_f DLResourceBitmapULandDLSharing_decode_aper; +per_type_encoder_f DLResourceBitmapULandDLSharing_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DLResourceBitmapULandDLSharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.o b/asn1c_defs/all-defs/DLResourceBitmapULandDLSharing.o new file mode 100644 index 0000000000000000000000000000000000000000..7b9b8cdd073fcf954b915d88534a31566ca4446e GIT binary patch literal 3032 zcmbVO&2Jl35Ff{-F->uumP4c>u|gCQso8p~NJK#(H+GVZw4_l!N>!w8H}*PqvDcAz zT~ZEIC`8DLf_g#X58%X!Gh8eX5)vG$oRBzBafJhL0EDWBndf=-%geSYjJ0oOes5;p z?7a78eP_m*9Y`cVQUYFwz9vzCPX_yPPKY@eh78!-e=g6r_vYK*MJ0P@Hf3*jTCcvb zz4zrlQuMOD^=r!68FY4^A)lKs+FikJ|6#WuS{McJoMiD$$8WVHHMi53#uNp)~*{jz4Qg1dc$^U@q zd#&qF8tNn&&gJt{#^~x=D~MXgE9Qim9k*ISv);2N&Fq9}jdgK&mIEi=U4q1BCUN%U zVCpU|K7sgiJohp2LOQcG;HF2Mv~eXpaw(n3pGc?XhOXl{J+vTjHjicWKF8qq*u782 zo^*gD{^BT!k>V%`PsPC)MV_XE(@9V+6HmQ>JONMl4AqsA3f?n7AqhjO+LMzYcB7}0 zuqd>{d9Dilc(3L{#o-#`QdfBrPN=GoT^vs<^%Q%DSR0>V<$Wu{8sKx}8J1P{6)M9@ z{kwSs{PhU?BQ6%+JiM-MVP@8S{0(#?Z#{G^Fr9pshKn>x zNcac?l;kX!#YVmE2N($3yl>7etd56~SA3i8{fb*|dUd~-)c+R@bfwzr9Vmwwk-VQ> z?eJYZixbp?a?*hLJ#Ha4Sf{f=>&X3=`}z{&dMCY)IFY>9U9G<_Qa_IZ#nkq`G3d;Q<}f@lYE8!_5AO%K}GX7H2pH_arMvghIZJV z>Q7%2nZK<6b;M|?17{p{n*sIvg7Bd)TNyF(&(fqq4*S#os3hN8@&-;yS+(2L6XHqT z_5=3U&85G7e&qYhweFx0SHIu5ezHzfKk9qZU*eRHzBWSeErWk^!t~#f`i|~TJx$+x bgrLKP&uA~KsrU_y_fPR(hmRpresent), + asn_MAP_DLResourcesULandDLSharing_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_DLResourcesULandDLSharing = { + "DLResourcesULandDLSharing", + "DLResourcesULandDLSharing", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_DLResourcesULandDLSharing_constr_1, CHOICE_constraint }, + asn_MBR_DLResourcesULandDLSharing_1, + 2, /* Elements count */ + &asn_SPC_DLResourcesULandDLSharing_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DLResourcesULandDLSharing.h b/asn1c_defs/all-defs/DLResourcesULandDLSharing.h new file mode 100755 index 0000000..30c8325 --- /dev/null +++ b/asn1c_defs/all-defs/DLResourcesULandDLSharing.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DLResourcesULandDLSharing_H_ +#define _DLResourcesULandDLSharing_H_ + + +#include + +/* Including external dependencies */ +#include +#include "DLResourceBitmapULandDLSharing.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DLResourcesULandDLSharing_PR { + DLResourcesULandDLSharing_PR_NOTHING, /* No components present */ + DLResourcesULandDLSharing_PR_unchanged, + DLResourcesULandDLSharing_PR_changed + /* Extensions may appear below */ + +} DLResourcesULandDLSharing_PR; + +/* DLResourcesULandDLSharing */ +typedef struct DLResourcesULandDLSharing { + DLResourcesULandDLSharing_PR present; + union DLResourcesULandDLSharing_u { + NULL_t unchanged; + DLResourceBitmapULandDLSharing_t changed; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DLResourcesULandDLSharing_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DLResourcesULandDLSharing; +extern asn_CHOICE_specifics_t asn_SPC_DLResourcesULandDLSharing_specs_1; +extern asn_TYPE_member_t asn_MBR_DLResourcesULandDLSharing_1[2]; +extern asn_per_constraints_t asn_PER_type_DLResourcesULandDLSharing_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _DLResourcesULandDLSharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/DLResourcesULandDLSharing.o b/asn1c_defs/all-defs/DLResourcesULandDLSharing.o new file mode 100644 index 0000000000000000000000000000000000000000..dd4d2c190960b12c2a9f82026953a3207e964602 GIT binary patch literal 2832 zcmb_d-D(p-6rMCy>u-%Bh$5^YSiufSDOglwZJM@9Y?qc?Z@1eesWzLC-9USzeE=_d z=_7dAOYzD_=o5&KpiiLZn>~|^|v=qb(F|;%*gm+v_aD?^r-pUylw0AFi5pjtv+?88k_w% z?K@B8tSnDg`pT-juguBvtgJlB_(4b>zwx`+e5NnY|10sxzfT%+m?`m{bjg^nJ~I=vF?o4zjo`(|3ob(uB(eYIrRR_I@zbC= z6YcmF<+@N?9PO$+Rz1JEy!xtIQA<w|d^NBI|8wP)5@EHFcwtpJ@O~z1DNI(Jw{|7Kg^ccYZ zb*p5u*G_{?A!#2o-O?zHc2gm@f;13vGf9N(bzs1=A}eG@JAvv3vP`+t2?LNSM98qy zZbx(~WZX$3xwO)lPSPNJr^a@c<}L+ePIyO6aZSU(ygUQuJ|S@S3+J+j$66~#1J(~o z<1E?n2bP~U?fQ?Y1Kf;uV6EfPZ;FoB+NDllyZ$%gAZ6{CnZjYM)iVNk#a&IXKIF@S z_X=`_K2ZAJ+y+UqN?%@m{eAd=1ctdp^)W_e$uJ03v`u2a-Wx}C8 zQykME+@ufjWsBe7_>name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DRB_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DRB_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DRB_ID = { + "DRB-ID", + "DRB-ID", + &asn_OP_NativeInteger, + asn_DEF_DRB_ID_tags_1, + sizeof(asn_DEF_DRB_ID_tags_1) + /sizeof(asn_DEF_DRB_ID_tags_1[0]), /* 1 */ + asn_DEF_DRB_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_DRB_ID_tags_1) + /sizeof(asn_DEF_DRB_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DRB_ID_constr_1, DRB_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/DRB-ID.h b/asn1c_defs/all-defs/DRB-ID.h new file mode 100755 index 0000000..2fc2abe --- /dev/null +++ b/asn1c_defs/all-defs/DRB-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DRB_ID_H_ +#define _DRB_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DRB-ID */ +typedef long DRB_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DRB_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DRB_ID; +asn_struct_free_f DRB_ID_free; +asn_struct_print_f DRB_ID_print; +asn_constr_check_f DRB_ID_constraint; +ber_type_decoder_f DRB_ID_decode_ber; +der_type_encoder_f DRB_ID_encode_der; +xer_type_decoder_f DRB_ID_decode_xer; +xer_type_encoder_f DRB_ID_encode_xer; +per_type_decoder_f DRB_ID_decode_uper; +per_type_encoder_f DRB_ID_encode_uper; +per_type_decoder_f DRB_ID_decode_aper; +per_type_encoder_f DRB_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DRB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/DRB-ID.o b/asn1c_defs/all-defs/DRB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..4fd324fd42d5a9691d03c10b5b9faa9ecac204f5 GIT binary patch literal 2744 zcmbtVOK%iM5bpI5+riFeZE~;#g1I;`QQY1^NLW5ZyLfG8rIl?t0U?kwjMw7_>;vu0 zS|$fT7#~&^h@ZiK;DVG(6fVf8NIAgK5?tUA^?)JaGlsmiS&Wotz?({nUxLbP}ck9118;-lZ z`)nU1`oZ0L+h5t~t33J!nKw_nvEg>!yPXft^GfGcaew#fwa(wy|42yh6)8>x?#*E$ zIlFKEQsc*;9#CIVLxksUqeFs|Kw07Iwe1V?yv&a~ZRI(4ok^KLFP*b7F217NF{4u$&M7Wx#{EC{^G!#LMSms;X00qcd2_~CA-*7w1m|SkY_

A+7$HrzE)&X3?~l^ap88nhI+Ftg}IcWwvVf7}I( z5DTso1>Xa#^8fLb-=9Pf1aW+Q821qbG4ty&tne(@oKLW-B%Yor0@S?%8_%o-l<3al92E`#d?jcR#5Y06l_L9 zF8h%$5iQ2c41o;MD|WBu_}=J|8|e*+AM>N?}#@6q`BI}PxmKg0@Pn3~6+CU1$4|2bU< zRvg5e&=}M6M$8FO(9C^Ed^4T-uHGrwyncr7fst0fmsCHl6V?ykL*_G%^D)N;NZcUs pHBIdo=&Y8W&BI{}I<%0r3C; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DataForwardingAddressIndication.c b/asn1c_defs/all-defs/DataForwardingAddressIndication.c new file mode 100755 index 0000000..8e94696 --- /dev/null +++ b/asn1c_defs/all-defs/DataForwardingAddressIndication.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DataForwardingAddressIndication.h" + +asn_TYPE_member_t asn_MBR_DataForwardingAddressIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P118, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_DataForwardingAddressIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DataForwardingAddressIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DataForwardingAddressIndication_specs_1 = { + sizeof(struct DataForwardingAddressIndication), + offsetof(struct DataForwardingAddressIndication, _asn_ctx), + asn_MAP_DataForwardingAddressIndication_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DataForwardingAddressIndication = { + "DataForwardingAddressIndication", + "DataForwardingAddressIndication", + &asn_OP_SEQUENCE, + asn_DEF_DataForwardingAddressIndication_tags_1, + sizeof(asn_DEF_DataForwardingAddressIndication_tags_1) + /sizeof(asn_DEF_DataForwardingAddressIndication_tags_1[0]), /* 1 */ + asn_DEF_DataForwardingAddressIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_DataForwardingAddressIndication_tags_1) + /sizeof(asn_DEF_DataForwardingAddressIndication_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DataForwardingAddressIndication_1, + 1, /* Elements count */ + &asn_SPC_DataForwardingAddressIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DataForwardingAddressIndication.h b/asn1c_defs/all-defs/DataForwardingAddressIndication.h new file mode 100755 index 0000000..5930a60 --- /dev/null +++ b/asn1c_defs/all-defs/DataForwardingAddressIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DataForwardingAddressIndication_H_ +#define _DataForwardingAddressIndication_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DataForwardingAddressIndication */ +typedef struct DataForwardingAddressIndication { + ProtocolIE_Container_8180P118_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DataForwardingAddressIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DataForwardingAddressIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_DataForwardingAddressIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_DataForwardingAddressIndication_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DataForwardingAddressIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/DataForwardingAddressIndication.o b/asn1c_defs/all-defs/DataForwardingAddressIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..c73a8de9d81ef3511efb05104f9be151119ac338 GIT binary patch literal 2696 zcmb_dOK;Oa5T4Y$Uu}T{5|vD%2#uIw$33q^th zH#l;-_BR>4qEgolYDi$x_(q`kw4Y;UK60nYB#2AS`!`MZSt3L+~3# z+5bb|#UvFiQPKDnPh-%A67V2&i%H9brAR2pvM6R$e$)|w%pbF!?pTy ztquyfeiSA$_PU|Wir-loSv(u&YO6NVGuaM&H7y!ttACl?S`Uad~Yfk)HpU2Y(248DnYg+HWe&=A`X#L%zCP zL4!E+rE_#A4V&@Tu#eXIU*oT1EajZVPZx)cvQ8q__m#RF{PM=Xjy%ctO!eDxA7$Vc zDteQh%!tRRG(f?v%ZTQ zl`{We+g$%5_USUA8;CdXBUf|%Uvs?q2Vpvmp;S*e-kj$h@84TWrimH<2W*?`^Z)<= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DataTrafficResourceIndication.c b/asn1c_defs/all-defs/DataTrafficResourceIndication.c new file mode 100755 index 0000000..a5c3368 --- /dev/null +++ b/asn1c_defs/all-defs/DataTrafficResourceIndication.c @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DataTrafficResourceIndication.h" + +#include "ReservedSubframePattern.h" +#include "ProtocolExtensionContainer.h" +static int +memb_activationSFN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1023)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_activationSFN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_DataTrafficResourceIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DataTrafficResourceIndication, activationSFN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_activationSFN_constr_2, memb_activationSFN_constraint_1 }, + 0, 0, /* No default value */ + "activationSFN" + }, + { ATF_NOFLAGS, 0, offsetof(struct DataTrafficResourceIndication, sharedResourceType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_SharedResourceType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sharedResourceType" + }, + { ATF_POINTER, 2, offsetof(struct DataTrafficResourceIndication, reservedSubframePattern), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReservedSubframePattern, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reservedSubframePattern" + }, + { ATF_POINTER, 1, offsetof(struct DataTrafficResourceIndication, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P131, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_DataTrafficResourceIndication_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_DataTrafficResourceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DataTrafficResourceIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* activationSFN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sharedResourceType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reservedSubframePattern */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_DataTrafficResourceIndication_specs_1 = { + sizeof(struct DataTrafficResourceIndication), + offsetof(struct DataTrafficResourceIndication, _asn_ctx), + asn_MAP_DataTrafficResourceIndication_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_DataTrafficResourceIndication_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DataTrafficResourceIndication = { + "DataTrafficResourceIndication", + "DataTrafficResourceIndication", + &asn_OP_SEQUENCE, + asn_DEF_DataTrafficResourceIndication_tags_1, + sizeof(asn_DEF_DataTrafficResourceIndication_tags_1) + /sizeof(asn_DEF_DataTrafficResourceIndication_tags_1[0]), /* 1 */ + asn_DEF_DataTrafficResourceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_DataTrafficResourceIndication_tags_1) + /sizeof(asn_DEF_DataTrafficResourceIndication_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DataTrafficResourceIndication_1, + 4, /* Elements count */ + &asn_SPC_DataTrafficResourceIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DataTrafficResourceIndication.h b/asn1c_defs/all-defs/DataTrafficResourceIndication.h new file mode 100755 index 0000000..f3584ce --- /dev/null +++ b/asn1c_defs/all-defs/DataTrafficResourceIndication.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DataTrafficResourceIndication_H_ +#define _DataTrafficResourceIndication_H_ + + +#include + +/* Including external dependencies */ +#include +#include "SharedResourceType.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ReservedSubframePattern; +struct ProtocolExtensionContainer; + +/* DataTrafficResourceIndication */ +typedef struct DataTrafficResourceIndication { + long activationSFN; + SharedResourceType_t sharedResourceType; + struct ReservedSubframePattern *reservedSubframePattern; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DataTrafficResourceIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DataTrafficResourceIndication; + +#ifdef __cplusplus +} +#endif + +#endif /* _DataTrafficResourceIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/DataTrafficResourceIndication.o b/asn1c_defs/all-defs/DataTrafficResourceIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..b5284db2ec75c2f20c9a8705623e7be3e5673078 GIT binary patch literal 4504 zcmb_f-D@0G6u+CTO>FCSYb&N!>G)7h(M&UGp`j0D<7V3_r0JS%r6{Ar@Q*EyZXIzd-DF;#aCC?U;AeF z!5sJ_!{3x)q73$z_K~5p_VagY{^T(LYzH+B78nK-27<)>e%!W?cv0Z^<%(R0j(D}& zs1l~U*gGG33ky|$Rz{6x=*u%frRsZewGr69I24_*T3)Rwt)LNGi`AA4tPubYRSv5$ zzY#=n=v9N*TJWkhS!s{<^(;I;uC~-9rBgE^TJl0!;Q-EGxhzE}BN?`2rPQ2X2)(*2 zdT}hnKvWB(h2>ZV5yThuTks}h=2FEPiL%GGQ*RZY<@>(sIYTJA*9%aVa~USKe~P!(mhU1x?_bK zPSZWIm==$0C}~n!Wm5w{d=}b(Hm_P6siehVr!w>=p{2ymcAj}31BDNY72rs7xKN-^ zp{2y5O2!ACW2Ur*GxjYA=$|P^!e778Bv$`?K@Ats3_rSmEf&bV8 z|Fs7$`qmAoNOf7CFL#uW@jKKs(_Cd!G^QZc`YUUXUd zZLgEXO|&6|aarRaHdSxb*>$lnTke^K^0=_4^JDl>(iRh<(sr&`E)`zBP?*UV1PfYn z+o_#_!rg*06*4SOj30H1&QXVt z=nEv^cXuzef3Q#i9n*09wleN%xUOH<@Fz5Vg5jM`YQhNu_&Z?Y{O%w=%*L9G_-<%9 zXhGy=Gc@L0`Yy=g7Sbrhuisbv1;9S>mXvNUKLi#r}{29WKt!p^O^D&L-`-1so z;=MpK#5unfDd1Z5^$I(>QjfiP;BlDnC6+>2^XynI$HK0_eOcJ^Q6%iJfgMzL?1|2< z16{OH3LqI>yVmeM1eFJ2`;B^C2H+j;*wQ{db73@!J^u}|l1pWE1E#?LC$qpFbAmb4 zDMuZ>E+dpBoEh#p*5Vuk#Mi0x&QTxja30p< zw9nG{Fw|8HI))z-R2|nrklFsYfph%qJ_qC7>`#-z7lu9CF+WfCX8e2@@3JEKu?&Cb zpx-V36L?_-x=Hq!f4o(3{G5LuFjO(;ze~UvjOk?Q9gts#)@}ZKbd_RzoF9*bIY0ih z;rt!%9`r4A3RFy3`)ReMM0g7r+Vea-e3|U=eCR~!P&SCa2aPdZ?>gD*7|N#Z=Y*N@ z-ynO}aKP(l_!AINHOBz)VY;&MK4JdwpM&ig$9T-S(ZxNQ{|*iA0qjX=rakV7x%U8x aTXY5AZ#XyCkAAz^k5T+zqBD(5`~Lt#8TbqU literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DataTrafficResources.c b/asn1c_defs/all-defs/DataTrafficResources.c new file mode 100755 index 0000000..2a93b16 --- /dev/null +++ b/asn1c_defs/all-defs/DataTrafficResources.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DataTrafficResources.h" + +int +DataTrafficResources_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 17600)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DataTrafficResources_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 15, 15, 6, 17600 } /* (SIZE(6..17600)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_DataTrafficResources_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DataTrafficResources = { + "DataTrafficResources", + "DataTrafficResources", + &asn_OP_BIT_STRING, + asn_DEF_DataTrafficResources_tags_1, + sizeof(asn_DEF_DataTrafficResources_tags_1) + /sizeof(asn_DEF_DataTrafficResources_tags_1[0]), /* 1 */ + asn_DEF_DataTrafficResources_tags_1, /* Same as above */ + sizeof(asn_DEF_DataTrafficResources_tags_1) + /sizeof(asn_DEF_DataTrafficResources_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DataTrafficResources_constr_1, DataTrafficResources_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DataTrafficResources.h b/asn1c_defs/all-defs/DataTrafficResources.h new file mode 100755 index 0000000..e62f896 --- /dev/null +++ b/asn1c_defs/all-defs/DataTrafficResources.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DataTrafficResources_H_ +#define _DataTrafficResources_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* DataTrafficResources */ +typedef BIT_STRING_t DataTrafficResources_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DataTrafficResources_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DataTrafficResources; +asn_struct_free_f DataTrafficResources_free; +asn_struct_print_f DataTrafficResources_print; +asn_constr_check_f DataTrafficResources_constraint; +ber_type_decoder_f DataTrafficResources_decode_ber; +der_type_encoder_f DataTrafficResources_encode_der; +xer_type_decoder_f DataTrafficResources_decode_xer; +xer_type_encoder_f DataTrafficResources_encode_xer; +per_type_decoder_f DataTrafficResources_decode_uper; +per_type_encoder_f DataTrafficResources_encode_uper; +per_type_decoder_f DataTrafficResources_decode_aper; +per_type_encoder_f DataTrafficResources_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DataTrafficResources_H_ */ +#include diff --git a/asn1c_defs/all-defs/DataTrafficResources.o b/asn1c_defs/all-defs/DataTrafficResources.o new file mode 100644 index 0000000000000000000000000000000000000000..44357cb1738f94e2355caa18a9e81ad7907c5697 GIT binary patch literal 2952 zcmbVO&2L*p5MRfoF->uumP4c>@eULcsoDBfk*LCloH`#b!lYJ`RuxEjeX*aLw2oc* zJ(rdP1%*ghQBW^jIQ75*@fRStSVBF)0p(N)iB`SB1r7)yM3`C6Ja0CuR_a7=XXZB_ zJ3IT~+?grO4y00oDJ9+(eT`8eyurR)P+~z0i=6Pb{#u&v?9O+7jH}-EY{uK_w%>Sn zYxny-p!hX!^Y=_?d$6?g0>)f>#p?-P=TEQmpW7{U9!~A;UVg9h;Qb$J$6lTmV*66g z+c|XqABc8;*?c_cjs5Js^&J>K_y(QsdYt+vmAaP>X1I2OQoFmqeWmK_4_FFPAL&a2 zAReO+(Ze_Zbzw>yNqHuS8g9j}hPCKSP_K_GVLFI|Ib4uZd zlb$OThFQW{*LhkT(N!hC1LJY6pK9*_yAI#5w%#@6EyQQQb0q8ROHhWj{+G#kAGpn5 z*e(LxEVzXJ^vtYpGy8FHHS%2{OT|16XK`??nf(3@d}2yvyioSf&oBE+%Zu|1a|$WX zEc)^78=<|7UT!D^i(M)gwP-)O5mq8t^BAok-yz)9e|t~W-dPRDx0CTtG+g)J(eSM1 zPq5lKJgt)iWQgPa(Q)1b#E+8?GCaRXi1$yi5Tgn`h!-^c1j)!e4d=NKx}xFyb|B;s zj{U(eAsOA?h=Wxj;Q{UOHI`aoJ&=0fPdE(>bDHsaoXkQd?1B$seC|1f z<0S*cxqi-50NfV8LJk*o-qW*WuAN!BL4qQL?e+4j{ zYTp?LeUt$G_X6Mpzf?8AFg}k)jZRZM?vGBqZstuevaI`EHVY!7>H8_go9-NMo*!O6 z&vgd`TmSCi;{?Qg!v5jA$MK9~J?7j1iLVL#n+nGN_3-YP@%W~hdk>JfM~(j#6^+dG S4};AX|1H)3xfY9}8UH`uuSe(r literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DeactivationIndication.c b/asn1c_defs/all-defs/DeactivationIndication.c new file mode 100755 index 0000000..6ddf9dc --- /dev/null +++ b/asn1c_defs/all-defs/DeactivationIndication.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DeactivationIndication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_DeactivationIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_DeactivationIndication_value2enum_1[] = { + { 0, 11, "deactivated" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_DeactivationIndication_enum2value_1[] = { + 0 /* deactivated(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_DeactivationIndication_specs_1 = { + asn_MAP_DeactivationIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DeactivationIndication_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DeactivationIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DeactivationIndication = { + "DeactivationIndication", + "DeactivationIndication", + &asn_OP_NativeEnumerated, + asn_DEF_DeactivationIndication_tags_1, + sizeof(asn_DEF_DeactivationIndication_tags_1) + /sizeof(asn_DEF_DeactivationIndication_tags_1[0]), /* 1 */ + asn_DEF_DeactivationIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_DeactivationIndication_tags_1) + /sizeof(asn_DEF_DeactivationIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DeactivationIndication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DeactivationIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DeactivationIndication.h b/asn1c_defs/all-defs/DeactivationIndication.h new file mode 100755 index 0000000..b53061c --- /dev/null +++ b/asn1c_defs/all-defs/DeactivationIndication.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DeactivationIndication_H_ +#define _DeactivationIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DeactivationIndication { + DeactivationIndication_deactivated = 0 + /* + * Enumeration is extensible + */ +} e_DeactivationIndication; + +/* DeactivationIndication */ +typedef long DeactivationIndication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_DeactivationIndication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_DeactivationIndication; +extern const asn_INTEGER_specifics_t asn_SPC_DeactivationIndication_specs_1; +asn_struct_free_f DeactivationIndication_free; +asn_struct_print_f DeactivationIndication_print; +asn_constr_check_f DeactivationIndication_constraint; +ber_type_decoder_f DeactivationIndication_decode_ber; +der_type_encoder_f DeactivationIndication_encode_der; +xer_type_decoder_f DeactivationIndication_decode_xer; +xer_type_encoder_f DeactivationIndication_encode_xer; +per_type_decoder_f DeactivationIndication_decode_uper; +per_type_encoder_f DeactivationIndication_encode_uper; +per_type_decoder_f DeactivationIndication_decode_aper; +per_type_encoder_f DeactivationIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DeactivationIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/DeactivationIndication.o b/asn1c_defs/all-defs/DeactivationIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..2974eaae3310c4e7977a36c18efd966ddc4de86e GIT binary patch literal 2576 zcmbtVJ#W-N5Z%K-_)ItoK+qhbAV|bIN0C4vkWq3;KoG2;h|+9)tK{I$j?Q}#X&@2} zB_%%u3Cfh|_$~BEVP-w!+w9p&!ASPZyqUK%>mA#lJ1>_{H5!7YA)bn{$EXm|*|8lO zGZZsoT3GNn!Lg1=9Jtb5QZmuKU8#Fn`aJFS5@U%j!>U_Js|DS?xPC3s3Cucvor~+A zg6pI@7u^L`78f72W;ZrRsUEc+_zQk}E*Kdv_!K2J0cnV-61SP2g_j9nc;cMx8asr01MoIQZjkO9e5&l| z`1%u1*|0ouf!Jg99n7ZH|2Bnwg1$0NE3MyPHLd3sQRFY^s{CtkFimS;sH8jRDzqg1n1tKKAs>K z=d(e4#^UolAf zLOjU^0|kfVrEQ`6e+y)0R_sbPhQbd|niw)9u zLF4mw`QMy8cHR2-A%NICCy-|T9S3JV>k#5-yY&wML)k7=d2f|gVLS$fvl13=c|V{5 zIw0f{Xq+FOGoJq!fMI?7huJbq4RSumcrMw03r1D{A@Nr^k#x)P*TJvqf1h4%=41cZ z3-`nQzXuFU@p}ZOk*`!A&&L*m4F~ZYF2?Mname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_highestSuccessDeliveredPDCPSN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_DeliveryStatus_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DeliveryStatus, highestSuccessDeliveredPDCPSN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_highestSuccessDeliveredPDCPSN_constr_2, memb_highestSuccessDeliveredPDCPSN_constraint_1 }, + 0, 0, /* No default value */ + "highestSuccessDeliveredPDCPSN" + }, + { ATF_POINTER, 1, offsetof(struct DeliveryStatus, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P132, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_DeliveryStatus_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_DeliveryStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DeliveryStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* highestSuccessDeliveredPDCPSN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DeliveryStatus_specs_1 = { + sizeof(struct DeliveryStatus), + offsetof(struct DeliveryStatus, _asn_ctx), + asn_MAP_DeliveryStatus_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_DeliveryStatus_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DeliveryStatus = { + "DeliveryStatus", + "DeliveryStatus", + &asn_OP_SEQUENCE, + asn_DEF_DeliveryStatus_tags_1, + sizeof(asn_DEF_DeliveryStatus_tags_1) + /sizeof(asn_DEF_DeliveryStatus_tags_1[0]), /* 1 */ + asn_DEF_DeliveryStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_DeliveryStatus_tags_1) + /sizeof(asn_DEF_DeliveryStatus_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DeliveryStatus_1, + 2, /* Elements count */ + &asn_SPC_DeliveryStatus_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DeliveryStatus.h b/asn1c_defs/all-defs/DeliveryStatus.h new file mode 100755 index 0000000..8671f48 --- /dev/null +++ b/asn1c_defs/all-defs/DeliveryStatus.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DeliveryStatus_H_ +#define _DeliveryStatus_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* DeliveryStatus */ +typedef struct DeliveryStatus { + long highestSuccessDeliveredPDCPSN; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DeliveryStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DeliveryStatus; +extern asn_SEQUENCE_specifics_t asn_SPC_DeliveryStatus_specs_1; +extern asn_TYPE_member_t asn_MBR_DeliveryStatus_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DeliveryStatus_H_ */ +#include diff --git a/asn1c_defs/all-defs/DeliveryStatus.o b/asn1c_defs/all-defs/DeliveryStatus.o new file mode 100644 index 0000000000000000000000000000000000000000..639669f41c6f86064fc5ec063f20f347049ab302 GIT binary patch literal 3960 zcmb_f&2Jl35Py!L32kxRhL1pyx(5obAX{%5i71E4spHm>(sYRlLLjl(Y&NlrKah7F zr6562>A^xs9Ewy9NJ#tx9Fe$0LV_M42ZYp1?^G3V01k*S^LEDj{IU*3Fw)zZ`MsHW z^XBc&v)?T(To_8F1XD_!6S2mq5MLgS<$@FoVpNi$}9 zwm+1p);6ks5LP;#=LZ2z`fK)F(XK3tT4|!R75dGf2JsHcd(fPImbyO359|7G34QLj z&i@n}^TaU%;}DGhD=viUqa0{i1=07-_0n;6(Q(X`ebA=B`o&^##>g$NcA8XZsHO7gjjDaiPTm$HGXt>;q(hw<$(&E7+7@}a6`soCy zL&~~xZ)B1d!~MpforjSUM}$E$Y6fZX5TP+!0TJz)3=+11BmOk${c&P@niii*`?wA^ zPXJE~+2a%>64N5H5Bpvs`|Iq8u&brFevIDA!5O+X5uGFnc)4u~(-*K<9YSYq_>EQPz^>@T&DF64v}`~2%!*yqCxSP9kF&;tEV?0FOY_ap-|*YLGTH4`*z#KS-nCL}HAA?k{I)Ya zdDgP6vy*s~&(V2ee>)E2Pi(+IQwomXEaR?%tM&~AA64uLmR~$}gBb#_-y^~6BD)0R z{B9!t7#a|b5l0-qK7(}Z>qt6Yj$nyDPBJoE!8s;ED+>Mu$;fUh_>&6G-v_Q6cM16Y zq}Z!>#&-&ib(kmpX9XW88Cebk10h5E4OD>Cx~W}=_ri7HK4(ZT?77h(RR}Y<+6diM z;9)!BRhHU*-8DmhD-`CM8@j?=4FX}dTd1J9Wls027O3bW4M5UVv)=Mt1Z4zadaXvo zZ$fnVN#&at7ndi3(DmLRFTd)nx7~){%k)1926%G~)j$PO)cXgaEaA-XOz^HKFhG2a z4q}CL^uu-deE2+`AzXb&&}9c7Kz77>PopPA0{#xbn7V%!7fT==w!j84`LQeZ?4MIG z6ghv6QvfW4W(DFc?$qZtN>aG^^WwLjHRGH_5-O1_hb-&+rWplIr&d)sN2!>xaLd z*q?FCM_(HtafjCbj3)6edK8B4kIN)&bsL*1(8t<_HC5h;N&Z>-pZs|gruWqS{|1VS BqbmRa literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DuplicationActivation.c b/asn1c_defs/all-defs/DuplicationActivation.c new file mode 100755 index 0000000..6be58fc --- /dev/null +++ b/asn1c_defs/all-defs/DuplicationActivation.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DuplicationActivation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_DuplicationActivation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_DuplicationActivation_value2enum_1[] = { + { 0, 6, "active" }, + { 1, 8, "inactive" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_DuplicationActivation_enum2value_1[] = { + 0, /* active(0) */ + 1 /* inactive(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_DuplicationActivation_specs_1 = { + asn_MAP_DuplicationActivation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DuplicationActivation_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DuplicationActivation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DuplicationActivation = { + "DuplicationActivation", + "DuplicationActivation", + &asn_OP_NativeEnumerated, + asn_DEF_DuplicationActivation_tags_1, + sizeof(asn_DEF_DuplicationActivation_tags_1) + /sizeof(asn_DEF_DuplicationActivation_tags_1[0]), /* 1 */ + asn_DEF_DuplicationActivation_tags_1, /* Same as above */ + sizeof(asn_DEF_DuplicationActivation_tags_1) + /sizeof(asn_DEF_DuplicationActivation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_DuplicationActivation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DuplicationActivation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DuplicationActivation.h b/asn1c_defs/all-defs/DuplicationActivation.h new file mode 100755 index 0000000..8cc9127 --- /dev/null +++ b/asn1c_defs/all-defs/DuplicationActivation.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DuplicationActivation_H_ +#define _DuplicationActivation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DuplicationActivation { + DuplicationActivation_active = 0, + DuplicationActivation_inactive = 1 + /* + * Enumeration is extensible + */ +} e_DuplicationActivation; + +/* DuplicationActivation */ +typedef long DuplicationActivation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DuplicationActivation; +asn_struct_free_f DuplicationActivation_free; +asn_struct_print_f DuplicationActivation_print; +asn_constr_check_f DuplicationActivation_constraint; +ber_type_decoder_f DuplicationActivation_decode_ber; +der_type_encoder_f DuplicationActivation_encode_der; +xer_type_decoder_f DuplicationActivation_decode_xer; +xer_type_encoder_f DuplicationActivation_encode_xer; +per_type_decoder_f DuplicationActivation_decode_uper; +per_type_encoder_f DuplicationActivation_encode_uper; +per_type_decoder_f DuplicationActivation_decode_aper; +per_type_encoder_f DuplicationActivation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _DuplicationActivation_H_ */ +#include diff --git a/asn1c_defs/all-defs/DuplicationActivation.o b/asn1c_defs/all-defs/DuplicationActivation.o new file mode 100644 index 0000000000000000000000000000000000000000..846e3ef1dd5ff035fa90cafca4cca334f5649dc8 GIT binary patch literal 2632 zcmbtUy>1gh5FY0O;h%&8fdI)gU?g&~qX-a4(M5?9gdkW!5#{A_StSnko#k6cq=ABl zGLJw>Nl%lKhoDGB&l7~1^^Cn<-z5bj-ObE5-^|YL-0kQ3>y?R82}DY;07FkufUoC= zc3{i^uERATnD}mv?Vqriv@>4Iy-uqcN4l9Ni?MF*8w(;b6*Lnz&M0Dq?LG*0eT#ak zS+Sz0)tEq@htFvotJJ`>j@Mw4e__C2V|8iidAYK&)k}1*{M4WKtFyJ9@oJxH&;07V zUwhQY-OLf6>QBPolM#>|ub_JmXm{h{nH}fhlj9&F9-JG)ZzEEIsR1sT3kDyq+hE3? z!H1_~&&RXs3<{#*!H_TbA=e2QsIvZP@TozDo$0}4W{oNjE{y`{{lRC(+V3tiCUF4M zV{CxC1vupX7=8>S!kmYlhUQuZQ}eqY9XDnq<1m+;@$o0$SElu~dAs z*eGD_N3EWkQ%SGQ1&gUfnlpT+7H-Du;%y^b!#iPL)iF@Vm}mD- z{fOV-IPqz}H`(8H@O$iopB=Pyw1rxC`+8R_tv+h-w<8^azm;X+cT;kRS@Ub?s#ave zWJ%P4F~@JEafI7>Ufk?~V8W z0t0mC20~zc%op(y`&UrYcO~DO{1>kfqxFY3H99C2Zg9Hq4&IV4zFpresent), + asn_MAP_DynamicDLTransmissionInformation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_DynamicDLTransmissionInformation = { + "DynamicDLTransmissionInformation", + "DynamicDLTransmissionInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_DynamicDLTransmissionInformation_constr_1, CHOICE_constraint }, + asn_MBR_DynamicDLTransmissionInformation_1, + 2, /* Elements count */ + &asn_SPC_DynamicDLTransmissionInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DynamicDLTransmissionInformation.h b/asn1c_defs/all-defs/DynamicDLTransmissionInformation.h new file mode 100755 index 0000000..454c799 --- /dev/null +++ b/asn1c_defs/all-defs/DynamicDLTransmissionInformation.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DynamicDLTransmissionInformation_H_ +#define _DynamicDLTransmissionInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum DynamicDLTransmissionInformation_PR { + DynamicDLTransmissionInformation_PR_NOTHING, /* No components present */ + DynamicDLTransmissionInformation_PR_naics_active, + DynamicDLTransmissionInformation_PR_naics_inactive + /* Extensions may appear below */ + +} DynamicDLTransmissionInformation_PR; + +/* Forward declarations */ +struct DynamicNAICSInformation; + +/* DynamicDLTransmissionInformation */ +typedef struct DynamicDLTransmissionInformation { + DynamicDLTransmissionInformation_PR present; + union DynamicDLTransmissionInformation_u { + struct DynamicNAICSInformation *naics_active; + NULL_t naics_inactive; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DynamicDLTransmissionInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DynamicDLTransmissionInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _DynamicDLTransmissionInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/DynamicDLTransmissionInformation.o b/asn1c_defs/all-defs/DynamicDLTransmissionInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..d4d70cf749aff386d6ecd486b108bd1f2aa92dc4 GIT binary patch literal 2992 zcmb_dOHUL*5UyoF@eSy~L=Qt^A|}$=B_t9}%;2&-48jKF-xH;AJcPGTb>^%m4K}Tk0Fnk1vojM zV^2d5M&KHpLrnR$M#g`PX<0!tcNhoFMmV?pydA_zvymi?R=gCyYPFj|im*U_X59m) z9Es;SjQOOYsh(1Lsx%sx*7&T)<>C_vMocisB>H~yw|P6}^T0#JK_g5igD`CzM34oI z*o3f9tv+-oHn#TTbl-iTrd4^evah4cyUL6zPpitkjOXFHJgxsA{OY;pPS>f-pMP94h9~Dh&NKZLK?yE!2yO>a ze$ERT`HM2_UwupJfi-7y(sxB+~Aq{!{VPxax~`tVS6A*c|7B=+mI zH9tMvi~OQ|KWxQG+V(42_Uy@8u_8-duUCsxlf5WRcn5)efD)eiw z*8S?@>Qc1^nKP3L8gZ)o#Xu{wOVxFGfzoPG|H{Vla=v4@{9<*r3B>3wFllw0CD}w(i_#1+spn_=RD4#WQ zUjKX*DmiSX!4@byG@0LFltyn-P%nct0JW7QpxP}8D6^twFpPEs-A%{})ov>ch}07H znY02bY&Dw^Zl;P`X`~ibHYSra2w&5i|DWALIj^}K$&-P=X1O}dI3nWY9#f}B4I1xj z76G^njK7PX&X%qJXytKe*T0V)#7%L6@vI-WczKSg%fpBCcKvV2k(I52u4eP*5kmSK zcsZ3JI>czhMo;I8{tjIKCUv5%;?t`>|1#wLPx&r2!k!}TRe#w0D!2~SC(5qxBS-b^ z|F&lc7yG2SGC;hI59#go-!%H$RzBsDu|F`ltl7MIYxK0g(pbm-2s;_eyf5~IOsAbo vaj#U?|2BfFm^Xrty?*qEwa*Sx@R>FR&9@3#p}sSF>0PsbAF^ROt*!qHH6#Qr literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/DynamicNAICSInformation.c b/asn1c_defs/all-defs/DynamicNAICSInformation.c new file mode 100755 index 0000000..8668784 --- /dev/null +++ b/asn1c_defs/all-defs/DynamicNAICSInformation.c @@ -0,0 +1,222 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "DynamicNAICSInformation.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_transmissionModes_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pB_information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pA_list_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 3)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_pA_list_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (SIZE(0..3)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_transmissionModes_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_pB_information_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_pA_list_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (SIZE(0..3)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_pA_list_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PA_Values, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_pA_list_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_pA_list_specs_4 = { + sizeof(struct DynamicNAICSInformation__pA_list), + offsetof(struct DynamicNAICSInformation__pA_list, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_pA_list_4 = { + "pA-list", + "pA-list", + &asn_OP_SEQUENCE_OF, + asn_DEF_pA_list_tags_4, + sizeof(asn_DEF_pA_list_tags_4) + /sizeof(asn_DEF_pA_list_tags_4[0]) - 1, /* 1 */ + asn_DEF_pA_list_tags_4, /* Same as above */ + sizeof(asn_DEF_pA_list_tags_4) + /sizeof(asn_DEF_pA_list_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_pA_list_constr_4, SEQUENCE_OF_constraint }, + asn_MBR_pA_list_4, + 1, /* Single element */ + &asn_SPC_pA_list_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DynamicNAICSInformation_1[] = { + { ATF_POINTER, 2, offsetof(struct DynamicNAICSInformation, transmissionModes), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_transmissionModes_constr_2, memb_transmissionModes_constraint_1 }, + 0, 0, /* No default value */ + "transmissionModes" + }, + { ATF_POINTER, 1, offsetof(struct DynamicNAICSInformation, pB_information), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_pB_information_constr_3, memb_pB_information_constraint_1 }, + 0, 0, /* No default value */ + "pB-information" + }, + { ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation, pA_list), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_pA_list_4, + 0, + { 0, &asn_PER_memb_pA_list_constr_4, memb_pA_list_constraint_1 }, + 0, 0, /* No default value */ + "pA-list" + }, + { ATF_POINTER, 1, offsetof(struct DynamicNAICSInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P133, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_DynamicNAICSInformation_oms_1[] = { 0, 1, 3 }; +static const ber_tlv_tag_t asn_DEF_DynamicNAICSInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DynamicNAICSInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmissionModes */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pB-information */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pA-list */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DynamicNAICSInformation_specs_1 = { + sizeof(struct DynamicNAICSInformation), + offsetof(struct DynamicNAICSInformation, _asn_ctx), + asn_MAP_DynamicNAICSInformation_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_DynamicNAICSInformation_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation = { + "DynamicNAICSInformation", + "DynamicNAICSInformation", + &asn_OP_SEQUENCE, + asn_DEF_DynamicNAICSInformation_tags_1, + sizeof(asn_DEF_DynamicNAICSInformation_tags_1) + /sizeof(asn_DEF_DynamicNAICSInformation_tags_1[0]), /* 1 */ + asn_DEF_DynamicNAICSInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_DynamicNAICSInformation_tags_1) + /sizeof(asn_DEF_DynamicNAICSInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DynamicNAICSInformation_1, + 4, /* Elements count */ + &asn_SPC_DynamicNAICSInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/DynamicNAICSInformation.h b/asn1c_defs/all-defs/DynamicNAICSInformation.h new file mode 100755 index 0000000..d3c5353 --- /dev/null +++ b/asn1c_defs/all-defs/DynamicNAICSInformation.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _DynamicNAICSInformation_H_ +#define _DynamicNAICSInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include "PA-Values.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* DynamicNAICSInformation */ +typedef struct DynamicNAICSInformation { + BIT_STRING_t *transmissionModes; /* OPTIONAL */ + long *pB_information; /* OPTIONAL */ + struct DynamicNAICSInformation__pA_list { + A_SEQUENCE_OF(PA_Values_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } pA_list; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DynamicNAICSInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_DynamicNAICSInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_DynamicNAICSInformation_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _DynamicNAICSInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/DynamicNAICSInformation.o b/asn1c_defs/all-defs/DynamicNAICSInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..39eb4bc30bec09420fe5d38556afd32c2cead9dd GIT binary patch literal 6536 zcmb_gU2GiH6~4}}EYqHr*d< zXPi2;YF#<0w2hEb1X6f21yy~_0}n_@CQXFSYPagN7**=hy&XHJ&78VN-L2d+U(HOk zS0~!%19s(t0@x97GDj45^YaG(3uTE@A${7JXF?L&9@>+He>?A|i4gdtoG{ecc0g@X(y z?xoPq>a|zT&DmQ9P9vSi=e93}W6o7~d3WZd6UQ)zw|m|2-1fW9#dvsT{%c15kxu@% zlk-2|Rt{&~^-d;ICiv*Ye$do_P!&5Zkyh)W?)JOLAQR-t0%ka8+6^}iDQjzFEk z_1ZhS6p6QCK>OiJT61>5r9|Pj)SIBem&7x&v4PFLsHI5%D0^~#>62z}!4 zsI9>+>twmM;9HGmXdSDb^c&V7fLmv`>Ap&{5rnOBwGmo#kcn}cAzaNX+hri~HvO5wGTSdwk}C2k5B!-|_F*#M#B1FYXmNW?W;*!L{L-7$b)_67=If^vfYWK03O~8a#A#p%E@v zkJ&ry;UQ;1x12vZJMG~ewzDn5k*)YO-u3LX>RRmUy8n*u>^TUG?|}z2L#Y>0kM;H~ zZ}NKkCwr~Kz5V&#zR}xzv*SHS;O_QJY5WnO70G8I_IbweVRn>biTHns`7;pl07fkK zS_k4x1wx2^lfqhTR{u`?EoatMxZ|3MtJlHM%0Q$f$*7+s!NA8=Trc-SbCbxcYY5nH z2wwq>qU!{@1Q+rx+6=lLfT3hmcVvkBvtW0ro_IgV5ogp-1v4^VCO&uM$as%%-qUw5 z0dxl9n{pk1F6ddK4qoqm7&qce2L5Y}cdIp;*Kz9KPkhVZ*EQawju4(DeVX_=io<#T zuJLYFq8|x_O9#!YQ}p!40l?w2)wTl^bgua5}lw$zz*qlkL0 z0{K}WcR>4lkfq+G0qb4N_reh*(6UUMyLf*rJ%K9ESUU_4MyymuH6==zAfjed{tvrzZJ^&K9>Kt=?P z?-IuUEO5zxPT=_7X8t9COa5hn%lQ21Z;t0qdY&LI<3A~I8K0j&CjW0K{PO~r1@SF#<={dYjMPoID{zZ!R7J8e&d}8Xgu4RAGv*q#O9IF7Tf{#uaExzJdr9CJpT7@R1iqDGpt>S(cMz_D&6YUc!waaa}w&U+I3E(jd! z&?X1D|8blw=04|rY!Ly&QAmv(H1HK_pEhud=Bw=BR6Q&o1s%2`eVnb9Un|?8zZfce zwj7p~eKZJ^-D+Y3>5jc~eba#^`e*`JM$@h}D`fkwnWx3#dZHhO;`QY9 z!@Y{Q+#}G87Z1PDq*$^6Hhzm?Ow<3I36P%=PC0-h#_u7bDfY*HDLj6TlY`DA|FAEn!hXUYDB~+7^OB_Jf^N|8ulZ{S+9R_;tnO=lWLwOUiE{8Duz8 z@!g88$an@+QvQG56ZNw{=Eu{ynIE5PnBSPDDpCFt^hvQ~18jU=qCe;1?u+D)`$GzH zQCOcAw(g+Y=j1OjwAqjGmk2Y*f1UgHl9(95=B5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RAB-ID.c b/asn1c_defs/all-defs/E-RAB-ID.c new file mode 100755 index 0000000..eb3c56a --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-ID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RAB-ID.h" + +int +E_RAB_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_E_RAB_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_E_RAB_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_ID = { + "E-RAB-ID", + "E-RAB-ID", + &asn_OP_NativeInteger, + asn_DEF_E_RAB_ID_tags_1, + sizeof(asn_DEF_E_RAB_ID_tags_1) + /sizeof(asn_DEF_E_RAB_ID_tags_1[0]), /* 1 */ + asn_DEF_E_RAB_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RAB_ID_tags_1) + /sizeof(asn_DEF_E_RAB_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RAB_ID_constr_1, E_RAB_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/E-RAB-ID.h b/asn1c_defs/all-defs/E-RAB-ID.h new file mode 100755 index 0000000..3099ed6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RAB_ID_H_ +#define _E_RAB_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E-RAB-ID */ +typedef long E_RAB_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_E_RAB_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_ID; +asn_struct_free_f E_RAB_ID_free; +asn_struct_print_f E_RAB_ID_print; +asn_constr_check_f E_RAB_ID_constraint; +ber_type_decoder_f E_RAB_ID_decode_ber; +der_type_encoder_f E_RAB_ID_encode_der; +xer_type_decoder_f E_RAB_ID_decode_xer; +xer_type_encoder_f E_RAB_ID_encode_xer; +per_type_decoder_f E_RAB_ID_decode_uper; +per_type_encoder_f E_RAB_ID_encode_uper; +per_type_decoder_f E_RAB_ID_decode_aper; +per_type_encoder_f E_RAB_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RAB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RAB-ID.o b/asn1c_defs/all-defs/E-RAB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..3ca83a795b380a6e89c5a643638dcd77c70a5733 GIT binary patch literal 2752 zcmbVO&2Jl35FcktlYZbhp@&FCutF3P3BP(nC8``M2iwg?veGEDr~;|mjkEbE{;0g` zsO3N-g&r(E#Gk?cz@<_Ta6~y(;=&QBJpczzsA1;q%=+bddtsv8nfcB9-kY8G;XG43xls{Ld$=!y|wAOH%iK^AE30?|c5^qo0mZlK1_? z7gNn|CY#^APLz9Z`KjR#|MrJ3{o&8vljY;1+n)`eeg1U%?E}imxX(2=&Br0`%`(?J zdj6CWS*Wa2{0K&R+Hj~A5(9drsnq2#?s~0YE831PhwXM*8;$bD^2g=Xx@y6tc*)%l z+k?pM_7ZnzZ$Ij~^9WwrTF|jpuNx=*aIc%V+u>e2+RCCb$SWt$3D|34`#F?cXo}F4 zT5ZXlzqL8&CIj~)bwyRm-avcaSKd`sxuU#<6o(5uO5w{5C_E??E}oy9`T-~Z0P#0D zHXvOumJTQG6z7^n_tWCsat|1J8;f)Gur_g?WDY`-SIjXG=4hkwXhW9 z;+xumv!<)<5Ai)~^i!`HVk`K}7~i|AvjJ|SF0pN@4mvYN|JNlbn;K6B9-N@wxE?eD zJS@R#JxIcxIPgF7KfJ(#56K9G!rcL_xKBolexnf$)xu)XLhea-4*%FE~Hi4YvDX zC(4TY|AvcH>Xm(>tB8@veowvey?qe_bf&A4!1`A{=y%ztJwWrwI?MXK$GCknJwco# zJ141|tqZ&QKBX~jeu*Z_5gVp`P1vH9EBtpXT2{X-rT=#jqp42parFP-`FR-;NyYZJ5vJ4%$3?whKK|}f+{!qTXGDszkdc}dHg@Q{_hPgnKu7F^k)Mt literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RAB-Item.c b/asn1c_defs/all-defs/E-RAB-Item.c new file mode 100755 index 0000000..48a9328 --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RAB-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_E_RAB_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Item, cause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 1, offsetof(struct E_RAB_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P140, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RAB_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RAB_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RAB_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Item_specs_1 = { + sizeof(struct E_RAB_Item), + offsetof(struct E_RAB_Item, _asn_ctx), + asn_MAP_E_RAB_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RAB_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_Item = { + "E-RAB-Item", + "E-RAB-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RAB_Item_tags_1, + sizeof(asn_DEF_E_RAB_Item_tags_1) + /sizeof(asn_DEF_E_RAB_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RAB_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RAB_Item_tags_1) + /sizeof(asn_DEF_E_RAB_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_Item_1, + 3, /* Elements count */ + &asn_SPC_E_RAB_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RAB-Item.h b/asn1c_defs/all-defs/E-RAB-Item.h new file mode 100755 index 0000000..3e202e2 --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RAB_Item_H_ +#define _E_RAB_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RAB-Item */ +typedef struct E_RAB_Item { + E_RAB_ID_t e_RAB_ID; + Cause_t cause; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RAB_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RAB_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RAB-Item.o b/asn1c_defs/all-defs/E-RAB-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..1c10b71737dd217d2d5b18a3d9791fb572d55221 GIT binary patch literal 2984 zcmb_dJ8u&~5MJj9gjXIsBm|AA2ogT!f+Z{v$cb}FK#&}XEYV#q$0>=heUWc1g$7*G z(5K`l@FP-C(jd{(q=a7p^R0L6^~Me)Vx+y9`R27d`?&Z1^Tm-|PB7)f6VcNc72@z* zPcAF5EGERb@C$2m^M$7}sf(l|E{Hg4Wr^7F3;v!=8re?T$a=vil=g;f&&2*x z<3(-Yx=%8ojDT~!Gm={setcUzl35uenu$vzLk4~F31hTuPj;Ksw` z#v;lZ;ex*y`XRkmAzrIcMq63vDa(ubHPg}o*Mo`)X1ht;^`8q&6J?rBYMiUzmex6_ zzr3ou8iecq%c{Rp@dXQEOs}PEMmr5@&w8N?RMZ2@iwc^lOyjiHeQhggLsEjI8J1@6 zdx2NvLqNU4u`*93-Y1Za^PT~pQXZYp4J`w|OoLP7{DN$JxdSWwik86w1IL@t*7}C# z$b+|mXkupQFRJWGK5kM6p+&Hb* z6FNI?BbAA}v{Ef(GK$~u^iIuhQ6yS{y)vn6Du%4v)2pzeD1KY_zpb+LK6d;cGnL1S literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.c b/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.c new file mode 100755 index 0000000..b94a84e --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RAB-Level-QoS-Parameters.h" + +#include "GBR-QosInformation.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RAB_Level_QoS_Parameters_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters, qCI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_QCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "qCI" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters, allocationAndRetentionPriority), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AllocationAndRetentionPriority, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "allocationAndRetentionPriority" + }, + { ATF_POINTER, 2, offsetof(struct E_RAB_Level_QoS_Parameters, gbrQosInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GBR_QosInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "gbrQosInformation" + }, + { ATF_POINTER, 1, offsetof(struct E_RAB_Level_QoS_Parameters, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P139, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RAB_Level_QoS_Parameters_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_E_RAB_Level_QoS_Parameters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RAB_Level_QoS_Parameters_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* qCI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* allocationAndRetentionPriority */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gbrQosInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Level_QoS_Parameters_specs_1 = { + sizeof(struct E_RAB_Level_QoS_Parameters), + offsetof(struct E_RAB_Level_QoS_Parameters, _asn_ctx), + asn_MAP_E_RAB_Level_QoS_Parameters_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RAB_Level_QoS_Parameters_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_Level_QoS_Parameters = { + "E-RAB-Level-QoS-Parameters", + "E-RAB-Level-QoS-Parameters", + &asn_OP_SEQUENCE, + asn_DEF_E_RAB_Level_QoS_Parameters_tags_1, + sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_tags_1) + /sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_tags_1[0]), /* 1 */ + asn_DEF_E_RAB_Level_QoS_Parameters_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_tags_1) + /sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_Level_QoS_Parameters_1, + 4, /* Elements count */ + &asn_SPC_E_RAB_Level_QoS_Parameters_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.h b/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.h new file mode 100755 index 0000000..b2bc0be --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RAB_Level_QoS_Parameters_H_ +#define _E_RAB_Level_QoS_Parameters_H_ + + +#include + +/* Including external dependencies */ +#include "QCI.h" +#include "AllocationAndRetentionPriority.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GBR_QosInformation; +struct ProtocolExtensionContainer; + +/* E-RAB-Level-QoS-Parameters */ +typedef struct E_RAB_Level_QoS_Parameters { + QCI_t qCI; + AllocationAndRetentionPriority_t allocationAndRetentionPriority; + struct GBR_QosInformation *gbrQosInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RAB_Level_QoS_Parameters_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_Level_QoS_Parameters; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Level_QoS_Parameters_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RAB_Level_QoS_Parameters_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RAB_Level_QoS_Parameters_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.o b/asn1c_defs/all-defs/E-RAB-Level-QoS-Parameters.o new file mode 100644 index 0000000000000000000000000000000000000000..901852cf71e55be94997d73ceaf29b15f51aa368 GIT binary patch literal 3440 zcmb_e+iuf95Zw}PjqOI5*zF-f)|MR0bY4Q z;tLR;z$fs?BM*E4d;!d{XOitU2^V#w&73(iv)A!%Ui)`%ZW|j@B4g^R>RZAp^>n(z_Sj8m_<>xJdMa%Y|TjN_gwdG2_K!W_4&p95>D zvS9`N4k{Z~V)EvSOn&gLRn(4t5TjG1$JBUHH=xYSirU3deT6zeyokp@lLikzWOu2G z--;1$(6sM3rOi@N`!UYm32*o}LqDWjHY{%0kZ#$qf6InCTFXPXh`cu! z{2_8WZvS0u+L2C24_}P?APATIg=PPK!&d^rCSC73i&}{;=XQN@)ZEGiECr2GLHX0T zX-;c_9vIo7xzXRXgw4}5tOrS4L6+*YnYMecQzK0@%|Fh<+35>z;9j`IH33D(X;fqX zJFt1F9q@vYe*!-w;8E=!HON${Hu3VkA%2o$paRC=4>5*XVGRB-W2kqG!5?7^^@TBb z+#V;{{$cP(8ADAWkOa#7if)|^3)1lmt(=FEj+C>S=gP@a7>INom&~{w6>cEQbnuLTEK)?5sk6#y zrkxHwEy_t!9Xs>)mutC>noo=c{wKt_VC{GZP4P^_z`Tt;<_sZl_KV{6A~pg$|17z2 z2LGFXo^sLWG&NH^Hm;c@VHsaE;(+b(yTn1hNnmNJDr-?!2;lAWgkW9gC$P);`-w;0 zNxeyZJs@t-_$&B>K~gVO@3-1RCAdRs(DX@1 zBOCel{{P^7`7R|*#^-HO&pBV_DRC2gAUI!BBv15fatb!%uGk04PCFL1y>^6pobRy{ o{{tte$^7N~@Q-HDP+c50$wzBI%Pj8RLHXZ!ptof=y3HzPYODgXcg literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RAB-List.c b/asn1c_defs/all-defs/E-RAB-List.c new file mode 100755 index 0000000..bf559e5 --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RAB-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RAB_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RAB_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P46, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RAB_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RAB_List_specs_1 = { + sizeof(struct E_RAB_List), + offsetof(struct E_RAB_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_List = { + "E-RAB-List", + "E-RAB-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RAB_List_tags_1, + sizeof(asn_DEF_E_RAB_List_tags_1) + /sizeof(asn_DEF_E_RAB_List_tags_1[0]), /* 1 */ + asn_DEF_E_RAB_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RAB_List_tags_1) + /sizeof(asn_DEF_E_RAB_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RAB_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RAB_List_1, + 1, /* Single element */ + &asn_SPC_E_RAB_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RAB-List.h b/asn1c_defs/all-defs/E-RAB-List.h new file mode 100755 index 0000000..99cc481 --- /dev/null +++ b/asn1c_defs/all-defs/E-RAB-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RAB_List_H_ +#define _E_RAB_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RAB-List */ +typedef struct E_RAB_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RAB_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RAB_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RAB-List.o b/asn1c_defs/all-defs/E-RAB-List.o new file mode 100644 index 0000000000000000000000000000000000000000..8f989509b54e3fbd909480a5414511eb3be9bdd2 GIT binary patch literal 2320 zcmbuA%}x|S5P)kLQB?flX5wW%iHY0UQKCc>GqMhdL0ESsAu+KT)(H^VnaxgzzRXx=+O*88OE19mUud2Fxdun<=hfDKgwHg?y!80g5LjjJ* zOFPhJ0M}p=nrPoDLzUJEOI2_T;RHVvFV-#$qNRk5&hxp((srgw_Akqw#`QXS zpto{XJn+s!Bp$9%B_3E!!wJ_>*Wgl-ZYrlWAA>qa+N>8fABO|>*I2*Tyxiv`b5fo) zzlD)sw%x+^bO#o$HuiCxvi85l;V-CfvTdtxBl!0b9Lh!(J&3YIz6j@KD6zXGb+=T} zW+r_dX@?!D_6M;Y?xjhlhMe$vu4BjYs&2bw!)y@u%!H?x(rc`=WjB1Y8ZNg&xiSyk z@GUBtuM%x1s@P(Cn5wjw?kt9~yPa(A#Iltp3RB{tob_iPwr3vM=R*BwcL9CtBrZ2+ zO8kb-$Om(`5Wi}1>K7812b$)by0y;!ON*Pe2$?>kc`o8}fDg&K9?N;yg+q%^8HoDW z;`Doqy^3tVuc8eQ__}hvWh@o%DG(nb6@l2uG7!U*9Ln^Ck8ZpZ=`dL)3Zj?x`!T)| zk)$dX3(KpGOhvtq)@J_0yp6TyEbM6l+p%oQwdD>v#N3-A;G_X-qw2t^W%GcAname, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_endTimeStamp_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_usageCountUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0 && value <= 18446744073709551615)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_usageCountDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0 && value <= 18446744073709551615)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_startTimeStamp_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_endTimeStamp_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_usageCountUL_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_usageCountDL_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABUsageReport_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, startTimeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, &asn_PER_memb_startTimeStamp_constr_2, memb_startTimeStamp_constraint_1 }, + 0, 0, /* No default value */ + "startTimeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, endTimeStamp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, &asn_PER_memb_endTimeStamp_constr_3, memb_endTimeStamp_constraint_1 }, + 0, 0, /* No default value */ + "endTimeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, usageCountUL), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { 0, &asn_PER_memb_usageCountUL_constr_4, memb_usageCountUL_constraint_1 }, + 0, 0, /* No default value */ + "usageCountUL" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item, usageCountDL), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_INTEGER, + 0, + { 0, &asn_PER_memb_usageCountDL_constr_5, memb_usageCountDL_constraint_1 }, + 0, 0, /* No default value */ + "usageCountDL" + }, + { ATF_POINTER, 1, offsetof(struct E_RABUsageReport_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P141, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABUsageReport_Item_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABUsageReport_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABUsageReport_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTimeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* endTimeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* usageCountUL */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* usageCountDL */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_Item_specs_1 = { + sizeof(struct E_RABUsageReport_Item), + offsetof(struct E_RABUsageReport_Item, _asn_ctx), + asn_MAP_E_RABUsageReport_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABUsageReport_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item = { + "E-RABUsageReport-Item", + "E-RABUsageReport-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABUsageReport_Item_tags_1, + sizeof(asn_DEF_E_RABUsageReport_Item_tags_1) + /sizeof(asn_DEF_E_RABUsageReport_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABUsageReport_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABUsageReport_Item_tags_1) + /sizeof(asn_DEF_E_RABUsageReport_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABUsageReport_Item_1, + 5, /* Elements count */ + &asn_SPC_E_RABUsageReport_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABUsageReport-Item.h b/asn1c_defs/all-defs/E-RABUsageReport-Item.h new file mode 100755 index 0000000..9431a84 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABUsageReport-Item.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABUsageReport_Item_H_ +#define _E_RABUsageReport_Item_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABUsageReport-Item */ +typedef struct E_RABUsageReport_Item { + OCTET_STRING_t startTimeStamp; + OCTET_STRING_t endTimeStamp; + INTEGER_t usageCountUL; + INTEGER_t usageCountDL; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABUsageReport_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABUsageReport_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABUsageReport-Item.o b/asn1c_defs/all-defs/E-RABUsageReport-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..8bcba595278bc8026ebd585c52cdcb630bdd2c7e GIT binary patch literal 6904 zcmcIoU2Ggz6~60rlO-vWZ3$JNh>U1L9SKi%oFJ?Sp(mPV=u$^WRSMr}lR0 z_Ri@io7bPZws_$1r~*B5eNVf#=%8@^Ai3H*@4m6MXdO6wNoR3?@lXBl@vYwRQ*)`p zMDrJ^JY4?;Gw~**9ba&+^dB97{G8_Kk(j*=NglZLUEThh)BL^DeE%jUe|fuk&7YgR z{B~=y25`iaS2BuctJ==?9eX?5{8P61kJRlqPe18g$sdU=I42J37|rWzYtH5y@u!|n zeJS;H>g=`FJZ^seh`R8rw)oG*bYhJ2>m>f}_qyl(WhBDl;G8cJhZ3@PS{a-<`-cm# zx_S(|IsWP09RHdBV*Jj%$KMC*n1mm0cQEaOZ7c}1YTf;9;yo(6t$(llFupAP)L<+7 z!s>S$|NZJ)*70JaYM0yvZ?SQ_SS}ChN@j2-HBx94m%JHowO02BCw#ABmDJJ3Df8K4 zdCfDcHQ!uXdDg3%0{|XfIHvnbwQ9q!7gwsjxma8&dkbB?ElWgSXotGb)nN(!_?BXwW?pps!n4xt5!0DnRVZ*HdY{&uo(=;gU{+FAg6lff(FE6> z_e&6Gm*D-0YsEgu!8w*3oSP_iP{A?DXGN0R9J5#Q`{jYC<(oHGukjCgvV z5gXq>rI8jtdmsFH;C_Ypdf+2Q{Dr;|(mL~CL-f65#j?9FRTK%)RbVz?=)ho4CQn?Togc|b794wSptFTlqGvkKO zojatnZj*YNUSss+HR()pV`u!>QS;yTd~#?3{hlru*g?S=iqCS$>NS z|3d=*IMf+03LKyPj8_EysK9?9aLNCnz@`3g1upr26u8tM*3Y5V^Zzh#IG-m74~}bI z;CK#U{#Aj?xUUPmD^G#Td~OO{>f9n6-xsEcJB$fJLA)z}!tcmm;9dC(T*iG};9dC( zyeof!OPyPU2lLm-!v%+jXU#bRVq}9jKkE_y6mifTqB`Pu2Icn~es5q2;!X?J_+wN@ z!+yxexAzA8u*~agOXmR9(R^FrM+AOV;COm6Q4q>&Eu-VolxXCa0>^nMQ~S>Xm-;c% zLxcL;#ET0Y^*0C~5IE{TN4O*KqlBTE7dYzABM4<#;5vUA#D>68|LdBq)Jp=F`h2d! zZq(b{x;5HR^vj&FP>8t{4de6%Ur8_<)Y<#>%OuUihfa9=Nb)V)oa*5x@`@2 zH{m6teKY}Tfu>cim5K;z1!a|Lm5Nsdb@;Euv&N?igZiyQUf#01ST9yQO8oycCiwGO zNU0<@%shAqN6;&M_9(> z3fXC}z2<+5ZlYB&|M<1V`Sbjj0P7Y127Q_(C=MHwD`d}t?G;~rv_)WlTz~u;3&zL4 z+Au!fc2L#DB;siX7!S1Zd5QiUhr8FwANPkW$i>3;lBnwrx_qA#m0%C zIS}atWxok{ulY;R{LPae&L94#!~VQ}C?AZCE;s4Z_f^_h4*~W`_yzru7TkLPsV(~S X{82zWFdX=13-PD?UqLZZg8u&jMSw-w literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABUsageReportList.c b/asn1c_defs/all-defs/E-RABUsageReportList.c new file mode 100755 index 0000000..b6ebc79 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABUsageReportList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABUsageReportList.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_E_RABUsageReportList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_E_RABUsageReportList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P47, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABUsageReportList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_E_RABUsageReportList_specs_1 = { + sizeof(struct E_RABUsageReportList), + offsetof(struct E_RABUsageReportList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportList = { + "E-RABUsageReportList", + "E-RABUsageReportList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABUsageReportList_tags_1, + sizeof(asn_DEF_E_RABUsageReportList_tags_1) + /sizeof(asn_DEF_E_RABUsageReportList_tags_1[0]), /* 1 */ + asn_DEF_E_RABUsageReportList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABUsageReportList_tags_1) + /sizeof(asn_DEF_E_RABUsageReportList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABUsageReportList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABUsageReportList_1, + 1, /* Single element */ + &asn_SPC_E_RABUsageReportList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABUsageReportList.h b/asn1c_defs/all-defs/E-RABUsageReportList.h new file mode 100755 index 0000000..2ec6fa7 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABUsageReportList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABUsageReportList_H_ +#define _E_RABUsageReportList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABUsageReportList */ +typedef struct E_RABUsageReportList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABUsageReportList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportList; +extern asn_SET_OF_specifics_t asn_SPC_E_RABUsageReportList_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABUsageReportList_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABUsageReportList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABUsageReportList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABUsageReportList.o b/asn1c_defs/all-defs/E-RABUsageReportList.o new file mode 100644 index 0000000000000000000000000000000000000000..8fab15864d226b99c3d104b7b8522bc114bc89d2 GIT binary patch literal 2416 zcmbuAzi-n(6vr<$KMJ%!1`voPOcaTnVyMHbyJ0hKl+L@Hu1Zm`mb)Q;kdL>J({ zp#K6}#|{jPjEszoEDZbw!TJ*Gm` zPK<3YGd(dYW<(9_OXHB$I-p?-P65REcurR2w&7Qs_m|pf*o~UeAQ`IFUaD+)|H^ni z&NqGLrv6W!XEr&4pY>X)*Kb$m+MADaDD&L6?xL*COZR%t|2Pvq$1(Bi zz?R??Z{={*5%#y^2WN+L_;#3Wxb<2MS6+!NY zy;x<%PnMeYy8K>Rjk-OY4x)~J!;N90l1|cpZLc9RoGx&ETTxt`U7INIj?-+|%ymP>K16jpBB0l_oT%iZF- zPY2~RO>`O}xKDUb^FDtJ3{%D@5jZgRsZKv{k(+)K7^c=RsEtolkL#lk!dVUS7w}`I z=l!rjOD?9F_l|wIevkT`0fs;G`SG8^Tzf!bm*8dNJ`5Mmc6 + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-Item */ +typedef struct E_RABs_Admitted_Item { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *uL_GTP_TunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_GTP_TunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..f260cb5d299eaf54d23f5f4646f20d4a3aeb0021 GIT binary patch literal 3232 zcmb_dOK;Oa5Z;oOM|rhSBqSshP811SNohp|2)PaJ1C=(=Rzl+7x{1|RBz6^Vq;i4$ z430f<<|lCF#*t%BoZ-S1=CgO~&Ef!pj)ki*%EF1EA;B~x9*SIJREVR~ zx$GpOBQA;y!nK~w&BxYUv%M!}(6p9i&=vteYx$Aru2_p3b!(#=hC#~>oBPpTC`Gdn z-E%GXKn7vF7lm<^MTS5qGpK0L_q8~g;>eh~e}<*!YcXNd;ddXmO*=EXe6XpA0n zUd;I_jSI(^cb0OMX)u}lf*yfPJVk}TT6ID%^)rAT=suV`=R}-?4-sPEm)I6-wR`2s z&FyX|yXCv~v|X{P-9)RtuFl$(X}fwW#SvOa$Tuv$6`qw+-wgBcQr}E%@KXvEqLNAIQI0d*BLVrD93{LX4tz=J=M)Dk zY5p2a_*q@e{Sz=C-cvWeNyv!y;f|F_k%{3W3FE8M0KWu7FQbN6}36h zpa~~4U8{TR?$b?owdM*IyawIfvg6~H?_04)j{yVpBFO#+fi3k;B%?;u%HDxm6iP}K zbiCQAJJtG3zMD9v`YGq<$;5e2fsg0m$vp-Y_<0%*4bWuDe!=8x!sq5W;|Szl0sXYD<5cxa_2Smn9h-NMSd9=?i;1j)mQcpun?g zS4j<8eqx4XsCFxA_yCg-VK<_7JD^i%hmj2I#nnwKmVV^=#2Ya9j?f3F(aQ}K8gaL)LA@p)P!tf+nuk2O&xW!bl!NvVKyTU5WI3UNH@<5e^3 zdxW9BDo0XE9~7{`fZ}CC-yt3GT!+mQs-f5)om4xL7~uOf7}Nb6b3>HT^o4HD9j+Wd mri}P!$7q=A$BSN6s*cSf@{EFpn%ucX@ms1;FUgXB%=n*|PXd(y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-List.c b/asn1c_defs/all-defs/E-RABs-Admitted-List.c new file mode 100755 index 0000000..5d6bfd8 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_List_specs_1 = { + sizeof(struct E_RABs_Admitted_List), + offsetof(struct E_RABs_Admitted_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_List = { + "E-RABs-Admitted-List", + "E-RABs-Admitted-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_List_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_List_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_List_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-List.h b/asn1c_defs/all-defs/E-RABs-Admitted-List.h new file mode 100755 index 0000000..d43213d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_List_H_ +#define _E_RABs_Admitted_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-List */ +typedef struct E_RABs_Admitted_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-List.o b/asn1c_defs/all-defs/E-RABs-Admitted-List.o new file mode 100644 index 0000000000000000000000000000000000000000..57745305c74a999a786e1f856fa40a5fdfd09e4f GIT binary patch literal 2408 zcmbtUy>1gh5MJj91PDJVK#^!nMUe2y2a#d{LYJ6x0ENWZL_(ri&i2W%i0>lbMj{QQ z;u-P|G%i!{0F;zSG?X+HJVBV*zgyPlf-utUeDlrU-reke2sautr4rFnB9BOJX_kPSrWHE{FKVsV>-Wn`+nxP{@0VBTGObqpePQ|U{Ti(iI75D) z6a{$s-}uYz5&UbD;t_9>1jd67MdFd!2^wdqM9vvrXFe4C3@Iy5Q|Z3oXUURUAM=WWwqPfVyW1^5K(g0=r0<^BTts=~JVK861^g(pRWPP-(^681Q3 zu#n+7VEP;|JO_+N{fzk{rWv*vKiG?l1G{OG@sSFBzSb&^l9k%cda*m(i@Unrv@MCf zY&BUse6byF)#pC;4Q#PU5!H`EC(0nBIjz&Cw#|iC4JR-D{WrU7WG%(VqKA7=t zB;1I!m(XrH9LDfBXp-`nu5WHvG9Go`>W2TPZ$P^K7Ivk;HY|*>w%h~*Is2QTKfncK zPb#yP4U*s%D4Y>Df9%9*)9rr;9LU|(0ZQxq>khB;wGP0K*zNxVIFxTvnYCx=V`)g|N} H6F2`4jTyc; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c new file mode 100755 index 0000000..da298e2 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, s1_DL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-DL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P19, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* s1-DL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer = { + "E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer", + "E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h new file mode 100755 index 0000000..dc71bee --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_H_ +#define _E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer */ +typedef struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + GTPtunnelEndpoint_t s1_DL_GTPtunnelEndpoint; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..e6f7ccaa188fb5957b675289f8f8b83172d6a209 GIT binary patch literal 3728 zcmb_e&2Q9J5PxAQEv0<5w5r5qdt#BWS*J)%Td8ugaRMm7LWso8IBPeox@$-F+m>ER zj=jN=OQlxox#HMkk3AywQvM4Nm)_|7>^IrTTQ9JXk)CJfH#6_OnfK*;!P?4!xjDr& zr@m2RjZvi@yg!!xQuNgcbzB9`jm4$HS&WB$t&`ZfnJp!YaZJ)BoeZ7z&Z@JNM0t{% z@OaHx$?_kfJnpAk&g#vs9;InA2-0{v>!(_cUSS{4;`Jmu7h9j!%RAEyFToFx?FG?G zTxK@CM-hkiv0vohpteH|OS)h4MZd`ZXKKgxxnK1CfZB)q*e`We(j)plG%}dI?x+>W z#w)bSnPqUSmE2>fG3vsE+Hjx1kkdg3hJ3>j13%ajoH6IpvMM}hd9CKq^aCfjtCO_o zXKA6-YNzv6v$e4~O7*Dug?qtmJKm_&yq~-Uw|&9&&Q`b?tcD?ngX&rBUT*Bka2(v& zlc~gI#uAsAOMJ504w>iFVbwKmGP0rG9S0lfTjS3Lj{D8vw~XNfb|BuM{_Chwo|H*T zL&@l|y`heb6(c<%ep2kBI|e^Og+4Lit<>o$_<6$7&yI=tlXOt8#K(1LSFrkJNS(J7y)y91Vt2N{`DE}$ zq1lj!oN2D*B(HVD_2BwOaJ3UC7Q!B#KAlH+#!!JPOE+dnq)L9h+nFJz*iL#AIfQgk z@B&P}uWae&na+CIVE5kWWT~d9CwaIq|GC%ozBC)iFxnPk_bP>V31s8Emw~ekzfbWY z0*=$sg+kP-*aUu2;3tg?#&PHecPG9?_9Jg7!j8^JbflL2?1rC4C^FM)qV)_7Un@0s^%>OfhL~>o^Eo9f9??2@h zKMr-YNnGa@zr&JF?rP=6k&cwRSrp36Gbr%%+yzpTK~$O{S*kn8dJ(`fgn1R}DYusm zhY6h%H_de7u3p`63LW*nt8#do?`aA~P4Es&@}(kVQ{G(!bp&R=SpKfZUcrt(LuRbO zo5r7`SoAqhO_FbvZ3&Vr*Bd6ETHXBrA{?|Je?~}e0u=N$$#`3RfkAAVfgYKJj}nG` z%H#9?x<**t_*@V^2jo^#({N^&NvIqDu{m%YkMZ%^+2eOY4?+ZVc>d+Caz619vG j|DngJ+4V!2>xOEX1NGb*&{FB&q&}X1q3)Aik{$m)>M&hc literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c new file mode 100755 index 0000000..2d19eec --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, seNB_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "seNB-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P20, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seNB-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer = { + "E-RABs-Admitted-ToBeAdded-Item-Split-Bearer", + "E-RABs-Admitted-ToBeAdded-Item-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h new file mode 100755 index 0000000..6b3cc7b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_H_ +#define _E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-Item-Split-Bearer */ +typedef struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + GTPtunnelEndpoint_t seNB_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..f3cbe9832a244733e02a44119ee07795c7aef4c7 GIT binary patch literal 3384 zcmb_eOK;Oa5Z=^0T3&5|A|x*6fCv&cO{hcw3FT4ufoL20IJ<6QwSmO0;teVnnqzNV zd*lWZe}OY+PTctiz=<2oI6KW`<5WuNNb8;XcD~u&+4b1_&WpK`R7#Mf#52*g2o)kX z*46W|nimsdTsYQhp%__(YNIBlU$xf5qF<<1L0go5!&=*|*Q8bSy{6yn1{gxq*P`2l zLK%Ywj=@J@>@UbME<+EE0^{5%#>M?(YeTyL?X=emA$#NlSO*Nz^GfHT<3z!na=}~> z2XWj3_sJ{U$9rWh&WgxiE?V>JW!VY>zwQLp-LMu&QFAP3Px?Vr3xi0A`BLeLncmoH z1+ry6vS;jRE7OXt%)3m^o}RHY_c}PlKTdFMXT-0>J7Dyzyc@;n*#XCsvtqyuNn(hz zeeeT7QesR@s}asL#Q8q|SIVCTi1$(9GisnW4tu$Y2)z-X4g-{Gh)exo?0>Nj{{hG( z+t-frn1V!4^mz+$X8`^faE#MdoKdh*!Wi%7f%f}(K%6fF@b3fgVG5jG5ndFyv(B9B zxL6ilDvRz>S#+^1x^Y=_J7v+8-ge|>V(L<%JS;Wq*H1_e8#L{ZD~^}CQg+vzmmAJ< z$q}Tu6?hqC)58}OGqF@$9cnwBB&?N7L$RV=ztXo87fJ^mMt}97k#aMXVI`~|m6B2z zNLaq#baUB1{zTo1K1#H0ke2VOKrr341Gwgxw6$K+lYw1Jkd2@i1zdY1hMwhhR*h zzC+CjyAn1UKHO$I2&He&FK<|p^eV5_CjO(l1zb!Geh<0ixxsXm#v|l5Xo%@wnEa7P zucGts!Z4n}N%{AIi!rm%xa5_A<6QW8Bc6wrwEi~WCpresent), + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item = { + "E-RABs-Admitted-ToBeAdded-Item", + "E-RABs-Admitted-ToBeAdded-Item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeAdded_Item_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_Item_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.h new file mode 100755 index 0000000..3f5e96a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_Item_H_ +#define _E_RABs_Admitted_ToBeAdded_Item_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeAdded_Item_PR { + E_RABs_Admitted_ToBeAdded_Item_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_Item_PR_sCG_Bearer, + E_RABs_Admitted_ToBeAdded_Item_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeAdded_Item_PR; + +/* Forward declarations */ +struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer; +struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer; + +/* E-RABs-Admitted-ToBeAdded-Item */ +typedef struct E_RABs_Admitted_ToBeAdded_Item { + E_RABs_Admitted_ToBeAdded_Item_PR present; + union E_RABs_Admitted_ToBeAdded_Item_u { + struct E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer *sCG_Bearer; + struct E_RABs_Admitted_ToBeAdded_Item_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..ca0079a2fcb8b055f8ef14d5b06d0118d905f43f GIT binary patch literal 3040 zcmb_d&2AGh5T10~QvO@$0f_^F0~Co^NmYpmB(zCL(;}czO9i*>CRw!=`Khv7)Lv*G z011v9IdI?xkH91F2Ji@Q;|4QcPck^0rV<@#Ju{!b@vQB!eNcY9IF?EQO9~!9-(wWu z$Em*UYSV>jxCoPI6W@-J{vRVcY(!JetQLx4rqF0@M^VtoJnIyLLZgA!aul>i1fO8{ z*fGcAc}^jpVrZ(z3_X%2$E7tssd4S3a|lcua9nf_o4<|QKGy>e6_zTQV&Hd!E`&SH z?T8(yluGx~bL+L;cC?$ms}@u?liSr^?sYD&vI{DAJH~maL`~~74!;uD+!?6KcnC-D z)ZlOqID;S}4rWLa2POvK8;GRD_*KJruJH*tH2xQ($xlK5aODk7$`LrjpV3IcX?7vq zvxwiv1&sI^>Go^~&h>0*IB-_F+WwC1jF|71VNBu%aQ(=j*&+DNA^3|SI2?T;s5!ZMRXlSTY1NJsL1&g@^@XN*~^-bXC z1^!duvjU%^geatl&nH99>z`Ak!u?j{*Fa&R#d?daDAwGyykKwS31Hr z%hf}!qeYn9W9oFNLE(LkJ%BVDM&CkBwPnY@vv};<`R`x{Ve?Edn&YooxU6I9a`8+0 z|F4LXWUYj0jrN=SXwvK9_91O$sfbagOgz;Vy(XOh3U#8a;Fpx2pBVXG5I;?gkVj}I z<e*vut2=4#@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.c new file mode 100755 index 0000000..0fa3e27 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeAdded_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P16, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_List_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_List), + offsetof(struct E_RABs_Admitted_ToBeAdded_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_List = { + "E-RABs-Admitted-ToBeAdded-List", + "E-RABs-Admitted-ToBeAdded-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeAdded_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.h new file mode 100755 index 0000000..8ad6306 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_List_H_ +#define _E_RABs_Admitted_ToBeAdded_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeAdded-List */ +typedef struct E_RABs_Admitted_ToBeAdded_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-List.o new file mode 100644 index 0000000000000000000000000000000000000000..a13302a406a87c8a5c5d982b22530eda1f128cb0 GIT binary patch literal 2584 zcmbtWO>fgc5S`Qo%6H3!N*oAWXeDCBP(cI|avR(NDs4y_iQD2PRvSp{DBenx1N6dw z=&wK=dw@Gfj$Dwqa)Vz`X1u%3vUUh+NAk{_H*a>=yWUOSd8^A4g#sumzylaYiUrs| zImB)PUAO?}p^SKTn94?D!%)~VR#1>2by z{J0_LeJ0`eVV=$!?#f?j3uyPUW`UI@k+E=uJhR|LhQ5wW0Zyg7s;nja1Qcb4VzT%6 z6tJH?3ecVl2OrQEw0WMBJUL72U!#$yFEVQuoXL{NSa3SSe@A9Ud#`P&n8byi&Zq${ zkKpG=@bK@0V7I`JL-x>HW*(yx!_4{-eo2eRnt zQhl6W^xmjd#|h(p&{C5bKlNnJ>owN!o;AI-s>jxsq2Xg?R9q zgWdMI5B6ppgFT2SAf;nhFbukWk|w0G$_tePb}Q=j0^A@wjCf$LtTjt9_gk;Dxg7^y z!D6*GdOxlnXqdFRUBiGleGMt^QiIkPE^Uh`65s|px<$xi}d9rW9rEM`q0^CPOcdjeKw4Ih$^^_clzHOq^`0BfVf*eWAUx))) zr|xry8`^owHd9a3;0$)+(6BgEgH{Q6n>Kkf~6rkPp)2OUD&j{pDw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c new file mode 100755 index 0000000..4406255 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, s1_DL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-DL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P30, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* s1-DL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer = { + "E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer", + "E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h new file mode 100755 index 0000000..aa447bf --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_H_ +#define _E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer */ +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + GTPtunnelEndpoint_t s1_DL_GTPtunnelEndpoint; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..cda3d419f1b4de6e78154a79f2f848f6e58915f1 GIT binary patch literal 3768 zcmb_f&2QXP5TA4lw0!l04<-}I1%{r+>010`sagw5>U7AMXW}LN^uDWYS_S;e} zG&i`xks}BGfJ$6?n$YBNG~(*Hy_V4?_)L(g3Yxv3kzgu zfj*;pW>BI>FW0hPiauSW3luoFdMky~izg$clGwSOtt7oTW@#&nd&9feRWfn5`|Hk1 z66Hxw@ustuN)=82LtlTz|C8)o?D@PXFU(Us13$yM zr%cZ1lm0;v)a=dAxqgaS{7R9+yusE{7`VA^-hJ%V74t zqgEgruh1%IBZFhFbss%iTp_nO;vylFY}zV(*f?lsrDQsH{B28JBY(&NUn+&YqB z?c6$&sl;W*5|^1ve74$4tX`n=G|*pFBRn0}uV z=dU^VKXdToKJ@O8q9P4fgS9XS(IP_ABErKK5!Njt)5GPMcE$okL_9PC&QVn zLVi-rCe3zYqZ#Cx%7)qa@P+ATsp2$}JX~H}@&-%hsFf#OzMCe~28#iYjxRGJ^ z4*oC!$1NIQ!qlnQ489@oOIijqeu#rN*3eg40RDynnVTK}{7r%Xp=IFmw*M{gw}gEM zhD^rZyeJz2m-Yt&$E(*Zy@`GnxU|Q;1%bidT<(i}t?c@n zcaq%Vn~92cnXA0wcZ{Tx`-rNy0bAO*56a>o<0sLPf*7I*I3C@3Jpyf_^Q@mlGlD@*X0nBQU$O`G*!q1>64v zR$~uN>VK7e5p$7;BwtVVCCIYeZ>W48P2c|;ffPy|{89mq+7{m>|&_kW@ zYmDKXn)S{3y2)76`lcY}92|7}mGaBwuex%sNSJ zIbnH^2mI~&|DydrwCr^`N*}21@c?GN6By`E?T`JHWcxp0rNN}#Q~N+^rEQD3oqK7D pqB3=~62Dh3@UZKLGB+*N(HH7HE4aNr-s(nw{eR{Ute0f_{|iq?Z_EGy literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c new file mode 100755 index 0000000..80d4a16 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, seNB_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "seNB-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P31, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seNB-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer = { + "E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer", + "E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h new file mode 100755 index 0000000..31d30a6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_H_ +#define _E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer */ +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + GTPtunnelEndpoint_t seNB_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..33e44c6d2df258a4f5084e46a5214afc7b8ee3b0 GIT binary patch literal 3424 zcmb_eOK;Oa5Z=^0T3&5=35iQM5d^mCwulHMltgZ>)ON#qz**hWtv&7sQ9TSI#^$Qk z=lR0=W;@{R{4-g|L*;UbC zge=n7#UA)6AUQU|CWJ+f)Y#=7|98Tl3>5cS;M2m;okzOd6bM|4cSiz*sIhCkVC;Xj z2mcMoxU{Zq;V}h;9_#UDtl9^E3pnQKh?rsAD4MifJh-a7<>K|l3N2Pv23TNHoK?FzKy0+@dp&D&pvlmN_4XOE*sYL< zUf4KkI@K`XuoS=L6ep)ld&*4CBfar>%C{N614t@PXAW_a(eECVLR8SxG>V}54L3HUq^L$C z^jrkv5aLOw$qX-SHhnnPMi6q}m|I%cBkp=TViD(H_aPQbgWpY=O0pu!qKqfV1CS6? zzeJ@Ik8VMYe+XvWgF)k;KrH5*gh!^5P*hyrZ*)Pwtoe5UM>)SHQEzKN15`JdTf3Qpa}y!|}y% zASJXRfFc2c=M{Ymbc|Q)d??}##UFipresent), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem = { + "E-RABs-Admitted-ToBeAdded-ModAckItem", + "E-RABs-Admitted-ToBeAdded-ModAckItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeAdded_ModAckItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.h new file mode 100755 index 0000000..9cb96a4 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_ModAckItem_H_ +#define _E_RABs_Admitted_ToBeAdded_ModAckItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeAdded_ModAckItem_PR { + E_RABs_Admitted_ToBeAdded_ModAckItem_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_ModAckItem_PR_sCG_Bearer, + E_RABs_Admitted_ToBeAdded_ModAckItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeAdded_ModAckItem_PR; + +/* Forward declarations */ +struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer; +struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer; + +/* E-RABs-Admitted-ToBeAdded-ModAckItem */ +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItem { + E_RABs_Admitted_ToBeAdded_ModAckItem_PR present; + union E_RABs_Admitted_ToBeAdded_ModAckItem_u { + struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_ModAckItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckItem.o new file mode 100644 index 0000000000000000000000000000000000000000..2e9d4a52c860ba8e0673654d5a8fae70c4144b37 GIT binary patch literal 3088 zcmb_ey>1gh5FY0e2>%XHAkiEJA|QOSqexgFp|g$SBqGF0NPW4SPe~O2M7|438WQmW zASy}<3Q8V;f{vC)fsO{j%-)VYY|i8)GScnLd^_KccXxKzhxMm(W4Ro#sc#|Xj-&z#ygr;6tsZ^svrPbMvI4(Lz&ELdLpX-5#ifWBQHT3&o zAEMp%cFYbmYPE;<^xDQ=H{P=!II~W%P});o>1CT{V`Y8uN;uQtEDP^&|t^d$Z5ZmjyV4(6@a8lFD3w6fWGbjFz} z>jAe{R1W~%mn0_6wM6)oibxt)+l0$gIxq06+9t*4j^gP~I>L`+UA0MGc`Dus{F=5& zeG~X4fqxhHb%9S)LKIRI&nHRF>#tMiLMoPRoyda5ka{oPLiS ziYz&0bi=l*X3Cx6mR??lE<`)S&RbCLVyzhSqmbQ*D|2H%1)0X8!xwLD&ojXwCfF1}^KE zx?KFye*YK5Ns2~7TcN||5t{VcxI;);>r})jlbTPpMXwL%zd@ZS%lM_`=O; + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeAdded-ModAckList */ +typedef struct E_RABs_Admitted_ToBeAdded_ModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_ModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-ModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..c30de7779e8c435f3919c7283c0366da36416662 GIT binary patch literal 2624 zcmbuAOK;Oa5P&B&h4QAHkhp{cqDaJwOC=&IA*aDDpguyeLBS8j0TP-eWl_IB;4Q5nfQGvCbYdUw6+ci!UsSg8a`O7I9WPf>s` zXEWPPOc$=eWvHTkBMTK;M^cJ{V+beYL-BO%)F7IPS83Jf;!3^S?{OYYKUdZ>#59}GcT5A#TrYr?blyd*g(OY2|5$mxsBiv<_*5QzonbNnxoNo`(RGGhuC`dTg< zV0H*!8p2_egJ5^Sk3;s@n`a)QbHmiRVd=SH*|}ld-;9}))HJ;o^yRio6~gN9TVIhZI{JeMhPZYdrn;0l&9`a;ui@>q3@r> zR&&tA2fbl+N8c~Tt7o#$NPQmZ=mJ_p|_O9 zgV!AFuFrk2H{uxVK|~H^I(7}+V8>6wWT~jqBFh206ZQK6Zjv2FJg^s**D5jhJKNg3 z{f~JQi)jtC-&@k1o3#0ca&@_dj=6>ucd0?y6)J7ZsU?g%sOYxQ_kbcFsVNY1{Ck)~ zY}&|G^|uX9W09zSTxpx*|3psmL#VVZrfRSrjHPVSEqo}|oc||TFBPRGqI{)&q-0k`IBh@61X^ERRGreVFsN)j z?^h8l$fY!M?$pn3S^rIHI&)X?G1rg&Jm%gZf;D0! Cx9mFr literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..39559e2 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, sgNB_DL_GTP_TEIDatSCG), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNB-DL-GTP-TEIDatSCG" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, secondary_sgNB_DL_GTP_TEIDatSCG), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "secondary-sgNB-DL-GTP-TEIDatSCG" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P49, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNB-DL-GTP-TEIDatSCG */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* secondary-sgNB-DL-GTP-TEIDatSCG */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..d87e708 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent { + GTPtunnelEndpoint_t sgNB_DL_GTP_TEIDatSCG; + struct GTPtunnelEndpoint *secondary_sgNB_DL_GTP_TEIDatSCG; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..c0cd6802f48ac908294de105c6ecd843928df12c GIT binary patch literal 3504 zcmb_eS#Q%o5Z=@rEmvDEA@LFRZa2|0(G7WHtiXV*=vHfmy*c!OFA(L9zX zB%XLd>QCS&@DunCAn{s$0nFGt&1U0NsLe?0o%!b49j|A7XfMnTWipH?!(OwFL?~n5 zMmoF|vlbg;qs-P<^My#yR~t3X{i?nm7W{m*3f$WEQUSPC|82gqtIu=45kpR?=ma6( zYx%T#Vg@aczKcAyg_I19~KB)VksxkyJcElNu0@GuA?WhqwodfqDxc zKvciVNDKxUD#;*3*e-`$nAitji&k4ma z8NjST{4~MA6!;}_(r4N4524_^57X@y~o^@>(Tct~_(midJZda>xu~o)UcdK-{w;j1=9Bwi1 z3?kf=Umsw=utCckz;5GhE<5g;y|Q616>Ub03-?9Dn_dkr53KBBVfDhLNQ%1V6fYbp z+Vd-N72q=CtswC0c2M05Y0X$4ry26F64p=qR51)V?8S4u0Fm|CiaW$Dy2^$UkJu=`|$v4VN8+ydO z%C5A*bFvS?4@-mhtW1_HNW3WHDe?$7#MB$iI<@F#RR1TS#&>XD|7YNfF{fb2WC>wY z27#B~H>xZcY3n}*9O+0|a5hFek5|CrU2Aoqm^&6%jU)VT0*dF9^3(ZR1}rVV1@{jU zeV2*ESe6(uzkxX||A|OM{+J(^q~>=4!~7y0a0#^qU=bkZtRioNjQ(o*#MNAn>liI?rh)B`1ysx8Xu-qDo&$At10V52b9`r#i@TB@vQ X&hM4rYJTjcss7?u>l5f@QvLq{(@1$m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..399f0d0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "ULConfiguration.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, s1_DL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-DL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 7, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, sgNB_UL_GTP_TEIDatPDCP), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNB-UL-GTP-TEIDatPDCP" + }, + { ATF_POINTER, 6, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, rlc_Mode), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rlc-Mode" + }, + { ATF_POINTER, 5, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 4, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, mCG_E_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mCG-E-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, uL_Configuration), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ULConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P48, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_oms_1[] = { 1, 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* s1-DL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sgNB-UL-GTP-TEIDatPDCP */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rlc-Mode */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* mCG-E-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* uL-Configuration */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_1, + 8, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..eb036fb --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include "GTPtunnelEndpoint.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct E_RAB_Level_QoS_Parameters; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent { + GTPtunnelEndpoint_t s1_DL_GTPtunnelEndpoint; + struct GTPtunnelEndpoint *sgNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + RLCMode_t *rlc_Mode; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct E_RAB_Level_QoS_Parameters *mCG_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_1[8]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..61774b997febe76439ced32c46058ec95a2f24ac GIT binary patch literal 4512 zcmb_gy>BB$6rY^K_rc}(79eDh5J6&>I7A`>gf?+DxgaOEm&Af@v$2<)IeRzkj*mdW zx#J4NrKBU}6%>fSfRd612~nk_gzh?czu6i4dA$zk>?h5$mtR&;1>?0K>qMPb{Gnn!VqOuGM}?^HJ|H3q8| z-VEE;wRqR^f+XmKGE7o6&~vN&T=VU5&JT}MoP%E=-9JRrr`h%5fi{c(-{8p7Pon1DH`7@=?U zhdvM&vEUD%v|_E*3eKREPBN>mG}fNGxfVzqVj^ibtgW~i;*6@s(I>6LZW72=9Ep}| zxyLe$Qfkl{v{9|TTb{2UbR*dA{>*2(;v!UvhS zp!Khkz9|0tWANG-JRXC8JqDlXqP80%NF#sEUH4rd_q}iKd%u6*`$PA=kNaLh?7sJ9 zaG3fP6>Dq7n>f~D*q&CjxMK!3=_J+cu6q8id#&znS6yKQzd?tAOai=Wu$o(|JCm(I zwvfACb+Rz&QP|*_e$_H?ero;2aBe>jLn32u=5vMN&txX5?lBzk-_p8M zhV%HpGaRSAqwVi8oZBzZIRkZ~08@kPK*!Q&JF2kQQ#>CGUj`8>NL0?_y z*Q^2DmKhHFO@Kt^T>^W43m9L6pD1gp?DUI{3=W9PB;(hOB*SAV>}DVXVIQQau#*@K zSXS(1YKHAVsUhW>b~|na0F{g3nQKMZjkwdnFCsgNWoU0~*R50rjT>fA_s?G>SIm*W zkr2&6RY0)i^a?eA$~5AN6hP4Y#|MJk*e-T0n^B=h}-%Ary;{xiZs zPHtdjg$}CsNSvkO3?L<);^9i<=sd;GW8}5z-{jX-!ixGYBPh{A#`<-+FJ;1q#ESYq zLy{92fAo*nM!tWaF!Zm7Nm54py8j;xpm{mhKBRWh`d`Fki9X6$zlJTy@S9pT<5Wtj z8rmQG%gOi|ev6bw=5}|qKgS^FZPCup9d;+$|6{Gh?~Y4U^6Q5eXf8zv5#mq%wEHO+ WJl{X=jw1g#{eQ|G6>U)E{r?5sD%bP? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c new file mode 100755 index 0000000..63e2e39 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P47, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h new file mode 100755 index 0000000..481fc5f --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent; +struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent; + +/* E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item__resource_configuration_u { + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..c984f80a16f218239f8f6849dcd3866b66753f25 GIT binary patch literal 4960 zcmcIm&2Jl35Pzu~n)223LisG_fEpycibGH%Kxh-&ZGxJ_IOG6AT072?Mvc9}yFm#O zG~9B7BS$2Jxb{!r$T3GwC`WFDzX0azRZ+`0ms9EPWR}UP^hPguOZs$@*X)E^>c$-v48NWo}0#?21C%t!o*Fi%ZB9 z36rd7pS<;RaaWh~Lh_>qwGV2iAV%W8qbrjYbu0ike~9y>v{W@=w^Xf^8etsm_1a-2 z>VCGpwbyGU+fmo_7%jC2;O$zewx5LEn0#Ur)A>`cR_eRt9d?tx-i;E0%-u@mo#NE` z#$GqsE8g~Iz3EbU&uZnb%X8lJtXF;`#oc+hI`-wV`D^G|Qpovh3j-^eWh@M=sK)h< zYJ5CXSehn2X0F=(03?w+79Tf<0EwDhP(PA9X0BKa4dR6g3K#5z1mqX;S-460fLB?U zexVkWKbtKp*pp2o#(Zq^jGGf4AI>Szmln^esGh>+XZCNh=@H|AH>khsCR=|Q=RLwF|K)AWr#bj;4*pFJ{!sHF8Xa|{V=R=MZNb3V7R=h!sMi`naNeXMt=5CJ+K214l}gQsfT`0oTHADL57bXU_d*|7 z396N#G4y^ApL#D!qIR^?zZEJ`H=(p)FPNKot6ZPGEn}!Gt}f9CQkL8QdFvM?t*;&# z&qzOkB+>U(cA(JlrA{4VCfMZS@(%;Qk%gP*mH#s&`>f;r0D`~97cH9N5(}uVaNOmG ztT&k>58ezy-?ISx1p$d4D;#eMp;H#%|Du4zrvMOv!C!8oMTKKLa(^5u9R9D<2l_$b zFQt%ee^WU8-(#EPgIVYK!||8=rwV_WbAT1;+y%j`-%nEtf5m#F&9uTXFS+M@g=3xl z)ZOeW{3c^yj}(saf50}}8z7A5RV$^<1P=~4{6Arvt~b<)kkkhJfy+BU*9q_@eU`lV zpp&#Vj7NWb%I}Mmg!_r{Hd{%{cpGtSyj}zao@H;2)NrR|&5#_`+lksOfHp*U8d^49 zJL+`sDD>#>3cb54>!mnpwI9f!{yRqvVeZ%?O}pFnRr*GK!e<2(+=?tuB(X4rwM7$aO3`!+_ zk{xlKqK5G5lK!RcRtX!{{|WcIpJwZ~#lDmZ_#cM#e}v*ET1=U(ZM>G<{sY3$KM#|= zsos&4=+L%VQ_MswZBaXH{ZBZ)W4Or!AT_%lt&e{%Vpq;Sb3uvi3XRc#T1J veWAN^hu@*Z^FClXpQF!RKb+%Ei4a2Z?D&;qbo;-a6MxM6_pQyAHE#Sro`DJ| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c new file mode 100755 index 0000000..1483dae --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P29, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h new file mode 100755 index 0000000..289a35f --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..fac2581f80ccfb8df87f6fdb185c9ae9ef7c3917 GIT binary patch literal 2664 zcmbtWOK;Oa5T4W&%A0aRLPFt0k%);)B?3suNpK6Ov>|Dw-nOn|wV_R1;;o<@pg)5< zR}LI|fICNy91$nD!7nH?-d%gUPCzLmdFPvNW_G+!`;9k0J60%wk^<}j=}GPL2*{LDu>(_(CX#I0xM4UG5H?asj++Rb@ z`$BIh#KV^y?6%K+u-D=k?0!TBMLKo`&2Y<4+=P@@X%Xds9Yo!3h)ZPmA|Bdv3(KXL z`@yF6ZvO)>W3rkXy&qRMG)%F&Tt$O8eGbX*QiHNBRN59(B)~OPbSs(pAB;F zgScrGAhpUTzb;gZMD^oJY}WsVJjqv~(zci)0q&uqJKPm!+OEp0e?k_by-k#=ulD_8 z@AXrgLVbV=}DAXMPN0~1bg(jkGrF~=xmxViRKgj@d{#2gQ;=7fm zrQoLuNErc4nrw6I6!}XAewLcf+P! + +/* Including external dependencies */ +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent { + GTPtunnelEndpoint_t sgNB_DL_GTP_TEIDatSCG; + struct GTPtunnelEndpoint *secondary_sgNB_DL_GTP_TEIDatSCG; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..d79b2529864b6170546637dace03eb8195560f02 GIT binary patch literal 3480 zcmb_eOK;Oa5Z=^0T3$_g35iQUAc};ox>OJWLe9fYi~2B4dv;yhN<$O7iZ`g`Ky&N? z!L`T!6n+91B*d8?0KWic?A>IuaVpewB=63A^V%J+XMJEU&5va=gj0sRCOwIxgd9!u zcq3*Fk|mSGRM!f{NG*8HI;Fm+u7^dx;CaARYb(X&&?~q*>LT@BS+~@6bFu8uYN--uI%$yCD$B!sm0^k#@G;Q+1vd|pIMv^^BD&j>3fX#>cIDV z9}ZJm{8vNpks6%l5+@4mvN>;?Hug!I_es0kC+%LJw6Rada(|z+sZ)z=J&v_putttG z>o?9STG-?Z8+DWM?p7_kYQEhtS4t+~j13n=L|aZBE)1;Za&c|63M7TBTBXs#M7zE# zZXWI}+71H0VFuoA$XAPHv05Pw-LTPZNu@BLuphr==Vzbl*0Z_f%;Jd0SNz)f_bB81 z3?t5Y^uL1x5aRgN@pC_oAdrkNByfyRF&-yNz^@DVrhwlN@FM}gDd67(TwPH($;?rIMSiC;9QLMhL^zNooe);m^)-wipBh|0*dF9=jZ2Z6|l7Y2HZ19{JTsf zLUNp8^Bb7c^8a9oxIgB{CCT}1z%V~c2V6oO1{fS*b54?LAfvxr|F6vdfn<-iNPK?J zc)re93BxbukMCC`?#Jf?P;y?h%gP6eDP>!f<-MaR_s=rrHNYm}k?V(lK540PtU1@D V;BtQKrD^`-?3d~b=tYwK{{f8#Z@vHk literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..7b34dc2 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "ULConfiguration.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, s1_DL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-DL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 7, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, sgNB_UL_GTP_TEIDatPDCP), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNB-UL-GTP-TEIDatPDCP" + }, + { ATF_POINTER, 6, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, rlc_Mode), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rlc-Mode" + }, + { ATF_POINTER, 5, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 4, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, mCG_E_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mCG-E-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, uL_Configuration), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ULConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P63, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_oms_1[] = { 1, 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* s1-DL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sgNB-UL-GTP-TEIDatPDCP */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rlc-Mode */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* mCG-E-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* uL-Configuration */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_1, + 8, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..440f9d0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include "GTPtunnelEndpoint.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct E_RAB_Level_QoS_Parameters; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent { + GTPtunnelEndpoint_t s1_DL_GTPtunnelEndpoint; + struct GTPtunnelEndpoint *sgNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + RLCMode_t *rlc_Mode; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct E_RAB_Level_QoS_Parameters *mCG_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_1[8]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..bbebc6885d7ecb89d1bfb8733281c509731c941f GIT binary patch literal 4488 zcmb_f%WoS+7@yST-O`r#OURrWBzCdWidrDhI?g5ya?))Qs|XI8jlH;5?A>U0T*8I; zgmP<+To66>z=1yjiA#@g&ZdIGR)~XD9 zs_re-yuBn$!$|6It-7@wC*K4~s}r@Yl`T*9qbTgUQEM;mkX8SG^u5}OrTSpi!#iQu zx*2a;UXTR6P=-l5>hm-yKh}JGn%}e26p!K0knUf?V@#e{g?>ImX`j;5lx7(h@dlKh zpK;u$DBdBZ7iS#zEX6yb^wNyu7AW2ilwO;0T-j?L&O zK;hWTa-PpH=lM)?p3iv3e@exicuowo8TTw4TY=2rdu^}Hhkk!(9^WtUPFASAK=CJ` zpiZW7O+lO+Cy6PD7smKEX+kftopf7Ud`0}lF>4`qr|<_l&OrP8syFj*iXZL7lGdLm z{iOJpr|{RN@Lx{hlPUbkFKW9ff;94%+-2YOaoPLkviFCVy+69_eO&gc&Mtdj2JO@@ zt3Yd2?{t9{!tP8$#XZxdQ;kgx>W1fUx;Go{dd(F^@SF7Y%Ot=v1~a&}xN(YsXOp+- z)lLy3-3yz1%;V23v(g*&nmXD{U9G&Yo>)FTv3&N#GA51s@k7w?UJ}c=8Fz;#BAH2= zlrZrt3s=hCM_2ggMxPD)Do6K9o;TkRcq1du8^{RY@zoC~0rOcg#$RXrB`u@y7>_&1 zU|S1_|FR*e#5(~1|B8~b>~}4L=cm)(jOX_AFeDgzGoI^=e>F2v`GE0=|Do31V?2-l zC*yIdJKFvc<3zLpYg97V=5mq9{sNvoxY;bu9*X< zDvXEyDoBEPf54uf_Qu!nN6MNqJN>pNgB>bml9jiOB*T3v>{cKHVeh1=u#*@SSeESy zRl{ze)R1yjyBjwHkjllBnQK|t&A8XY&yO9&GPGCL8&)cV=C0|~$;-FN6=URYAw+YK zO#o~;-lGb*{L8@MMoiB8UnU*a;H3T^kS}5`P~vcOM3AeIhn8Ow@Th#Mohux9(|3WMAe{q3Qe*W;%%xw{3g!oH8;eN~o&$o}e RW0Lpresent), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P62, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h new file mode 100755 index 0000000..a21f240 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent; +struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent; + +/* E-RABs-Admitted-ToBeAdded-SgNBModAck-Item */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBModAck_Item__resource_configuration_u { + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..5ed990f9b14a4f7282ac636bde9e55b5269ae729 GIT binary patch literal 4936 zcmcImOK%)S5N>B<;_$L_;T>2G2!oiB*I2{?gvQ?8*hbi1*7yR4@p^Y+Tk-B#J7Z*D zh>y9E3lieQPsj-&apB4>2M$OG$;TYSFM#@bs&>k)on(znNz+yJbyanBcTIQSseg9! z(%6_08Z)1mTocro<;h$QtQeRnGijb88TPJ^*8gF$Zck|HUUOkF@fJGWy)=zF-WTy= zw9x60w6U|cxEgmB+PA%xH0nMfj&$ohfVsNZx%{#VjG$j48%%Ws(~(Uk$P#OO(QyNc z`80i_t_PVumJkQuE`86_chUJ$$O|Rx)hHzEgMGNj{nc^*kNuUo-6i2b6yk1OOCByR zF4H7Tv7&8?*3ZRVUCs-Mj~diAsGX8@5)T|*by-pS0&wF;I8VHlnu&T|t?D(SBtGo7 zqiWo{wYPKFZ>4*2&-5Af+GpUsx>r9+qh3NbiAm`EY1FEX1G0{K=|JzrsX%6_TK%v* zy}5nZOApI8{5gNds~lRb@=aylpPBP3?_{_;4_C*&TsD6XJxfXje{Jc^O6CzuXI50> zdPg-ro+~VQ#K+84yB~nW^OnWO%?UuFEiR}ZNFFm+EQV%gAYp%VT;ShHKzyNqg-MDB zyvDkW3$>)|x!bamJ=rv3%#w{WZcaHroKv7(i|19;$YApw+i!8#ea3&X_?5vr%rpL% z#jlzz*2~PnO6FOmGrM!`tDVkzBiyKezFA+Z){O|5H_f57M+fwoY6R0`QjwB>q6*csmF^VgdHA2uOSy01+7M<;Gc7IP#Hu;zZ%Fe~UiQ zj|zV^gKYbU!eRe0_enf->o^Y`dx`%@;jeKFuri&mAav_@(zL>_TZ^ojQ8?x$_gSED ztaFf=nlehdYc6@Q-8XuoBi}H=eZ%tqm2l9MlUUiJdGis8cpC;eWTl7v z#JbCMiWI7p@H^BgvbH;Be~m$Q wZK1n!huw+z^FClXU!c!jKb+%Ei4a2mY`E=oy5nCf@c)_j?^_!!Z(RR>0k7%)lmGw# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.c new file mode 100755 index 0000000..e6f97ae --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeAdded-SgNBModAckList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeAdded_SgNBModAckList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAckList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P33, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAckList_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAckList), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAckList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList = { + "E-RABs-Admitted-ToBeAdded-SgNBModAckList", + "E-RABs-Admitted-ToBeAdded-SgNBModAckList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeAdded_SgNBModAckList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAckList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAckList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.h new file mode 100755 index 0000000..374a491 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeAdded_SgNBModAckList_H_ +#define _E_RABs_Admitted_ToBeAdded_SgNBModAckList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeAdded-SgNBModAckList */ +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeAdded_SgNBModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeAdded-SgNBModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..cced904016517692cda6c8d776ae134e29af84d2 GIT binary patch literal 2648 zcmbtWOK;Oa5T4W&%CnRc5|?nIm53G7N<<(bC&4YCK0?w;y)BMowV_R1#aoGTfc^z; z-1!3>dw@GfPN+w&+~60K8Sk#WT_+IANcMd5&1)atP2PITixY(cC@H`r$SlPI9G}my zn?M(?!Br?DzL~j(q7x~@oD)b+$%p)D?-UT5iC1b?YjLUC>2)~|JEirg7FIhQM6IpW z+Dg=^20P2$m}eP(MrIq+9+iETICoUBGw`C;Qoa75IJ?o_@ALiQeS5(!mz@2?a^5%< zyS!jKbAta{3!2Y4_;oTY&dPS>l-mN@y}Vdp@Z9$n9R|4ktx81lvkOZgr9(- z^faXYknodmDD6$Dza@M&&MT59Woh*_8hQF6^J2lJJc*127jyhHF6fLluWcFOB7Z#> z4bU3Fha-3x_aN8-_;H^-_7<7P=+nBvr(O8jLaq|8cf z@~+0y=_^Y6iN?=JOiG;_szX=%AwDE8lD8PAev02~{0)goebspVY=Ipg^tj(f%?Cnn zE5yTB9PEzIeX!ec4E7)*gCZTff@ZkuCvHN@tF(x6zz(8bFT_o<`w7_T z8{7ZDTbQiYMz7=QhK4Ctm)mF%r>`OTU3#JH36;K!DH7lgD!PTt{EtSQGR^+t{sg$E z0;E>?a|TbnNK_qHVzd8u3CU>tfnXbW*4}|4%Yssv2DZkwaoB w%$z&b`6=_iNKI#M8Xt50=oiV{JEY)9lJAUh7$*L94bR_{{{vrBF-^?;-%c|1E&u=k literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c new file mode 100755 index 0000000..6699a6d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, s1_DL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-DL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P32, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* s1-DL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer = { + "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer", + "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h new file mode 100755 index 0000000..9f0ccec --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_H_ +#define _E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer */ +typedef struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *s1_DL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..0a8dba7267b10989e0dbb95ffbf1682b8e80091c GIT binary patch literal 3440 zcmb_d&2G~`5Z=^4TmIVeCnPT6M3Atl(+VPxkdxF+i~3_|dqZ+v$FxxsyNWlcTxgHn zxWbJ`-~o6CcmNK(01})Lf*E@!*>0Sw3LVKiv)}ye?(FRNz+Rdk$>kVPjy++$8KI2r zjrU|L5iK^!CYY^1FIQr{TyHfv59<1QR0)=&dgEmSCLomk-9;X>^tEbDuLNE@X!qir zL{j&n&IiTN1}TogM?m)%=opg|t8kwfZw$V3@SSE{j6Dh8`BRJwp)zS2(3_G*%`2V} zNySq%%>l{CF&FY3;u$Cg>Mb0AD1QOgm%cd1VpE@6(rfDu?}TB{w8Q#d)Cf6i*t)&X zgD`GHVa!;qT78r+Y;1Kx-pM~SW{qjx>?AYujaf3LXASdiil^%g8gczI>{n(jXh%-a zi=Z7jiHv7wM}rlzNMmRF;0J)@*f_)cK$1N*HkyLcxDPVg6OrF%ftQ2=>yt>6>?kwu@cTr7r2pUDEA!Nf)}Ln|4W;d)u*VCJ~m)&X5s` zLG%A&L@nCHaK}jYzv{Sa_OlIprD`)0Tpyk*Z+rNJF-yyp=fj*aP0*TC9mYA{3;e$0 zxzKCq+WNZC6<aL8u2K zj<1XAyMRg{6<ze>2=1%68Sb;-Vf8w5gz_SBj1 zog*Q;kx1!qDB);-Tj=Dx$z4Xx5A`=@#IIZ2+XBwpDc>Q92m72Eb&q?@*otFjv?H9L zrD>F48Z^B`jgm4onvw4zn79y6T}@{AQL7a|X&Yh01EaRGp~u|wcclXkDc%AL1DKS{xNr|2v?@I~dmg9{6HR^?g`?A)b(A!aDA~HNGWX!z#>5KyfWX0Ir^*l|0w+LEB0uMMEsSIX`hJ_hA+Y& z?^h=BBYpr%l4ZN!>Vbq(wZ(a+sVK;TP+kVR3Ha3fVc$_}7a&#;&AF%qSJ%g0n&tmp MEc6b8Nu>J!1GXztHUIzs literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.c new file mode 100755 index 0000000..56c5df0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, seNB_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "seNB-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P33, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seNB-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer = { + "E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer", + "E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h new file mode 100755 index 0000000..7867bfd --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_H_ +#define _E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer */ +typedef struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *seNB_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..f050e35999d580c4f26eed8f39f75db1a4e3e0ab GIT binary patch literal 3448 zcmb_dOK;Oa5Z+)4Ew8pf5fYbhB1qV3+9D#5kdxGXAlimL&aUgYZPdiB;w>r?qCIls z%8?8Ifiph<@iP!7xWWNu?44%1aSBR1l07ruJa%_HJ3erp&z#HU1W`^r6&;OGA@+wl zvYm*w7!kw5F_+7g*eusu4Jm`Vxf)f1g{a=xY=8nn+25I$LCaj(Z8oG?3A}dD?qvG6 zr0+%7du1?s8BV~@f$a~_2`>L_!hK@CL3l2}bC!8A_Xs?f&M+^e%A|2XZ!?QtS3Dz< zj;Cl^1Co(rE%-OYGf)n++xP;a`UTiu=KQpXgT;zDyIPZbVHh->u)Z5LLMa-K>FmoO zj2lrH3o%=*KF$}`Hugffmw#kUS>tALFVTu`iY04&$|~MZ@pPG*#S~=k*C3-m5ygF0IOapb{vTy3*T<-C~kspyR!? z9{Pmc!-p)jb|fP|Y939ZY7|O1P|$Wu6O+Z-V_~%;RM4|%l|T)e zUSdW`Q>|v?dk7{W#M98Cu>7di3ZSvAFp_~aySQe?((`xJAx^>WKrEI9|EHX6t}t1Z z@d&vK5@PzF$v*NpF6i<1z>MFZ-}na*i#aFY;bbf2AqPR`-y2OfJX!lc1RUwDw&8q& zc3w|F#DA#Wff8w3{X%Lg{wkn&Uuk{nuO+~;*3ZNL1BvcsstJ)NLGfq6v)2El7NU4u zAGf5h?*fMFtK~pSXC9&vaD{Sy0An;5Q79UO${WdhY@x3TimpT5^4ToTXXu-_%0yFc~8~ F{x7U)TT1`{ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.c new file mode 100755 index 0000000..30f7aae --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeModified-ModAckItem.h" + +#include "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h" +#include "E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeModified_ModAckItem_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_1[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem, choice.sCG_Bearer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sCG-Bearer" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem, choice.split_Bearer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "split-Bearer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_ModAckItem *)0)->present), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem = { + "E-RABs-Admitted-ToBeModified-ModAckItem", + "E-RABs-Admitted-ToBeModified-ModAckItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeModified_ModAckItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.h new file mode 100755 index 0000000..8fbd957 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeModified_ModAckItem_H_ +#define _E_RABs_Admitted_ToBeModified_ModAckItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeModified_ModAckItem_PR { + E_RABs_Admitted_ToBeModified_ModAckItem_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_ModAckItem_PR_sCG_Bearer, + E_RABs_Admitted_ToBeModified_ModAckItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeModified_ModAckItem_PR; + +/* Forward declarations */ +struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer; +struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer; + +/* E-RABs-Admitted-ToBeModified-ModAckItem */ +typedef struct E_RABs_Admitted_ToBeModified_ModAckItem { + E_RABs_Admitted_ToBeModified_ModAckItem_PR present; + union E_RABs_Admitted_ToBeModified_ModAckItem_u { + struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_ModAckItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckItem.o new file mode 100644 index 0000000000000000000000000000000000000000..455814f91e191db4dda1bd36bcdf7c92b1d49b37 GIT binary patch literal 3112 zcmb_e&2G~`5T4X66e!RF2P7`$L=ePEs!CLVkdu)9iPEU0Hze0hOdB;nRqUenLi+}A zqY@Vm960g_JOUCt2;8{A%z7stHV&jJBY9`$+xd2~yR*AFtUQ?;$z*^f1CJo_7zN0V zC$_6h7bf8{oI#u7O^)<`X;HL)G?mWvo-bkHc)b{39^%kchot^BOpZ%y{J+LElV%Z^)ZnP-95jCuH+`-L9x5!)=SqR! z4Z0BSHX9K;Fkdd;x3lY;d+lh?zURz1`CMU7d4*SnStmc^6mG{j50$EEokrnD>Y7`9 zRT&Rqsh#Q{&H}3+M8v`jX=1@xAAARqj2OSFBN_@HgCp&K()yjk&uR}~wr5e^1ZViG zia*CL*gcEl6I{TEpOtoG#7piGuhwaYQP(Rd_Ht=;XkyG*tCojmgu6j4 z6H)2x zGg;ONZo8-|0DfjnoNJ8mDKUVnZNla0T@d&cZIj~jNbz)69pOi^q1yNzlc(ia;8(Rx z>WjcH3jDjkuL(R$2~kK6$SedICVer!PyK$aJn6G zD6-(pq8l`Q)lHV+I?YbaCs0vX$J7EiwN9%QU}-q*P82xvPuFu{jB7sC7QITG|2lP|tl*cHpPwrE?ohl< zjgTd@)AAqbCyMh>euB*W9%7W={J-F8z{Wl)wsg?m!jJgo`fq4H=VuzllCXZM?Yu&h zW?%DZf2A;w^&xh$E#p3z6Vjb#Ect1nA2s+>6E0!gB!1@l(aUbuE<*60HU;IIk + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeModified-ModAckList */ +typedef struct E_RABs_Admitted_ToBeModified_ModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_ModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-ModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..a691b9087c0765a94bb0915971120596d8ba7306 GIT binary patch literal 2640 zcmbtWOK;Oa5Z=^0N_mzO5|?nI2x7&h5>b(m+u*jKK1|X|+!n_%ZD3|FH~0l*#=B#0*NGZnB=3Cl&CJfelXu?o!dR)qNJ{Jx%PnFVJ35zR zH-#>{!Y;Ea;2XJXAUaku$T% z7y#zN?d47)@`O{6S;n-7rTcmf-XTn2g-h~^tY7H$9YNds4T62jRqc1WKk?OQ6zz}*o6W=0Sh{*&1*|V%mRO{ z5Y5=i5S|a=*@zdx4q1@&_+xK@dmOJ0r>n#DtHblF!$q)}a3@Xky#^QiyV1zGVcbhZ zUuCb%H%3mB^_qTto z$-5elx2~-0C5@j{7!}<6Fp1Ncy0q^%sMetSP?{B?y<9cjFNrm>tI5ZUkFo_hJ#*i>n)zLSVh&8%HgPyDzlgl8Kms!!+sDR3B) zzt~`a9I8C}9gwW7MHqDhJ`6SI|5@cLg`ugCO*#M;aaFpr_KOO@_0@&)NWTInVLk5W zAaXz~hM9B6etxO^uS(;cy9%GVe)vmd?j2C + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent { + struct GTPtunnelEndpoint *sgNB_DL_GTP_TEIDatSCG; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..c0d3a7a1630a68345132500363684e3460ff6103 GIT binary patch literal 3312 zcmb_eNpI6o5Pl(SWoybNBrZlmqDa_^OGPV?P&PLdb#a^Y?7EI=qb7D0zo1q^v{z0b zPF(m8`~-di|A7P7@(WD5#& z#bSvS*fg{B&2lBu%dKvkbHAlG!-~Hew%YI7pfq;ZDxj3TeSMkx-B`D4RXYgzLC=r; zfTu~vNNO#rJ|>J^7-vv$%tyY+{{bm3XHqdQKDca`;h9ukNHs*WpcN#9=0XtZ#0e*^ z;#jM^#wBtTcm!Lj*H-j;)7G2Ta?Rz9YMr$$-8$rc5VgY~Vys@RzSL&7cKQMDYYWD_ zQPj=nYXwzKC7|-ovug^HsCjl{41RqCH(^0%qGf6 zrFqY7L$k(}U9D`MdnuAdZP?XwXNnGdPhJIROS~The#Z)02O-sr>tpvq9(rMC(5I?l zz+qN?&sm&%ZrU#v#EDH99B1jar1w1-oTGG=&yFCfJ6Hfr!7(Y;skH;Fm+pAj-L zTf%Qk__l=Kk??O4epkYONx0lKP9^-FzoPmRbacKnPi90%UGDAx z=e>mQk;MH&&Wx7JU1sb=5i@!rD(Gn%i=g@)H#VcBs75FBTm<6~;z_8<3@_|<@$ZEJ ze>HrgzP6=D-1YXU+OzYA5Q=lh@1#s6S&?M1j05BmNQkLlq|(4+SWx4ifEoATtntqv z7IV(QBU4Ez#K|V_H)3eds{aIVq@q%=7NhCw6^QulETvE^6~w1Q6Y)0z#jh}pPxomZ zu&nWainwB&Eq!UJ7)x*Aoi%<@3`FrbK9;18?*N8F!RKq31VHg*)JPC~7dXbN>t7V{ zj}?D0tvCiv@8LmA9j7Vcaerk} + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct E_RAB_Level_QoS_Parameters; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent */ +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent { + struct GTPtunnelEndpoint *s1_DL_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *sgNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + struct E_RAB_Level_QoS_Parameters *mCG_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..685dc51c4843bb6d416aa2b69894a901289198d9 GIT binary patch literal 3944 zcmb_f&2Jk;6ra?EQa;)gC?Ih$NQhKox8AgBqk_;T&NeM_(rpu;HyeAKy0v#B@3<5W zw0{7C3kQxBCypHXGq@mCoDhEj+KWY5l`@N5ud9(B3$5G?@iG>Bl zw4lCJBaKm|?!7URLnDT2QJqzhcV~62^j6!wj@DV*+bPzv&7$48+aYCpe`}4D)z$;= zrp|gskJsz*K|d?ATq8}dzTuf1UL$*$b-mlgwil=Uw3q3uUz(2o_s1Qpt4|AlWtzdk zk&k^(koM(tH<^UPbJe2dgxpL1T!{{w1g=A0L`s8V}-j(I7Sp^$!; zhNAi9wPc8O=8QAPoF!qcFkU9qSo)wgs6P|tgmq>LSr8ogkOOh>Edy`8;ce{1dXVQ? zH_F=wMTfRaN!!V58jH6R-CR#KHj^4Oyn2z}?d%WwsqPfH>O@}jNN0IT3T>f{di`2; zskt}E^`LsyzwFn%U|_W1yI{qyUG{?uL!A1aMi}Es_20yAzcN;lQHIJ`Wh5>uBym|O zi632^kjx9}w2G~pjI5|rqhKq2Z~fW8aerBS*Bahs2jUgVKZz=4XC1Xv)SE{^LMloe zp4Q_ND(JbxlZDP#i{B?4d)K9Jr{F)>JWp)E@1%qNH2A0vwIQrNrVnjW{x7EB$rSwS zDfmnmg5OeUnJ4Sf^(0DguOxi0B=TNKM)yjBd&TJDUP*MiUnYUcwYeJ4oNGDj&MRBd zYzBr6~`xmYn?2^KESH z6Z0NO=sl2#_W-*z8{CWk3lZZ zdj>em@WXuw0*+lCLm}cj$Hi|9&Bp(nmBBa;{d{ULC98vQG9 z>A!@;L}2je`P>lrc{o^lB5>3#wD?njzh^P9X97q5i`MpB;O|=utVZVw2xj<))If4w zTyN}aYI@Su**KcrC15$_L4p;Uxy%X^4?L=rIf z<_!-$#sxS2Q!-->jvN0O#Ukf2HA$gW5($zl*Bhpg+NAM6B^wnGevf$DhrnH6GyyT|DSC9mg8^BVParUz=GG4{IrrNoNX2$T{o*8d`^Q;5DgK#VzaNoIkQ@IJ DZBL@5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c new file mode 100755 index 0000000..941ad13 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.h" +#include "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P65, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item = { + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item", + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h new file mode 100755 index 0000000..4a2d3f6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeModified_SgNBModAck_Item_H_ +#define _E_RABs_Admitted_ToBeModified_SgNBModAck_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent; +struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent; + +/* E-RABs-Admitted-ToBeModified-SgNBModAck-Item */ +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_PR present; + union E_RABs_Admitted_ToBeModified_SgNBModAck_Item__resource_configuration_u { + struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_SgNBModAck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..f076721031dcd7c5ba9a15dba26575ec0e409987 GIT binary patch literal 4960 zcmcIm%}*p%5P$3}F6-B_7uU~qJQy*tI}EZ))R=~u*#)z}2y)PvG{ex#PL`P_(~SWW zUA%GAqel~CyzZai(IZDshNCy}FVOnEu9_~M(=21Kl73b7tB?0p{oZ?6zkB=A$cPad zF&~;-6V#aXYq=a)F)-uint6g`_`5M$|C`B%J*KI9E3C}p9T<@sH zM{|XxN#Y~ss@)Gj61i>hQF8#0Xq^k{N0LX(6^o%kyiiHuf*q59{6YZ>Hz^x2bIjwzIR*OC;&~M{GT8jg{_AXd#Q3ikztUfa8OHy#_*Jvc zdYL&`$vmyJTr8QVa)qTE)ZcZJufL4*F5%<<@;2u40(_?c|E2){sQ^DJz<)2mPYUo` z^ivNSzZvGj_gki!bi-Qxc32PbP6*|l5bAeAn7KQJ7ek2 z%!WlOaLAS;>vWMORN%%F&-{knW;>(hMz~u4c&)xvts4s-%g=*YQDQ(mXXQtk+G~T%-W2nwAFVF}wR@nb}>lgK`uO1oC zP(Ohr(f3t;pwRK9P90;$*yQ5!4+FoEhnwe>|1%^9tmFLvg1^S+Et=sH3#g%R+~o(X zuQNv;ycvYPX94&N0unz`INlUOCoI7KMFELV03ZT`zuZLg3deZl{y0!L{9mUJ^n=1* z${^eRrf~Rwz&6PTv(EE}<1hJ76#g>j04vkE3xZj{pC%OkiuK5vNrhuxa?b?{$2td@ zyV+CtO~$|;DIDYfh;6txKp4-fR?3<&9vpD^f5tXlZ>SR?sSWr8mv?}!6X5IgS@M(p zPTJfsKK=0-zb{f6?WM-wY^F`)ZzPHFdodJvR{R-KqwS_OLvmDqJ8m@r+7RJcXvO%g zxYNO-(5JsE^6xCIc}d!AJ&-~Dca9pu+_6WR0<9<+zM5Vm1(>c0*aI{~vW}T%Oj!ix zZxF}cxbfdPexkblzeNUMQ{uo};ynk~bpTU9-=OjTLO5vL8Ccn(dGkJrcryk$lu7&~ zJLEb=4dK-#{Y%{~6E>*-WA1k^%hqqpeJK<0KMd;s5XDb4pD|n8crCmAhlHVj9wvKJ zy(1~nfo=1qoQqc4qIS^wA9H-i@rN%+_!lfsS~PDK`H71C)g*DkACggI?YGbI8iVZm vLU-p5zXOTqeZX=)N1wZXILDn5A%x=D@hivZ_J6$~{)qSQTbnI!-1vV0*{lqd literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.c new file mode 100755 index 0000000..e7744b3 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeModified-SgNBModAckList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeModified_SgNBModAckList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAckList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P34, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAckList_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAckList), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAckList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList = { + "E-RABs-Admitted-ToBeModified-SgNBModAckList", + "E-RABs-Admitted-ToBeModified-SgNBModAckList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeModified_SgNBModAckList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAckList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAckList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.h new file mode 100755 index 0000000..9075e9d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeModified_SgNBModAckList_H_ +#define _E_RABs_Admitted_ToBeModified_SgNBModAckList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeModified-SgNBModAckList */ +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeModified_SgNBModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeModified-SgNBModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..e8c4a963fb114d6c2d20807f73213770c9235215 GIT binary patch literal 2664 zcmbtWOK;Oa5T4W&%A0aRLPFt0k%)^5f;LedFN5lzk@C(X}ch}yo6Hv-X-udR6nH}%be&a37jg?BEqy+aMw-gKT<9LqU z6uNK@&O#OOrQ9_T9Y`7E97A$KKIG48XMosTyh>}fo>XQ#y)Nfrr}8AOhl_Ei`>cyb zdwr>n#%!>;&`o%r^cQ57G3{ZgM~QQXb#??^^fljT+$m43tnEa6r+nLSp=$put;6%o&%;zaT z24(4KO8q|N$6-&}Po@5z^7(t7kvu6&>tCahryW@o3r-bDWGpyY;IH6>PHN-YkP$89 zFBGBy!Xf;NAv}z55bOZ_Bx3iyIp#4sK1>}SrXL@6`1mmHuP4k&Q=49k@!jokr2HU` z65f|REY@2iC5yW4W@DtRWIGJhJC8Wrbezjg*7hE+cuNhBEzd#QdxDCIf%x5sXY<(X z$2<<=t%n|Kccb;KkTv3nV@TL%HK#V+oSr$n$heH!ZV-1KMVP$W8^kM2aq5mG{xlI% zrldA`SL5k4mZkkb<0mC1rOpxcLs$JCJ|wGYE8bH-)o(TaqQs=WXuN*bz)p61++Rb@ z`$BIh#KV^y?2gZUu-B3V?0!rJMLKp3&2Y<4-Gr1^X%Xds9mKs}h)ZNgF%RwerIkv; z{a{mjxBr2cF@AXrgLVbU#pDAXMPN0~1bg{GoxrF~=xSA{!kKgj@d{#2gQ;=7fl zW#Fd@$QS`knrw6I6!}XAewLcf+P! + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer */ +typedef struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..fcabd2688fb8b81972c93ee85d8dced36799bf42 GIT binary patch literal 3192 zcmb_e&2G~`5Z=`MmA|(9h)P_HghY_A6}J^cAc2$A{Xw)14ZR^5*IBhulemhvC|qdY zfNOaRjvP4f2s{7}zy%2&0KtsCTTeDgRi%uy*_m&Cc6N4moPF=b!dNcH6y?}cmPra_ zta~Bj-Gp`7B%5HKwO%U6R;k`<2*K;ttEkM^d6Ne*2rE&&6z(hw-m+?yMXSt%4)0`f zPQvNA=<=`_W5X23;OO%g=opg|t1wR-ShjO8{#RTG)kArZCJCbNTh&X)m5YvJuF3~( zTq$!rXKQ($H9X7f3f_(zQ9EXAu~K<#<~KI?+G5XqWY5_J%h^jL=e<+33v;$}KgBWH zaKbguu-^k~Z}eo8#W0wjeX28|!q-;MWNLhTzu;en{{e1ph{G`kH?c{3fx_V}d|9p}p!D zv<~$3>-$xGhuQJFmIyXs7M*n7R-E8n!R&e<0%mW@aGzI9x@$9SLqPu5MVd2*MrQ(dp-En||67{9+*aa)s<$u@Q+XnW^i2BW`BKvT_d%&JYPZw3p;W8e xqCCiSSAvsrz6y2|F!cIiAJOkFK + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer */ +typedef struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..6a78c40d2bb97c2ac35a7aef4c0f4d3eaa6353e0 GIT binary patch literal 3208 zcmb`JOK;Oa5P-Keg_c)a9s-Grkq`t4TX9=N1QIw&-BLu`kkYepou!SM#8tdSMMAVk zZd~~TNF4bIh!aPC2Pe28aex_nw%%+UK!K4qJM-<#?8EDE_PvJ-qa!0s$_Ts5GD}j% zUX5qEo2V|EVw23X>g7sol^gA*5WHbMjw-y)TRe!tSdJRyaC=Gcwzam?Y6`2ugD&r8 znf|QlYtijN8Ab;U{Dx!9PmtfZ{Phs76B{1eQE2}wFQn>`0$5WD(f2LSOXo5~=eSlG zgFY_V9G|nbG|!rz*SuxV*+t9QO)Tf7Q?iS5wsSq@ zm~F7&oJZKV+_N`&R+Qy1n7;aS%wR_5q-X}rkS7Kk>%%1=BW!}1G@?ct>{y@w3-Xr( zCMh3@Um?3U&jiul&S1xT0a*q+Ie?$&<7053)5^ZK$fE*Wy)QDbK7c=^JO||Xp8B^5 z&(5Jp{L6qmKL+rj3Wy!DAny3{-h%J>Sbuz3e|)w6_*wn&lltSQ^~V>%X6!pjj^%P~ z=o~Y=^{-i?wp_@tn@M)DTJzVuN9*27)niieLwG?&H)wW5y3y%eH!X8JB-?G4j0nyM1tFkE9+J)f^b`|cKH4h?H#{gs<^75=yZ&Ss&OlSeB}07&5UI}_Z5LYJ`VWAk6txAL3C(`)fQsKH zH$#c`jtH*-ev{Dj^TRr#-(5iLfc~&t)spM;V{Ocf|4z^EH6~L;kN*Y3^+Q4c literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.c new file mode 100755 index 0000000..be79780 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeReleased-ModAckList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeReleased_ModAckList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P22, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckList_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckList), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList = { + "E-RABs-Admitted-ToBeReleased-ModAckList", + "E-RABs-Admitted-ToBeReleased-ModAckList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeReleased_ModAckList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.h new file mode 100755 index 0000000..1e971dd --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeReleased_ModAckList_H_ +#define _E_RABs_Admitted_ToBeReleased_ModAckList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeReleased-ModAckList */ +typedef struct E_RABs_Admitted_ToBeReleased_ModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_ModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_ModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-ModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..2408ff294783fb5c5e293b0cfa0743ef7f34e65e GIT binary patch literal 2640 zcmbtWJ8u&~5FY1vgzyX%5{;<{0-t;#5>}AVCFYWV@;K~7qFc`PDKW8qmTw~w3P{f% zpyVe|rhuL@qN1dwgI^G4Zg=lCd$wZ2NVoINH#0l?w%>cJOB00xC@H`b$SlPI99_t; zn?M(?!Br?DzLmL#qGKt;oD)b+%8&eM?GzB3iC3yEEXJjUR=3T0*eY#Ci(xJ7gh7nP zTGU!-?yk0Do+X@u%rd4uD*Y^R?x@brz>B_?tJV49%vNKs$M=el>^Zw!a`qC-dFNE@ z@|^A56Z~lH_w2Anlh@e^2;qoL3}I%F_DRXyoZc=EZ`kJc*12mva0RF6gv2uN@gNkNk~X zG{D*jo{ivP%!^<*A&7hIskg*DMpuWatHboG!?LTxc(5HaCrR_Y8sq!@aO~V>)QkB* zX0I*Q#!eLV>V9?XjJO{*)j0oQdda*td{*~fYxtX|K+OCVYjUr55odMz%ra1MM5`UQpDKk== zysPna>x$A|(fDbJNvZon{m_$sfFH@Lq!r`TZ|_HqzbP@PBaPSZ6xi{8mj?~hd?56W zLOguK!EOaS0J{;#U=JcPDAKVjXoj62aT8KrrA3qjb~EaBL);>}7xB535p<#;E1#-Sml~A5P-$CCkpOp5(d%R8e>UQjY1V&$4&sbs z2`XQmBb86JNK`+r#Af}U$dmjKDs77?65uf^daGSwrtOM+;wNPxI@?64`s&<2M~*_W z7aI+fLz$<32Lvl>DNMSCABCFp|046HqR>Q?t#p7a;j(b2?N=E<>#K{(Q~EVJ71rZ^ z4I_udQkXe+>gTu2|0Xrvx$F3u>qoyt=H4L%hm!nYjKeVTH*0vlFaQ6&rOq@l^Zx?5 C8ucpx literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..4ccbf30 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P70, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent = { + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent", + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..c9c2c4a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..e6302448b0f714744c50212d989fe9606a7d997a GIT binary patch literal 3064 zcmb_eJ8u&~5MFb%o@j_OO-&|DLH#8 z?8WV<7Ynh_Xgn-Vtv7djYPUEmXJol#?qy9g9`eKz=l-J`z!bz7oUK&!NK0skklNpqKfyuV58`i9LpIMCyJxf| zE@dzSOI%?yqb+ecgAv%Upp)9Xw#Z{2c%G9U^yV1;Bjq_H=a-~^Cj4+6%EZsYmgMCh zwLoPc{J7`MIrE<5VX1pu>YiTe-mug?EcFCuOWjlcX6)HXx}}7uT=jgd3OJ7J)&g4>T&6hxiD z-P4GA3dSDxy~^|h+nwd}N5?R^G4!hDyAO`7Ru#juioAYqZ&4!TvAVcz>KJ}e<0r{R zWjwfw}3t`{T49CKgcEH{jTzxLc->!dW$U;?kOQ#zVd}^ z#<7t72myN9vH~#d_(?Nb29%vB@R3YHSf`=3kU`Y#;xjAZ$qnVg@_H#&ey~lG8bRHL zSlpxYMvkh18KSQ)cK{$~z8F>ANwdxPyU>PvaMJku5Q{md;nSr`fHk-2`;8p7=Z*gm zc$BZH8vGUqR%$!~g>O%;Xe@b>;fge5!p17o5RApE-!wI M_U|nw)5MJb2Zh>Jy8r+H literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..beb0a90 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P69, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent = { + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent", + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..cfd4add --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_H_ +#define _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent */ +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..cc72369e73327849b3e95f41b63afb153b7d3dfb GIT binary patch literal 3040 zcmb_eOK;Oa5Z+*3<<%BAAaMyuh$0ayE)^6I$VuuJ5NS8iuWm(ht9Z+tGRq}vE7h#m*0fokGOcSFt_I7IG4EmVD|gOD?nw~B5PFqa zU;{?-$bbxaWQZgCU>lHv7=g2uk?Ls(N8?q<0>-UZD^EA*OXN1lBxFJsT>8u#y z6pMY_5GVU|RIb2+jw|z8CyVER^PE(tR|D|36la%=pAr9(;=Oe!6Mh-CBrpC@4Qd9$ zPa}-0EI4wK$Sc zb=dKyCvRBp&D(U;QU=FRIpw`OPRIF7BF-`fxPU)Eh+`M=*aU(=I{qMoQ+%9cWUhjr zRqz!BKd0ay6rAq{ggz^{+UU|z1PWsM%V4WUimdxzg)!WNgZf_wUyL~kpGr0<_f!yMb-!`QhA*%F zUBHpPW~}>L>`Iw%7Z|=hcBXcJ%e0_B2{{cMUqjB%{jmU8Uj7wYs51F8E3!cR5%9eH zMS4QmAM+!m=l1}^RQikmp7L{@V3N`p3&hueqp80BAIblWW>0YHgF`RiLyYT04CxaY z;{K|n`|rRYW2)WvJTS)=&GflroFC->n>fy66h3|Z@Slc$b^#K51lG0SdRcha<@vj` LfA27uLc0H7f{#m4 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.c new file mode 100755 index 0000000..6b424aa --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToBeReleased-SgNBModAckList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_Admitted_ToBeReleased_SgNBModAckList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAckList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P35, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAckList_specs_1 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAckList), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAckList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList = { + "E-RABs-Admitted-ToBeReleased-SgNBModAckList", + "E-RABs-Admitted-ToBeReleased-SgNBModAckList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_Admitted_ToBeReleased_SgNBModAckList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAckList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAckList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.h new file mode 100755 index 0000000..f457f6e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToBeReleased_SgNBModAckList_H_ +#define _E_RABs_Admitted_ToBeReleased_SgNBModAckList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeReleased-SgNBModAckList */ +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBModAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_SgNBModAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBModAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..a7e564852501020d215449f3ebb148925da8ec59 GIT binary patch literal 2664 zcmbtWOK;Oa5T4W&%A0aRLPFt0k%)hgSkC3zyx2@|~ZD?Xw@m5d{(4WDb zD+i7}z?~yUj))W7;1`q`@2nSyH&!Tsk^(%0+)^yS&yzWJ zQ|Q74I1gpSS8~@tbRcDra}3D|`H(-WodIHV@k))^YEqhQb=#bWtQUm{VVxa;7k$mwYWIs%tLr-v-zna+XY6vx*-0(u zjZ?A9Gq!V6@c%18<2eC;4hF?p`KlapTR^MVFBVw+Br+CO7$g>q_tCeJDZr_WSD7zT zehiAzQku+G(b3ne>sGQ5e|YKfS*L{kvGRYM#qP#7uPj(9eY z^5AnrWzShF2%bV62(BaR_qk5!z?bbb2n;YG$})OLfo^C-gP)!rapVTx0CEb(WF zkTNB;$-5d)r?DvQ#~ME=F)4M9s2{rO_wXTEOIz`t`l)`W@s}kg^;P5bvj%pu+vWZ` zYTgriQz0I{;$XLY?t{IaBw+VqGAPoqD`%&c9LSO0`8M0=YkRbTD< zr^r!Aev_ktvM=-0_d&3tmcpbP_)w@h{!cPrDhf?S*-HD!5-tmO)_#@&=KQHVrNwtE zOUuA76_7Ckm^9hu*eUY24E!QBow + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item */ +typedef struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item { + E_RAB_ID_t e_RAB_ID; + RLCMode_t rlc_Mode_transferred; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..dd05c8a3246efe59df7fe5ce17e11ff48f3c5dc4 GIT binary patch literal 3392 zcmb_eOK;Oa5Z=^0%Dbh2Dj}h8qDa`POC=(ZP#$$#5R{P8v+FubshY%KZxLK*j@-ER z&Xofae*uXrM}7ha4&@iXjI)zWHcr)49cjHY-_AF)p52VI>pfW<%jE<~PCOJni%=no zXPBOKNnV`{S5^arPMFLa0oc1$3INn02M|Fma+_O}St# zh=Vx31NSLvTjIU4A1#Qu5!z3qy0ldsw33%Hj%8hJdA9dX$yTxzwGttgDwX^BnYE3b zmfFeRbLO2{+ucbm_k&w-X6GIEb_a*(*@AmIA^v8bz16ql9^dNQImffBVL^s0vBb#% z_%0whaYkVMQHU9Xo&*0jf*|9%m|sB8iPI^D58|P2F&u4_KQJ&p3HjR)5Ak`uKzY%$ zm_PA4IG*C5SmOL32#6)l4dC05caqiNmG<}y_{4y>5Z{L2KZfAHhTy-4;G;G+Clo=_ z@)x{C-}A90`qUDA-V*)3mgr+k^i{B#_-;ynTCR;u?=V-Zm64grYZ-Pkm#QQ4VdHbM zL0dmUfT&67k5IR?V9%=ls`q@&Td8=06hDNf0NrA%rTWjrhjv1TRC`jvuF|!uaipR! zYINI5C2A=MA!ENVch{{J-2O`l*M{9z_#NtH6Q{e2_+=J?dMe@UFczsm3#3=D!3`co%aX81L9(9&i&`rptv zuN&5Z#H_k_ab`&_GYuDS#;(LAs2ZVLFW{ z3=m8yG#pK_DWjuqU^6vl_W6r_gQq%_BYg*&yjaU&z*8baoqkJ?roKMl-;{mAnjVkt_ zRGZbG!m8%u-NLUd<){1g46v;HdHtuv+CjURKh( + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList */ +typedef struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.o new file mode 100644 index 0000000000000000000000000000000000000000..ff8ecd85e38adb36f3d14bad9d59c4184f85473b GIT binary patch literal 2680 zcmbtVy>HV{5WmzE$~R>~VhIyPA|{4PL?9tI!7ZTDhNP9)9*$$Rp@|*hSJ5&+SN;S3 z43Vc(pCAxZ2+xaUJNkuBr*n8C=vsvbM#GQN^m0KRpv0} zr=To7O{w=|ej4_q{Z#7jF`xeD8Of6}wEi_3dD@YAG2m35M8<%VIlh7uI;)LqQ$}== zzmSUtcsYiDJBEkJ4ua`{8wKpXv&bAqCy1#N#Pk!yawmv!cOzm}oZWOVx!(tJ_9-E2&n7!7?-{ru!ZkH@^)WNqiky0g-7*y{AnVj z%t@W)ZH=eXS(f$#jh~g6R8!;W>fe+0GpVV6{gl7c_=^&g`mFK#*#k4$9dNgUnvaCu zREYaK9L%oET`)UQ1m-9tgCZ@nhNjcn?Ra!(@V0z(T;Nt?BLCAe`X=S|1#lq_tX?fw*GaD zA&%}@T~z)JokUEvNK`+z#M$~^ktg{gRMM6cB*0x%bf??GOxmG*3T9*>+S^2_`fA@l zLXJYxn;i|51DU7Z3&Dz73X^W(N1@sAe~|f7QD`j6R@z0Da8present), + asn_MAP_E_RABs_Admitted_ToReleased_ModAckItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToReleased_ModAckItem = { + "E-RABs-Admitted-ToReleased-ModAckItem", + "E-RABs-Admitted-ToReleased-ModAckItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_Admitted_ToReleased_ModAckItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_Admitted_ToReleased_ModAckItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToReleased_ModAckItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.h new file mode 100755 index 0000000..f3c51ac --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToReleased_ModAckItem_H_ +#define _E_RABs_Admitted_ToReleased_ModAckItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToReleased_ModAckItem_PR { + E_RABs_Admitted_ToReleased_ModAckItem_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToReleased_ModAckItem_PR_sCG_Bearer, + E_RABs_Admitted_ToReleased_ModAckItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_Admitted_ToReleased_ModAckItem_PR; + +/* Forward declarations */ +struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer; +struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer; + +/* E-RABs-Admitted-ToReleased-ModAckItem */ +typedef struct E_RABs_Admitted_ToReleased_ModAckItem { + E_RABs_Admitted_ToReleased_ModAckItem_PR present; + union E_RABs_Admitted_ToReleased_ModAckItem_u { + struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToReleased_ModAckItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToReleased_ModAckItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToReleased_ModAckItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-ModAckItem.o new file mode 100644 index 0000000000000000000000000000000000000000..994cda9fc5529b6482db1a02f92c801e249e7d2f GIT binary patch literal 3096 zcmb_dJ8u&~5FYyy2=4?aBGH%z5(%H|C=wA!(K*I(f(Wr3QXd!lltl4Mz70wmk`jpm z8YD^z3QB$gB@zuk1v)yI+1s%v>oYMTBkj%1xAX1X?#}KWm7Xl8Qz>9c!6NiMMggWL z`nIP{4<_LnoI{)9ZI1MR8_~2=KBa86uoPtr_2#ZpVLkh-T@4#y5TUu&t`};1t14`s zGR9eSr$-!w=Sj;$9GdEg)W3$wacPauYFs<%3<8q|921?x=5OP+&-K7VMa6P!T-FY{c&F^b3|1!Ve=H}h}Y>e|ziJI1F41OlAxie6e z@eq#QslnkKa0Wp{9L$g;4vY`Lvxua`_!ScoYJ41yjsMx`cN#x$Jb;CsMS1%;!{2oL z1$H6Rvnalg3mEZ>((Ty}T<+P@aNv@3wVlR=o)YujF%db$xqc*RaR^=+g1;Vu!$=o` zTZ15K`IS=DSBIU@FZpzf_x z3Y8IAD%hS28;16%v^*M3Pi4L07gyF-izSGanP{-vQo28Rw55=5TDe9W#jrfYG+UjX3e`^?z>ooZrxOEZM{% zd4Y}W963S`44?K_3iDVWVJF)%?xQ^+(`m<&pA`DZfWHjkD#lG>v)7Maa=UgBf)BJQ YC||9FmaFf~B>pS2e{bSpdS9FW2gGP3F8}}l literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.c b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.c new file mode 100755 index 0000000..6ddc194 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-Admitted-ToReleased-SgNBModAck-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h" +#include "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration), + offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration, present), + sizeof(((struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToReleased_SgNBModAck_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P68, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_Admitted_ToReleased_SgNBModAck_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToReleased_SgNBModAck_Item_specs_1 = { + sizeof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item), + offsetof(struct E_RABs_Admitted_ToReleased_SgNBModAck_Item, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_Admitted_ToReleased_SgNBModAck_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item = { + "E-RABs-Admitted-ToReleased-SgNBModAck-Item", + "E-RABs-Admitted-ToReleased-SgNBModAck-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1, + sizeof(asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToReleased_SgNBModAck_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToReleased_SgNBModAck_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.h b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.h new file mode 100755 index 0000000..60df281 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_Admitted_ToReleased_SgNBModAck_Item_H_ +#define _E_RABs_Admitted_ToReleased_SgNBModAck_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR { + E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent; +struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent; + +/* E-RABs-Admitted-ToReleased-SgNBModAck-Item */ +typedef struct E_RABs_Admitted_ToReleased_SgNBModAck_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration { + E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_PR present; + union E_RABs_Admitted_ToReleased_SgNBModAck_Item__resource_configuration_u { + struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToReleased_SgNBModAck_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_Admitted_ToReleased_SgNBModAck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.o b/asn1c_defs/all-defs/E-RABs-Admitted-ToReleased-SgNBModAck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..8e1daf1afd16e20774fe1ec84ab9cf166fc0d701 GIT binary patch literal 4944 zcmcImOK%)S5bn*!#34W&3Gsd`2NWZik=IyY0gA@n-NZ)NUN-o`WxQSwjur2YwKGQc zh4`2o+(1G|{Dk}f4iUc~#~dxVa5TRF>g%c6sqO4IUSvv|uBxvd{i^BidyOw{UMQ7} zP|4gdxhAMF&8xW_STQhD=BjyyWca%=TK|X1hCQWec&&xS#9P?v?xbn7<$V>mqTQ&S zka&B0b#W!$TIk&MmeZ*FltgUS;{fF9MOiKu8BW13kPTBk#bs>MBt>A2&pU5GIiIEP ztm{FprxNnuyF=d#^qu#3Ddo8m_UbGo>w|qb&;8YT|BwBZx!osWPZZ*AUCTIJTtcQv zm|{iy6s@0&ySkhgk{>mweNa1PF%l0PU74(?V*$ANBb+DRa@|BduU_+7Q4;U>J5ep} zeY3N@-*2ZoanJM_^*TfFPQz;)q){&+pTs0|{50#e<{o)Ry>y`W;#44Wt5*A@GQGaJ z-%Ix^ANzCuj91;aTJ^i?ygxJNSKrHUcOI^eeYt4<9(k6O3;x>j&`RbR%R?)walNA& zpU4%KeBvc@+3p7*iNyb2G85(qAkhXF)Gs8L%q5GVnHfmf-y9eCF$u^o6tM6jRCLmqGkr0pV@zdO%E9V&El5^>oCvwpBBGt zHdwDP2P>QBl$MKSb0t?;xoOxxQ@ShbNWi>+}Yv!L6} z+BiYUUep=%x6m9Xltwxm?aElki;cU|DV9ghvvBA<3+L=AG#jljJ=}|myeK9~`|OM* zJ2e}Yr@$dwimcNWnofZmPdoD)Z*%Q@)|%n%#+U1j)mp=dfQi#2+Bx&jNp0f{DMP{GTT|V12p(UsAZl0%|H8 zclQzN8_dx!-UvcJu>ky40f|3SINlIKCoI7KH35lF10Vu}zuY`a3deZlzBp1i{NJSy z^sB;O&mh}ARyh1WW1HlIS?Br7@t6E33V(xhfK}+61;MP}OVbK}(|TmhjKVQ5xz_@P zW1WM{-5e-PeoNc%dKp4;4R?3=59vpD^f6X>sZ>S$3sSWr8mwR8=3Gfa2 zEcwY{H*IekpZ@oZ-w`Q|4pQT9wbQooH7tNuKx(QezCAvvnQ8+Y0OZHVwJ zv}*iL-0k8K=+nOy`L|Zry(DdS?#iJ4J4X#+?${$ufmW0ZUrq0j0!-Hg>;W1gS;tH> zrXm9K>%_4)Zu}39pQvvCACLjqtT-^2`1c)L*8xlceWS+zkZ{nHGq8$9^X5|$@kR`C z$Vw;t)Vj}giW + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent { + struct GTPtunnelEndpoint *secondary_meNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..db4f7b8d59c098c49f33e8a16e7585697aa40e77 GIT binary patch literal 3360 zcmb_eOK;Oa5Z*Mr%Bw9835kn2Q6y}|rBW)8kek#kMQ!Rna(3Nh+eRdI6mL)~p_VHr z5GOAD0Z#o1{R#XB4qV|Ez>KpKZ??`Q%|z>&`F0+=V3T#gat*lU(*gfeDK zrm~ZW4x46E%r&3FZ#9JA^_{51*Q0u4zrpL~_CcitN;wMm%~io$3E(Z2y)Y8( z4v%>#Sj=ltSPweKW{X!!W_8V6+40OBcXcTcXqsjnP15(G>%*c>44cq!j7PS}{{d+x zBdHh{#|;?QV2mp+gc_h((54lH_CgTp#0e*^Fw6h{Bk$m2&x| zFWqCCXUqCC5q1;egx55aF; zz-=h#jIysoX>km=dS1x!(-8c-jPp?%o=N^Y!P7bvBwmCAl@)(;2!7cHWYt&@hyIeg z?7Kd;GC!-8`ARGEv6UsjU@P-Qa1i@;5^jCb8%MY~-W+4Vs71>g!)}vpZg~E-yIFNB zWtWlQLqCs2Cul%($I7mkwk}lC zPV8r-jLcK;dkVg*;P(~$n}R=3@Sh5f-OZ8u9|eCXWn{CsKpraf}q3@UW z$*lOeC4xQRqSNDtBnf^bm{ku%z^uJEW>zOc1uboB0aV@$l4+DQ)oMny0KvqCc+b^l zRxN6^@b8EPe@(cxQmLA;2x{+WwWIUL;EH?4dr>7vRTNp4v5!0f2{HXfa{3m7g6{tm zrtuw&>i-;kG3Fc$l^m%ADhRUrzH!Qdk+uGFz>x~tf{g@CAFn{fyVFUbL~`WSVMzZw zfZ{o&{B*uH0L#ixSAQXimOhMBOr*E)%*wwj6OljW$0h0ceZVk3Twep^NPzrl(jY6rwlCC7bC k!O-i6|8VrP3lKY(f2cla!S(#u8?*es$V8tpm_oY$f2(G0x&QzG literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..4b7f502 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P76, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent = { + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent", + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..f33702c --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_H_ +#define _E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent */ +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..1563049e4e4f836f42cc970403f7b154f243b188 GIT binary patch literal 3040 zcmb_eOK;Oa5Z=_h%BwAKK;jaR5Je)ZxKy+Pf!w5S0g=|URO05kiQ5K}xQe%^aG?DG z2srW+_yzn9E=Y(|#fc-_xWSA)lWexmfrgQsnfZ2J`g)BeR#@IxD1lOrTI+=eDr_czH(U0$ z+F=~FR5xOO$*jfH`+5G09or5;us=ZkVjc$1gVPDkk#jM`I&-W+Cx?`}TX1(&*ox~> zD;8qDT)v$jUs>C3sqOrfoRr0ay`5U0PFyg6T@(}Qqnywp&ddRe?#`9cKp5(et`yh;|#NT54Xh09-S3S zoMy3yTjErYj>=V7&@pXZn`H3}aGsOy^r{d3mg4M@@l)bo61=+(MZ&MZmSn{rs6k~_ z1aZrsb?1E7$3FM7`rOz0+{Zpo0Ikn`6>P-5oy4llcmv0p2pj(^TGZsi2AyOwyG74m zb|0^}3uRZZ;8&qzRXeD|g@>zIDJ>1Q0_j37d*#8x#9LuipS;(OR8)-`oofc}Z3R__ zZGU>=rtMALqNA2DIELCO@7{4H&Sw&FmNCFZ`~gB7yNJie5d<>v`zf5@Ve3K;=?kFK^feM6Ni(?_% z5h`eD%V|)(cRRaVQ7v`y}Eo3!nHt|K3tw@D(eqp5$tDyRvt35ow1g<#u zV@3$a&{;)Woi2ldnE5g|x{)TE{?}j(_u#PpH^3KTPQa&=L&{wp1X<_$5Pt|fD}SDz z5cbFX2$}hPz%Z5h;=iZ-Tql?$G|B?;4d7^MuK!2!KWo?%ocQ3-3-}P@IuS$qM25J( zI+^~vFvys0_dN^DuthU-?il9>`Tr)4^B958TtED$VV+%p#6E!)Be+=>-gR029_`;d J45pFk{}=WcOj7^= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.c b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.c new file mode 100755 index 0000000..de6c3ab --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-AdmittedToBeModified-SgNBModConf-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h" +#include "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration, present), + sizeof(((struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P75, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_specs_1 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item = { + "E-RABs-AdmittedToBeModified-SgNBModConf-Item", + "E-RABs-AdmittedToBeModified-SgNBModConf-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.h b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.h new file mode 100755 index 0000000..2af07e8 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_AdmittedToBeModified_SgNBModConf_Item_H_ +#define _E_RABs_AdmittedToBeModified_SgNBModConf_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR { + E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent; +struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent; + +/* E-RABs-AdmittedToBeModified-SgNBModConf-Item */ +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration { + E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_PR present; + union E_RABs_AdmittedToBeModified_SgNBModConf_Item__resource_configuration_u { + struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_AdmittedToBeModified_SgNBModConf_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.o b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConf-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..3b9509a630ad676a5889cb7a73c985b623e6985b GIT binary patch literal 4960 zcmcIm%}*p%5P$3}F6-B_7uU~qJebAA?l8z^i5k-|%r2M(Mv#NXq-Pj<*@?_FnQjc2 z=;Do=9zB{E<8}W8j~+RCG90~$e}UHTb=7q7oMst=mGrBsUwyo<>i6EG+WotiMn;U# zi21+HNNP)0p)y} zzVogJxt>YLgYO}I&(n9&xVVH& zkTA}Q_9Uh5Rxu6eb+H0mbglbD1~pZa{YzC+$oH|^`)I2Fj;t5)AFPpoh3 zcGKPR9e>)N^eVent9)IV@h7MK%3B%k&coHQFPF_<1J9CD!CzZCwUT+p(y0~IxZY8X zkLC(Xlf*~NRl6U6By!v0qvil0QG*NWN0LX(6^o%kyiiHuf*q59{6YZ>Hz^hHSA*I&kYpYZX2c^mUt0lrg!e^Y?}RDd59;J+8(Ck6Oz z`l$zv-wbo%`z_Nb2D{-QS6dyeK9~d+dy*J2M*= zslXvyj;zxqnoxloPdxJ*cAM>tR_fte?W6VDaRIVKJ{Ll#;tg}e=AhuZc1sRUN|%LPNjb5wv3^=u(C)a$XH?j=dE89w7z;|JVX5i zl0@HE`GG>mmpXNf8Do=+%RdbKMjmcnRQ}JA9I%e}0|@>aU$AI~ODv$e!f}@$u-;&f zJa{t*ea`~$mjon!q;R|`gict1|H}drp8!Av27kGU78H*0$o+AkaQMGTALs{#zmh?= z{Y~NUf1hoV4`!X`5655fpD6rQ&H+}Ya~A}&em_kp{59*5HIoX*yyTt>6pnQcGIz75 z@SBW*Jytlz{~_COZ-6kK*R7N_V>~$E@c)!;y53MHLQ)&>2QKdbT_?aB^jY$g{Z884 zFh2e98Gk5J8ttXV-)yE$<8LI1@p~~8cvk!wQlssrHA8Y#e>-k90ooAZS!l)ht+>;{ zqtK_nEAsCxuX{<_Y<(_+`tKYygt=pnGzD5wGJG|?K?*Qk6R-zph-4iz&6u(X%x@9L z-njAKIewzL{l85HU{m72T;e?k*L46>K;NM8|3Wxu+!Px# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.c b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.c new file mode 100755 index 0000000..aae5ef8 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-AdmittedToBeModified-SgNBModConfList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_AdmittedToBeModified_SgNBModConfList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConfList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P38, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConfList_specs_1 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConfList), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConfList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList = { + "E-RABs-AdmittedToBeModified-SgNBModConfList", + "E-RABs-AdmittedToBeModified-SgNBModConfList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_AdmittedToBeModified_SgNBModConfList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConfList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConfList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.h b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.h new file mode 100755 index 0000000..b5389c0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_AdmittedToBeModified_SgNBModConfList_H_ +#define _E_RABs_AdmittedToBeModified_SgNBModConfList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-AdmittedToBeModified-SgNBModConfList */ +typedef struct E_RABs_AdmittedToBeModified_SgNBModConfList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConfList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_AdmittedToBeModified_SgNBModConfList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.o b/asn1c_defs/all-defs/E-RABs-AdmittedToBeModified-SgNBModConfList.o new file mode 100644 index 0000000000000000000000000000000000000000..4824522bfae1b355cca226558e00018ec9ddfdea GIT binary patch literal 2664 zcmbtWOK;Oa5T4W&%A0aRLPFt0k%)nSyH&!Tsk^(${%u+1C&yyK; z6X?PPI1gpSS2EW?bRcDra}3D|`H(-YodRMr@k))^YFwJ_^tzk}ot3B>EJmH~dN=5l znj1@1G-^?}zR-<%mh=x~mND&NsYi)(hjn%YUi39ztKBP3t+sYTzEiww&)DUXvy)iP z8>eEIXKd%D;Qv>G#&ZJx91M!HvQ;_cwt!YIFBVvN5*Z6C3=#{*bM$Rw3UDgrRp#@A zAA_Rw)TREA@Z+#2?PpT|NcikM&qNe}Ok+S0Lpsn6{#Nj66T&}aG_jJ`;s(EaA4w~KyDkcWvcSD}eW4#~o zs2y!R_E@tUZfpe%Zyk;yL7!Ee%5;6Ya(Iz(8MWOY?mUVxd9^o)SD50|9ZURKBBV@7 zZSt^N=!m!y&G1FvGTnj5_zS2r|FvASGGgE)N-$?sBwvMp5F7E>g^4ODb1nfV`$IAxmkZ=r*@ zJ1RhGl}~fwC|2)b~NKqL#v>8~9MDIsQ*FUn&YsMA=IF$Pz9KciMiI0p|RvJf+2VD@{wm zFBOn70+=+}=GZCnw+#FuHJ!PO_?YuYUnq0!kb-?lzBdXQCVtBX=WojY!q?Q9CT9L$ D=mY>C literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.c b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.c new file mode 100755 index 0000000..6cb0b10 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-DataForwardingAddress-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_Item, dl_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dl-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_DataForwardingAddress_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P103, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_DataForwardingAddress_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_DataForwardingAddress_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_DataForwardingAddress_Item_specs_1 = { + sizeof(struct E_RABs_DataForwardingAddress_Item), + offsetof(struct E_RABs_DataForwardingAddress_Item, _asn_ctx), + asn_MAP_E_RABs_DataForwardingAddress_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_DataForwardingAddress_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_Item = { + "E-RABs-DataForwardingAddress-Item", + "E-RABs-DataForwardingAddress-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1, + sizeof(asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_DataForwardingAddress_Item_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_DataForwardingAddress_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.h b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.h new file mode 100755 index 0000000..6ff754d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_DataForwardingAddress_Item_H_ +#define _E_RABs_DataForwardingAddress_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-DataForwardingAddress-Item */ +typedef struct E_RABs_DataForwardingAddress_Item { + E_RAB_ID_t e_RAB_ID; + GTPtunnelEndpoint_t dl_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_DataForwardingAddress_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_DataForwardingAddress_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.o b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..bff69bebee271745d54bc434e52cd760efe1b2a8 GIT binary patch literal 3304 zcmb_eOHUI~6h37{@eMvnOiVQ~*2GRaKw_hbX(_|QC=?LmZW!7LG`2IOGez7;`h%zz+fD3WdkX)Y?YFj~dBG=9HO9 zTMeOE@2#wvnKG>hEgZAQ6V2%q{Eppwqie>Uc%y6PDjwer11rRl0mD7;Jwy_47BbSp zk*@?kEcTyFBeIzv1b&7fK^#Yl0Uf+$1^9vj9p<{`F7t<>P1hjlti-iGv!)>qB&Ymw05P{Q~@TxqafkJ{Bml$ZpVyR0- zXVqR_vlk0Cu;7&N%0_jUu5nlY9K7rd^xk;36zf40l!9ve`WFH}!en0E$xcjKMJqGe zby{$Hl~aZHMOt;7&lurXlnmpF|3#Gfo}~KV^9p`d%EXEaPH$jS>g$qIU3v?d4x~W% zH3pG?SMW;;eyHHr6+A@=kcg2#-}re2zd;U?nhH+-wY>&@xVJNkR_D-doswlE-V;i}H5@Gt6A=mck7WDZ0Xr?_lZu~=x zrJNHuRLV)^t_q^8?l+loIO68tM4V_}n{ZN~ou4Nt(zhhnfrRu!Hnb??>1@&0kn8jL zT0$(YesV~pY2VA129RVy@@L57>ZfEOzSmTrzLt7@2QjKI%c0bwbqQn{kUXjBo2XN~ z-v0v`Py3@1`4TbTkuuLy81d)Zfbn}uE{-LBs4qwwxi0&X9_PyODQToPV+@DhKYDlc cvx^Xn%fCKfwSt-|a>m8KmW4i2GKKW`znMrSwEzGB literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.c b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.c new file mode 100755 index 0000000..0804c91 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-DataForwardingAddress-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_DataForwardingAddress_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P45, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_DataForwardingAddress_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_DataForwardingAddress_List_specs_1 = { + sizeof(struct E_RABs_DataForwardingAddress_List), + offsetof(struct E_RABs_DataForwardingAddress_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_List = { + "E-RABs-DataForwardingAddress-List", + "E-RABs-DataForwardingAddress-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_DataForwardingAddress_List_tags_1, + sizeof(asn_DEF_E_RABs_DataForwardingAddress_List_tags_1) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_DataForwardingAddress_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_DataForwardingAddress_List_tags_1) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_DataForwardingAddress_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_DataForwardingAddress_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_DataForwardingAddress_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.h b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.h new file mode 100755 index 0000000..b384fec --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_DataForwardingAddress_List_H_ +#define _E_RABs_DataForwardingAddress_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-DataForwardingAddress-List */ +typedef struct E_RABs_DataForwardingAddress_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_DataForwardingAddress_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_DataForwardingAddress_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.o b/asn1c_defs/all-defs/E-RABs-DataForwardingAddress-List.o new file mode 100644 index 0000000000000000000000000000000000000000..67dac605ef70adb3d60396064999f6cdb524300a GIT binary patch literal 2600 zcmbtW&2G~`5T4W&%0K0RkhmBmL@N<1h9V*=A-AbhK&1@{McfuQvD!i#SN2v=4$vpy z%p-8*SRuG`^Uci8de=M2TYsTBQmKHF3fzU6Ub5|+amr~{&L2^t!Bwa7s2U5ko4J{-()_cOT$Vp4WmoLc(9rKM&2S?~-Gr1^X%Xdu(~UMaLp&a*AMwzcUtF#xJm|jA*7iT} z5+_!Apx$TqOM}*e>CEhY1Y4v4&rX80I5~} z6@#Z*Bx)W{Vzd4aqhA>F?2v*zNv;~}FiiX{D$k#g|Lb1UWSW@ye*vSP=Wzf4 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.c b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.c new file mode 100755 index 0000000..da1b84b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-SubjectToCounterCheck-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_SubjectToCounterCheck_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheck_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P26, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_SubjectToCounterCheck_List_specs_1 = { + sizeof(struct E_RABs_SubjectToCounterCheck_List), + offsetof(struct E_RABs_SubjectToCounterCheck_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheck_List = { + "E-RABs-SubjectToCounterCheck-List", + "E-RABs-SubjectToCounterCheck-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1, + sizeof(asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheck_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_SubjectToCounterCheck_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_SubjectToCounterCheck_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_SubjectToCounterCheck_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.h b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.h new file mode 100755 index 0000000..dbd545f --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_SubjectToCounterCheck_List_H_ +#define _E_RABs_SubjectToCounterCheck_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-SubjectToCounterCheck-List */ +typedef struct E_RABs_SubjectToCounterCheck_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToCounterCheck_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheck_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToCounterCheck_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.o b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheck-List.o new file mode 100644 index 0000000000000000000000000000000000000000..0f24261b9571dcdad8083b6eb8c9eebd0abf6da7 GIT binary patch literal 2600 zcmbuB&2H2%5P)YJ3gw@2KuBBy5~7vZXj3X!Q3-{Hw17&x?6!zo$cCu@Nwx7xlmqk$ zIP(Y`IaUbn96562io^k)pv=T}Vw|kHDkH@+^UaLy*s*utdJA(SwHipN!96HENdZ0_ zFKj0>9XJPPp@H`0B2;M|2&oE=ARH49#q+UqgJ>aMy?uW+t#|s}jVNTxiJSCe7WLe< zDBP?stf#C<9m>*&(fvW493{^g)Y%a@?`z(5@0t@UU0j2{dB>Wz8g;v$dG;H-X*H%T zdy@0RhM@O327eB!@{D3v{s|jEyH^$ij50)G;0RS>z-S3yM^b|mIhU2sGCl&Ph_r-$ zm+?{96aI6dKV`g_=NZ9C8A|^OMowR3SqwN;hDZ!JS>nHtj4SW8CNeJJLSHCl156I! zGXpprdJwD-f;9FYcyqqz)1mPz4~f2dC%WL~=cPAR6Doo;(^+es1+4c}6 ze2h-Z9U?c~i9$K6pRj$EacNVYyd#O9CLm-&Xq`I>r_*E# z|DnRig-uGH1L}va>OFi&USutwr+O;iEBvCcNqtkedRD+nceh#4Ma_C#uSttVuNYV_ z0~UbQO;fOX2|1K$TTOJMtso1NC8JXFEE}va+1`$Dd#pHNku|@#QcqbBZYp#8AM*+p z%e7Jaaa2dKDOZ)N=nzxakm3$CC_7x`t(jZgxPgjp6}|qWmM2|({F@jcHYF2;mi5;( zPGgbCejH)zkbQ>Q^)!+ZKs27S-Gm*a30aCIXJe;>*L;|g^DzZ-M4Gcname, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static int +dL_Count_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static int +memb_uL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +static int +memb_dL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +static asn_per_constraints_t asn_PER_type_uL_Count_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_dL_Count_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_uL_Count_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_dL_Count_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_specifics_t asn_SPC_uL_Count_specs_3 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_uL_Count_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_uL_Count_3 = { + "uL-Count", + "uL-Count", + &asn_OP_NativeInteger, + asn_DEF_uL_Count_tags_3, + sizeof(asn_DEF_uL_Count_tags_3) + /sizeof(asn_DEF_uL_Count_tags_3[0]) - 1, /* 1 */ + asn_DEF_uL_Count_tags_3, /* Same as above */ + sizeof(asn_DEF_uL_Count_tags_3) + /sizeof(asn_DEF_uL_Count_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_uL_Count_constr_3, uL_Count_3_constraint }, + 0, 0, /* No members */ + &asn_SPC_uL_Count_specs_3 /* Additional specs */ +}; + +static const asn_INTEGER_specifics_t asn_SPC_dL_Count_specs_4 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_dL_Count_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_dL_Count_4 = { + "dL-Count", + "dL-Count", + &asn_OP_NativeInteger, + asn_DEF_dL_Count_tags_4, + sizeof(asn_DEF_dL_Count_tags_4) + /sizeof(asn_DEF_dL_Count_tags_4[0]) - 1, /* 1 */ + asn_DEF_dL_Count_tags_4, /* Same as above */ + sizeof(asn_DEF_dL_Count_tags_4) + /sizeof(asn_DEF_dL_Count_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_dL_Count_constr_4, dL_Count_4_constraint }, + 0, 0, /* No members */ + &asn_SPC_dL_Count_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheckItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItem, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItem, uL_Count), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_uL_Count_3, + 0, + { 0, &asn_PER_memb_uL_Count_constr_3, memb_uL_Count_constraint_1 }, + 0, 0, /* No default value */ + "uL-Count" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItem, dL_Count), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_dL_Count_4, + 0, + { 0, &asn_PER_memb_dL_Count_constr_4, memb_dL_Count_constraint_1 }, + 0, 0, /* No default value */ + "dL-Count" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_SubjectToCounterCheckItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P41, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_SubjectToCounterCheckItem_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToCounterCheckItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-Count */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Count */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToCounterCheckItem_specs_1 = { + sizeof(struct E_RABs_SubjectToCounterCheckItem), + offsetof(struct E_RABs_SubjectToCounterCheckItem, _asn_ctx), + asn_MAP_E_RABs_SubjectToCounterCheckItem_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_SubjectToCounterCheckItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItem = { + "E-RABs-SubjectToCounterCheckItem", + "E-RABs-SubjectToCounterCheckItem", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1, + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToCounterCheckItem_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_SubjectToCounterCheckItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.h b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.h new file mode 100755 index 0000000..9608b30 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_SubjectToCounterCheckItem_H_ +#define _E_RABs_SubjectToCounterCheckItem_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-SubjectToCounterCheckItem */ +typedef struct E_RABs_SubjectToCounterCheckItem { + E_RAB_ID_t e_RAB_ID; + unsigned long uL_Count; + unsigned long dL_Count; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToCounterCheckItem_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_uL_Count_3; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_dL_Count_4; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToCounterCheckItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.o b/asn1c_defs/all-defs/E-RABs-SubjectToCounterCheckItem.o new file mode 100644 index 0000000000000000000000000000000000000000..67e477e3ccf7c8228e1b00d86492efa8b0a54b3d GIT binary patch literal 6520 zcmeHLO=w(I6u!w+Gq!a)O}i*m$V2;+g7cbb0u2Fm(#f=w65BLsK`ivmWb)di&CG1lr~dphiX@&$?vn*|L~#q}p*fOx-Vul^FvF5DShSi0DrUHE(G?Y87ncHyg`n@?hSaxv>0{VPi^E!=(i z?Cta0ItJAG`1WluU*87v9bXTho6^wCC<@%7sO^ViRmZ6C~6OUZ&W z?w+q6%uh`vw2?`S^dG4vMrXz@x&`laIbEJ9d2S^=;TA3pdT!A!5Y1YNYHzjAx}2Yy zajjC>vo1_tc1u<#fP2ReC>MK43=XK7p@i;1jk7VCNn~a{w^W@hm#XzczOQF~S53cJ z@up^h`{1~j{_Q?&MjM5|pehjZJoK4wo2i=Zc@KD{LPEht#DWxsasiz zH{LxF^;noBtcX651OVn9Xsx1OJ-2}M5k3qWg>m#TzlI$nxQ*(spXe0il@h1pXsw=RNKg1bshdShENs%!?_yGCbFS-$tPhnNn z`E4pkU$zMf+|YPL<;drG`iS!Hfkxr{Ta@pkN^$;o8sDOLzeXwHH_BfmpYvld4t%a0 z;hm)S6FyHq^Sq$(h_Yxr%yW+NYX%Rx5v8xP6bV&C|3ZX5TCV_)YOvp4*EpUYt0khg zt^(hJ{Ow|&Oi;!rfX7#5EA>Sa{Ocz8k4^B+a7Z@dS8H8};N~p@ zlO+$XK7{s2wCEPcoS+~~calnnf~vX@Tv zQ%8r>Yo}JH-9o_KKfHDUjOCC!#iLnIMY+fw;KK&9)UBUqI5Xljnmxx4V?{7|J@pj< z?oX=YhwCcz#D!(vm1#Gmt1H9F3JCp43HgFCYrb&cnlA_vpC3lPAma0ND|;y2g&+R< ztY_)<6Q3M*Ml+|*WKN_riVeB@>h_TX7j*`PD`l@-C{G1<^mMu8!8Ud)PVb@afX_`6=Q9HFXDAmH-kVVnZ-OFz)75Fy-$J3YZOv?gCe*Qg+Vuv88;3y3Giwhj*v<3~OQ{c$Y zeP;!Z{P)Pu2^{%ZCIpWBJia-BBfm`rHG%JA63}-Aj`@cv#{FYh^89S%Gyk%{_Y()I zKLw8K%j*}#L4#me;+DYic^9FfbP60zUhkB^ktYWYh1Uo9ar`{b6Cz*Y(*l>{pA|Ur z&qG6*Z-UnZj^nrJ`9BsonVM%&;K*OoX!y>+^F#2e@5=xMEYe6P`G*Xg=WW)&Yvg}u z;JmMtUAg5ZUsLGvi&R6n9mj?cj%7S{{GmeT;QNPnh{}u*?JPS5*n)So87 zF1}Uq_<8;dfZZ=3_wsQ45zjG_2=-I6P0Ukhnjj@Vv9W20^xE-e*)VF|^Ix_X#t{e~aqP@$>UD@4H|$ zn!itJ{&JLv^N0W0a6PXdj>qg9OXetXkrsA4U{6Cc>v2uYwFgM0=#{I(2%682yhaL^ QtN2c>)Cax_KF#`n0OOn?=Kufz literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.c b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.c new file mode 100755 index 0000000..254998c --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-SubjectToSgNBCounterCheck-Item.h" + +#include "ProtocolExtensionContainer.h" +static int +uL_Count_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static int +dL_Count_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static int +memb_uL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +static int +memb_dL_Count_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +static asn_per_constraints_t asn_PER_type_uL_Count_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_dL_Count_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_uL_Count_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_dL_Count_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_specifics_t asn_SPC_uL_Count_specs_3 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_uL_Count_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_uL_Count_3 = { + "uL-Count", + "uL-Count", + &asn_OP_NativeInteger, + asn_DEF_uL_Count_tags_3, + sizeof(asn_DEF_uL_Count_tags_3) + /sizeof(asn_DEF_uL_Count_tags_3[0]) - 1, /* 1 */ + asn_DEF_uL_Count_tags_3, /* Same as above */ + sizeof(asn_DEF_uL_Count_tags_3) + /sizeof(asn_DEF_uL_Count_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_uL_Count_constr_3, uL_Count_3_constraint }, + 0, 0, /* No members */ + &asn_SPC_uL_Count_specs_3 /* Additional specs */ +}; + +static const asn_INTEGER_specifics_t asn_SPC_dL_Count_specs_4 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_dL_Count_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_dL_Count_4 = { + "dL-Count", + "dL-Count", + &asn_OP_NativeInteger, + asn_DEF_dL_Count_tags_4, + sizeof(asn_DEF_dL_Count_tags_4) + /sizeof(asn_DEF_dL_Count_tags_4[0]) - 1, /* 1 */ + asn_DEF_dL_Count_tags_4, /* Same as above */ + sizeof(asn_DEF_dL_Count_tags_4) + /sizeof(asn_DEF_dL_Count_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_dL_Count_constr_4, dL_Count_4_constraint }, + 0, 0, /* No members */ + &asn_SPC_dL_Count_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_Item, uL_Count), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_uL_Count_3, + 0, + { 0, &asn_PER_memb_uL_Count_constr_3, memb_uL_Count_constraint_1 }, + 0, 0, /* No default value */ + "uL-Count" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_Item, dL_Count), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_dL_Count_4, + 0, + { 0, &asn_PER_memb_dL_Count_constr_4, memb_dL_Count_constraint_1 }, + 0, 0, /* No default value */ + "dL-Count" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P86, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_SubjectToSgNBCounterCheck_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToSgNBCounterCheck_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-Count */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Count */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_Item_specs_1 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_Item), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_Item, _asn_ctx), + asn_MAP_E_RABs_SubjectToSgNBCounterCheck_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_SubjectToSgNBCounterCheck_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item = { + "E-RABs-SubjectToSgNBCounterCheck-Item", + "E-RABs-SubjectToSgNBCounterCheck-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1, + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToSgNBCounterCheck_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_SubjectToSgNBCounterCheck_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.h b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.h new file mode 100755 index 0000000..de5995a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_SubjectToSgNBCounterCheck_Item_H_ +#define _E_RABs_SubjectToSgNBCounterCheck_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-SubjectToSgNBCounterCheck-Item */ +typedef struct E_RABs_SubjectToSgNBCounterCheck_Item { + E_RAB_ID_t e_RAB_ID; + unsigned long uL_Count; + unsigned long dL_Count; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToSgNBCounterCheck_Item_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_uL_Count_3; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_dL_Count_4; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToSgNBCounterCheck_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.o b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..352732046d454325a15a2fb7b4bfb1f7f514eb98 GIT binary patch literal 6560 zcmeHL-)q}d6u)Vvjq8?mKOP1X_C>ea!SY?R7FP;t+B91_YFFD;#4*1~({F!lO;eI@ zN2j8NZO}3X3JU6r0r#*!zz4yX!XDg_Aq zec|rpp2PjBF}}8K=IhyJzO#++=}A;gpe$%OXFlS8%0AjC(%-24KY#U1+4hNSX)c~~ zCfv!=iR|obOdF}#NN-;$Ho7o=$<2A^3!_s*eaXVYoaYvk({Ao^Y`}B#c222=0@cw{ zk98$GyWm=L1<#tAx#G@Q?EoH~IHp`I6&vVR3xhFTLQSwSlZvGlJ$J4&Qc8lIxo|r)}2KRuB!Ly+JPcf{fgx)=W--feeu+3{mOu7}7!$DwyeRA{j^bZA#|FmyEB-Jt$J(!MKPV`_h+S(h9=-BjQ#CnerTW&Cx!nP=!*B$C%&ELFm)e2Wq z!&NIQ@!Gp5te&X^2`j8mBmsbV3|f<@tLGN5*9ad5jl%dC*ce|%5QOo0uo2(TXa&b^ zSTz$`Q8&R1sTP$Wh@WIthu#mrkGu#Gw$j_1><09ex)aSa` z4U2ektB-Yjv&ztyZJHdnH6B(O>JO8?OYsjtqj3CB6z`)-as2NZZ&AEoBNVV3>V;rL ztJLTC;~H-X>b8?VMffuHndc($STr8yd7t9T6wf@^4J&<>B~L|#^)E!FkJhKaqiXE8 zFEoy)$5sieU0c8}A%3seC({)1J>acdqLsQ|2Y*-xZ-T?H7Ei1W-q?i*ZcYn>j=t?U zolXvJH(oJ2Gv~q8htMvG=H2|b6C_l^ow(AjAgjs+_d2IPb=pZec$ahP-sK#;%Q;?l zsswzP^m^Y&gGqk;=y0;Z_|m+a3##-EH<$%OJL%5y;2KUV+2DW`i4ivM}et zCU=WY_sP!qaQDm1Ka}<0jbH#?E~eZfeP_E!!`D(BhW3|!VLapw|VC@u$eg_0cVP zelg;ie?#Ce5eKS21&-^>>leX6gP>dDmca3OSD~S_3mi>e?}WgSCj$+I*9ZA={5;Ro zB3|P20+-`o6gcuPLql1vgO>%4s`>6$c+;Cq)dJoIh#cJbva$fWKD$n>3)5k);Atgty2Aa;FDs>4%qKO!+fs8?qzz_#Qh4)~PMA6V zZz$g!KR-Y7ega0V`CF&?%TOTBAO5$)`MiEO9Uj50FaG bt687nG@l=NjSx&%-3PQ%U->HdH1q!fl?gHa literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.c b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.c new file mode 100755 index 0000000..ed069db --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-SubjectToSgNBCounterCheck-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_SubjectToSgNBCounterCheck_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P43, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_List_specs_1 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_List), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List = { + "E-RABs-SubjectToSgNBCounterCheck-List", + "E-RABs-SubjectToSgNBCounterCheck-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1, + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_SubjectToSgNBCounterCheck_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_SubjectToSgNBCounterCheck_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_SubjectToSgNBCounterCheck_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.h b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.h new file mode 100755 index 0000000..296655d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_SubjectToSgNBCounterCheck_List_H_ +#define _E_RABs_SubjectToSgNBCounterCheck_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-SubjectToSgNBCounterCheck-List */ +typedef struct E_RABs_SubjectToSgNBCounterCheck_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToSgNBCounterCheck_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToSgNBCounterCheck_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.o b/asn1c_defs/all-defs/E-RABs-SubjectToSgNBCounterCheck-List.o new file mode 100644 index 0000000000000000000000000000000000000000..2f54a83bb8c9977573514a15dc43a0570515d440 GIT binary patch literal 2624 zcmbtWOK;RL5cW0{%A0aR;<8+zl~`*-E3pCzr44BTm3G;*5+~ejh_=t9+IS_(f%a!0 zeg(%KK;novapcIA8~lPY6WfV#vg)dgWY0I>%y|5Wy?fv-EsWJ_L`jW2B88<`LcW|W zu#-WDTp^c96Y!0~Rf&$JR5{0hoRAIudF>n^TZq@_%+03_f6(2ELcW^#z2$i~8N@v5 zyBkrs-B{X8c@cghGRv6uumMgJ=L{R{6ucN~(RClxr`Ec#{z3gdou$o&J;*Hko!z3% zS!z!U{-hGPo-^dnaaEjEoXS6Li{R;%#UfUj1jd32Rbr9x5T?AAJ6ErZ=rY$g|ogi}~QeLG+luc-u?CwTzJTy*tL>HIW8YvILZEbG<18+jI z+8ccwM>jN#vAWy>137&U(eGdfvL{sD*K;Jm9Z>k%nE4-#IAxmk?}7uldn!O`m4Dmd zu@;IN$C22q{}XtWA427QJx2mO1ch(2Bh0*S$tQh67Q$~EDOF#6_s@XCkm7{~1LR2N zsdrznqL#v_JJ2xHT>mGTFBOJnqHLuDU=cTkJMTZs0Nh_)RG!jX;8a+T`&C6&#A2Aa ub{yxo%>ODi-npyL%>Bb(9`o#gB1e)uFy>*H@EcW~@5ujqZ*ee9%>2I%EbveO literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.c b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.c new file mode 100755 index 0000000..3ddc1c3 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-SubjectToStatusTransfer-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_E_RABs_SubjectToStatusTransfer_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_SubjectToStatusTransfer_Item, receiveStatusofULPDCPSDUs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReceiveStatusofULPDCPSDUs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "receiveStatusofULPDCPSDUs" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_Item, uL_COUNTvalue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_COUNTvalue, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-COUNTvalue" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_Item, dL_COUNTvalue), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_COUNTvalue, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-COUNTvalue" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_SubjectToStatusTransfer_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P6, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_SubjectToStatusTransfer_Item_oms_1[] = { 1, 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToStatusTransfer_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* receiveStatusofULPDCPSDUs */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uL-COUNTvalue */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dL-COUNTvalue */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToStatusTransfer_Item_specs_1 = { + sizeof(struct E_RABs_SubjectToStatusTransfer_Item), + offsetof(struct E_RABs_SubjectToStatusTransfer_Item, _asn_ctx), + asn_MAP_E_RABs_SubjectToStatusTransfer_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_SubjectToStatusTransfer_Item_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_Item = { + "E-RABs-SubjectToStatusTransfer-Item", + "E-RABs-SubjectToStatusTransfer-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1, + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToStatusTransfer_Item_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_SubjectToStatusTransfer_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.h b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.h new file mode 100755 index 0000000..7429a74 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_SubjectToStatusTransfer_Item_H_ +#define _E_RABs_SubjectToStatusTransfer_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "ReceiveStatusofULPDCPSDUs.h" +#include "COUNTvalue.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-SubjectToStatusTransfer-Item */ +typedef struct E_RABs_SubjectToStatusTransfer_Item { + E_RAB_ID_t e_RAB_ID; + ReceiveStatusofULPDCPSDUs_t *receiveStatusofULPDCPSDUs; /* OPTIONAL */ + COUNTvalue_t uL_COUNTvalue; + COUNTvalue_t dL_COUNTvalue; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToStatusTransfer_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToStatusTransfer_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.o b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..1d7696801c1a39884e571228adffe67dd08bdc09 GIT binary patch literal 3704 zcmb_e&2Jl35PzvDZTU?3mbe%di6G&XH&hUT1lu~>50oZu980K|&1So81GcyFK1bm~ zbKt-YjvP60L*iH@4*Urm;fBP8BfW8h`R&fw<7aPWMH%VsoB7Sxd-J~bLAY_{)Y6g> zS~4G*i6p2ohfhuTpkM>DY@Rn^WBbzOywMr$eU>J6C+pbQj`E#hJjm~)!^U-+_9u?V z;M}pea#hIFRf@;pr%3l7(PK;&R$-iIXQ@3&?WE#TsDhU1izPYfxBU{e!eTAK9JmMti;0?yPrnGumjhwz``;2XSwdn%h&-e%J^PZ92&Jvq5gm)mH0+ z`bu|iG_a%k``$&b+3-h&jFQ+s4>kkhxM7@0{>FjpA&JM=Mm$dvIgf> zs7B+NN44VQ&1!1qnOTsKnt6H#zd-XiuXg1z^^I% zMds0oAL8InKB5NNExzS=)GvwoPT?;xkM1{xTw&t?8c@lIs8!eMmgs*g#=m&vK%lc*59Qc&#PB?5{1t z=H>sD^EOGZsjda$KcO}+|3f}-;*b1z&E5PFVaV@HbG#tCq|;Q_0`YgL!QZX_E-&Z} z$DYek_&{|)4Va7*80bg#$NFk={U4B0Fm3mTyP;U=+CrY0J7Isaf51xI8Rx0F^+TEG brK + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-SubjectToStatusTransfer-List */ +typedef struct E_RABs_SubjectToStatusTransfer_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToStatusTransfer_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_SubjectToStatusTransfer_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-List.o b/asn1c_defs/all-defs/E-RABs-SubjectToStatusTransfer-List.o new file mode 100644 index 0000000000000000000000000000000000000000..adc86db85eebe893c884c44e0a7053d073e61c09 GIT binary patch literal 2616 zcmbtWJ8#rL5T1((gg2o=qB#%}LE@}41aSfhnHAJ zz6g`X!g|UJ@)(xc#`H&(I0(-jRqOz`sMTq=Z`Eg32E&LC>o@ILyV-DtndiK5T6S~R zcCHBgUoB`phv3(K70)Vm<*%>>w0mW-z$$}?SlFRTESN08ml3JKksMcN3)m z`dx-k!mjk6Nc}m(i*cTiI4Mi3ufd4Z7g-hyj+H?~EI3-ie=g+-3|jawlSxZ&10#{`rhLeZ?WyMrFrOk%cz(bu)iMhe0{n}%;O;5eBiPE zdbGM3vUVJCq=X4;Ij!s6ma%8JE!ysiJB%nMuJ)R6WfM=`nS>uFK+25NChlrDovym{ z?`!z9v`MLRL3QZr-o=OHS@ss=)KBSq4L>VwQeQP(KRaNjJ6qfzpyr9tYs%u`D-QN^ zpZj1B(iH3@CWn}g-9k6q^s_KoDyp<#Iba9z)>epHWJfU%?aty#BjtYZQXAXJqaepI1Cqmo2v6$@_*iIDyE5<{|D`Y?*0G( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.c new file mode 100755 index 0000000..9307615 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-Item-SCG-Bearer.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, e_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, dL_Forwarding), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DL_Forwarding, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, s1_UL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-UL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P17, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_Item_SCG_Bearer_oms_1[] = { 2, 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_Item_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* s1-UL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_Item_SCG_Bearer), + offsetof(struct E_RABs_ToBeAdded_Item_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_Item_SCG_Bearer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_Item_SCG_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer = { + "E-RABs-ToBeAdded-Item-SCG-Bearer", + "E-RABs-ToBeAdded-Item-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_Item_SCG_Bearer_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_Item_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.h new file mode 100755 index 0000000..6665d74 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_Item_SCG_Bearer_H_ +#define _E_RABs_ToBeAdded_Item_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "DL-Forwarding.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-Item-SCG-Bearer */ +typedef struct E_RABs_ToBeAdded_Item_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + DL_Forwarding_t *dL_Forwarding; /* OPTIONAL */ + GTPtunnelEndpoint_t s1_UL_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_Item_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_SCG_Bearer_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_Item_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..c8663c824d968d5f186117be928fe4f31ff3d859 GIT binary patch literal 3744 zcmb_ey>A>v6d(HnBz(mod`UDH2?-;yt6LK(7Lm}}=d}}bNj9-9rDD9k8#xwtyVmYF zn1;BbMWUiiNlAm067d&MQXvWo8luppgZJB=xqF`7i<96d&A#`3?_=J4@4cwEIy*BX zEX{~d#YD5H5cgl6$YCjlVosbDk#}opx$ri!WwkUIsDXD?tC6?fUGtVzlB;|Y^?Z_B zi>pt|`oc8B6YyEG{Y&%&muEJerid3$FfYcBwnq(1a?E=B8zh#4)B*Ob?BW7~l%$!@Ig-gr2&q zhThF=-HVev87ZyuLJWG|YLEbd9WU4~wczVu(eGUJgAXg*RMgBc)>Go2#y#IUG82>d z){z;vHUMN*`4C0dn{#9JZ9Z-vBLA?dA<)mtHTvQx;Q^uM+gKb8N2 z8a_)zHnJT&O+jTPH)6RS-Q0|>cOzj1*{3t8^91J-qr0|z>-cJ`fvv~g<6VnA)vpyQ z=@vOMm9o4|B;6*G-6qy$r6<{~V$u4&Vl8o=>8zg($CpeuOEry9<#KW1;~)+$nXOhb z+74`&3t`Wfi`zX3+{#GsEYpaQNe%1Knr%I~7!Ze`7fO7mV#O!|fcx z)G?0~%<%sVAQ4{|ep}gC_yfNUXOLffHPXp8ah+HEj+L}J(83=iIuZVMQ3yZJpujWm z7fDsaq%=cvRDYQD6M$ui)UElNyo%Fw`O8P(F_b3=+#JkQZ z-wxS1wYfqv_Hk4Hf0zSj zl+?Y5s9c2ulyVQW$I)Q;6n0Tx& zCpZ2c87;>B{&Y8#F}l9cYhx$uFI&Gc;=lGRHFy3n%}rf}=0N@Jbm*w`57Qh!haYRA LZ!0$by7B)3M1oGg literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.c new file mode 100755 index 0000000..209ce26 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-Item-Split-Bearer.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_Bearer, e_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-Level-QoS-Parameters" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_Bearer, meNB_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "meNB-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_Item_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_Item_Split_Bearer_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_Item_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* meNB-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_Item_Split_Bearer), + offsetof(struct E_RABs_ToBeAdded_Item_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_Item_Split_Bearer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_Item_Split_Bearer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer = { + "E-RABs-ToBeAdded-Item-Split-Bearer", + "E-RABs-ToBeAdded-Item-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_Item_Split_Bearer_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_Item_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.h new file mode 100755 index 0000000..ac45a11 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_Item_Split_Bearer_H_ +#define _E_RABs_ToBeAdded_Item_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-Item-Split-Bearer */ +typedef struct E_RABs_ToBeAdded_Item_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + GTPtunnelEndpoint_t meNB_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_Item_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_Split_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_Item_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..6c8c6a0bfc9811291758376f77d657e4c77388e5 GIT binary patch literal 3528 zcmcImOK;mo5MEnpYqxHlXB(gw6)hSEC<)UE5G4T$S~6q1NF2qEfnJI=EiDow5-E@? zBRQn@v4;S;=IGy1Aom=5?6H>uKDxKw+8J_I9IdE8F_Hn6GxN>NK4y1kc@W&aGd(pW z3{8n2MWGo~h&Qu^>}R4c&Wd>vIGfA$)Oi@!)pEP7+RnOGU1zJ;+0#y4g^5avxYJ1X zTx@+@pJ&Dy-hxkq?LVNmxV*Dz1|mNG0R8r$&rjcDznE8S$I!lbkNwU-rzg;#A$woU ze%iS4$35YMxim3|V-C0v&b@*LA|E*F3eTytzCyxXwXZtPgLunnhDq2}S|zFIs*Sp{ z`mm|{QKULS)b7Q5krsP_6Fk)_O84R@6=Jo~xK&-)-t9-aU%la8cNZP6pK0E&Ud>&+ z?s`{qoTgC9a1Cd~Kc#1_GPJ@XyfU;>j`J0BygaKF@loMK()Ylp#H{d1=aCih384l1 z8AS9qHJf9u$7UJJA z_#A8u_H#%vJ9OA?W_Xc@MY4AQFYEvL82o4q{`(kwf&%NdM3_c$CAcF4iPcyRsbzS_+%lQ3AJJBtc%FH6vGZx_nsC!+T^;TM*GbMF8%e9DTDa{{hr-=WQ{g5tD(LCCHBeP2%*-fR zs@sWMA%a+KZfrZL4qH#y0#7M^4RM$nd|x^FTwyY$ae#aS z5@PmC)s4CS1+X;)CZ1 z-#Wj5GU+#ZG7c&Jb3pO+HRGG}bsw;@@pq=PZp32F2H)yH%7veRm5o0`7s$lp_&6nd zde14TyL7j=8>=(present), + asn_MAP_E_RABs_ToBeAdded_Item_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item = { + "E-RABs-ToBeAdded-Item", + "E-RABs-ToBeAdded-Item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeAdded_Item_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeAdded_Item_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.h new file mode 100755 index 0000000..e3bbd7a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_Item_H_ +#define _E_RABs_ToBeAdded_Item_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeAdded_Item_PR { + E_RABs_ToBeAdded_Item_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_Item_PR_sCG_Bearer, + E_RABs_ToBeAdded_Item_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeAdded_Item_PR; + +/* Forward declarations */ +struct E_RABs_ToBeAdded_Item_SCG_Bearer; +struct E_RABs_ToBeAdded_Item_Split_Bearer; + +/* E-RABs-ToBeAdded-Item */ +typedef struct E_RABs_ToBeAdded_Item { + E_RABs_ToBeAdded_Item_PR present; + union E_RABs_ToBeAdded_Item_u { + struct E_RABs_ToBeAdded_Item_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeAdded_Item_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..15975bc8d2cb09e765f34416ceae516def308779 GIT binary patch literal 2840 zcmb_dO-~b16n%9-@e|R+NZgDoF|jW#A(3cehL%z=Dh){DZW!7L5c`$RkjO^a>w={} z!?<$EPhjcF_!ICK=sh#{wlA+!AnHx}?z!ikd*8gzeyF@yx{%8$v7CCQ29dBzy}2~N zUIINescxu?grT={%=kB3l6FQ@$*(PxqWtSlDO_kY!bW~24qGZJSM#MX=!HEMb(_1f z1ZNcchwcmK%$0dgkRCah>N!(Sm6>(1#{a9XJ?IP(H<=tWI!Ddl=IvO{L%&qDTz=xt zY;5hd<30DWp3{YVaW9FA?~C)gFsF+TQ@)>)1+X4t>R0C4Izy)~t>7d(GF;73&M--g zLnCCFqsE8mX<~9l{TeGO2|un5IR3&uO!&binr9x)Q3GD+j|6h+vV_X*Bj^XbK@)$~ z4ExwoSNd4MR{~SUymq+bn7o_^(Zc^2!Jmxar)k5o>Zr^MuInm@+J3FF=EwWp(69J- z1^oUi;NunW>z#HK_xxg_eOX!?Axrz$YvmFBQ8%ndQe~kwLKO$wvtg5EiByF)bWP~yX`pXADQj1m#aR%YncBjLcDq+#eRt4UYMs7?-0!9WiP-BhR#Dn z2Hw0C%L$wEQ;gwi29LXb!0{$~)G<%nXM?}R81C5M@%?u=J~8;)jNxWbm<$g3`v}Nn zF5s^v3^zL3Z^glu(sX1}zauCP-^EHdf;domD~govbr3*V)I|!zW{`9PS)p!r>H)|k zMd^B{)e32!b-NRXy83D(AH_lat@$N?h3`=o=7cpi%`*c7Lu(q=2b{U5==ac&$v&o$ zQmz2@56I&z+4+Z-PC|S9N7MmsRs`%NUt7H7i}$D>*dG6gI9Nf1X{cQG;+_(~Ywiib z{u^JG3C_ov0VVh5F6&mwXN@mUzWIJ5#YJP-bHZ8UAMu9DI2a$VzdgQB9LBf*Up*#V z>NCwX1H#+%Lw>>HH#r~sV;ZzD@m&Ka9o&4fKZtqB6D{H_=^>LpIpI3#Ch2F-AOCRn d-V>#|SX8n_Yd|Zc|F-P>@4Ws8C}NnM{|D4m + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeAdded-List-ModReq */ +typedef struct E_RABs_ToBeAdded_List_ModReq { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_List_ModReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_List_ModReq; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeAdded_List_ModReq_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_List_ModReq_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeAdded_List_ModReq_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_List_ModReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List-ModReq.o new file mode 100644 index 0000000000000000000000000000000000000000..cde870ba658e5ea86fa35ddf9e676635892e5681 GIT binary patch literal 2464 zcmbuA%}x|S5P*9be^5c)n~A}!Coyq5J4yo4#0;zhV)z+%Au;jL47(E`E;G2(Byv#? zJ_L`!O%J|+H;*1Ya>OUVs-EhZws+VNtYo^XzOL$;p8lCn{?hzNrNXpS*mG8RnliR= zrLa9^dTgAHu?E<8imp=Yl%%Y41mGw=*q_(V4Wxzm_15fMT3<`%qSeiQbQdwV4 zx~=Ga5p{mcE@S&=jdYPX@2tTtz|~j_&F0hEf?!NNekM0a_OmX*N z#?P#P^SH$RoR$SR#cKT1?J!)mL2;Nf2!S|Ip-dchc>vddRM^#=o0*Qm^8hd$cFlBi z+fh3!ca^aOZPlo|P2IS8Zj)`QFW^*RzBPgY>93&6;(q|g@jp}C8`39=7vF7+_yjCK z**I+2M&}(Crm=Y8&kJARc@X(|5O^L$b{>Qbw^HGrD^>-q2BPi1UiVj;zF3`CDDYcC z9_&TK3w4q>m3=7H_SYa&WPZ34OEt*yTx)oK_KxkKIXo=gi#q0nf_@^CPSRWSMSCaS z>P4cN#1hIzeKF(CJPF)s`pmh){ci3$yn9e=uGa*)UMq~#cO7z_i+mCr5Sx37W_+A% zR4)yF)8K)@Zy9{U;QHMV9U8n!HmaWn$N5f>&v<&UE5l9DvY+W~ZOQ0^WV{>7knznl zWxSuDgOM(G!Hs&M>PAcVGTupccOzJ79w##53oGmOREC{*y5RrmyO56G)cF0V0X@|Y zHW+KleQ=Q3H!YT*(TX-}x{39CY1~7c=`Qx9({`P>_A;CrK TJuDag1?BlCbP3tV#LoW<>*~=2 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.c new file mode 100755 index 0000000..1afe8bb --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeAdded_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P15, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeAdded_List_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_List), + offsetof(struct E_RABs_ToBeAdded_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_List = { + "E-RABs-ToBeAdded-List", + "E-RABs-ToBeAdded-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeAdded_List_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeAdded_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeAdded_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeAdded_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.h new file mode 100755 index 0000000..eced23c --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_List_H_ +#define _E_RABs_ToBeAdded_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeAdded-List */ +typedef struct E_RABs_ToBeAdded_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-List.o new file mode 100644 index 0000000000000000000000000000000000000000..6f9fc8dbb5be94adbc39e82e38819035b5889caa GIT binary patch literal 2416 zcmbuA&2AGh5P+R7g#zWL7k>sI15bcBa)cXK!~>KWukAI??twB=JTu?S_-}3JgTJygQK=9m6|z8bPf0oQSg z{5md5aPqJ5SJ)x=)yBmk&Nu|(zz9X+kjXK89Y}?o(Ogw72tGloG7?DrM({~;ApH%g zKMJ1Db6Rp#j?uq?fuA*9Z9C$GYF8K|XlIQ1Z_Dr((3hocsvjl%cL^tj2c33Fn8xgh zzr=io7lG-E!0;k49&V+~6-j~LVtjuuD#`37amoiW_eG;sl9u(=4w@zLbT8_v5lg2f z=Cc;Cw*Ru@uQq+QwnW4fuch29)EPjlUDop(on$26Iih1&+OE827LN z*~^q}tJ=zp+o14_n0twFLQN!Bp=EtInX(X;5kwEL7nsGz%V6$8NmTLl6A713_@%BEnt{h*BP1dN!H{3 zm?E*LLH-JUikW#oi(o-6rrC4HepLNP_Jeo%BK++2;|p)^Js@%@;Z18EmJ4rwas6lc K2-(-fuKxq~g})g9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c new file mode 100755 index 0000000..05ee8ac --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, e_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, dL_Forwarding), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DL_Forwarding, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, s1_UL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-UL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P24, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_oms_1[] = { 2, 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* s1-UL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer = { + "E-RABs-ToBeAdded-ModReqItem-SCG-Bearer", + "E-RABs-ToBeAdded-ModReqItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h new file mode 100755 index 0000000..c966f0c --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_H_ +#define _E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "DL-Forwarding.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-ModReqItem-SCG-Bearer */ +typedef struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + DL_Forwarding_t *dL_Forwarding; /* OPTIONAL */ + GTPtunnelEndpoint_t s1_UL_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..f8f163fd5e0e18f88bed1a898252572dcb161f92 GIT binary patch literal 3784 zcmb_ey>A><5P!}ENFWdg5`si?NJtpOu5OJbPDDa$pVv;%IXT<0VqJ^YK3By?OU2YOh?F znNdtL>SHz17**=07e{hfilLfSS5@R~EH35V{dCDJ_Ijr0t);yU^Vyxk47|Z5 zp`5RtV_r&C(ku<|lojG`-BDAJi&v;pY-b&{!kn3~$I=ITQ)44>tm&fALn|W&xWWDK z?kroOZ62Dwx1Mf#oj8jJrZ8EqdTnnd%|4H_-hQ&D^1$0_d#m?5#bJ_|ew6eM(*2}R z`;iwN6(-5|(9?JC+ zAMHcK+P|8T=i4dx4^!}8r{I51!B6=B_+1s}iC&IYbfocO=;4c@M=yq^7eiMshA!g0 zTnA;;+G6JnQS+vM_PBJwgPneg<=pOd^k%fa72Rz`iUr-J8(L&BZY@^5wzP5D`Bw|x z?6giBkRO=t*wi)kn-klu%f6$j?`Y9?*k!q`MgL)RyaTbNlch!4P5Z-k)Jl_rR%wY^EJ6 z0Dp}^;^-eB;MYs3`uWAmz-3o>BJdkl2AhK;5&Ltex-Ib6E0^;3Sm4P2wzYjH@SDQ_ zH-W={-rAlDoc9o>hJDOnhW{r3iDX@5SL0at1K)--$j`qR6!9+cBCGfVmI`xJD8CmM zvGRBGT=`iF1)hQ5B-Qle(hSK_{eIew0hS@mtI$CC-E=T8bgld(EsVcg7ZQW3J<-XZc9Nx<9}FdTZE6x{fC$c!5N*ZB7-7CE{8B$gCfj{K5j zy@7}HO`88P;h?7c6GVC)prBhMS6_WSpL%h5HJGP+1dt>A5c9b!I z9?}Pl=Lrn-*v6y2lHB-5WMoYG{q7zpYjk~~kFA}sKY0Gui2uJ=>2voFeQnZEp}kNy Vo#gKL=+%?ro3?&mlU + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-ModReqItem-Split-Bearer */ +typedef struct E_RABs_ToBeAdded_ModReqItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + GTPtunnelEndpoint_t meNB_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_ModReqItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_Split_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_ModReqItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..dc18c8745a2df8f0e0ee201e07ac48b12962c3c2 GIT binary patch literal 3568 zcmcImOHUL*5N=pSd;&hu#LJqPh=!T$phlvJ8Fm>S25h0-antIq%mT4Mg z?C@+RyNT$sK{miVYiXhwTQ9<*n5fl6&6*EuOXBsc6b);6v%Vp%qVOXTWzolz%(a+$ zw``}n8UBLzg6%iZUtErD>W7HF|B!bRa-RE#d9kiI4q#mRhk5%U=^^CPWS)yYPZQVv zcqWvvmO2J;tO51Gwdc^F$OVqNzT?J7%p37Kk^$wiYR6cu~4+8UzFum z5Qw@L)HcJ7K(YPuI|xXQoo~ax0Ww7PwXQt+pwNSD-i!@*!S4Z% zdG=IH1rG}7WrAmQD5NlZ-zCqdF8G%&_|Go*ksGXCWqus+NpFgK9D6cv_GF&*WS;b7 zp7vxe{k51oN!iSZ*j$2D0xf^yb4cJMm|1M-2HrU z>FB#iH@;jh9X%x86xFs3aOf&6rRPa^;m}<;=`Px(y}@WpISOT14eQNrQwjqKdlL~K zAG`0A#~!Ln2Mn$Yx$TVMcLvGC_1#BY%jkCle}E9j*W|)L8cA6jK11*!B_k^n{4&8S z1iwP?4+OtT@UH}?ul|tW*NFcJE*uCM`s>azL-1jAP_##I^uMj}eS%-t&cMGD9Q~gt z8?7_#LS{X6|6_LirXl@R;4(`2x|XEak<707(r5N+95Xu#Q9)0~9tTy_{ltutq1yGZ z>LZwhXr6{T%&vxwhJZ(52cZ=9^umf2OTYSxZ19BQO^CzN;CGmkOBEukGB%N0AR%Uc zvD~Idt6;|80W+S#N#jQ$7ITilpyVp$E(JlR=Zz*8MyK`f0gm*;Sa3c;vmd-i_)T;( zD3Ly^Ps^T)zX&LPrS<&!emw`Q)BKg*Bn>O1tofU7N~!P+Sf}|5>H+C^oFA8D&d&kE z`PFnFrL?br84W0&H}o~oG2X2Ifr_6s{8c%U7&L9eKuoU_F(gM_2s~d(X8bM~HAekj znionLO<&Z_y`yVI#kpresent), + asn_MAP_E_RABs_ToBeAdded_ModReqItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem = { + "E-RABs-ToBeAdded-ModReqItem", + "E-RABs-ToBeAdded-ModReqItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeAdded_ModReqItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.h new file mode 100755 index 0000000..5515d98 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_ModReqItem_H_ +#define _E_RABs_ToBeAdded_ModReqItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeAdded_ModReqItem_PR { + E_RABs_ToBeAdded_ModReqItem_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_ModReqItem_PR_sCG_Bearer, + E_RABs_ToBeAdded_ModReqItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeAdded_ModReqItem_PR; + +/* Forward declarations */ +struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer; +struct E_RABs_ToBeAdded_ModReqItem_Split_Bearer; + +/* E-RABs-ToBeAdded-ModReqItem */ +typedef struct E_RABs_ToBeAdded_ModReqItem { + E_RABs_ToBeAdded_ModReqItem_PR present; + union E_RABs_ToBeAdded_ModReqItem_u { + struct E_RABs_ToBeAdded_ModReqItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeAdded_ModReqItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_ModReqItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_ModReqItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-ModReqItem.o new file mode 100644 index 0000000000000000000000000000000000000000..cad41692b0f217d93249f8e64e796e6347ff350b GIT binary patch literal 2920 zcmcIl&2G~`5T4X6l;5_%0SP3`i6D_xQdOb?38gVt;j=)iugmQ=A&I*6mvr_!=2E~(PPgilkl0PV*#{LI{2Yvgn$6|A@;qtz_1 zMoDBWTp`OWm>Hq(A(PYU*IDs8=4W8Q@iF@kF+Y6CmYFAK!H^gFD}o$ck`U|^k$%W) zH1b#UFvS*JPO*R!1Pj`8?eWAf^l~0VOMVI)kj39RgLls0Vax@fn&5?9w_a_y(P7Vb zt1jIYZhBX^!@I(52Hh~~yQMf|qtX~FPE=cUXRIph`OQ!&uGGhBBX4)nZ?pJ$b#n1_GqGGg$3HawCS!7WDvU;s z^baUNlV>6RYRvGU!oyDF?SR5#mH0hDk^eCQ)$$?_)J_IW2%vZP8F`fV?sCS-)F z9W*^6;}lTMpwscO=c*e-zN)=?TL>es`A+{Qe}(U07CjT~v2JBO&@gXL%G^gpoZeHK zEYpA{eM}+%TL637Uph->{*j@R&|Lo!P7t>!0``)>Wbl$NzKrvP&Gk=_BP)t93BhJB z?kNJg{mVkIpXCjm<$O9bbe`nBxy`yw^jYiM{DIW(drGls(Ch``to7&l(;(~6`b3%Q zyU5Y{yd0v$wwbVnU~k5|$Wwli=fw>;pZcR4Y01R*G#pRx@ZJ1F%uAkVDbA7}GkMAh n*HAZyKlAzNi)i*9DLA4{MT?9DjS# + +/* Including external dependencies */ +#include "E-RAB-Level-QoS-Parameters.h" +#include "GTPtunnelEndpoint.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent { + E_RAB_Level_QoS_Parameters_t requested_SCG_E_RAB_Level_QoS_Parameters; + GTPtunnelEndpoint_t meNB_UL_GTP_TEIDatPDCP; + struct GTPtunnelEndpoint *secondary_meNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + RLCMode_t rlc_Mode; + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..bda570946ce9e3095f0c710996162c2423e5a9ae GIT binary patch literal 4112 zcmb_f&2Jk;6ra?keAATAN?go|Aaz%E8qo*@ICi#4k&|wdSmL(X*wZw^-c5JMRm*|q z2q!plYyT7Y6F72=#D!zILs+Sku5EGSD0>T5OD zEUMJvTVuIVhz+%!WS!?FrUfR@ay`JuQyNBCNl6Lf6?}pKXLJ!wlVUn8TOy@c= zMRca`4s~u2(Aw~dEM8mR(|zw&y6c5;77w)1S#EpHbvI3VarVF)=DP!*lR+Wc!ckIW8}3xo`TyumVZzz?>P9hmjI-d5VvYS{K#X>$AMaG1sBC{5H+;05=MPI6LcM{l%R zUsRVm2gAe+tJnM$zvk74g;xKuzUtRj{Q74joI9VwFvj!h->G}4GEsqXaAl$r5|*%*q>{N+Z zTt<)W74_y=VF_2jB{B21|E~yNe8yX;tr9%uJSQBp$cyh$fsgA@WBcDFc`i`gw0^54 zc&!BAEWu~Fxcsh)^CVgiu17(HYcG0w?M35jFT%A~=#$r8Wa7g-suwA?*1}m+EbIPD zCP@eOGiDq~F@&38v>V*&1lz4ZSs|i3IyYH-M3+1&wbk62X_%uT?S`$HqVr?jeP)DF z@wkZSaS@5fg`G}%OPFDj=zfs&j#K;jD9=v2Rh((ov(uhD+AJPssY$zO|LHkLZiWh> zvuJhsYCT-}d~y@fvKPBesn^)-;&u-Jw=!HW3xDk9eb$#s@J)eVVi_zHIPL;V`z)Z} z_bf>KH-Wz|@IM8P({YvcCj$R~Ww0eACIXYE)TY3t|B1kn-=0s81&+JR(q95c{*Tyj zCUA?vg!2OgGyJR6K%u~G&4K?UaQN2&63Ka#r>u=de&F`|m7hNtnD~IW$wvH+m5jb` zl;4X@to(yKSALd4foI)cB~|z1!VJk#{eIew0Tv;ak3#Fp@1}zRp5i_|%eB9;-SKi0 zcfZF7UXDJdaE#G?$23aP!dKEKqyTeoY+C;(T#%Yg z$h_+4-;zG9|Bx56jYt2u&E5VZ!qC4nO!Wu%Kl=Aa4op=mFh3-Yc(?v5{Gj^A@#k_B zF)-bu2F!jZFi_6%m|sb5{6jKYO!__Ic!@!FeWAN!hu>q4|Bj7#hhL=T)(_L{u3duE Z8E>fEN$&QKvwd3p3D4gzNG8aQ{~zdiolXD% literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..c4298c2 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c @@ -0,0 +1,105 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h" + +#include "GBR-QosInformation.h" +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, full_E_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "full-E-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, max_MCG_admit_E_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GBR_QosInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "max-MCG-admit-E-RAB-Level-QoS-Parameters" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, dL_Forwarding), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DL_Forwarding, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, meNB_DL_GTP_TEIDatMCG), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "meNB-DL-GTP-TEIDatMCG" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, s1_UL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "s1-UL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P45, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_oms_1[] = { 1, 2, 3, 5 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* full-E-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* max-MCG-admit-E-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* meNB-DL-GTP-TEIDatMCG */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* s1-UL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent = { + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent", + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_1, + 6, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..f4bbcf0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_H_ +#define _E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-Level-QoS-Parameters.h" +#include "DL-Forwarding.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GBR_QosInformation; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent { + E_RAB_Level_QoS_Parameters_t full_E_RAB_Level_QoS_Parameters; + struct GBR_QosInformation *max_MCG_admit_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + DL_Forwarding_t *dL_Forwarding; /* OPTIONAL */ + struct GTPtunnelEndpoint *meNB_DL_GTP_TEIDatMCG; /* OPTIONAL */ + GTPtunnelEndpoint_t s1_UL_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..291dba71f4c3a8cec2928734b1b550ebeeab779e GIT binary patch literal 4120 zcmb_eOK&4Z5bms(_rhj*M&e=+5HT7M>Y1(_YMl zHMbQKf+I(M#fl@p0CD8FKY=|U?G5Ui>9#8qPeigVsi&&GuBxuCe$4}CYvanof-tlo zZi%U8P$8DCP32lD*2JQ?E*xuby`ESHQC+TgIJ^1r)~XNlT9YRF}tagpbM+RJl}i=0Q)UYlcF3YF5BzOPf8XC095Q)+L| zF)oEVMN1e2O;dhfT`j_!k9}hZH8W!X!(5+(ps8jA%@G^%5Ce9d zEo&o+zwzTvFYJmy?$oX3meo3NtpjJX=_@+JBB@%3DW-;DDEm&>8ALt03VM#^jFb$M zUKA!mv>J`i%gcu+!%z*&pV_N+#i|Zdt@>Sc&91E4)sHfq#w{Y`cU3%@dB#eoDl?5x zN@q0HjZ`{SDT89}ykZ>ZmCNu|VhiFWajea_XGy%E(J8|P3424wT6jbpIL;+#F=Oes z#OxVNdEx}0rIKKmIqNQoSD2QG{}8*ub_DJlkWGc=Ib^61w+iq*!Vzbz4HxyM{4vF+ zb*Sk6KMLYJDZsB$yjl6YUx42%z%Tru*=^w`q1SXaJjcUZ=uO^2Z~7K`cnedVy@j6g zyNOp#{kPZMOZl(J{5qm-KN=qU(J+hGq7-+dWHY=Q#euKrN}8-|bIW6Q+{EF)&E03F z$BiQuwWI#za%)7PqFTtaKojPD^%I^IPLZ-9_7+ox17X2F~~S60^tYJ=Xei z0e+j|H?$1qG8}J$p<^vz+&2tJ{1=A5$?!iJj(M$V{cnc9rDd>X1ST@`J<3#Zo8fqq z42>DiZ?Rt){*Eyw{ujexkM|Gsl;PaIqVFYi!~O#p6S)jGH3$BX;jq66kch7%zg3Md z;sYPR7-T2k2FgDnuHuZ}Gm?@cCG3u`d|{s?iLm1c3M{Mk8mY4Hr`?cps@;#;KETw) z@XWO;>~<6c_$#-=NJ+c3b7&>XZ-14g^eo?Z$r*FZ|IgG4g6id%^u9+DF#fNC&Kf>5 zDDVFv*;EzNBIXJ;PBpE3&q0#;dZVjGZC3t|2?zbG_f4h=Q8t3+Ul7N?LQU(2 zjr6aCJ5XF+N`J{P-SW7(X{n z@w*;>OnscnTp_tj4gP29kEDo@A17Uo)Cc%|YQRjMz(7A}f2=R3y#E90G#Iygr2RPt zId2O+KX=&uru~m}C+?%`)bjPiGUxX$L1Iz=Ds^+g^W)=gpXL8huisAy#whRqA6mhg Al>h($ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.c new file mode 100755 index 0000000..b6760ed --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-SgNBAddReq-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h" +#include "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_5[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_5 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_5, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_5 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_5, CHOICE_constraint }, + asn_MBR_resource_configuration_5, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, drb_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DRB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "drb-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_5, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P44, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* drb-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item = { + "E-RABs-ToBeAdded-SgNBAddReq-Item", + "E-RABs-ToBeAdded-SgNBAddReq-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.h new file mode 100755 index 0000000..5885633 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.h @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_SgNBAddReq_Item_H_ +#define _E_RABs_ToBeAdded_SgNBAddReq_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "DRB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR { + E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent; +struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeAdded-SgNBAddReq-Item */ +typedef struct E_RABs_ToBeAdded_SgNBAddReq_Item { + E_RAB_ID_t e_RAB_ID; + DRB_ID_t drb_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration { + E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR present; + union E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_u { + struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBAddReq_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReq-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..61bbedd92b78f284c7dad6624ebf61718d0f67f1 GIT binary patch literal 5032 zcmcIoL2ukt5Ps>lw1Gks4iKQgB2^+t*xC(2M1YW!UAG%V6L-^|9cN>bh-4ks4oWXH zMm@Z7CkkguBm58hQA$S>i;n5un~jrwC5L6=WenP&#$k?>(0u? z(gI2C_)BLoi+4tZA2XYIz-a5o0vNbdW;g-AKsIdk1egD8x8k{L2XvVNE|g~uIpL48B3;qzk>{l(XX7vrdsc< zfyG^?*>Ku%n(XyDaU#Yo&WHD)F;6zQ_JXsSzUJW`V!u6feZYL z_8%9uzs?_wV;zvJ3%Nr145NzfoP(B0%4>|O-{XSWWb=&1iz<@+h3tRCCgcY?(D-HL zX-%m)=09qDT&=QRWe!$RR}HNYE9$vIVd*!TXVUnUN}f*%pE%~N)D_Ba7=FD3cS`V& zOYqea{M!=zhZ6kf68z5+T#dSDxE&Rx-LUE34E+#ylCXa#35z>Ph&xG`MH^{Y*Z#K` z+N1q**Oj0#+BMycJN>!mgV6z$%S^m2*_6jH5VlHXJ~SL%!{N(c83%5;xv#?suA3rFXF$ge(4?d;U_xS0Z4$lzOy9EqCC( zht$*sXtozj)n5vmjj%nm*GovyOR}VsZ1+2SBk5+eO56+QX5Om@v$K*?qqV$93FWLb zos-HCWodpoB!`jpD}m-WhI;|E1*2O~KPbVaN5KDO_5qt>8Tj+`1gzt`53=!A4r^Ru z0ZAPE@r^&A2ehikd>(x3g}!G2{;vo~{IP-KE+F(53-EtcK;qK?h```4Uxb!{zXk^; z^ly;(Pvok4XyC|Sz7tOj9P_`+{^-Xbuk9ZPJ(}F~{!SLHDVMrJ&NoHM;{8my>roadcP&ko+e@Ipv+mB3 z8gED149Qa6?W7X{)FHz2(7JLv$<7XLeJ=eJWB1n5Jtxhg&KHu@|L3St>>cmOB+pa~ z8NMdHMG7!J_P)tuNzPFWRS}rKO&ssWjz6^gM77sP-2$5t2j&uw{7f?I0Julbu>6k* z2klykRW(`+ACZW=p;tg!n!1_;kGQT;L%7|_`cikxgbiEY;|u40K23kD_N83-l-RKK zAEWq*S~=6TjoYuien=SB=QP=yey_a#K_AJ5s-f zmE)x^iACas=l6ZF7X0_)e@bYh#EB<#d+)GG{1m@`9Op~)*yo47Z + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeAdded-SgNBAddReqList */ +typedef struct E_RABs_ToBeAdded_SgNBAddReqList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReqList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReqList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBAddReqList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReqList.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBAddReqList.o new file mode 100644 index 0000000000000000000000000000000000000000..42a16b966a3c378ce4dcc7e66da396897ce2836e GIT binary patch literal 2592 zcmbtWO>fgc5S`Q%O8G3ON(jk_14SYxE|rKtLT-XvK&1^yD7!CJ!HRNnI2jPGuTLuZ+demqS zEfD>8TFs%#WIODt`TWE5(|IqoSjT_7;x9IRwloJFe;FMUlMFT@o~=czAM>~yZ$9u@ zXCqqM3|TXdI7-4ktGo4^t?ByV&B5i@c2V3_q%e84r^G8vI(0V^e~JicQ_`Efr}1=( zY#HCz_z8*0sqdfqp(}b1AF^j@E9R-6#`hY3L1J>>G+sX=;3T_SJXl4~`@*j)#KTt{ zoL;~Ka8{E9oPJCJDP5QET-Mqd65uL2x=qabkA_Z#=J?k!LEN+wNU!Q` zgQu~`R6m}?=J-F5C;Kj3*4h~o;0`*vdp!|m?WDZ2$K*itZ4;%&SKs|ZU${sxuT+w%Y1YwAohv;Hsd#M{OI literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..8aaab3b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,105 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "ULConfiguration.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, requested_SCG_E_RAB_Level_QoS_Parameters), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_Level_QoS_Parameters, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "requested-SCG-E-RAB-Level-QoS-Parameters" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, meNB_UL_GTP_TEIDatPDCP), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "meNB-UL-GTP-TEIDatPDCP" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, secondary_meNB_UL_GTP_TEIDatPDCP), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "secondary-meNB-UL-GTP-TEIDatPDCP" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, rlc_Mode), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rlc-Mode" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, uL_Configuration), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ULConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P55, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_oms_1[] = { 2, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requested-SCG-E-RAB-Level-QoS-Parameters */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* meNB-UL-GTP-TEIDatPDCP */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* secondary-meNB-UL-GTP-TEIDatPDCP */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rlc-Mode */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* uL-Configuration */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent = { + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent", + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_1, + 6, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..d7607a6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-Level-QoS-Parameters.h" +#include "GTPtunnelEndpoint.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent { + E_RAB_Level_QoS_Parameters_t requested_SCG_E_RAB_Level_QoS_Parameters; + GTPtunnelEndpoint_t meNB_UL_GTP_TEIDatPDCP; + struct GTPtunnelEndpoint *secondary_meNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + RLCMode_t rlc_Mode; + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..c7cb2b9c948ee3d511cc20b5ba69eb24c3be7f8b GIT binary patch literal 4112 zcmb_f&2Jk;6ra?keABdiRpMe!1c_bQX{tsbz_GJUikx(t#1gm7#valLdpF%3S1kvc zBb?yKt^H5nPvFQg5*Lo;mK(g^dS3lJ^;W9uCyn2GzxOdaZ$AAnXx})uu%MV0)K_Y( zF{;$!TVuIVhz+%!WS!?FrUfR@ay`JuQyNBD&t+cnJ?|L_l9u#`G-U^e{9A`S$ zi7BEpeRrsHgMikCS7hBZRtZ=koEUZ?GC?1kQ5 zaC1F2NY8#R%H6TLdRe{;WrpYA=g9US(Q{m0*mQ>?@GbMoi}9nKQhS5iyz)}2g8rf3 zcc{%PFTNFZeM0T>obw|08MP1Qn3qyb&=oGYMcs8(DZx1j#x4o*NXdjbls>3E=Y$Vx zb{>KyjP(^(h&QZ^9Pop!WCv#bu17mxt6|$~rO9_khr=v3M`@yt0x!64bdr-oJ9?wl z`n!zA4r5h)4mmcCk`C@8YGTgnzyn4$U6G16gyQS zjLYb;y`tV6D^|i4a7oNO_x~l~i_dr~wN--0HqVKTS+tAqQGt)^P_y>GOY&TxxM}@X zOYm9=zFC6La&h@x73WE`9^8n62-jZp^xBKY*ItBcuh1v2y~xCec~mb_Y^{Z}rdZbf zmrRll_%mi4Nil?5VYD0E?gZPdK(P?f9i5vjKB7w=mD+0V%rwkVk#@t@OwswV?mjcZ zsCZmN^tgz`$r~%{e1P01&Jmy!D8~>1uj7h&oHeO+#*x~os#(!&#c!yu4=GG6>?5 + +/* Including external dependencies */ +#include "E-RAB-Level-QoS-Parameters.h" +#include "DL-Forwarding.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GBR_QosInformation; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent { + E_RAB_Level_QoS_Parameters_t full_E_RAB_Level_QoS_Parameters; + struct GBR_QosInformation *max_MN_admit_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + DL_Forwarding_t *dL_Forwarding; /* OPTIONAL */ + struct GTPtunnelEndpoint *meNB_DL_GTP_TEIDatMCG; /* OPTIONAL */ + GTPtunnelEndpoint_t s1_UL_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..559c3f79de4fac3a727ca08f8c878782fa00fa52 GIT binary patch literal 4088 zcmb_e&2Jl35Pzu)6eu+1vl17BkO&gHveO_es4BY=t|9?MANeNiT|p?;aWLj^XzGp*+t{$IIi{xn%V`znAkm z&cUxx-+x5sm^^nE@+?q0q=sA;85enuslB$~xXAg4+M5fEOQ8~)()TTDi>w3kJ*M{F z0^?GsQ*;Z1pef4ktE)Mx3GI_g8qu#Th` z#KSO%g=p66Ulv#P4km$|6u&Un%#u-_BwG2$a>XpIndMJYoW{)~}stlLaru;d< zXLTs4{y%f#Jj=naQ@nZke3XOV$-yuDV3|GP#(~qYHXO^rTj!j-be`{J`p z3$tU_FYX$Tz22FLImwTNLq8G@`;pL#*Q6A;!gw=y5JtW$=}J0T*G9`>cif4?uARBh zbdMc{GVFz;lgq6h29j#wMNVb)cG>3}Ygj;kxF)e_}Z7?*Js?>&S0a?Th%p z$1nz&@ejUq4~WYs<%e35-jNh$-<7T~58_yuQ3wT=WwS!6H*%A1NEy`}g*_Kw;-Y!# zS{7z6^nLtwn?Wc&v)S1*V(Iq2O;dW2?+4_JIcEQ7syRW`a-8&jND?squY%4hK65DR z{|VV(4KC~d8TlgSDm6}3rA#?UGGA|WRjJL({|~}Jzp8zcYC;sXp!iqB@vl%-x@P<8 z*We#D;WwxQ=S+{U_t$;G=8fM~1u5x(iWf8b*QC!IzoIs?_Q&{my|d#xgkk*5G{qA& z{*?MS6}dw4fExU>^)DhRBIL(Ol_T*1{*W3lohLBRH_9LD%PH&sh&naK?S51K9D|&- yg`S-|>>exsebtHk=mxcH{jkj0y-SdIst(j36FfUU?)G{9hid(PK`=&H|Nj9urkaib literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.c new file mode 100755 index 0000000..e019589 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-SgNBModReq-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.h" +#include "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_5[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_5 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_5, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_5 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_5, CHOICE_constraint }, + asn_MBR_resource_configuration_5, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, drb_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DRB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "drb-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_5, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P53, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* drb-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item = { + "E-RABs-ToBeAdded-SgNBModReq-Item", + "E-RABs-ToBeAdded-SgNBModReq-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_1, + 5, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.h new file mode 100755 index 0000000..d1a13a1 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.h @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_SgNBModReq_Item_H_ +#define _E_RABs_ToBeAdded_SgNBModReq_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "DRB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR { + E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent; +struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeAdded-SgNBModReq-Item */ +typedef struct E_RABs_ToBeAdded_SgNBModReq_Item { + E_RAB_ID_t e_RAB_ID; + DRB_ID_t drb_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration { + E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_PR present; + union E_RABs_ToBeAdded_SgNBModReq_Item__resource_configuration_u { + struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBModReq_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..b4e0ec27eaae9c1782029ac87cf50dc36d8bfd32 GIT binary patch literal 5032 zcmcIoL2nyX5Pqp!+CZTR2MAEWNREMEEhYnFoxvek_22OGSng@C#(aR!?yG&!#IBfiphqc_(Pj=g(o@ z2F>{rJ*Pcqay^kS51w6mUZ&@)&w-{q7eXzZhUA>^p3ky=%z4kFeq?WlBi0Xypa}iSS*WQ_ zZyhY^IyK*EMM=EZYe#CQQ5nWVhNsQNuFm`yg%XgseX*dqf>t*I(C3V%%afw5~Sfq5>&PS z;(Tkgf9AT<^hdiUyHUG8_gr&y0Oc|hZA&(%iHLV(0c=*9R4~w_g4=p`&3Y?HAM8d& zUKEq0J$A-XoH!c}pui#9cDCpuZKA-9H=FsL=2hukEH{Id`n}cql3!OMV7ruhxJ4~@ z;JpXb)CH)u=1sM}6x95nHMG}DNV6BGaXa4bcX&VUrnE}b3ub3-R-3nPN=klXd4Uqj zSYbLRl_AQ~{B%eTBkNZJ&2J3%0%{9Jx1fGdfJ={n|Euf+HpMdV7wKuTj_*Fm#v2)| zaft;aaq!1C{(v6PnjW)x@U0j6o(1^7CLr-A29CRc&|fUT|8)V0PXizVgTH(c8V3Fb z9GK9*LE=A=sp^q|BY*i$JT-94|33SpAA`WIYbhHl)XzY`;qOBslKBLec^a0#;7tR6 zGn+z>2L^85lfE(Vw+#P71INCOSbt>TcrPBuJT>sQ83UW(#U%fGY^xY}nK7_U1IIap zY%}W<^(G{>g!zHX_ui~4;A`|~a+3!;X}GRj>Ixa(6e*4NQ{{HTG*s?-k|?(qLxE@2 zoh3Ee4z(GQrMla3I|QghglC~u<+kIU9o+g{`YA^4-KAA0NyGLRlGOj_s8Q@4@5m(2 zR16uuCcQ%nFh2Ia$zw^*Q4D1fn7>OL@5YWlwERT1*GJs~n-K@*5|8{$GV1`iN6)bQ zj|d0tT8Wi4nhzh5h`XVeLt2`;ngNfwu2Dm{-OBn>cgutgTi@dg=YBR#e=PT2q8*6W5=>( UwAY_3h@ayBt9_?u%LhCDU(=-NVgLXD literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.c b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.c new file mode 100755 index 0000000..def0d0e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeAdded-SgNBModReq-List.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_E_RABs_ToBeAdded_SgNBModReq_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P30, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_List_specs_1 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_List), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List = { + "E-RABs-ToBeAdded-SgNBModReq-List", + "E-RABs-ToBeAdded-SgNBModReq-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeAdded_SgNBModReq_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.h b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.h new file mode 100755 index 0000000..ba958d1 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeAdded_SgNBModReq_List_H_ +#define _E_RABs_ToBeAdded_SgNBModReq_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeAdded-SgNBModReq-List */ +typedef struct E_RABs_ToBeAdded_SgNBModReq_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_List_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_List_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeAdded_SgNBModReq_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeAdded_SgNBModReq_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.o b/asn1c_defs/all-defs/E-RABs-ToBeAdded-SgNBModReq-List.o new file mode 100644 index 0000000000000000000000000000000000000000..ef330d35e727a5bca452c0b26a2fec12cb5bea54 GIT binary patch literal 2600 zcmbtVOK;Oa5Z=@U%A$R^qleiPaWbyTn_GBJubM z9Qg?xIrac&IC6v=S8nhN%FI6O?b=nUGLm;@zWHWm?S1&Izc4pasSqs{a*yPmMhW?N zGPgZpdSrr(lRDU!@=&R@ucRzE0^pc>FrM|!3`BGBYwg))T3bn)(QLmT^=qBArRHMN zZ$~d`3mYlVnMbqiHnx9QmE-Wd!-^dPm$l|wtvl7J)$UHrcdEDP46WDP9pSle+y<@B zQ1`mThqb`>86|)B%Xm({DhI+2!PP5@L!2TAhyxwU#33gN@Kr!66nT~;H1TY-2 zlT1X~4mnc<1^;vbUjby&n9sUmyas)tz$WCq;E#~1iUmr41zpDf2{_h&r+8149)$&% zG`{CKh2H|atPUA=5NMBtY0U2XbIfOWW>|J+Sbk<0o*Bl&wUoI><_qF-z&ifpRe!1F zv*kGf1%8|H-R)?2!(I}nd;l#w{t9F>>4zIJ7ljs^?cp`#d^iVIverYX2e=a%%OcWU=6o19Zc8N=g$mA)(zgC3KLWgG`q;z>PLT5k^Z#wU#WG&|b2&6~P9eal#`yzqDFQdDwey%HG{{=Tnpx7g3kvUGPrBJyRfl3sH989sgmizs?;in%6#I{{ zr}E7E9cYC=MO)?D@BdllD}|{-w6AptDB5)y&c-i_fZx{?ou~CP2x{Bp{VoGbxJa|# s9qas2`QMbrdmkVB`{7x%*A5`Er@+vfhvmY*r96L19f((0%n&>OA1X}V%m4rY literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.c b/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.c new file mode 100755 index 0000000..df98e9e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeModified-List-ModReq.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_E_RABs_ToBeModified_List_ModReq_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_List_ModReq_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeModified_List_ModReq_specs_1 = { + sizeof(struct E_RABs_ToBeModified_List_ModReq), + offsetof(struct E_RABs_ToBeModified_List_ModReq, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_List_ModReq = { + "E-RABs-ToBeModified-List-ModReq", + "E-RABs-ToBeModified-List-ModReq", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1, + sizeof(asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_List_ModReq_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeModified_List_ModReq_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeModified_List_ModReq_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeModified_List_ModReq_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.h b/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.h new file mode 100755 index 0000000..6992fd1 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeModified_List_ModReq_H_ +#define _E_RABs_ToBeModified_List_ModReq_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeModified-List-ModReq */ +typedef struct E_RABs_ToBeModified_List_ModReq { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_List_ModReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_List_ModReq; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeModified_List_ModReq_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_List_ModReq_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeModified_List_ModReq_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_List_ModReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-List-ModReq.o new file mode 100644 index 0000000000000000000000000000000000000000..702a227930bcca6d7cd6002f06f3036a816ae0cd GIT binary patch literal 2592 zcmbtVJ8#rL5Z;SY+tgCX(3>JDmp=|5Ofd05V~$XM-4TK%dXC8T+94Bg~~(o%A=*Mf{(DWBvEUdqNsN z{Dkp6&k}weHm0Z!8`228#lkce_k&px2y7W)wv51*5n0O!8Lp?oJ1AZ8mg=GzJYESF zYk^prRZu->2)Vr(4V|u)#HsATgw0?Xl11i+?O3Wh3p0(OC9=gf>$RcGbTew1FIVp+ zGHE59hkos8b84e(bPbe!JK9Y_21q1(K;Cs4)r`uf_t}+gr zmgx;`$>_CYd@YnAFf5>$9Zm_z*8z|8L6sMOrIY8>H`m#=F-iU#m%Kicy;A3 + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct E_RAB_Level_QoS_Parameters; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-ModReqItem-SCG-Bearer */ +typedef struct E_RABs_ToBeModified_ModReqItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct E_RAB_Level_QoS_Parameters *e_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct GTPtunnelEndpoint *s1_UL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_ModReqItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_SCG_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_ModReqItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..92037a49e2d4d1f5dbb77df1805ea957c1e82916 GIT binary patch literal 3592 zcmb_eOK%)S5N>+{I0Q&S9z@Dzk&rNm89XLRtbn44HxoO^PBwm=+v9a7S=gO%X4;Xt z5dVW*bBPrG0ODtGgd5zra{-Av)HhST)9#(MvcVXG0t!VKTWoONse%NWfRuvQJbOmCbi=n7wbGj4M%dE<6_O1sJ(ZL<1Wxx zEow&Gb3u+EE?==iV6V0ym-Zb%4s0K+-HeI22tOo*Y~Al9 zc`{I1<%K9he{;oO+UV%LG*$gL-Pz50sTRH1kN34oi(Zx%LM*l0*IToj+k2_rYh4Sj z1ap44SN6j1!-Zh(N)Uch@igyIg7uvce>dJe@6e9xQM^Mtw|P4QHs73OPrOk(G4e@I ziIcIFCGilj*8t@yT# zC5p7Pi?pnZw4@>}t0FCR^01I$8Mu10Gg;ug>c3WKHZW68wAONw_d0StzP}mYZO6g@ z*`=qc^90Wo8CYFhn_wf==GQyz31W&})g9S`qyls30AyKcBo!KI6&m9*T561?lV>{X zX8mE^X=kaX-KktI%zqJf=CAVIgQ9C=-TLbL)5M!M0Dptwhx!izk5?5@gUnWHgg5UR z{%6?-s>2xk`;4Ks7=u5@80tA=@aGvr{lXZ${rdm1_zR4oX5mO;{7r>fw)l&cOZj_X z@fiOjw!O6Y4=n%REFS(}v2BJm%yu<$^J(%Wg5tY@PPR$wywZ;h(rRCeU?TLH2*R`AQO-Iu_SkXNgU?q=?GQwl8FsNux>g1htx;BoBw|}9_zD((^1BNe?kqM zStmHi4ZaXKUt8Sxr(`so?e~p)q1fp9qVMh + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct E_RAB_Level_QoS_Parameters; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-ModReqItem-Split-Bearer */ +typedef struct E_RABs_ToBeModified_ModReqItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct E_RAB_Level_QoS_Parameters *e_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct GTPtunnelEndpoint *meNB_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_ModReqItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_Split_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_ModReqItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..a7c8a30cb1ecfdcc9973fe6dd276e7fbfa9f61ae GIT binary patch literal 3608 zcmb_eOK%iM5N>-2ArIc+A#vGAL~$f$@ERnXAkeVOV2rT6_#x%i9Z-!sEGXK8;#swO&e+<-R#`&s7;@QW%cvCRy}`ZtJ~3jL&cfO zssLk1?p)mds89z+DfYl8N%xLu50n3`!aO}{ho~K-wx4k^&tufECHol{b3RM$$UerM zrC2p;hTMHYjzBJ6qC#M;HX)bx89)wf8_eCrgkOjc5qw|=ox+**=WnubS3Oo;|6aP{ zx8f}BDXp?x^weU*pIdF|?Icm%DB0XfJBb#Z$d8_AmE@f?$%U9}Hh-v1t!->4db@Td zxExIT_3ffpe_EdnrY{He?@FA8-IFlC1LD7-XV2TU;wp@{Yvnd>XTZjXXW0{*vq*^u(tF_K(=!C_)x~WBfMvzhn;PQT$=#6(@U8;|bfl(tF~Is>9Mh#E)C+ zddT=GN;K|{OW%yZzb71VcGzK^`k=JHt2|7Xu=ssMoIgh3e~rN3j=;w$xItUQc_ME{ zw`3$yrlnn`WmTqSQKn^CrlpP_pG*lALyL+%&=q5xR~lvORhxs)}qB` zB#a>2bW3#>ft5%qH@h}N7G+0L*^yS+F(!kR$7otv zs?&Db?U$iunrK>~%H-_KrFv`T3ZKN1(J``aLHQm*x1@E(AGM_ZdZeUE&LSAU{f$8GWMq8+_v!3 zrAhJKv2esc&$^cue#WwYZQ-!L%DO|$p|-1&n@^K35#+!0bi6@aXC;4VB(0uk5p2df z7QsfIiy%wUfn`0IrLOA6g&LC64Z3MN23WWlUb@yr&`x_jMYkhJQmuly#Wg?Iar-Bp z{70~J?2>31k8QO!oJ0B!S(-^)YyX$^}j&Ah&e;erjR?(+hp%I z@Q~WD`R@=8`rDastw5^}&Jo_+u!0KdH9t8!?0=Y0yxwMfbH0`c8#ey>WD!P8m#qJ- z^`%m{Lu}aiKk@}K{um!qa>tj1VSFBrq>^4TuxbG2HK+f8`tW!2|AzhN9eYkk;RDrU zYQW4qfq|~^fpGWF^?ydT1}hx-({T?Jpresent), + asn_MAP_E_RABs_ToBeModified_ModReqItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem = { + "E-RABs-ToBeModified-ModReqItem", + "E-RABs-ToBeModified-ModReqItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeModified_ModReqItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeModified_ModReqItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_ModReqItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.h b/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.h new file mode 100755 index 0000000..3850c64 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeModified_ModReqItem_H_ +#define _E_RABs_ToBeModified_ModReqItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeModified_ModReqItem_PR { + E_RABs_ToBeModified_ModReqItem_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_ModReqItem_PR_sCG_Bearer, + E_RABs_ToBeModified_ModReqItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeModified_ModReqItem_PR; + +/* Forward declarations */ +struct E_RABs_ToBeModified_ModReqItem_SCG_Bearer; +struct E_RABs_ToBeModified_ModReqItem_Split_Bearer; + +/* E-RABs-ToBeModified-ModReqItem */ +typedef struct E_RABs_ToBeModified_ModReqItem { + E_RABs_ToBeModified_ModReqItem_PR present; + union E_RABs_ToBeModified_ModReqItem_u { + struct E_RABs_ToBeModified_ModReqItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeModified_ModReqItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_ModReqItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_ModReqItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-ModReqItem.o new file mode 100644 index 0000000000000000000000000000000000000000..0e003dad93c7cc97b256d269f745bef68c098cb6 GIT binary patch literal 3040 zcmb_d&2G~`5T4X+DgQ0>fW!gA0g6Pdq^d*&5^@vLw20CurGlI5rlyU^Pl;XBUT7Zx z362~&aNq`yz$5Sm@Cb0@1~coOc-S~iB^b#&Gv9u*$@fZd8 zej>45Wx6m4=V2Ue;+rwj|E)!Z4Qa~R+I%t0KJFBQ<<4f~StHoYqEQQ8EJZSm%jS2Lmw%NnIJr3|e>28;s8mhsGzvdc*WBu>%6JG% z?NtA87FhitA{J&y6AQ-r;A@Cv#Q0Usc%twzIMn`Ut;x?oa<~c_CuIqo;ZJB};3T_X z_blQkxPTEqCEcEF!I_>d4GT_7SJ~gNof7li){Jr70InYyG(7;nJ^+6@0EeS51g8#u z*!HUBniuWw1YX&r>%)`RhnHL*UcJ)}qpp`%LCeM3Fn&y2t(Jxn!=0cW^0@QWVf4t~ znhlzof4{sigs*;grRtRySC&d;h?Sm<-)KjwfA}!oYN_Js!$_-koCrFz93%G^w@Xw5 z0NsBiCeF1%_>^MAjjL_K<*8c~_yui~;&ViNx?>LUBUx8%oL5%)JAq%+HmR=yKP&Jb z0-qN63?)P%MSMOPa$bL(A}8E$Mg9gjSZJ}{W-AKzB5*eS$OmU548iGk$RTFlDWDrP zebr5t;X2Ju-6v3mu#Q9X;M6;Oe= z)kChLMVQ=U>U60=;eCxg0Gkc1Z=j~yGUMMGJa*0ex3Gh-Ste-B@mCC7)-iRt_@({- z7sN?&MnYSmNplxXdOh3(QdW+N7-d4oQ*F^}!uc;zC&~(bY5Dnyk?#fZZEA!(Kszme zK|eX1hw>9-=Jybz{3G~DaW!B|5N*@nLX6_g^ + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct E_RAB_Level_QoS_Parameters; +struct GTPtunnelEndpoint; +struct ULConfiguration; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent { + struct E_RAB_Level_QoS_Parameters *requested_SCG_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct GTPtunnelEndpoint *meNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..71dcaaa791b59ebf1ee8a19aca276e91e8b47c7c GIT binary patch literal 3744 zcmb_fJ8v6D5MG(iJC5bN0XIw)1@Ik2#ZCkV2+pL=vI9y!OJWz`bfVTW5%NyHTM9}O z>mQ^|DWpo9e~>a|%9JWoCSAH@zP(-EaCvMf4X~Vt7AqBK*- zxh!O=gvjNKu`Cp7T6U^kN6ZLin$HuoZLFMPa_D4cXL?s}apeKt56=ZP9*sThP_ zc&cPtkV1!gv(vfXTEHENz1CQ3tsh$J{_0)7^;wCtb?Zdz<+}K%_RKY= zGOfHDQyFudXU_5Z>NdnHm64I|6JHWIV>c@o9D;nQBY-3f&i;y%6GDo+M?sPM=9#NjDte*`hosG;Cr7!b% zeeLsBbPwITBpiR@J9^4Wn{33;qNkhpW*K@ z{3nLL&+tDOj=XH9e>408X1{`s6M^w=^oZdfYK!vcjN!2V$jqHH++vveli{$pb>Vg9 z-OjD2t&8xB??);*Ag=O~Kev*Sr%L#TiAscjP!z(?GbpfZ`Rk<0VWOuYIjTR*`Uybo zVtMJ>5`I4$jqqLQ(>J2@H@ACUp_2Z0Ch1GC+vJPV;NIsHaD~aHj1%M&l7P84V=%Fp z7F_>NX&TR9QU5#Si)Z47gs{5x&*`25t(I)^+nh+H@C~uL^)JjPgZ0PyxK-WtW5Te$S&pQV zE)1}50mGY)endL_XXcAvmNC&nMomy_%Nk|r(2?S6I-l$msG vp}V=m^cUkFm`Qy1-lXBy4`r@f>MzsGPo3cI`slrN{>$e7 + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct E_RAB_Level_QoS_Parameters; +struct GBR_QosInformation; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent { + struct E_RAB_Level_QoS_Parameters *full_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct GBR_QosInformation *max_MN_admit_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct GTPtunnelEndpoint *meNB_DL_GTP_TEIDatMCG; /* OPTIONAL */ + struct GTPtunnelEndpoint *s1_UL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..58f829d7951e26c46f6d1bacc723d581cf0b248a GIT binary patch literal 3896 zcmb_fJChql5T3J)dE*DqDhT9=ql(><&ZexwK&_=)%SWB$y;l|4-k!8~Rw3;k+L7xZ z!1oVG$si;oARvQ~kdT}|U@|i3Z+2Sho0AB{b=9c5zkbY4&(8GfNw|6c(#ncrT2Y^< znZ~G6jTdKfV8lROQ&&~!ZQpAa-frGZJ9&R_I7s{6&QZ5X%69sNx1rOK(WCWNbUaRr zG}9*fa55ZvCfM6dAE!faE8p>=WSoprosJ7NN>02^*Gu}Nf&MSQ*;CDz+_kv+{3xZK zS!8f<zL?xGbe2?`0a#(YQk6BJ)-#-!&R9TyS2j|1BD?TyS30qDte&1?Htx zh64IsEk*Ood&v;%%o%5nHA})?;dz-*W9ft1p#Dr)6ZV-YU_o%?Lk`5jca(OU-ukB3 z-i^H7aAQ5uomN{Fb#KpLdXi=7FwFYL`G8K_AoRi$oo2-#&kCj5t=5Ot)xCpBrYF@q z{%ybJ)h9-)e_e0*wcCFEy%MLH789Q7vifW8yIwg{fmx2qnMz1pRz%{mG7>+(8+XXO zqMlcgb(4`5_3SLzN?%!jHgMc87T>pq*Vuu0h4Rm%iaAN=Efw|Bd61Bb5|^pRxiD&I4Mtd>3XfLr&j*7T$QgrS`%cfXMhyOE4KH|q%awTR752JV| z+}aDftx&NL_vk3=af0KGN_CpsOD(f3(oWP`D!MpMd*@adn{FOcH;+X(=k09MgKp); zMs}EwM~S8zX}Z&NnK>612Swvt=e>M5y~SF2rfKczIBu-nsz)E->@(qYm$w7@C&L?4HvZSG490Qr#~shKZw275GD!Sefy+DRcY$MF4XZyD z`0G{%TSa0bF!+B4h3J96-zXvTdn#~wTYWEZ>Hmko;m@|e1^%YUUqj;}f*Jlk6e77V z@-}qqzi+(h$1lDd>EwX89+&(POFBK#%I_ySQT{%Ck_c=e*^89TIMNRO%ASsZFkZpOV$W4-fxt%kZ zdYl#9_;<;SJypresent), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P56, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_specs_1 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_Item), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item = { + "E-RABs-ToBeModified-SgNBModReq-Item", + "E-RABs-ToBeModified-SgNBModReq-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.h new file mode 100755 index 0000000..f5c0482 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeModified_SgNBModReq_Item_H_ +#define _E_RABs_ToBeModified_SgNBModReq_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR { + E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent; +struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeModified-SgNBModReq-Item */ +typedef struct E_RABs_ToBeModified_SgNBModReq_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration { + E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_PR present; + union E_RABs_ToBeModified_SgNBModReq_Item__resource_configuration_u { + struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReq_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..558d7f772559d3b679cc80d7ea4bcb023d9ff461 GIT binary patch literal 4880 zcmcIm&2Ah;5bn*!!~sH_3;%&dfG|>a4%Nk#}jMwY2y~4ZW?2M6p zAwK5D&xsp6f;l2_;1P1tNsb$3lq-*4W%b)i%; zLM8L5$uvQYnYx5lWv-g1NQS-ZqxFB7tlJq~v)aD75Lds57Q&@yv$xd?H><1L z%L}Bm!+X^`N!ULl!sxKh10$|JYMp5pGqJFAfh@7q!VU!tC&>nTeBN<=iup9PqWeLn zPb9=a+oARxwe!xGLY^z(tcsBA56BNJe(YzHj13V7`{X7V==RttyL6CH|i#hP#qhL8quM(_rm#O9dmhR4`{(+G@6g zQ8(H>z1Hi|Afd3~Fqofxuhx411IeMjxN?UwNLlXuXH+68Q~xp~jUrVnzWVo~K76_+ z)GcAmB#*hc+!?@MQ2s9}`zs{-tWW3QiwYNCKyqIqKK{K&)IjUD$DNzLGg&o1D*Pn@ zi9b|0-T*?6SU{YY1tdNVfCvos^5TZ^=tQ8?Bm|0Q4HcuV=Ixj9hyYm9*%D;)WM z#$yi^{yJk|lboEa7yo;Zt~b<=kkkh3fy;ke*9q`-YL>kCu%C1`j7J}M%6CLc!h^(k zo1LU%yp1?E-Y|j!%bGV&YPj36!;l=++l{&%fYwEL>RK~iH|qECi1X<43ccIQYt=aE zbib0M{yRqvVeL30O}mMs*|tbG*}VHm?77j-9CP{5NO- z*sK^Z7yq{$T-O1Hd}`zJ|DABql#^J+qFMJbiFo7r8DynnekwiSIzSgmO54qLe1quI} + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeModified-SgNBModReq-List */ +typedef struct E_RABs_ToBeModified_SgNBModReq_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_List; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_List_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_List_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeModified_SgNBModReq_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReq_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-List.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReq-List.o new file mode 100644 index 0000000000000000000000000000000000000000..414a521a277e4efec1db340c40c23207eaafa482 GIT binary patch literal 2616 zcmbtVOK;Oa5Z=^0%ACIH_p^tzF`+L^%K_ zegpgqjy=GgBN7*mTsUxpUr=V&v+;KAicm)K&dfL8%&xsV>(~C=%t)!kw3OIwmU$Xw zZ1-4Zd&>0KI2&VCurFkxLTittC^!P(C_NY-%sns=&BU*??$ndYQd|$`#d>6qzi918$+>^t*~pp zY_lKBxEpWW_eHxGt!;#&5l0dh5%xvRtxYwjT-p#)*e~X(#XAhe#`WGIKBgGypzln? zbuLCG)3B;z;+}zzla1=0fuAvOeGaj{UIT_7;{byAgtF4%9odMVGw?44zOP$&va>0J z4&$(Ssb1HX3|~mbR|6R^-boV1`!PDmba@Tja3fG*v~*PKl;twsjW;(#I0QV3Wyoh2 zmMe)2y3dTY{f~JOlJQ-Q-rWmD(PC)=6J-TJF!$qI~=PKT + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent { + struct GTPtunnelEndpoint *sgNB_DL_GTP_TEIDatSCG; /* OPTIONAL */ + struct GTPtunnelEndpoint *secondary_sgNB_DL_GTP_TEIDatSCG; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..7ccfc51e843d7d4caa430dee5c4ca30e59d60095 GIT binary patch literal 3456 zcmb_e%}>-o6d$M`;1{51FkaTgL`-bMA_+tjQ`jvFhL6HR;;ok53LAG@+|C-f2=V02 zt4IF}uO7U4@z3yxe*wPN&ZCc^8zVpt3b$6TMCi_MK_E?AE0jkk@UZdSKf=0I5w-q+1V8MG3>EtlLdlDq974nis7 zpcaL7zrAn9;BA(d%*uvqZa9l&Usg+%tk{1feXP3PE!^m4&~VI0zWpE{18FWjshAh@ z4Zw2+o{P+jxrgDoc7b^zRW3~cI>s#2D}qQTPB?Mw0VnJQUqhS&_pzBX^)P=2H5}8~ zlR+3aqA(VsQYt+!jBjprLfI)yTT|AAS?nZQ@ndnunwYYRPg0y!I4fe!OX6?t9xzUg zJc~6>&4Aqw*Z8fC12vz9)Fr2b%A3mpu1j zv*p$8^`NtA!jD6*?96+PhexHyk4ldnl^!0I32^$T^rXKXd&MNp@~nHFG?PK|0un_n z8qPUpl}u;V^{UR=rn6FV1PLD83$bkb4Y(w*bIWt;}r;FYn$}g;Vza{-G;If_a9g<|QCxun_r7x_lI2KkrLIpjG z)(ogY(@)GOX{yzXYCeKV2=O$uD6Cr4YT<8>1;0RnRax0IW9ir4(d>HX4`;dX0Yyv6yob9!|DWUULv+zTRlE;mI5SH^7lT zYXdGMX!gSU6YoqrgA!?1T^X*5zX>SrQ>st + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct E_RAB_Level_QoS_Parameters; +struct ULConfiguration; +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent { + struct E_RAB_Level_QoS_Parameters *requested_MCG_E_RAB_Level_QoS_Parameters; /* OPTIONAL */ + struct ULConfiguration *uL_Configuration; /* OPTIONAL */ + struct GTPtunnelEndpoint *sgNB_UL_GTP_TEIDatPDCP; /* OPTIONAL */ + struct GTPtunnelEndpoint *s1_DL_GTP_TEIDatSgNB; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..64faf5506c7deb157604ef44b6025614a4b3e371 GIT binary patch literal 3920 zcmb_fOLH4V5FSSf?~sId6&G z`3G?1$b~xx4jfbb0*)LxbAlVU(BJH|)gDV66nE9AyT5+SPS4Kt>QTIYw4 zsj0@OQpw9xIkIA;E~*PE4z{kh%U~yO>y5lW*dOSAuzj%ECS^M7?%E$TF0JH@<|%2GtX%av$< zc`q4aojK#ov1UowD?Bd~YAk(F8`Pf(Yr;M=MJx!8e8_<~_)gY?PCnir988ML4Dzum z>A(fu^X=@I?@A5o$0l$(C`pM$cIy5R+{WT}gd3ph7&3kzc{`nkyp@tFmR924D z)%Zplr|37S>^G_CH!1p!1w_9|O?FVGO`Bumda`hi6+L{`Ecu8ZWYNXgRoqF^?f7mt z-t5GRg|tTp+7#J<8Z4@{(cW5YrB$J}lg?t{<)QAKSY&E@drG}M6}_D|wYz@&K4YBj zGcy^F^)Mdy4|84^DwhkJbALE!T4`CZ^x7w$XI-xag- zzUgGJWh5p7lef@Kfxl%vs-MRKhd;03M}bTKKLiecuFJmye_P~l(ER{{8UCL_A(Hzd zZ$-cUyVje2!t(2p$@YkwqT=^hGWwxWVLvmO3irxVg+&epp3SgDsvc(649Qc&VcyFC z+7RYdXj6r~d^EzBY&g!14%arjL20tySNu?m^LHr}HNkg;q(~}4cI7=n-XjT^-$A1z zkK=+L|2~m#Q# z`_oPIGm;aXr-5_B^Yi<4hp<`mb3qzpmsFPu$+v0Dn*V!z2oiBT=12GS=T8a4{N6HE zpresent), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P72, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_specs_1 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_Item), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item = { + "E-RABs-ToBeModified-SgNBModReqd-Item", + "E-RABs-ToBeModified-SgNBModReqd-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.h new file mode 100755 index 0000000..8c89906 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeModified_SgNBModReqd_Item_H_ +#define _E_RABs_ToBeModified_SgNBModReqd_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR { + E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent; +struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeModified-SgNBModReqd-Item */ +typedef struct E_RABs_ToBeModified_SgNBModReqd_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration { + E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_PR present; + union E_RABs_ToBeModified_SgNBModReqd_Item__resource_configuration_u { + struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReqd_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqd-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..30e7f3217c35b584527db787a38ed59f40c9aaec GIT binary patch literal 4888 zcmcIm&u<$=6duc_m}^%u+qb4~rpy)d4B6njG1~u!#fF{H)XU9V3vv02XdzsVwmSDZ;Z}KV zdu4%~X86rkc_|6IXACjat@A*K>kpBYb5Ysjniq(OrH;!Vhc`(i?D2Vz>(iLe(lhRU z5cR2oaq#TW^CCUxoi7b}u7a}~M`V9+4(EBkdfflxd}VFNWbBDU+O2EJ!^I_Jnv5xS zG$(KWT-^2LzL4=zgPMcdDM}}4-|e z+1~HBl1|h!eMZaeA-Gd7*AJ4g7ZWEoG2KFqTD7r9?68*%{9cp@WbRa}AC;!pH}`wV ze(9z+=gpKW`_`*`Uzzu2=Df;{6nEF*`Z$-1=FgFLNipZGEe`EuHezvTM>VcbRO1tw z!xrkGU@qJ903?xLS$x7A0VLVrg8G5%g1KZdG&2JW=bPaIKOzI;i}-B(O&WNOeVG?- zQSrIks-nHwG-AvR%Bx@|%qi!$!`*i+o>ftU@$Z1{M{3HkeB?o_)ga4I- zn{ht)UfZGuaJ5 z*M+(*jG5#v7ni#O_$yhsxu*CpknOXN`yK+m#uqJ`;t~r;?oIIV4L+g=vSHhlk8i!m z2^-+QDj?~{3dg^I$P+fee@#Hr(*Q`Iz?Uz`qQa4n-1|og2mf7qAU`Yo^%S!0Zwd$h z6Yi7o(5=V$!{N*LPZa(Jj{#Mpdl7eBko^)^!4WgB~kheArD|o5rIzJk>j5 zCE-D0yscK!GTvq!8?PV10kh)GlN;`~Y&R^&^>(9n3!n`VorYG7*N(bf{LFduc7@)Z zmGyF*wAx=wQvY3}hOl;=krrP&$_7`QNnu!TLSYI2$+qCx<7l zJOBIC0c=(XtR-IRTDo-|0Q2b?mH#8cAyZCbC5vXw$7JGP&(9!hJ>*}eW3E%w5dM~A zeyO`v!bZ)1%JUxB(XytLnbyMlFlv4uFAK?Hs%&lJZ`PeZAPn + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeModified-SgNBModReqdList */ +typedef struct E_RABs_ToBeModified_SgNBModReqdList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqdList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeModified_SgNBModReqdList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqdList.o b/asn1c_defs/all-defs/E-RABs-ToBeModified-SgNBModReqdList.o new file mode 100644 index 0000000000000000000000000000000000000000..0a735f02181adf7f30f13ec4ba25168c5ee2ca5f GIT binary patch literal 2616 zcmbtWOK;Oa5T4W&%A0aR;t~)NMIu&AiyDE1OoCfLeT1ZyDlUtYm^RSbCEiMu1N295 z;Ae2`0WO?4a^%RB8(g@S8Sk#WT{|KwBiS?a%{Mdq@NV+XTbLUwl|V@e?m^}$6kz{& zX1j^$!Z|n#RkSZOkO!3p_LJnfwtgl6JZTKDU5WhJTyi&3xtydU%`?e(QP zI<4SUZ=oOaj68y6wlV!-C62;#hZQ>lE^5s;8h6T5tDT*Y@04fl8M|6>b`sBd>(uP( zjP2YI_`h1ve2&5IgCd@l?aHCB1+;s4vB1iMh*;R6NGur7!PgNf!HE=CnNJgZ49YUn zl=^*wkHeny*QEZE;Mq9ONSu_V)z@Ie>5I&Z1*h^LA{Ly?;eQaB)aJDz8CP+kFXY$& zw};^KLvR@3AlO~-W6N{U_Eu0aF<`$R@^pQggNR4nX!DWB z+Wl~SGhmG<eqH-eR2kDgB_~7o|<=n}+LW2kdxvi~Akad?56OvUu>C zgWdDF4|XSx!5&295Yw@1=mwj95++MUl@=@q>~6HR72p=xVZ;M_erdH5bHDpi8{7Yw zmoZtbjb6vq9nB`LE?3YYOkYEayYxcY7Ak$0Q%e|hztJsY=6^JJ$~F7n!~kKp6hUg0 zf6c(D7m2FlO55!J196h?LZ$C=Y6;^mD!P+h;im7ZyviqJBl@-pQvKC;{}?f%WH&Q9 zDEl&xYU^V9EesOXoc|}8FI8GX`AYjTznU_H@mUgReRWZJO25FMvUT3iBCvo + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-List-ModReq */ +typedef struct E_RABs_ToBeReleased_List_ModReq { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_List_ModReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_List_ModReq; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_List_ModReq_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_List_ModReq_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_List_ModReq_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_List_ModReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-ModReq.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-ModReq.o new file mode 100644 index 0000000000000000000000000000000000000000..20e266f231287eaf842f8fa5c02323c72dd7d0c4 GIT binary patch literal 2592 zcmbtVJ8#rL5Z;SY<9vgTX zW$fdLf$b~PXX9*)RluGcgbJ-alA_=UfTQ$aygzr}Ky)BMxp}{qmY0%R)Qmb&m_}>m zxy@9T=aaQ&^m0Hvq-9TI`v;Xd3eP{N*b(ro)@;3g$DLYU?ZvX^-s01|Qucbv^WJz> zUYX|J)eIjt1-{QQ_IIy{=L~jbU)W)|dwFq~lLrBDV1^=b*zp{E8ITe?*~iUH$H4mp zFdTJ~OeC`%b~+C#{;3?^1Z2Wk&jvAGgFc^QGxlEbN0>{o2I;S$i}*hP$NKMxw?Y~} z{Dkp6&k}weHm0Z!8`228&B8Pm4}uvH2y7W)wv51*5n0O!8Lp?oJ1kxC78{}!JXsDF z>Va6CQBWgj3c0f#4V|u?#HsAUgsor+l11i+o3T`N=4;KNC9=h~8ug*fbUSLBFW2ZM zGHEBBM}cT<#_OF()RS1k2 zQ(0KmF>&9($H_+Z(7?|bxIS-KU#|hf&u{=id_q~-@PTZ^FBtfD1K-ybJl)xn;VR>> zX_?;8mW*CW#@9j_GQOIojCT`skm>O%xKSrmVYGBq>x|_w-cGi*BG`N$CoG}1!e+(E> z>_5dW<(c<7&~kqWypNG;zyD{-Cxxj>w6AptDB6`Q+#kOX0l%*)I#2885Y)EG`&|SU vaFJ%eJJ$I_`QJ$6eUFd*{jeA9vjY&@CGe@W4$D=&UzG1sL*ReS6g&SP<}BaV literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.c new file mode 100755 index 0000000..1159457 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-List-RelConf.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_List_RelConf_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_List_RelConf_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P25, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_List_RelConf_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_List_RelConf), + offsetof(struct E_RABs_ToBeReleased_List_RelConf, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_List_RelConf = { + "E-RABs-ToBeReleased-List-RelConf", + "E-RABs-ToBeReleased-List-RelConf", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelConf_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_List_RelConf_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_List_RelConf_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_List_RelConf_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.h new file mode 100755 index 0000000..fd3cb65 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_List_RelConf_H_ +#define _E_RABs_ToBeReleased_List_RelConf_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-List-RelConf */ +typedef struct E_RABs_ToBeReleased_List_RelConf { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_List_RelConf_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_List_RelConf; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_List_RelConf_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelConf.o new file mode 100644 index 0000000000000000000000000000000000000000..9ae84fe30b1a7518c45b2dbb851f47b87046a3ca GIT binary patch literal 2600 zcmbtW&2G~`5T4W&%74oViHi|P6p2`IX+;DQG6`-0l{O@;#BFg?(-u;@iZ>GF0KM}9 zJOW2fs0X-no3laRVtvQ0(T+z6bkU+ zcy4>C>A^WT3pKPa=AlySKuTF~48aNcP&})h8HDEISKId*Np&S|gzc~w21&SHUEE4| z6}@I0JjEEDg5KvC{5dG&S^25_6Sja(uP7E+MGz4SE0l=^;|2ICA{981;VN?_#mB&wk(Si& zQhXftr2kavPbr?S^NhqvS=#&>j5vLfMX}&i5k$m-lLh=IB2(IXZA!)@ZuDe<4RB=$ zJ~sr1QH|hqAxI*2-=Akbqn=@U&oJs4CVPhQU?X8}%5V8?#&>tZ(MjDnN_bzUJ#Mr| zXNU@&R&z8p*$KO9Nr!obbnVM6*72XL`b$lpEzd*8UqQvhI)klpdkw!JZBpMfT<;ZdlHF|{tfA(8p*NMq!&e-f z^?(Q9tR)FJ{g@nLx=tP4uot9ZvQ$)Q!E(Xr#@pK=9+DHqJaiV8R;vjQx-Yf0{f~JG zlhxkn^LVx z%RF_z3slrnHt9A#L^a?4v&@%@sHrGl=>So(Ya*PDUnGI{R~MD1^a~6sTj%{M153C> wGvA%&`7QImN=-d?9v^f6=oiL3JA`0gf`PFP!^PjC^89J}zwR|nriq#V7ngwHzW@LL literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.c new file mode 100755 index 0000000..14e099d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-List-RelReq.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_List_RelReq_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_List_RelReq_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P24, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_List_RelReq_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_List_RelReq), + offsetof(struct E_RABs_ToBeReleased_List_RelReq, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_List_RelReq = { + "E-RABs-ToBeReleased-List-RelReq", + "E-RABs-ToBeReleased-List-RelReq", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_List_RelReq_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_List_RelReq_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_List_RelReq_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_List_RelReq_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.h new file mode 100755 index 0000000..53ca91a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_List_RelReq_H_ +#define _E_RABs_ToBeReleased_List_RelReq_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-List-RelReq */ +typedef struct E_RABs_ToBeReleased_List_RelReq { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_List_RelReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_List_RelReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_List_RelReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-List-RelReq.o new file mode 100644 index 0000000000000000000000000000000000000000..f45db1d9bdce87232c081cf0ff2ad5b9b13b990c GIT binary patch literal 2592 zcmbtWO>fgc5S`Q%O8G3ON(jk_14SYxE|rKtLZ-njpwfnq8y+{ zega2+0^-yI+&OaOh`4csUr=VeyY_bNC{-EBJ8#~+*PiR?3fnEi+B& z->3X2?8^A5^q*5cpXX`Gle4t`H5z&PB8z6hc#%ZLf|CXQ7cvvtd#y{wI4<=0f*Rn` z0RF}R9)=tQrwc(6vHSiU^BEl(rXLwbM}~cmPf(NxKKN-AWaieS>=Vw1*aQtZicu;P89RdnO|I~COqiA)aLd- z@FEtgwbA?W^gzR;)$K9{#OZ5Dd5;>jE#b1(&X53C(a~*U)_*c|Dm2HxjtSzXl|Xt` zZyP*~MW*`kBsRzYi9Fd4;j-4wkN|hk(cSBbFl#5}l|3d0qHmihHNN`pA0bDQ{07DV zZBN#zdtI<%EQQI7`@Z=8Uu3;>S&5334=_WxmMH}IDh0H@x~V$lUtm&UUH7|;EYXt8 we0S>SkF5VDJ)OC8_?YWQzbxk7Aq9Jqd}hqU2=O;M1& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c new file mode 100755 index 0000000..d4e7c59 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P28, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer = { + "E-RABs-ToBeReleased-ModReqItem-SCG-Bearer", + "E-RABs-ToBeReleased-ModReqItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h new file mode 100755 index 0000000..52d76d7 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_H_ +#define _E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-ModReqItem-SCG-Bearer */ +typedef struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..e9bb1af003cc57990cfe27dce563b031adf71d67 GIT binary patch literal 3544 zcmb_eOK;Oa5Z=~2THbGvxP%i$!lo&es6axd!EJ%Igg(y3O_sJIv5W1{a)JH>u3V7H zAK*7|VT ziLN*$P72SSyEmTL3(>folMNXpvTn~r^*Q}Ug~!Md!YNEc9j!xE`Ep* z13%a#?!5irzF75aZzGjqvKobn5R;Y4?b6WVQY%bbrCZLZGi;YznO1&X9&?6Ao$|FD zrzAZH^BfRAyWSydTjfOpYugHRTwjTfci$~b94wqzvWfSJ!S+7rk(M~z;s1>NmBD4< z1LISyA7c(?QT}dZWjD0bVhKIEuv_A2p|JFg_-SojD~undjm8@=>2eSJ2I0uF$pKGE z2h}pX*oWa97VmrH`Pc*h+ymcvgLP^mNJ9U0l?*@hV-Rq>4wnXKC}$nGdY|w=%|2jNmVuvP8SE*`z|XP__Ks!X=U4{&!ZL9E z75~ui^DKi6!I20I-DwyK(UgYk{+k*Oe^vLEhF{1ss`g%Pqkmd zNnSP6V2OAd=X^y;soY3~QxDQWI7>+)oH&94&$2T{s%!+A8Iqwoji?p?%t92;L(9Uc zMa`z9d+&r%DxJyMMLS7@+H)@cKiFl8#oF<`)XCKqP3CQEBUeZQW`2R(w#RnCjK4}| zoWWk>uTv~?j?mD_Wo1nVN!HIBCYMIH`acm4`fe0l%FyEH4vF|yx&@R;@Ay-($??Yt z#XVK?tNZnsux|5j^=E0??;zKNC@F#YL*m`$zr+_@y(7$zlFa#i!Z1HiM^aAT8CXyN z^OB)2la6?E|3~>iFB<;v1u6cLWmRWpq@PC|kMq?@#VP)Vj7rx1*3ApWM$;F%xpug2 paQqM(@qh6o4Rimn&E2Nj;=fqGj0p`j>%HCLr}+HdQhuGx_&;LoPJ;jd literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c new file mode 100755 index 0000000..2bb7864 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P29, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer = { + "E-RABs-ToBeReleased-ModReqItem-Split-Bearer", + "E-RABs-ToBeReleased-ModReqItem-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h new file mode 100755 index 0000000..c3cbbec --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_ModReqItem_Split_Bearer_H_ +#define _E_RABs_ToBeReleased_ModReqItem_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-ModReqItem-Split-Bearer */ +typedef struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_ModReqItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..9a49fd428ccc765abfbdb2eb67bf562f16ec900d GIT binary patch literal 3400 zcmb_eOK;Oa5Z=^0T3&5|0uq;SKokj^Bvc{=3As((2WpGy<80hy)dmu~*jp$U+GB5A zIdbE`AK<`&pTG&u`~&y}Fk|o3+l^B-RY$UC_M7MKPR7}B=BN7#1x8e0Pgu4hl(E@? zOturzW7kdqvGi5+EyU8iVv+Zt7Mk9l2!SAxoVZhtn%FyPvdoaW1ds&Z|~sfwACLkYV0i9Gs;9xurl9hE2{PIfk>6*DSET~`kjPN% z2}5oq9i<|vY_JQRU}As11OE-ku(GcWX)yu^jXkT=?JoE@;239DI`qRDDNOL}9B98^ zy2Sa`1^?Lv?`7awb>_!`H|0!wj)!B?Q^%y2jY%&VlU_O|J>jp%UO91Hm~eY_t?^xs}7HbY8!K=e>QA9otc07rN$)%pQlODpdTkFXy-sJU;op>-J z=rTILI;3%Nxc_;v}OT%}&Je z*Fya|ib^0IpH1NeAC@vQSHUkU_zMNUqTnAD{HlWgP;m8E{YSw^6#G#u5C|DgE2@81 z!LOl#q+JEa_%xYl{-9c&8v6Orykb`Tt}XmE;37)-21$Z%3uZNZ;WKM3j+qsOxIoLY zRfQ#Q`H31OZE3Z_x{qMuLOgXXGpio9+Z?*t3PQoHnZ;Ez7JmH|?e6&eCb;6>@%yKe ztu7Q<9^*c83naw!FO0o!aZu3x?|>Tb;JE(xz!zgy;8Dqz3+hkOsrQYT4NqSEp8!YN z(+VyoX!d#xB7O_)3`(S`{1mv-|01B+r<9-i>lt8q`EB{bAJn_l~Ch(tlJcF99})I4XhY{&0@ur7Fq4Pz5cxo*!pvp8r>w L=mREGNcaB_RU<;D literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.c new file mode 100755 index 0000000..cbe11b0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-ModReqItem.h" + +#include "E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h" +#include "E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_ModReqItem_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_1[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem, choice.sCG_Bearer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sCG-Bearer" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem, choice.split_Bearer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "split-Bearer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem), + offsetof(struct E_RABs_ToBeReleased_ModReqItem, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqItem, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqItem *)0)->present), + asn_MAP_E_RABs_ToBeReleased_ModReqItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem = { + "E-RABs-ToBeReleased-ModReqItem", + "E-RABs-ToBeReleased-ModReqItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_ModReqItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.h new file mode 100755 index 0000000..05d9314 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_ModReqItem_H_ +#define _E_RABs_ToBeReleased_ModReqItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_ModReqItem_PR { + E_RABs_ToBeReleased_ModReqItem_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_ModReqItem_PR_sCG_Bearer, + E_RABs_ToBeReleased_ModReqItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_ModReqItem_PR; + +/* Forward declarations */ +struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer; +struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer; + +/* E-RABs-ToBeReleased-ModReqItem */ +typedef struct E_RABs_ToBeReleased_ModReqItem { + E_RABs_ToBeReleased_ModReqItem_PR present; + union E_RABs_ToBeReleased_ModReqItem_u { + struct E_RABs_ToBeReleased_ModReqItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeReleased_ModReqItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_ModReqItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqItem.o new file mode 100644 index 0000000000000000000000000000000000000000..e884c4347ca3cc064ec01b5952314317c944d1dc GIT binary patch literal 3040 zcmb_d%}x|S5Uyna@gJ0fi3e8?iiz9VB_wV%F~hFQf)Uv)61@$>G6CZL;Lc#+B0PYJ z9zA;S;7uRFNAL~w5%lIwt9rV2%4U`&kxHhk>g%t%rn{@V_bZR*hB6so$-o0hJVpV2 zoJwq0n=XvQMHoe!_;!r+{}|C>1DZ;%K3fWNPdlZc9y9|#4Aygto%MR~av=&@1A3{ljG7FpVYW^(kTSS4LB@1`_13RZJ+CbhYHKpTq*FoK^Ma9 z=2pZGRLkXi*{PMaop!X7y{l$aK3CY$Ug342sPZ$aa686%s8mhsGz`B|*W5W&mGKac z-l@aGIp7=y5pgg>nm90W2)=1z8swi9B$n}#up8^HA=gC_gnH~Zkv``~c&g`gVX zhi$J`se94hcHmV!x;{L4eR#?B;Waw#FzR{*9kf`g58}tf{1Ni!Pmug;lercgxfmoTz_*?Br_YWS%TP{~Ua~NsWjuSy=mSg1p;&zE@ z0HFJi#KyTc2%pf5xN(h5xIA_90>5NzQhbhxPj}1#ek7~9jq}PXe=qRM#wPVm;O7PY zQ{a;VpQ3~)q=?TaL(c1;Q>4PZR^+dN!a|GnCR+Mtx-AV%@_`mdUJ&W{u=#3f<<%Gi00Ce5yir~Q?} zajf^TlWocSXivy=+FbI}sGkh@+XP%d-Z*~t`q7JQ*DgZvfi?x@jg`=H^_`g(Uo-pn LHXf$e+VOt@Eieh= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.c new file mode 100755 index 0000000..edcc89a --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-ModReqd.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_ModReqd_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqd_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P23, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqd_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_ModReqd), + offsetof(struct E_RABs_ToBeReleased_ModReqd, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqd = { + "E-RABs-ToBeReleased-ModReqd", + "E-RABs-ToBeReleased-ModReqd", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqd_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_ModReqd_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqd_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_ModReqd_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.h new file mode 100755 index 0000000..31b86a1 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_ModReqd_H_ +#define _E_RABs_ToBeReleased_ModReqd_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-ModReqd */ +typedef struct E_RABs_ToBeReleased_ModReqd { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqd_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqd; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_ModReqd_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqd.o new file mode 100644 index 0000000000000000000000000000000000000000..f61ba26175ba26e1382ed45bad7625d11bae075a GIT binary patch literal 2456 zcmbtVPfyf96rZJ{sQ8DICTd(yV&XPiAdzTdDr-TFK;4Ce#KTy2CqP_U+zyE(M)??= z{RA96_!*2xj~uz`7r^(XZ`yITyGDFT=l$OA{h8@>=JiwXa(<*zVOlEeF)J+1GPZWM zz`lY$yTry>9q{$SRf1+Qu?G#U@9ldJ2yvD~dbaA(|l&D&L$_tBem>ocx*FXIQ! zfbVgJ{X8iPaEh<-hudNJ)%wL@PCp5Z12dF~!$$k)+rU)Vxt!OTFBCt*s^kete^C4= z+b4UC^k>Bv>l`N@m1ER5XyDJAW{w?oLUU7rZ!k_6>)#~zFVI&Bn`#s`x{SXzfM-Jv zy4z+^8uO>YJP$Zt2X0;mPS=6UXd~sG3JrrMmwP*6XnZ?~Q`w`8#kuCt;H+*dYz&P` zcSKvS;V;Wo>s$_bD|odUEHwhYJkMIe3Mif}EZT}?{@!6Pkx4u0J`Z?nE8ge|-bi8z zA)?1;z1it-YTDfWtgo1-4SNm>o_~|q-w63D7(k+X9P$@633`&S&HDzAx1vh+GlSQ2 zAr%@tw%UEN-;l=o=IuH#_zA+Oz8gHg*G;mSo9=DPXdSfdWqMO1Dc(!wb|M)ucRfv+ z+e^^ENYC}a6x~R<5os@T+sXE}fN$c)i4^X_(rPW0QTwf)@c;A;NXK_Jemkn5ug3lX zV@UUCLbS?3{xv+BGvkiS$dXtLE4qJCLFXS*9lXnz;j!Nz{{;5lW0eCU8`e53 R6aEe5`N!03>}z7@{{~p4&piMD literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.c new file mode 100755 index 0000000..76c934e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-ModReqdItem.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqdItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItem, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItem, cause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_ModReqdItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P36, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_ModReqdItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqdItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqdItem_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_ModReqdItem), + offsetof(struct E_RABs_ToBeReleased_ModReqdItem, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqdItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_ModReqdItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItem = { + "E-RABs-ToBeReleased-ModReqdItem", + "E-RABs-ToBeReleased-ModReqdItem", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqdItem_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqdItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.h new file mode 100755 index 0000000..d95d604 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_ModReqdItem_H_ +#define _E_RABs_ToBeReleased_ModReqdItem_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-ModReqdItem */ +typedef struct E_RABs_ToBeReleased_ModReqdItem { + E_RAB_ID_t e_RAB_ID; + Cause_t cause; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqdItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_ModReqdItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-ModReqdItem.o new file mode 100644 index 0000000000000000000000000000000000000000..377c419fec417b32c7553f37fc425d714e7a1e2f GIT binary patch literal 3240 zcmb_e%}*0i5PxMwQB=UMkQkF157xwPC=hKlF$-n+Fam3lcwCn428eA}yIX>Z5suzG znQ-;y!GFS=NB;ru9`P^Gnb$Y%^mUgaagw()^P8`?^FDU>?Pv1?nT#OHh$o_>5h}!& zp^j`x(GsI#MA-TA%xsi@5zYqXpc;5lP{}Wcm2&W=vJ?lkPEd-Z*V6TrFkz$_j==}O z_6O(~mwz^4Th78b>Ad?Dz&to6U|fLlzvl}nyT}2p$Pm4+^jDJ7>?kwu@Jr%da+T;ef?n~lR=fHa)N-cM(I!Rp7I4(9e2%szHYCSY(awS z!&!|R-cCL4?wJe6nwnUW$D1^#5yqh(R@-O26xL%%5H#H4H7>;+`fzme=$GUje5gjT4@oNME|H1If3_oJ{ zb%y6K0T43ur<1+N@Eho$=z!tqKcaBnH|ztE-XFRjgc-f9#oi|HxY6RZo|!Tlm$Z`n11R0ZXb+pISPXGATT= zBq;tAcvAge>eEQ^SRWz1z6%)E=l>$03QGY+R2XHMjN%pyjMw|Wr{Zs+6C?CRBEG9+ znx{0v~90Er{@Bk@@) TsHrk%QvA3o^bwOW(&PUEfpH9Z literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c new file mode 100755 index 0000000..7879e81 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P39, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer = { + "E-RABs-ToBeReleased-RelConfItem-SCG-Bearer", + "E-RABs-ToBeReleased-RelConfItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h new file mode 100755 index 0000000..fa71521 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_H_ +#define _E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-RelConfItem-SCG-Bearer */ +typedef struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..873b8911bd01d6211f37bd885ba954c40c78773c GIT binary patch literal 3552 zcmb_eOK;Oa5Z>0jpDk~ROE^&^Y&C5q3P{LpaLb#}$Juq0rHx4J%66b!X#W9Mjy>=f zxbqL-$OWlC0j^wNK6^IaZW18Skv22)&0}Y0*Sp#B9?cC84GBd<;*KaZg$l8Iw2<9Q zbj64`Ej)W+W;U^xqFK2hn=(jb-6o+Dh0pJ&vSlw;=IvP-#4^s~+mGzID1H^h^+vd6 z&o5Qeb{NX07uGkTMwp8FAM8aHeJny zBg2b6jOVa;-zU$9KKQ3T_y8BIQxicF`ggrK-}7-R`}(cyYqzpbx3Zt#%6=NGC4M=J zd^}SfFmggR|1CCZsYwSbH>>k$)nD|UEqhNYo=}2cqfao61H2*V!sFS6LDrHtV6j>m zBq-UCwXS9ObT6oF=ziXmr5Zw_N5l!}+JKRq#7u1?W*NBt zHGk9a^DKjn!I20Ix70WkqI(*y`)_MF{8imM8h#2fy9$FSo zEo!wS9epQ^Qt8Y;S+iU=#Vtk?WI!&#cncaUpBl$5~y0r6h*m-v9I?+EjwBy)bBFwD=>k(ARe14{~E zUNZDG(h+a=e~LHsqTvr;km4^{R&{1Z`gzFl*k7GgoZ?$#RI={($~;hPG<~6)YlrJ5 p$B(fQ{~J%!F#Cr#_nK;l|7!g(CN$LS?(G#{<^6k0`E@eme*yh;QRn~w literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c new file mode 100755 index 0000000..83f28cd --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P40, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer = { + "E-RABs-ToBeReleased-RelConfItem-Split-Bearer", + "E-RABs-ToBeReleased-RelConfItem-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h new file mode 100755 index 0000000..cba7a9e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelConfItem_Split_Bearer_H_ +#define _E_RABs_ToBeReleased_RelConfItem_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-RelConfItem-Split-Bearer */ +typedef struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelConfItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelConfItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..ade995e37b8ec1274403e555692beb001ea1ec37 GIT binary patch literal 3400 zcmb_eOK;Oa5Z+=QEw8q`1($H5AZ#_I5)nw1+thuaK0+U7<0eZRk=T{JfpVce_QsVX zXO5gWBJl^fapK4wegVwbJI!?CRHW)i@yven+MOMbv+FI)oa*ZnM15jHv{!@*F*neb z-BfhNkQfx6y)rqK*lW?0T#*eKB(i3MP>#Zv^GY`D)$K-I*;6uzWsGjM1$!on-vn{3 z9&XyRYZcWBL)q}c+ICbART{aMhq+gC-7S{YO>qQ%3Uq&gjxhOe748$`^~3Kh{7y11 z#vX#-`4fx_p>k;y&|6Gn))mi)Wa1f`)qrH=SPOoKcm|4rdKVu+R6mLRXU|WIx@UVk zN`^^23KJn_%jGA9k@byMs9J@`&bTvb7hCD7_^w!TM#r7v{S43Ib$eo-)8bF=om+=? z+Kyly+A+uTt6)KfJhH@@4jAj*Ck6y^B<^X6a~a5<4Uo~Ei2OcjyrdP_heQ^$Ck(lj zb`(c4*%B8!!PNdj2mT9?VRo)9ZE+h4J=9?>#DgyQ1mGBFPy6)aMFF)^yj=%6@8>RY zzIDNWcENiZcurLWN$5{|Grs5Job>se^x2&B(>dv9bJADAX5tr9-^IyF&%R@_aa`}H zNr`*ibh_K+iofbTU-y>Eo*==m!V9V50H-@vV{vMww-aTBSgn+Mb4#{mwc{{8ObWV^ z&W{giDsiNuYScIwDDXK`Z~z(mrLjlF$~bjZHi!6IO79W059{)FZzIn8oMtED__k2w z5s;Bgd@h4id|1oKDh$8E@D~if%J2^izsB(I4Cin4Z-!rI_9M7KAY@nv+W#EGZ=ivu zJ%(d^noPWId}^5Wp?M{o~ir`5kb@(%|=xlgk%O)@3|E z?t+Av`Gs*0EDj5%|2hzvpAYKmG$=d@BxwE&cwYW}orwG~KW@p) z?*oSUbvlqT+S7nbfaV2by$NgdH|zgZ``present), + asn_MAP_E_RABs_ToBeReleased_RelConfItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem = { + "E-RABs-ToBeReleased-RelConfItem", + "E-RABs-ToBeReleased-RelConfItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_RelConfItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.h new file mode 100755 index 0000000..050ac70 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelConfItem_H_ +#define _E_RABs_ToBeReleased_RelConfItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_RelConfItem_PR { + E_RABs_ToBeReleased_RelConfItem_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_RelConfItem_PR_sCG_Bearer, + E_RABs_ToBeReleased_RelConfItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_RelConfItem_PR; + +/* Forward declarations */ +struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer; +struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer; + +/* E-RABs-ToBeReleased-RelConfItem */ +typedef struct E_RABs_ToBeReleased_RelConfItem { + E_RABs_ToBeReleased_RelConfItem_PR present; + union E_RABs_ToBeReleased_RelConfItem_u { + struct E_RABs_ToBeReleased_RelConfItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeReleased_RelConfItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelConfItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelConfItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelConfItem.o new file mode 100644 index 0000000000000000000000000000000000000000..64805f704769457e6da3da9305e105e78ab1ffc6 GIT binary patch literal 3048 zcmb_dy>1gh5FY0e2oN9v3Ixp|3W5}$>?jfzNa*6jae{zY4w0a`T%03`@K5Bsprj#@ zcmOCUC@Cl?k$3?ffrp@=gpLko_I7;3`ivuyk#1+^+xd2GcV~AGDi0P$ayekh!Cgo_ zMghK`Ol?=0E=sBk-feq&b$z!T@7lMVIj4{>?kcbNvRHBob58MQg7Z+Bn$~F)erB$@)mN3t z5SH4h{^2aJ`awi2%#bA(jP=3S5y^@1YdYeo!pGoH`=7LarSSA{l{8Muf)r=?Ga5NK z#V*)Ai{evUz=)rgZqK%0qGwCPf-}-p_BU*&#C*4O!~|{t*N-G!8Gz3W!2JO@47m`T z1_V*tuT|=PyuTCr6`$@8U)~?SxIg?xrya#zzo=Lb%k`mzByy$Z4ULR;!bZd+&)0^= z$HC@o*wlo3m4#sh^~=jO-&@+y!hJ)vN`9jpE$jN`9(RbQV;TDv1r=#x(~MEk8cSO*8oEzw(S#o=BI&PEUi;H*axINc686j^ji z=!VTeb(3YdPP5Yp2vii-3AG4Lqtj}ISPD+N6NgUq(P}=5gT{0E^Z%2pNar<|Be~KM zwqC9tat$rQPifSqj1xDV!pbf+0hepcv54gS)Ea~L;?pSgbYGMlxF5WJ^NL3wK=G+cFOX7Qis M{d=7Z(`!xsAKH8kod5s; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c new file mode 100755 index 0000000..f096170 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, uL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P37, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer = { + "E-RABs-ToBeReleased-RelReqItem-SCG-Bearer", + "E-RABs-ToBeReleased-RelReqItem-SCG-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h new file mode 100755 index 0000000..f86fbfb --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_H_ +#define _E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-RelReqItem-SCG-Bearer */ +typedef struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *uL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..e553a0d9cd04ea5cff75023f7a23efc47ae0aa90 GIT binary patch literal 3544 zcmb_e%Wl&^6rI+*%B$s##3rmL5;jSx)CweI8r+t5=wt1=$xtd1yVwqt4fGG#vOy|8 zz&EgD$r5&a0*DWQd+a;$bdo?@dZo!d_uR+a8IQ+#rjE+ z47y@O3=7YmyET>A3(=IElT8^UvSAaLlh5y@vSrU#XY45%#4_ge_I-OgieCnCV>Mi{ zXBKK{I}Byh3ma?EYM6?~Km0`(+e7ABOuJu|ef=DN;Rnh0o8&Jc+jgN(i^d@u2WaeN zUGzCZ0KA)7zKE0X`qtfd^A_J6K4*`1x9O z2RX@_taq)!rwc(nfbQ>_^3>uejp|Xeb8l3mFs0UI>`#tetJJPd@Bv~)$3i>3`S$=W zlUHXMyuygXeGCDQx5K3Y8O>D}uij6@pWqm%8e{M$8AB~G27ih%)H}xDPcw%4!Wg{% z7XQ%rGmN1|5l8}s+o=qLWLD$#_zjImyy|;Xd(0O|4U=#SuGjpVgISr*dyrc~loVinmvpcB&+`FS?-AxlOXmDOahRW{Bb3W`CKeRI zx@6cZWFz0)|8ahx=Ztv7LX>{NSoN7X>E|Bj|TsuP7 pIe(O$_`f(z!`we?bFZm3`7hQlV?x8s?%rPcv;6$tQhi;_{68uDPMZJ# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c new file mode 100755 index 0000000..3cd1000 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer, dL_Forwarding_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Forwarding-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P38, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-Forwarding-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer = { + "E-RABs-ToBeReleased-RelReqItem-Split-Bearer", + "E-RABs-ToBeReleased-RelReqItem-Split-Bearer", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h new file mode 100755 index 0000000..4ce1ad6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelReqItem_Split_Bearer_H_ +#define _E_RABs_ToBeReleased_RelReqItem_Split_Bearer_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-RelReqItem-Split-Bearer */ +typedef struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer { + E_RAB_ID_t e_RAB_ID; + struct GTPtunnelEndpoint *dL_Forwarding_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelReqItem_Split_Bearer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_Bearer_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelReqItem_Split_Bearer_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem-Split-Bearer.o new file mode 100644 index 0000000000000000000000000000000000000000..c7c75a8e7b9419d76012f2d1cc6a9667e27b7edd GIT binary patch literal 3400 zcmb_eOK;Oa5Z=^0T3&5|0uq;SKm-Y!q^(2%3Ast#2WpE++p}?#RU1g`VmnYSw8!4K za^%K=Kfr+lKY9e^J05%2TACZmXFG_MHbco84MVKf08;0i$JSXWF zeUHI&?gagUt4t~adP9<^=ZbqoQt<>$&VYEF@hs#!#66G?l$$sJ(fM(#KYekQH7(uR ziMSUweJ^BezFK{hFRX8Lyr`3ZU`!iDz0`?UrT3+>QJgkPcN0AE*Kfo)r`X@jJJ$|m zntIRvBUjh#(EX?zJh>JyROXMvZ60PB!Qlk^G0 zS&J)5MiO3Q7ka^1|9lVr8<25nUt26)D#18z(ulucTC#m{g1nKj@DNjz7>?wL(l464q%0#N>q@SZu#i_OtCm!{vcOs5& z3)O1@g+MC4kiaoME_j@53BN4iFC_emgnyLqs}lZ0!sWO6kAzQ1`UOl72q)}Tl>dT+ zUqb~!dlHWRsWVakL9yI5)br_HfDyiHNA3nQpum!Oi@1pIM9gTok;{yYFl0vH;{r8H zMj4j8<;G&(~>n?(^3C)RVi5Ydj-R4luhUZ7zm|t1f!^o|_qTL;Tz6qwdcl`dz zWXcPP7suE|ZUKjw`h_vO8V4EG{tk%o4vuSo4{XurBs?;iVnOvuGWos{GvUd~{}bRy z`%1$37)^)Az~Z;iOre-7i%)?q>@Na}bxQH6zMcV=72gy;A5_<|QyB8Zi1{hZS@HKp zAhO5!n35Xb0Sx1daKI(BCjgTGG3S-_Calq3J^$~*{<@-%x=1v?5j^D?3t{*r?D2kO zB0HLQK}fu;r>O-cgsLvC)xD$Yu&^%(;U&OE5l0~q-5>UmtWZVq3zbuxtMRdyX4!ug Lfj(d`iB$Xl6-7e7 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.c new file mode 100755 index 0000000..76cc96e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-RelReqItem.h" + +#include "E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h" +#include "E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_RelReqItem_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_1[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem, choice.sCG_Bearer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sCG-Bearer" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem, choice.split_Bearer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_Bearer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "split-Bearer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem), + offsetof(struct E_RABs_ToBeReleased_RelReqItem, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelReqItem, present), + sizeof(((struct E_RABs_ToBeReleased_RelReqItem *)0)->present), + asn_MAP_E_RABs_ToBeReleased_RelReqItem_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem = { + "E-RABs-ToBeReleased-RelReqItem", + "E-RABs-ToBeReleased-RelReqItem", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_RelReqItem_constr_1, CHOICE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItem_1, + 2, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.h new file mode 100755 index 0000000..5ea3e30 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_RelReqItem_H_ +#define _E_RABs_ToBeReleased_RelReqItem_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_RelReqItem_PR { + E_RABs_ToBeReleased_RelReqItem_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_RelReqItem_PR_sCG_Bearer, + E_RABs_ToBeReleased_RelReqItem_PR_split_Bearer + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_RelReqItem_PR; + +/* Forward declarations */ +struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer; +struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer; + +/* E-RABs-ToBeReleased-RelReqItem */ +typedef struct E_RABs_ToBeReleased_RelReqItem { + E_RABs_ToBeReleased_RelReqItem_PR present; + union E_RABs_ToBeReleased_RelReqItem_u { + struct E_RABs_ToBeReleased_RelReqItem_SCG_Bearer *sCG_Bearer; + struct E_RABs_ToBeReleased_RelReqItem_Split_Bearer *split_Bearer; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelReqItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_RelReqItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-RelReqItem.o new file mode 100644 index 0000000000000000000000000000000000000000..a6a7ee7865b3d68af2810e6679aa16b57541840d GIT binary patch literal 3040 zcmb_d&2AGh5T10~QvO@$0f_^F0~Co^NmYpmB(zOP(;}czN(Hy=HeIz9`6<~gYA>`8 zfCNX595`@;N8k~719$|uaf2DJCp$QsrV@;_o|(_zc-HpVKBzog7|CRSB?I>$@fZd8 zej>45ZMrZC=V2Ue;@dIO|7}Ev4QVR5`g|$OJ?WH!de98~FxbeUQ4d}$ML}yw@PF(c zIp$bA&k5vH3{CZzp-0l>xU|OqYg{|&3<8q|92K2|=5OP+&-K7Vh2?6l6!_hs3*k<4 zJ7Nc_-Jb2hnVu~T2Tn^@+uyLA67$_MjB(rmt{)jRJpjKx0Dm?Bhodh9)c`+i zd$mg4i}rT{uj0}5;mPa6ORf*E(P@WK*DL6tN2U5OeoS1cm4^|-ouCo&xbwAP^vK_w z4Vs33zp^lduYY&B=9L$hm&z50m6?pc-Hvqs@L{}_a@8}3kyh5Z%QeOprR^UGb zJ}vMWN{B*=_ + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..49484a5024bc1695305951cc26e9c6734b428a36 GIT binary patch literal 3008 zcmb_eOK;Oa5Z=_h%BwAKK;jZk6hu~WsYCz?xpCbBqOIFfiJR-VrmaZqDt1u0(273* zM}7jo0IuA*aO8+MafBPUGGosqo2?^6%1HLid^@jQ@9cWdc|12#DhZ~NxG#Ddqe6T- z*^{kIw8Xd=6HaAirk+%u#Px6`Y=(XkZd6t`7wh(xZ^zNI%EL5lWq>0KFIxF?AUe$f*k-2ia88k2B%YsBj;j>b>>)uN){>GPQ}?x!zkH~qeO^# z+rC?#Tx)cqv{SwpytfWj!Vd<-8MZ-XAp9iqW}P|D z@vy}`wZ%Q9#XW5C4CrrhFZDMQ&&sj%Z`D~|a~5q! zu;2yIm}%SJhQke4ZlS(1^px{OTXpTBBP2Uvpw8B9$7vkI&F&cjhjR+GhHbAlb<1>X zcW56mgYBg3;@%mipCB2TtKb(Dd|kmWD)>7E z=iW!?i-N1&%x5##LuQBS@5YkJ%U0?)goKZs^DUOra5oil!%ux78%ZK$J4OX9O<4mq zZ2H+SN}4L0ao{7ExiHUNO(BE0)xv92!WA0I`Ng$LlKR1Ou6B5S1zd6NC$tcjrn8E+ zDqRHyG5zGXR3k;!{jb3oeuH8CZ-OtzoPtLsiOQ#5V$OXu + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent { + struct GTPtunnelEndpoint *uL_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..0b6d95ab60c3fdd2ed06172d5c6d835de24e6e84 GIT binary patch literal 3416 zcmb_eOK;Oa5Z>Yz%DcRzN?gK;f{1AfhzKN9IG^C!WTw+wIm#1^S zma;W9rYl4XgT5LUbIVRXtN01b;{10Bnac(D2$bw zYcw8}Ce}8(VbU!*d-A?rxs~A}Yd?!Q469#-XTs`RN$zL$tw`d< zRkA2U5m{>F2wWv(NS#*L7m)O{)Ts;)O$Hop79KlU9zww{)BX?J!C*=yQtab>Q{>I3~_89loNx12s0g zsr)$fW}I2i@z57N*%v+07d`aF6cByUOZ@HFtE4d&r`>^LOa-lfjS{taB7-g_UB$BN ztvb)woTY}NnDLr)Hj5wX;!FJw=tM|ycaa(B9FEh-b=R=B~deK^;!#k z*%F$6(DABM_bP6cFA<$T97B0)(f>gv&Swrd^RVMy3mmtH&+i13L?%9;!6|-8^B7!# zUl#bfz^@4WP~cYu{!QSrNBk7Hw4cBPi7>$a8U&(wfinjDK;W>y4UkCIO?DBpKE2Z0 z@!NLdZz!A2RyOW1mjrJTWpDb4uk4LDR(2wV zZbt1k{%GtlN&QcVjFBuKp6Z>VbY6wUvDaL@;1!le|=Uyq5!x3QK(DL1b_4X*Y- zPblsy=jZdaOjuF=5`8Z~d@nOesS-1Kd`4qY{zILJ{gEG2GV^present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P87, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_Item), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item = { + "E-RABs-ToBeReleased-SgNBChaConf-Item", + "E-RABs-ToBeReleased-SgNBChaConf-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.h new file mode 100755 index 0000000..4742729 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBChaConf_Item_H_ +#define _E_RABs_ToBeReleased_SgNBChaConf_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR { + E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent; +struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeReleased-SgNBChaConf-Item */ +typedef struct E_RABs_ToBeReleased_SgNBChaConf_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration { + E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_PR present; + union E_RABs_ToBeReleased_SgNBChaConf_Item__resource_configuration_u { + struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBChaConf_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConf-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..05dabfe3c2d57fd2d6e74741bb92e03a689dcd1f GIT binary patch literal 4888 zcmcIm&2QXP5P#ckXv$Yp2|@W@q#{xYTiFoQ6(HosyKPdDWZ94lLh?FWlSE|K(b|FJ zLUWA70ggFx;@o3z^iSxKV{ULP2e`ugp5LrzpVp0q!bpBI^LxK}pX0Ibw?4alp;A#S z74@mgJw}zfb|tqxZF*`(T~W`F4Za;C{eO(;urr#L)48>nIA6qzQ777s!X&!qtZ%I@ z`rDx&559Jm)2M&O5M$kP9q6$AF|u$j3cIX%fr!{@S$-MbG?8$|=RK}RV?Iky+4CUk zQw8JT*{0`3dd_>jG~~Go?y8LN`QRST^M2*H|Hu9E-j2!GV~4bz*SroJ=a5-4W{e{_ zMdxSZw$Jr~$43rI4sxf;ouoa>7hT$vu>kDxBh(XTxv8Ro)AXHAl*IePUW8h*v$a1A z)17#rh6Z(dWAIMPX&t1|AR$ho5~@P&rr+Kpb~H#w{vb{nQg?j+quT7o=KdhvuibPP z+&QPduf6*B^@cmQ;MQ+sxV;bC$Gu!se@?6=)q=OSI(Cxzh}E$ZmAJf7iBIK@v5*H9 zby?pBAddV><5TJgAW7FG)DL7=)Fq9fnHyQS-yCQ75g8bt#WTj=q=7e$&-22q3cl&q zs;VoSM3lNg>#C?Jb!yhPZMyGjJkO%G!M`*7uIYMU@Dq(+8l6MK;J<48vg#VYW;9e) zJukf6tg7d7$5_A9I9F+%EWFN_XdV0>av${d0=!XxFBjnb0{o-^|D^zbSb+akfU7be ze7C2Y8GXI&m!l_pQExQIt#-K} zTGxEE%PT7z758}}901pn|3SUoxXEkqm)4eP1(_c|1Ld{p9TJU2I=-UfrI~v>ErRx zEywx8;`8`V1pbB@1FA-K5rS^{-!m)lH#H+`<^+y?@%PCSIL_J2=;}b=Zy5~gfxxl; zyQc54z~43))U;U~@Apg7C-V(?!os-$K5+hi%RB+zrALdK9QM<2Q@QkpXL_5hG&)F? zdoN5wEC?|6L=8uy@>%6i+(B23N{ENmBMkX?^7q+l6Pq0B?jB(!ngMh-Vw)}d%$tN jOpkqjsN+_O5JK^W_@UKl&wsTb{@C2#k9xGcvE%;*2KwxI literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.c new file mode 100755 index 0000000..2a5cb5d --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBChaConfList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_SgNBChaConfList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConfList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P44, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConfList_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConfList), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConfList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList = { + "E-RABs-ToBeReleased-SgNBChaConfList", + "E-RABs-ToBeReleased-SgNBChaConfList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_SgNBChaConfList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConfList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConfList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.h new file mode 100755 index 0000000..635896b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBChaConfList_H_ +#define _E_RABs_ToBeReleased_SgNBChaConfList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBChaConfList */ +typedef struct E_RABs_ToBeReleased_SgNBChaConfList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConfList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBChaConfList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBChaConfList.o new file mode 100644 index 0000000000000000000000000000000000000000..34bdfb904f6d732914a9d9f7c26607b37ad2c1d7 GIT binary patch literal 2616 zcmbtWOK;Oa5T4W&%A0aR;t~)NMIx&hf`~vuCc!PB(uSm!5SPVGO^8PPs>HwWyivve0hhJr+U;A_ndO!3NNiVcvIeWy-0jqJ-?&Xy zZ!q_Y#Q)ZU=5q*s?U(VKd{+*H9iZJSiUUp&M8v@kW#YhO0lth#1&(C6&U~8U6Hrx= zj?(W^d=hq*|3vA}DV~q>gu+QVMtuWDoW97SIB={8BI3Z&0{$D3X=7gNig6Ja`b>ch zaAO2MHv)$-4g%{#kVO2RKg)ei$A+87hFiymi(oC`Zkp2ZyIkySg=6LQ<0uhBmHDXE z9V2=y;v6HQ^ug5m#bkcb&c6iT!yzDQueZDvgJ%0%mmjezqB9X06XBdmP9}gb* zytfgp4ML8$i9kv?LILvHg#E z9+UOjm~}kUF>KZuYLLt9(i|qHmiZ-CuwA4-q3uelw$k zvZwN>wkfvX#UN4b`F~XTN@XRquXUjE>ls5DpA>=C*A$(n^$QGY+vNQy153C>v*%8A seyaR0O4FG;jgP&4^owKf9YV0Dz{DDd<>GHsd45y<&wEY946*b70DGb6m;e9( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..093926b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P61, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent = { + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent", + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..ff46f84 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..611ebd5d5bcbe8cdb101d3e81a5872550ceade08 GIT binary patch literal 3000 zcmbtWOHUL*5bkAs-~$2mVB%$s2QhIvJ4l3JVuoD?)bJP=NjR7c!_WcZ?hft@1~0-t z(4#-Ws~6)>@aWN_@#Il&+_Y+@Yqw};V_Yhkt*Wo<)sO1l18-q&pi~k>CGkLXHA02> zbhazIndpiUF)Td0K2uHXr*T!)RYQe|+O$`;ma2>KW?j9oAEm09>HciZZ^h|uTP3QM zc4PfZGHWsQUjF}MN45hH>^D%anEl{oa2jNel#3wJiDM0%T&?VQwzr?ERc(Cx-78PZ30bk7y-agnJ5#bUA)VVf&Vv=mnD>@FWOf3A4&PumvMU zWI=`^vc&1X;Aucg;vAf6m3p&c?wXH1{0H@lx)3YAwNvO)94UDP?n6_JbAg$*Q+h z^8^V&1U;Fy!yUNTaMc#8^?v7@FW8D->o-8Mt0F#Cza6J>6gN7TM=frpP^oGMQ{#6X z|DK}{kY;d<*y-)wT_#Rv8F7*^#5Mc@LL9q;#>Nl?GVzBwoZ+KdM&>j8GQ-yyeud%h z7*0Kp&=-dDE*@k!?_#t5PAr+cYNp|akg(G^-zF(l`>BwdVHyg#kt9O4V^q-6kyD_m zMwktwWT>(cM + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent { + struct GTPtunnelEndpoint *dL_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *uL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..3ae3391dc2b2d96008f7e8ae232e5b2d20e98f13 GIT binary patch literal 3408 zcmb_eOHb5L6uwX&;0y4PkhmFFqH!7qi4cvZFcj1XR37V6W*Q*Qv^eb;bRjI=>C&AW z|A+nre}Fsxfc^lZ=j+@<50_42Mo!Y+bH4Ms_uP9=yYD`m@9*nVOnvH+$|XjX@& z$yi4Xt0Co)C_u7r&+NWyw~b!%yMF|MzKFUwETu$jr;T-Docg-IBtd7yvb z%(<9yw-8o0g@Gd;+x8RxhsZGLNkm-48=&V5Jtr9#v4`n7cY<*#R3VKMIw~|=D~4F+ zk#QbT14*cb+(WEE+Bm|PYgm6)URd+eb`*sTH>&T(J9LQJMc|HGcK6aSN_OHXQEH)D zy6R=j(Bx;i~g-d6N|5RRq9`HTZ+9(LSgf#cS2N&hQbPK2 zzasFD0>3KoZvvOM`=`LA{TL=lgaP)~AP_wkIAg#M1P=S#0EuMXWcM)Z!+lHH$?Iks zY|@yvI^#BTX}FgvyB?&0vNw}N*{v7?EGzajiD4ti)Zh%!Zp5_!VCKSO$F-vDTHI{n zSH_OwG_)6%*2_s6)LwMf@IUYCGeoTEPpp7y^;DDEZa z=kv8pSW*6x{z>6`nFXa+i5WdUrLidg2c3xhksnhs^ZSG$zx*d6QEg~o4uYVP;K6Ru z1AnvrpSAzty@4?iY(YG}(mc;IQ_}0Z_Q(E8Vm}`DNy)sl8!!))R+_eu&9%dn{fD*k m5@AEYp(Nt{!=Fx3s!`p9$Bf`+e)Q5J|F1gHdn6NN`u_zXgHZwi literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.c new file mode 100755 index 0000000..eb52042 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBModReq-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.h" +#include "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P59, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item = { + "E-RABs-ToBeReleased-SgNBModReq-Item", + "E-RABs-ToBeReleased-SgNBModReq-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.h new file mode 100755 index 0000000..e856821 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBModReq_Item_H_ +#define _E_RABs_ToBeReleased_SgNBModReq_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR { + E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent; +struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeReleased-SgNBModReq-Item */ +typedef struct E_RABs_ToBeReleased_SgNBModReq_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration { + E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_PR present; + union E_RABs_ToBeReleased_SgNBModReq_Item__resource_configuration_u { + struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReq_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..a47c286caee5b050ca917e1b93f728f24cabfbbc GIT binary patch literal 4880 zcmcImOK%)S5bn*!!~sH_3-7=pKo}`I@){$|LulgNO>7j~%Nk#}jMwXlZQl0|sf8U17*3K6_V~Qx`V{kNYDM>h zOrJ=IgSJEMIcn#fFNHi;!dVp|*&m$4d7iJ1`+uCTtnC2_`=Stc>ss<~adDX@VTu)P zled2^?&@-1NPN_wwn6QbWstb<=xWG{+82NuKg4}fU22%HUv1Q@?J$lG2Hmh8_3!R( z9}GIlZqzpeMyuTsc(++?9wuQwCY#vAbPKf__0~RFhy7%z_oGB0bGu&us4~62dC*S| zDj#@r-b}T2V71yewRvx5&a1tf;_f-HdwDP z2P>Orm6nNR^Gv3&^e4r+MtKTJo>wRj`3_|a{CW;v%fT0N@Vhzq_c{1aIruL*_}@9W zDe%Mhx~3ENgGTdK&^r-3?T%DJKo|QESP2^Spgs127n{}~ zN}_JGH@w#CQ9q%u;UJiweXrJf|3k^4zPP$X8Kf+C{xd2Om8pLjl17m#7GM2)Q6D~C z6Y7>QW|GHTT<#3uFDU;PmHicxeb%RQ@I{4-FCe)u5g-5FV``uc+vCnn-<+p>WuL!ebH- z!#d7ij=jWxr0`cc23UpeLlB1bduLkV*R4g`%_tn}lK+ygaJ;4b)Z82@{58hFP85#( zKjX273V)q3ut`o%){Fl=NY@+cM@VV|_Q2)8t?LB%1~p4weAG)io5rILJmotgCE;OW zysb{sG2Uhz8*dOnfo08`CpFyb*kMSH>g`3{4nXT7Jaw%ZuN(Dxc*J@1d4=BXmGx?z zbh=+jQvaQ!hOl;=ktSa&N`|ebH%I}dYXajwIwIM}RHHf)fjQo3I2+ghJI78`cm5kR z0Blwan2Y~g4zB9}Lq4@}`TtHhXv#^fV$rPom_)qs{0y?v2|tw{aGj!t@Jf>TrS4V< z8#n(c&wFU2WnCo`t%UDk-2C(SScn!=W@{U-Sa<$_FwDH6lsI2a;wSt*4T`Moj@VygkX>8o?%H8@EdG2B*v{vv gx%-EE+$j-4$e#^wID_u|*Yf=N{Jyo(vd;DY7YQ%u_W%F@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.c new file mode 100755 index 0000000..ad6b2d8 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBModReq-List.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_SgNBModReq_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P32, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_List_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_List), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List = { + "E-RABs-ToBeReleased-SgNBModReq-List", + "E-RABs-ToBeReleased-SgNBModReq-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_SgNBModReq_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_List_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.h new file mode 100755 index 0000000..0ec501b --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBModReq_List_H_ +#define _E_RABs_ToBeReleased_SgNBModReq_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBModReq-List */ +typedef struct E_RABs_ToBeReleased_SgNBModReq_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_List_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_List_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_SgNBModReq_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReq_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReq-List.o new file mode 100644 index 0000000000000000000000000000000000000000..4073da5be116fd7a23650bf428378c2b23859466 GIT binary patch literal 2616 zcmbtVOK;Oa5Z=^0%A(~DL>{zM9w3OIwmU$Xw zZ1-4Zd&>0KB%5G0urFkxLTittC^!b-I6W92&OI~`&BU*^?=+I?a@+{pVJ{4laIM-| zUu-PIYwhrPb$&CE8F>WDp2qeMDsdQ|cTllI;AyS7X7grcYGrjhlG~LVe1_Mm?zZyW zS8koxX1IGb#s4-1zRwZ%d#{M+WV^C2>@eKDyg1CsgMc_NLy(2^bVA}|@ZA8{K0^3H&U_BA;zoaPcQcHCF zhb#VK(-%v#3TpXnA$PXIk*4j&Q6dL0amQbV0wVQ;%}A_kGdXjMjUhXvUF*MT7%Uck9!w>Fcy1q_AJiQ;T;PijC{NLwrIp(m~&u zi0fR8Or>E}$HYAYpClXAJp(^u;QAb5eZ2+@KfwV6@v^eg;T_qCpEK|;2EMObc(T)% z!7Aghd8yvemJDA=#@7NFFus~3j1OXTkm>R|xM43)VYGBq>y+g(-i`bH5Do#4Vj1$e z#g%FzgYGk9ZU19lgk*eIIEdLdokyfC(pputK^pHj++REYgT>RX zJ^wWbAZ8s)rt>fBMAG^!={g?ZMeF}g{BNYSs%V4sEzo!;d*o|Xqox?AiB3TPAw9o7 z_YVL=iv0)Kr9AV#2U_mW(WZR+{XbGZDNI$OeXRpP(XOT8;rNLN_$d0Ib(pteok z&mypZi!}S)vCc2b|4bVH1NhkA4|~x*I{>j=0uyT;maBTdD8Eh(@e+#}V(0$>zTxPs literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.c new file mode 100755 index 0000000..4ceffe0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBModReqd-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_Item, cause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P71, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_Item_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReqd_Item), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item = { + "E-RABs-ToBeReleased-SgNBModReqd-Item", + "E-RABs-ToBeReleased-SgNBModReqd-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_Item_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.h new file mode 100755 index 0000000..dde52cb --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBModReqd_Item_H_ +#define _E_RABs_ToBeReleased_SgNBModReqd_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBModReqd-Item */ +typedef struct E_RABs_ToBeReleased_SgNBModReqd_Item { + E_RAB_ID_t e_RAB_ID; + Cause_t cause; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReqd_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReqd_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqd-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..3579298d865afb2bed963d0ca7219309bcacca9d GIT binary patch literal 3304 zcmb_e%}*0i5PxMw@e}YXCdQ;5j3u!f7D;F{F-yzxVFXqX3o!Z66S-Ipd9#7P|B`uF69@)(n|2UlwF8}N;~rCl0Fw*@0HQ$ zWjF*M0NWp+LtKt*!nU1+(eJ$fRRHtg7>98N#{Zr#r0gIUv>Ze9zS4W?IE7$OIqAK? zci=v@(gWOA*@YQV^y^U|wwOd#-Y48OqepA5gk@C+sZLWcfy^5+?T6&(~c7>@qK3g>;p_a)N%L-&U;qqmjV z-vA!hntY3-IM|7WS@L6Fm>W?f%vy*FdRk@<)S&E3GfJ9jmcyctpbR1247G$=3@eoY zHj`Nmk@TPe3V2r^%9G}$nc=HCDu>4P@mv_#vF`yk>s#co4V`mP%4s(9R6_*JC( zw7-@CORAq%KM!;+Wm0&gNl^SD@TB?~RfyuTK7LL0`W|3dpZ}|XD%KT{LxoYA$tZ5Z zz<9m?`zrnhIx#|DB;s$BO!JgRczjmzxW1eyj`%JZN#=e(^cPY_-52#F*8>G+6vsPb j6o%eEym$1y3y>I5zd&ELf|@FGCdEHfg+5|3Mtb~TTZ + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBModReqdList */ +typedef struct E_RABs_ToBeReleased_SgNBModReqdList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReqdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqdList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBModReqdList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqdList.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBModReqdList.o new file mode 100644 index 0000000000000000000000000000000000000000..afd2a8c0b2a48240fb8d691e3276af00d113e438 GIT binary patch literal 2616 zcmbtWOK;Oa5T4W&%A0aR;t~)NMIu&A3q&9xli&nUA0cTa#AR_4t1YBDGE*?I3*v7r@d2y&`i8a=YBn|EJyXA6AS`B4*Heu+G2en z>UV-y{rQcUXXG&~vyJJGDsdQ|JF3_ra8aw(Xxu5!tgLQ_e7k(xp0leJXFKtnw@%Hj z&e_g2f&Z%o&F2XG-Y?==*{&Q2TR^*)7YnRBh=_$9io}A+9DEg#5*$l$mH8~eC!j1N zZK>ZU_$2H~|Ebhp5|hi+N|q6S@9Md9$RWc*IP!##DM*ckf-a@9!5OsMT18k z>u!W=gMc-nkRv4+vYJzyZO`61xM{d8+U|-wj2I@a_L^{I6Hnclgr6ip%8b+|?rJ!l zuCnwWYWTFYNvU%|b?EBe#fRj1@)qONPw58@KQC=k-!xo5J7C8>?r1h~b-9ENVfq?U+@%-FmQd-toLa)5`;BfHGykK(Q?A+nItB>4p$Jl| z{3`}dy+~9YSK4O(ABdBD7b<<1Q%e|kQPG|33O9XM#K{(Q~Cu4m96uB7J&s^qM382 tI=^K8SE=dDoyEsoKl;Tn_YNW0lVEI&!*KDpsW`tT|L47-Vw#xwe*q7v=}!Ov literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..27c004e --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P85, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent = { + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent", + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..7fb3d85 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..97b4fe3ad6d862e6eca9b24d4fdc592ab274d622 GIT binary patch literal 3008 zcmb_eOK;Oa5Z=_h%BwAKK;jZk6oglCDIx+1xk=puqOIFfiJR-VrmaZqDt1u0(273* zM}7jo0IuA*aO8+MafBPUGGosqo2?^6%1HLid^@jQ@9cWdc|12#DhZ~NxG#Ddqe6T- z*^})|w8gj>6OOquQ%lSzaV=a4o1veC8|LcfVhxmf96d81reP}s+}XMt#pzBvOu{Jb z1^bJn*P`o#-2cUnZAT#30nnhB!{B9bI;A*rE{0fVjy0%cld|oY&Tbk;$#xtiLd@6e zcgvG&jZTzy%6H_nte93O)2vrkRaT~@bv?(`US+jN6Vmu=vM06c_nGiZG|(Ssl+F9NAx`({tQg`fi+$V> zXZmzhCSXA)lzDBD#WLVLC)LRxfOja)J{dnH{xQRQ>rf&5U_hK<8&n3uPa<#Dne!YE zTijDy+*4ZI!xqng{ucLAe>3r{EX=};dz3I!Ve>x(id$UH5oVQ5XUX+eo#i!WvF->K zyZ{Q(wqNk_g$3Q9(;fRzVG$ zem0Dfrpjg<_y}e$%yU;u$RKXD@YyQdL2a)$ff%Hatc3?*oqXHD}#-xhv%Y z-dA|H*tyz$kJEzwB;*`$yzMwY_s0@oMfulhp(^Chtjq%ON5G5n^Hs_Im>+KqJ--JS zrqXZpx0Ijj1e1)$Ss=a%98LB0e^37BHG6_H9~^oC4`N&=Vn`pz5WlZVy8j*wGN#&n zF9Hi}(M+E^#`!`1zlq~K#^BM{5C0_ey$g`|M&J!CxLy{Xbw&Oay5iqpFoksgKO{Om AOaK4? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..30370f7 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_1[] = { + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, uL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, dL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P84, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent = { + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent", + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..eff2c1c --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_H_ +#define _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent { + struct GTPtunnelEndpoint *uL_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..1a3c68acb725aab98d1d217776035b52c96b61d4 GIT binary patch literal 3416 zcmb_e-A>d{5I#^){0Dy$5^vTk(YTdGj2lhNvP%ICKNTeLu9l?&aknMguF=E@m)?2H z1L%u*<)shc6L_Uhp!2n7=cyE{ zuBBp4jjBt^DX-4dkB?^4ivNos>otzA8USf_4hHvkiB*6U0H7M`Q+D1aK^X5uVXV}A zqw%mbvA)p_lWysOJ#9~xE8SG9e5h3I$!WWCE5k+BUJ-K`Qojq&gw?Z>+|TM+k;IFu zWKo79vefVqxJt-?I-{^JAn9qT(-|n z`ElsYI&+@mp)Y!}FM6UcdgzNOAo`-0_*=18NniIK{`b4CV^_ zvcO*o{EEO21b$WE-vusv#4mwM`w2{t2n_bupb#wxoH5}00*C!=fJCxxvWuAY;r^xU z_+2~kH;5;ljBm4)1aA{%Z~BR^?2R~9b|-=Y%ZgnkHE8+iFeF2@TT#;on7S~}Tr0|M zM(sBKXzVab0(*XWy&NZg^L4g{lf18!GfIQ+rKFlvgsjVWh}<9vnEA!29a{7XrvFVE z#vb(Re}{Y#bBZ2GHLcv2AjxvSF;t_cX#V?zgFYG)E~RMxdPE|=jkO#~r3L+IaJByh zLUCU?KcBA^!iw^j=z9U;dzooUl~~aHDepresent), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P83, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item = { + "E-RABs-ToBeReleased-SgNBRelConf-Item", + "E-RABs-ToBeReleased-SgNBRelConf-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.h new file mode 100755 index 0000000..123d9d3 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelConf_Item_H_ +#define _E_RABs_ToBeReleased_SgNBRelConf_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR { + E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent; +struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeReleased-SgNBRelConf-Item */ +typedef struct E_RABs_ToBeReleased_SgNBRelConf_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration { + E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_PR present; + union E_RABs_ToBeReleased_SgNBRelConf_Item__resource_configuration_u { + struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelConf_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConf-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..268a30262363fb4450ff67e7a2a21c0c6e99ad56 GIT binary patch literal 4888 zcmcIm&2Jl35Pz;4n)20DLQuYqR75J_Rh$N40Yck2Zj*{6#vvDkv~k=eiHNSC#W&ku4J}vP2WtJE9M!p!FOY{{|}1|JELh<+qdT9>KD;`*baBYP8{B=u5GQ% zlhcU$Ussosuy@7~Bi(u(=y3fJvT`meyQq1Ah}ddTei7azk#NT6J+4n@k^rsqX^&U?Ky;2zHNe)YKj$NkFQj>*^)hqRm5vJMxQkZCfe*wLK4 z^K)_6mwF-NBL_7Hxl@)-(!S%XE^F#o0Pgr9>PdBJ!G!(lLZjLa<7j`-4N*&Ww)O{| zWGCvI0i)IK2)xs*HV=}p9}_1wF;$_~LZh`u?698<{eF}PWbQN?A62H;H~0I=e&s`N z&YP*$_N`a@zE<~U=DgaC6nFRG`nZ>i=FhRUq@45CmPbx98?iicq8isXs_}`;VGDUs zGMDXr0FubBEIwh50FrEQLj6E?$y~A+nwg=6`^|8HACZCaMSM2?CJlUneVG?-S@F5s zsx|rGLGh{qv0@e2J7 zB>h<7_!kg)!Up)S2}pVx00|WM@&#E`IMyR||48BBze^9~XNA9>Lbm-);oyJ5eKH=p z^*Dbxd>Q|V!r$OApej@sA?VisJ<|$*(=yU#M&a0(e4l)Ui?1DJgRA8oa)9ZaK);WMM9wkwD38Qo{T^xDjT`@y!xPt?|9$EJ zHY)_y5-)iz-8v6|`Sgri|0BX7Q_jLF7R{QE$;7{&pF!4o$iGa-oTtbk{4L4+l6R|w zjhp|J=RL5aWlbeBt%dht-26UX7LvtO+1$q8tUG@|80P0?GMn-pgOVKCHft)GX{{}4 z$DRKv$M+mQxDe6bvOQzbtXalkk>Gx{NSx^V)G4;+9df+JV7pxS?%u&Wl6bxc9OujQ hxaWsD?xYAI6wkyDoKAQCt2yz + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBRelConfList */ +typedef struct E_RABs_ToBeReleased_SgNBRelConfList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConfList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConfList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelConfList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConfList.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelConfList.o new file mode 100644 index 0000000000000000000000000000000000000000..5692e29a29def70e97af1a4886cb70bb468f89b7 GIT binary patch literal 2616 zcmbtWOK;Oa5T4W&%A0aR;t~)NMIx&hiiki$Cc!PB(uSm!DlUtgnzoSIRlJob2k4LB zz|Y{=16(+9S$lcL#5WflCt0!f)nbYc-A{J2+hT>b?!Hl+G5-cJ7GTzl5n-wU7K&B z(~6@Pa~p}s$s<^H8`~dN;xIgKSg}Lkves;?b*DPDw6YzE?dokd&FVFGJN4YRZiCgQ znR`v*|7t<=IRd};%Xm({D+j_3(C!t*0jCHe;$Vj|abUavUqz$>$1+@JK1=a2sH#X? z>Gvr<4!g=jx|3PHZnAf^uT*ieyS6~C& z8iLOb!C{1hz_fP;-lWb4xJs+{YO6U zZbWPSkmGG4kP;4f!)@GbPv1DWX}B%M?#eri7&fl=ns99sPv4n@pCmxZl+rft891G; zs`4Ki_@uH)>2pDK=<43Zhva$smg6)}=?4QpuWVA^4BR|Bz>=L!5v-sV1F6@wCBoMN z*lHjGU@J)iY!H(}OqVs#4f{bFCQC=PmMj-oFW%e?af?_Ki;&IEFVzwe^j;Zb`ycZn zChN5^>v*PP*u*vE5;}yLYe;dAUMO2qW$$WcNrUb;x@GMAj}}k6cK_=bAk6wKLFZr5 ziAqy15?#krw%z{+;w0at%HGw?lEz(BbSHb#&E9o&l~1Tf^lcNQ`|I!iF=9l?Z)S8* z_Ea9#HpTWk7$mAa|4%AksjP(dwGLE%J!44Yvm(&?nxgZxeu+VCo4lW8UNb+&u^&zd2gtgA$I;>dCloJ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c new file mode 100755 index 0000000..84ff087 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_1[] = { + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P80, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent = { + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent", + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_1, + 1, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h new file mode 100755 index 0000000..aee9c75 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_H_ +#define _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent */ +typedef struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent { + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..740a92efefd279544796342f98486c92f8853dee GIT binary patch literal 3000 zcmbtWOK;Oa5Z=^0%A>Re4oF;rI8Y?Kic6(NMM7>;w}AREDU~=Nxo)~@E0VaxE-Dw= ze*i~*0#`1GpTLnLN5qLE+#%wLNpF}m)P%Rb4YSUibTCRc8P%rFs4|Nq#L?GOa}4b(5@Ab1&^hM6PfB8YV2SOX_lD?6U;?I)@e??jzgh=qE6 zraZB>vDZoV%F}X6R%~Z4)tuK(RaT~?b34O%umTzLo)W(b=WG?81R*S8R+$C1V5EpF z$WTO&{vd->d|b=Oe1>0U_&UR{F#H|E zspk>;!f@Wj!wlzLY}TL0lJTo{5^e|yJDu@uk`lF_2)P+1p^zJKEMzxA1uY#}1y!}e zbQmQ=m93~5BAB`m&s-fLn^C)s@1=ydQ^|$pH9Jni=5t;A3D|Y;#l1LV#BdFrRJ7%E z0~Ex}8{g$dOg8;*!5Hqrp#FEj7h_Js$H~>oGzUTE`;9{`d`0yi0*>@GWBG46moniV zFnm+oOwE6X^@9G?$Ov$J=WfC-h1iUE!k*vYGk*XW zrZQjhw>m%72_`9xk)Zh&a5Od7|GoCVWY}vs^}(T+@F7NZB8K!)8{+}>e?mX)Z!j1m)Bg{M C?>h(p literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c new file mode 100755 index 0000000..dbd9cbd --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h" + +#include "GTPtunnelEndpoint.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_1[] = { + { ATF_POINTER, 3, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, uL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 2, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, dL_GTPtunnelEndpoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-GTPtunnelEndpoint" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P79, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent = { + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent", + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_1, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h new file mode 100755 index 0000000..25c1061 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_H_ +#define _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GTPtunnelEndpoint; +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent */ +typedef struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent { + struct GTPtunnelEndpoint *uL_GTPtunnelEndpoint; /* OPTIONAL */ + struct GTPtunnelEndpoint *dL_GTPtunnelEndpoint; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.o new file mode 100644 index 0000000000000000000000000000000000000000..53e0279c6f1cdf88464d85907133d579c91c8123 GIT binary patch literal 3408 zcmb_eOHb5L6uwX&;0y4PkhmFFqH!7qNkEOJFci@6s65uC3=I%xTAX$ax)7G`bm`8G z|3iO*Kfs-TK!1SI^L6f_hf60hBPVI^Ip2BRd+xobJ#ZIhdwY5mQ;&M0a*0u;y#Abb zGS*RpYCyT=m8t2ZycSP~D`7nhl5nfMy1g__!bttf4kChT#0v|MRrQsr%B(jFbRD|gzs$aI<_K-7gx!m z3`JzAvnSvQLV8rc!oGl{r=`xfLGgY=JnWg+?~BGKwc-*R&}a#J0TYhhI!Tt2-nrgV z7jr>#Xf;D(T{{|oOgPT8NsAruK*u@M4t*qpK4o}b2VU=w4sm{Wz`JQ|c1;CIfTJ@@3c_({eO|I}{Z{c0^nsFM};`&ifsm4)Cvk#m8 z^h7V~TgD3E-0^bn$ zHGzK=_;rDQ6S%zHKLsxBM=(Jm46wfefoNXfi~&CsIPC8NB$9QL-NUR8_bp{7uN!Hw zNn_e>UQW`W_M*Lp|9RgeXOsrtNlA_r1h30@gxn$ynE9n~jx3HdrvGhHV-LFZ zzem1^IYy5pM+@T;Bwp?}R1Q5w^FJgU^v;-YDMRzuBVzGQbaE);9Q{e~wEty7abGz< zpRZ-Yit?BAPYU15EGWH7%;@nMjYauC=tS&~{FsuN-zNf7OZJBbgx6|1TgOQ6vBW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.c new file mode 100755 index 0000000..4aa5422 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelReq-Item.h" + +#include "ProtocolExtensionContainer.h" +#include "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h" +#include "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h" +static asn_per_constraints_t asn_PER_type_resource_configuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_resource_configuration_4[] = { + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration, choice.sgNBPDCPpresent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPpresent" + }, + { ATF_POINTER, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration, choice.sgNBPDCPnotpresent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBPDCPnotpresent" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_resource_configuration_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sgNBPDCPpresent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgNBPDCPnotpresent */ +}; +static asn_CHOICE_specifics_t asn_SPC_resource_configuration_specs_4 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration *)0)->present), + asn_MAP_resource_configuration_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_resource_configuration_4 = { + "resource-configuration", + "resource-configuration", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_resource_configuration_constr_4, CHOICE_constraint }, + asn_MBR_resource_configuration_4, + 2, /* Elements count */ + &asn_SPC_resource_configuration_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item, en_DC_ResourceConfiguration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EN_DC_ResourceConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "en-DC-ResourceConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item, resource_configuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_resource_configuration_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resource-configuration" + }, + { ATF_POINTER, 1, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P78, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-DC-ResourceConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resource-configuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item = { + "E-RABs-ToBeReleased-SgNBRelReq-Item", + "E-RABs-ToBeReleased-SgNBRelReq-Item", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_1, + 4, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.h new file mode 100755 index 0000000..101c2b6 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelReq_Item_H_ +#define _E_RABs_ToBeReleased_SgNBRelReq_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "EN-DC-ResourceConfiguration.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR { + E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR_sgNBPDCPpresent, + E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR_sgNBPDCPnotpresent + /* Extensions may appear below */ + +} E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent; +struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent; + +/* E-RABs-ToBeReleased-SgNBRelReq-Item */ +typedef struct E_RABs_ToBeReleased_SgNBRelReq_Item { + E_RAB_ID_t e_RAB_ID; + EN_DC_ResourceConfiguration_t en_DC_ResourceConfiguration; + struct E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration { + E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_PR present; + union E_RABs_ToBeReleased_SgNBRelReq_Item__resource_configuration_u { + struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent *sgNBPDCPpresent; + struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent *sgNBPDCPnotpresent; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } resource_configuration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReq_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReq-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..0b8d773fb0b8871137635ae631d68a596b2f9ec4 GIT binary patch literal 4880 zcmcIm&2Ah;5bn*!!~sH_3;%&dfG|>avol8a zh4`2oKPPVR2#5qQZSBM(WJ>C;s;{f6tGjD@`a$cn+ZReD zBUCb|4<{Gv=y!hGf{gK3e~W$-14lW-7|O>APih1$(Vd!MYsK{C<@Q6iAJ(`bBHncdhr7$gUk zo8E#qSFIgbt@cf=?#(TDwf9rpU5BgVTrQd?6Yr98&R1I=+sQ0qd2B~Du1{3sQ<=ij zd&EoTvONz#;`yb;r_3=xqD?L+)LqG3vKYF#k%aTjaDjg#0r7==7M>6X-eg_og<4kj zJZxFn-fS8%=55NWWTwn1=eNVdO^at$)MorX+i&vF3FALl{L*M2>Wu$t@ylkD^$K&a zvUy%VmxF(wga4F+|B{3Mor9YK zKYXuey73@rwr&Tl0MCO!KM#WJc@W@v5G390IH*~dmBmgWm(+T_-6&)o?}xq747b{a zd?=~;a8J@I=oIy38mwJzsbK7u3Kr~2+pSKJ9PNjBR^$^WLpH{?JT)42BF7+Id^+h0 zts}>b*PGfEJUP3NwRW)H`h26c+GrUOuwu%-yGz&ZSS18>v5$b&pxFpI6EAqNX%C|$ z>P35_YrPQ-5(*m*gZlgjwf4=rsz zj}(qKfY4(W5a(3^iO&Kc0)xH$IhGWTeB{1ARyge6r3U(0;jg8T?f+0X>_6r)iHBhw z=P$=z;y+gS>l_2DLiZsE!}`55tMKdABJJiBj&;d@$yYeuQhsV~4i)|eV_+u=NB*Dk z*dv9%$r#u)CnxL0{~o044fP`=wE=tJ^552V0(_I2B`-eeC*3XM(FdOL9g&joFfrcU zZqha0Rva5|7(sz$&8w3d?se@jBuDl3qFxuEbrGJr){NJS`h7g&Jo>ys@6PH*HBP#{ zuOzAe&QU{HJI+XxuN5W3R?}Og0Mj*raUUI#>|?4?9f`mk?=+l^>;Ii&C#pOD4H^J8 zF9yuT{~ZU{b$}tC+NAt{Cmb~6Bv!F#)_p`G-gtfnS?PqIN)NeCQA2no$^24xYlKaj z|CHxFw9&Gzl8IKr_b_SxIzASnrIgv)#w*sHKOhYAbDC^T^^TxK$F|S9N+w!qoBB!n zf6D%S#~!vI;a{^nXVI)%;U^`|SCjY&e?WsGYr7-%*BE5i7P`B3*d2>Mp98k@MQZN; e;U0HNgb?y)!yC?^JO8yje?Gr&ZM3X&{r?3+gXtCk literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.c b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.c new file mode 100755 index 0000000..7698f15 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeReleased-SgNBRelReqList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_E_RABs_ToBeReleased_SgNBRelReqList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReqList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P39, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReqList_specs_1 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReqList), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList = { + "E-RABs-ToBeReleased-SgNBRelReqList", + "E-RABs-ToBeReleased-SgNBRelReqList", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeReleased_SgNBRelReqList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReqList_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReqList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.h b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.h new file mode 100755 index 0000000..94fd5c0 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeReleased_SgNBRelReqList_H_ +#define _E_RABs_ToBeReleased_SgNBRelReqList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBRelReqList */ +typedef struct E_RABs_ToBeReleased_SgNBRelReqList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReqList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReqList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqList.o new file mode 100644 index 0000000000000000000000000000000000000000..6b0befdb98f9de610d1b2e18cca1fb6e512b013d GIT binary patch literal 2608 zcmbtW&2G~`5T4W&%0K0V1cx9bC=xL-twaC`xd~1Il{O@;#BFg?t1TpUh&K}D0DT2+ zJVuW_0B4RIIdbJjpPl1|nC@H{W79I_`~oq3E-4bx8zJA7&w_cvnZBpD5_$@q3J7$>bAg)#5T#23}( zI60z9t5F+=9QT5@8rXPKN#?NJU@hOAvU zYb)I71gsW?94SGcRh-IfWA=f*UAP_Eu8O;h;wG;4m~dqiPu-P-pCv%bjMOIXYB-&$ zqV%6?__VZ1sq;Yn(3QP|56SDK730)T=NApXENxOhHC#V4V8`2C?ysTdeW5p%#e?@8 z>~){}V6Vk7*!_qcVmfvO-Js(qVX{ + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "RLCMode.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeReleased-SgNBRelReqd-Item */ +typedef struct E_RABs_ToBeReleased_SgNBRelReqd_Item { + E_RAB_ID_t e_RAB_ID; + RLCMode_t rlc_Mode_transferred; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReqd_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReqd_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqd-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqd-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..93e9a6be3ef8b803b0306f8cabfe6fdf62eed7a7 GIT binary patch literal 3312 zcmb_eOK;Oa5Z=^0%Dd&IN=PUi5UGT%xKttn3Ast#2kIlFEhi+`b+!+Y*kHS;aG*IN z^}w|fe})6%%unDalnYmwv3HWq#;MY(BdurV+j*>KcgNnh7iNZXIYyLYFIYz-l(D1X zj%+2O#YWf-X6v=7a-^>YWnSYA?nb<>uWT)qL8-JvE{b(ofBgSScm1p_F+QzOQ@8+KxlSWZD zcN5M0Y?h4Tq+yPyI7H7TT+=!BCv)$$t`&FuwXT)Rcy={3$dE-EJKqBr0LigS4C{|X zo^L?Tfqe@>pkYzW1CVp4JMB=2V={8sax4f9ipVUxPvS1@9@6iqEBRg5MG{vZ{n*FKh{Y zU2u$pJ(1{82#DV%5cn?%zb@fN5`IU*3m5jjkvSdY)MH$=31CS6?zYtd2qFYe? zAHg*4!D;;;gD=LE?*^#M!Uxd9l(nDoej{kX$Xb63aHKEFg7XR5c{~RZzbRG+N~GVS zpjF|IXA8fIl%LMmGGJNx^WrCh?qw1b9(fW3e+fJ*e^DeNf6R|xQ#HQ>80Hu0KuT#{ z03`wh&nx;C=;*K3|4{hj{>X&3NW?z~nbw(1!sEw){`*oa@ + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeReleased-SgNBRelReqdList */ +typedef struct E_RABs_ToBeReleased_SgNBRelReqdList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReqdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqdList; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeReleased_SgNBRelReqdList_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.o b/asn1c_defs/all-defs/E-RABs-ToBeReleased-SgNBRelReqdList.o new file mode 100644 index 0000000000000000000000000000000000000000..6d77990620a044e01fc90fe71a4983398c27f858 GIT binary patch literal 2616 zcmbtWOK;Oa5T4W&%A0aR;t~)NMIu%VMMNMWli(ImX+zRV6_>?LS8XA+OT3jR2k4LB zz|Y{=16(+9*>S$lcL#5WflCt0!f)nbYc-A{J2+bv^b?!Hl+G5<~9p2|*!dGkEwfQDG z9sX){ZX*#nc?8RDWBbEO9ERr)D|QH6)|zd#?o_9iR<g2M<0!R!}IZpGGelYO!$|m*Az|FG*ZnCo}!WGnFAoaSo1b;2S zT@6JD?n;t?JBZ04rsp=$<^3=Xlcl3tOO^+2FW%hbxJ7Oh3+~R&FVzwe_Ffue`ycZn zChN5^>-eT)*u*vE5;}yLYe;dQUMO2qW$$WcNrUb;x@GMAj}}k6cK_=bAnb-FD6R9a zSUB|}(RF-f+x>qaPV!x<>|M<)Y1~Cccd{?t>|Iw^`Gjgj-!?(Izy9tYBSw_`W=02P zPvucrmy_Gln!iD*~;rDLPN<7Z}vG$@^IbmT-w?&z + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "DL-Forwarding.h" +#include "GTPtunnelEndpoint.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeSetup-Item */ +typedef struct E_RABs_ToBeSetup_Item { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + DL_Forwarding_t *dL_Forwarding; /* OPTIONAL */ + GTPtunnelEndpoint_t uL_GTPtunnelEndpoint; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetup_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeSetup_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeSetup-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..4bee094c524e95fac04f05174c2a37f8460883eb GIT binary patch literal 3536 zcmb_e&2AJ&5N@*&0s*oPKS{)aO)fZ6X0&50VG#)pUXKmY1_q3!NKqJ%*Dc#(cV;!y z8_WfK$OCZX7Vf!l%#jB`f+H`11UD`yRLxfH*0yJmKrX4bs=oT`uI}mHhe3Pkz|@pt zno^h5SYuSF`q8oM7oxAeRwq>8+`6)mJGavXy`s&a?_4vwr!=C@wM7!z`Y+veZl)_v z7-w-$8=d89qwOrE*}XX1*iJUppzSQ*4$UA*bT>#g`ssFJ)OO$mJ4Pq@cADhl`kx}% zYq9mJT!*R*AHffR?SG(;xO}qdONjVlAM@h+ar9x}mhSg_cOd79eay@AeFHha*~h$) zs-QX)c*hEGd*5+Sk!*a3D#dozaj$UBOxR=TgT1M-5jd{tpwNAiF{Z$mTdhltnbq|{ zVg`+i?ws3nyg{LP54?G|Ip=ym4RMiWuZVLxsNR;I&Dz9_$Fa4EnM+)*K;m*G65rds z@4-B!j;N5_IP!9VA5y!7|3}TdQ{aaQRjN6Xu%Ba`;lB(2Bdm_<{7d-nWWn!?sRr{Y zqni4v42HVmQY4QTz^BD&*&_Tk@H)woy|2KhVcli^KUUyD1^!0`KB&OUFLbw~;yj5K zgQX~l@WPKq7k-2neq`d!Jn{;s-xh9FI1TM9VXMNP_jPBKonq zFiTC^NxP#*uazbSW}&lae)fVFdgGG=+b2$$QhbhWoX-&A)8laU9m$9vhY^xKQ-NO< zINn)I9EW-E?%O598gazsSMpfkCrL*3Qs8)7oFV; zCL8iCmW#I&~;?7;3-e>c(5Q#m&vmnWrijb+DBjg8=5VKzxf8;SK*zxDVj6MI{_@5ybbI!t$ z7m)ES^aY0EQ+nc_QlVpj;W^{;#pme;U}g1r zLQSwsYDfj-UtyHhU!$jy + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeSetup-List */ +typedef struct E_RABs_ToBeSetup_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetup_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_List; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeSetup_List_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_List_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeSetup_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeSetup_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetup-List.o b/asn1c_defs/all-defs/E-RABs-ToBeSetup-List.o new file mode 100644 index 0000000000000000000000000000000000000000..a6e0b83d37d944e8962ec3aab74ab915e1ac1b03 GIT binary patch literal 2416 zcmbuA&2G~`5P&x|KLuK#7k-3(Ctv^c?PD;hhBHxj)7 zk5P$dKv#T2W2#hQT1sq*<({UD zRZrx$r%aE{vKdwd`%)e%v<^v%f>Qve>B4w6cV-~X#jms;)RM}2TnpQw91SWf+lkD> z|7_XQ*#4x3N6GUhH9G=Vy_W0sd*%5~cNED{`7U4J)rvb(p8M8a#{tCVo}wwAB^%WvgP%3H-Y?ka zoWWm`ja=UwqCJDpk&WuB!SQ)7kk5Fs+m}HXv>c{-OItF0BN=}c$bj)~k}y7u(ZNiY zyWoa9feNFgqm1|Bem{h_%A;6@e0jA~No3G_ttb3HeFe(#nT_9xYUrtPe85~&u7QKh zK50Bk8j#kitPRrFLF0S2>-ViZ?b`F-gaEQzI)SvVzi4q?ueAqpwC(x714H?is%$K0 zR%+Y_g=eCdy4iR@2jw(PbQ&VKPxPMF`}_$oOvz6oa6k^I&OC3C+kOierdBa%$S11D z^)ZF8szLr7F3rrmA4RYr7t`!}$3D7#pZc5uhL`>P_@}Vf9uV6jc-6WO%Z0POxc)O8 KLiT53*Z&3siNDYQ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.c b/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.c new file mode 100755 index 0000000..d7e0970 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E-RABs-ToBeSetup-ListRetrieve.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_E_RABs_ToBeSetup_ListRetrieve_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ListRetrieve_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P27, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeSetup_ListRetrieve_specs_1 = { + sizeof(struct E_RABs_ToBeSetup_ListRetrieve), + offsetof(struct E_RABs_ToBeSetup_ListRetrieve, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ListRetrieve = { + "E-RABs-ToBeSetup-ListRetrieve", + "E-RABs-ToBeSetup-ListRetrieve", + &asn_OP_SEQUENCE_OF, + asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1, + sizeof(asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1[0]), /* 1 */ + asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ListRetrieve_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_E_RABs_ToBeSetup_ListRetrieve_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_E_RABs_ToBeSetup_ListRetrieve_1, + 1, /* Single element */ + &asn_SPC_E_RABs_ToBeSetup_ListRetrieve_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.h b/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.h new file mode 100755 index 0000000..6770fd1 --- /dev/null +++ b/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E_RABs_ToBeSetup_ListRetrieve_H_ +#define _E_RABs_ToBeSetup_ListRetrieve_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* E-RABs-ToBeSetup-ListRetrieve */ +typedef struct E_RABs_ToBeSetup_ListRetrieve { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetup_ListRetrieve_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ListRetrieve; +extern asn_SET_OF_specifics_t asn_SPC_E_RABs_ToBeSetup_ListRetrieve_specs_1; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ListRetrieve_1[1]; +extern asn_per_constraints_t asn_PER_type_E_RABs_ToBeSetup_ListRetrieve_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeSetup_ListRetrieve_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.o b/asn1c_defs/all-defs/E-RABs-ToBeSetup-ListRetrieve.o new file mode 100644 index 0000000000000000000000000000000000000000..ae6067f13e8b2b6c4a46a07ad5f055aa9740eee4 GIT binary patch literal 2464 zcmbuAPfyf96u@V#e^5c?W@4gCJcx-q*&+!<6H{3WY7o|4NK8BoWu3rAXgAwgBNz4N zSKwoCG|{hM;?bi=j(YHn?@iyd<7^RvFKORrOA1=--HDy z8;AXKqw@}n(pWqS=S3*+gAn-#A?y!AsAwY<{_&D^)^by{!{@8vQX>@0^BOh7mQXuA zc|@yD5~r#U&D!A#l#0xcy0OxuJezABF+ld1?PlYMytF4f_N1EqL?xYM>q#iu-FRb5 zibfJEXe|3;)}OuGoSLDR4GQf$rqMZYpIGluT8`M)7PLJ=WP9c^niiB z58p7?mI-i>xhGRVNj=g=RgFRV7HC{&w|>vbGp^hJ4g`=*nFP|N{)WR%z0m>0(RTa) z0EY5CQ~AA`TbXem6rQ0$=H~Z(I#@@j(FKU$J~4aR?DMCl)-Q;WEt5+b@G9xtQiYJC0-O_h_7p!0>YCkAD{T-2-B~1ecxX Sa9sEol-K{HL&*J1-1 + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "E-RAB-Level-QoS-Parameters.h" +#include "BearerType.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* E-RABs-ToBeSetupRetrieve-Item */ +typedef struct E_RABs_ToBeSetupRetrieve_Item { + E_RAB_ID_t e_RAB_ID; + E_RAB_Level_QoS_Parameters_t e_RAB_Level_QoS_Parameters; + BearerType_t *bearerType; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetupRetrieve_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetupRetrieve_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _E_RABs_ToBeSetupRetrieve_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/E-RABs-ToBeSetupRetrieve-Item.o b/asn1c_defs/all-defs/E-RABs-ToBeSetupRetrieve-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..056e84fcc9692ad4c7468b911fe689ac5d38e309 GIT binary patch literal 3352 zcmb_eOK;Oa5Z*K`P#&e_B_t%29uPsoR?-$x0YYw4_ksFIn^r<_aGkJfBa%3>H&uH8 z@)J06?12OSfeSwYiA#_C1o#CoW6#E$#c4#EL)*yv8!y1*~aEvAuzVQ0xxsXZf$bm*Z4j+mIZGxj#guNo`e-J)Qt_VY?NHz zZE(T;fK|BbbARiw#aYcZ>;u7@LCtFhalMlyeXhFRFLt<};RJjLY=3}GaQSc31&BCz zhIw)QIL{W0i)Wk{b05GMJHx!6AXf*5Bz<3SEl4^Zq0w5Uj2wHZo&oHE%z<{Cdm05I zi#Ym(_+qj6B$M5)w40)xd2G&@IV0Z=wfy`1teKlJ^A94NB9j@;VVM0+JS*v*8OHJH zo|&q+I%5@2?n;`C#7-nl0#C6~W|1x<*Ft=RbqL>~=Iw|0c|sY>btUXmj7#`)=pSDa z78!mJzC=2ncS&iOPZFisr6d^Y;%@d5Hh4l=?;e@&!8*o!T|@0rAAGqF{;CiDt`GjP z4}S7RX;zsVG@W^S!Lc2@P@R7+R0l6qN4UFzlMkI&3!4L+BfoN~IKVGx@oG2gTxoze zOks-GTO3rwZ?Z@ZDNd^!CYtr=_QHPWZ$)@WeRE z6C+&;@lzwAlJ5zx>eajNPSI-$D8zkdc4|6bnwjoBM6kWeX=6;DXC0Sk5Ag{l#ch%i zzXHP|Jxg52mlXUO$;e6yj(1*%^c~`uNBy0aZ;YWN= zN`fBg^aM8-*S3v7 zxYf6EdZ*@hAQD@Fd#jSADvC^P>mrjNA*R0^R@b9f(BpAmvFE3ae+aRda|(t^7Adb) z5M)_ja`Z!4uYUv>(og9asVqZWvZo;68)r#?c$S{74#i&v9M73NU-CSy1C~_3GZZDt zMXdYHbfrjm0W7Kh7b+yvKm}i{i6n#NYBb41N9h&mgJP9&Q%USFNC?hIejK{4o{k KgjwQ`9{(4sXDNRG literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2AP-PDU.c b/asn1c_defs/all-defs/E2AP-PDU.c new file mode 100755 index 0000000..fd5f8e8 --- /dev/null +++ b/asn1c_defs/all-defs/E2AP-PDU.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2AP-PDU.h" + +#include "InitiatingMessage.h" +#include "SuccessfulOutcome.h" +#include "UnsuccessfulOutcome.h" +static asn_per_constraints_t asn_PER_type_E2AP_PDU_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_E2AP_PDU_1[] = { + { ATF_POINTER, 0, offsetof(struct E2AP_PDU, choice.initiatingMessage), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InitiatingMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "initiatingMessage" + }, + { ATF_POINTER, 0, offsetof(struct E2AP_PDU, choice.successfulOutcome), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SuccessfulOutcome, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "successfulOutcome" + }, + { ATF_POINTER, 0, offsetof(struct E2AP_PDU, choice.unsuccessfulOutcome), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UnsuccessfulOutcome, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "unsuccessfulOutcome" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_E2AP_PDU_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiatingMessage */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* successfulOutcome */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unsuccessfulOutcome */ +}; +static asn_CHOICE_specifics_t asn_SPC_E2AP_PDU_specs_1 = { + sizeof(struct E2AP_PDU), + offsetof(struct E2AP_PDU, _asn_ctx), + offsetof(struct E2AP_PDU, present), + sizeof(((struct E2AP_PDU *)0)->present), + asn_MAP_E2AP_PDU_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_E2AP_PDU = { + "E2AP-PDU", + "E2AP-PDU", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_E2AP_PDU_constr_1, CHOICE_constraint }, + asn_MBR_E2AP_PDU_1, + 3, /* Elements count */ + &asn_SPC_E2AP_PDU_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2AP-PDU.h b/asn1c_defs/all-defs/E2AP-PDU.h new file mode 100755 index 0000000..cd27fcb --- /dev/null +++ b/asn1c_defs/all-defs/E2AP-PDU.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2AP_PDU_H_ +#define _E2AP_PDU_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum E2AP_PDU_PR { + E2AP_PDU_PR_NOTHING, /* No components present */ + E2AP_PDU_PR_initiatingMessage, + E2AP_PDU_PR_successfulOutcome, + E2AP_PDU_PR_unsuccessfulOutcome + /* Extensions may appear below */ + +} E2AP_PDU_PR; + +/* Forward declarations */ +struct InitiatingMessage; +struct SuccessfulOutcome; +struct UnsuccessfulOutcome; + +/* E2AP-PDU */ +typedef struct E2AP_PDU { + E2AP_PDU_PR present; + union E2AP_PDU_u { + struct InitiatingMessage *initiatingMessage; + struct SuccessfulOutcome *successfulOutcome; + struct UnsuccessfulOutcome *unsuccessfulOutcome; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2AP_PDU_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2AP_PDU; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2AP_PDU_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2AP-PDU.o b/asn1c_defs/all-defs/E2AP-PDU.o new file mode 100644 index 0000000000000000000000000000000000000000..b649ef38dbbfb7b1be51044438d83f127affadf3 GIT binary patch literal 2976 zcmcJQ&rcIk5XWCxQ2Ys~2NFHhlNjx$B_t9}NU;=(5!*nB$7Na9(pa|0ZWFm^SJ zZP&Yz*V*+|H|S@lP5uvK)*0uLwH&8>tO=IljHRch>GNU_{>Qu*|KYsDUS@^@lN=n? zl7_9X$@O!Fa;$}{4Sc-AiJX;68-PkL=EzR4-IlFW>;V2&} z=rO9k58O-Z#1mvwSSOz(4Oq&2t0ZJmhe2Ygu|9m6NKTu-!5Q~rKBju?kMrUz#60_` z=Q$2#sf-JLPDV~$5LXpb3;7w>F!4*eo7z^qE2$eBuW6jp-fM@$?@7z~U=*vvA^g)2 z{&@)hHiRp=h-^=}Vc;~X>rQmA=R4pIT~LnK3BqXKDaGNn$Lm=nK^u)qhQdAH3niB( zNN0)M=B(f5$WnDVjl|Q|8&0KGU#(PCqPVHs3ZgiUg4Mo@63>gsM&E@gk zDZ~8*F}dswxY)=mV;}+7Pj@Y*37=vcs-baw!#(!5SYsZ1%OW4y0KX=X^jD4J`Q>CD zYy3LfP&1f-1Pb{#;gHlcej`Eg*wZ-j3mlVoM;PB?Dt36V8@b!cro)ox9kC++O{DA> zZsaO^I}DY*-+_b7l3gO#Z@Y0Amf_m%j^_f#CCaA%!(E?Fg&lMv-(GpPSqLN7dzC)M z-x^pCyc70Bm$L3?HZM;~Zj%M3p8*8R7)WH_6HlqU7_9G*#@RFL4~;x=&Hnc(05&TL ztfhX@;8HKTOmWy||080M50aR;D$iQfBQkJ{mj$q%H7Q2*XY zlAzz)Ao&ER;}fz5^{??2FMZG-$n5VBLw{~ZRw7>*6a}!(8-9~~)SG$7T#x zdzu{wc(`S52y>~ET=?d*BbMj-pImT-*aZE|_s9J)sMRz!i{wY5($VaXJ8n?@7O#IV JtxOEF{x`xh)vN#j literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.c b/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.c new file mode 100755 index 0000000..8430c56 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.c @@ -0,0 +1,136 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-actionDefinition.h" + +#include "ActionParameter-Item.h" +static int +memb_actionParameter_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1 && size <= 255)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_actionParameter_List_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_actionParameter_List_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_actionParameter_List_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActionParameter_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_actionParameter_List_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_actionParameter_List_specs_3 = { + sizeof(struct E2SM_gNB_X2_actionDefinition__actionParameter_List), + offsetof(struct E2SM_gNB_X2_actionDefinition__actionParameter_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_actionParameter_List_3 = { + "actionParameter-List", + "actionParameter-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_actionParameter_List_tags_3, + sizeof(asn_DEF_actionParameter_List_tags_3) + /sizeof(asn_DEF_actionParameter_List_tags_3[0]) - 1, /* 1 */ + asn_DEF_actionParameter_List_tags_3, /* Same as above */ + sizeof(asn_DEF_actionParameter_List_tags_3) + /sizeof(asn_DEF_actionParameter_List_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_actionParameter_List_constr_3, SEQUENCE_OF_constraint }, + asn_MBR_actionParameter_List_3, + 1, /* Single element */ + &asn_SPC_actionParameter_List_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_actionDefinition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_actionDefinition, style_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Style_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "style-ID" + }, + { ATF_POINTER, 1, offsetof(struct E2SM_gNB_X2_actionDefinition, actionParameter_List), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_actionParameter_List_3, + 0, + { 0, &asn_PER_memb_actionParameter_List_constr_3, memb_actionParameter_List_constraint_1 }, + 0, 0, /* No default value */ + "actionParameter-List" + }, +}; +static const int asn_MAP_E2SM_gNB_X2_actionDefinition_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_actionDefinition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* style-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionParameter-List */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_actionDefinition_specs_1 = { + sizeof(struct E2SM_gNB_X2_actionDefinition), + offsetof(struct E2SM_gNB_X2_actionDefinition, _asn_ctx), + asn_MAP_E2SM_gNB_X2_actionDefinition_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_E2SM_gNB_X2_actionDefinition_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_actionDefinition = { + "E2SM-gNB-X2-actionDefinition", + "E2SM-gNB-X2-actionDefinition", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_actionDefinition_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_actionDefinition_1, + 2, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_actionDefinition_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.h b/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.h new file mode 100755 index 0000000..0947300 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_actionDefinition_H_ +#define _E2SM_gNB_X2_actionDefinition_H_ + + +#include + +/* Including external dependencies */ +#include "Style-ID.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ActionParameter_Item; + +/* E2SM-gNB-X2-actionDefinition */ +typedef struct E2SM_gNB_X2_actionDefinition { + Style_ID_t style_ID; + struct E2SM_gNB_X2_actionDefinition__actionParameter_List { + A_SEQUENCE_OF(struct ActionParameter_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *actionParameter_List; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_actionDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_actionDefinition; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_actionDefinition_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.o b/asn1c_defs/all-defs/E2SM-gNB-X2-actionDefinition.o new file mode 100644 index 0000000000000000000000000000000000000000..a9d09ee5d06fb43e895baff2baa7934489b9f196 GIT binary patch literal 5064 zcmb_fO>7%g5FW=s3=OVJIRqN$f@qaWcpIk?luCfp#K}gasoOLnP>IdP*(5IhDcMa( zK!Qkxil_o{-~gPExNz(d#3d3!9JrvIdZQZK)ezT+eNeZ~Q!X zV{7`=jVour+r2;EjQb-d&T=;X!qDHoR|&;7eTa6)jx<5ai=>G(tqwF({3BFq6YES4 zF%q%g9e&$B>;<)4$({4(gTr2>l2t~bfAU0jVd8jpxX<3$1ytT=C}`qdO5p5Uy4H?AS0wQx?4? zuj+^XQg*x?gfWGPfux=?WcCF&HLc6-3dOWr=iB9?Jn2V!7KGW?Z|J zbiaH%r#rxVF*c*coB7N9CN3c+PHQ1Ci9Hn*&L zxp#6$?Y;p!cPPTi8y;3Ia=vvM604cSzOK&H$2h?N;ypZek@RpnbD`sv2hypRc1@(a zi)rgrx_dC48A7DM2)oBB%K0AnGxoER-1bDx@FXOg9nDH2Q=BB>-Z&UpT6eI8o*mk} z>KQpY37suGqlhG67g#(Z83YRNgmuO*v;JJ+_j3<`zSAN}XyStXfCll4SZw@_n((K% zFY{72srmCTSXk%;=AWm6qbx=WUQ~Fpk$;i#a|+)Dv`WW^cqeS4 zCYg>DTw#CiLYEk*lb}vR4T;Poq+7866mRP~cBmJjbsakym%XYJCbwk~jdY>^9<4 zJ~_lQdNA9AZSbi!_4x4yz`iGrpWfLwqMR%a?d%qu_e%}V!Q#%&IDfxikqmC;U9So;Jy>iB zj;QA@7EZf2E0Y_!wq;VKY0`yj=l%F8qpC9X1 z;ZH=6YUvI_LW=6J$^9=hoOnd&{2?Lrq_UzW!$l#So_CqYh?9hH?XO?UK9O_RB4-q$ z)9Va&uvQJdS=8ZDq!-0n@++Pl`l}(>b6)6yJsSjIFV(3-?m7GD_Ab8fDn>b=WpwRI zz2p(77{D&ot5v^-?D(h0w?`+YvO(yTUgs!((VeIND=O_fZY*Sw8tP*nn%`0-rIwW>uXLSSE)gf_bKWDSYoh#8Z~j6@t0|`7%|}- z`ViJ{_)7dU1}^yvPaenP;(uX>6(e5aM4#b!GyfUhjNRKdW$W{w#Q3=SZ*u*oIiBiI zw_nL$>R)Oz|2mPP^hK)CS`8~QUPBc(e>YzNC7$M|+p#%+bk8>4J@nhW#rfYxU#g|d zgQk*e98dd07pc4G_i#{b-LI$hs;Y)f-_JPSSSGMIzNnL;Ezd9TCuqdg&*A#XI#K-y zl6b)>A9HSm;5^Uo@W$GM7~Q4Kcv=&4?;!+Vv*T9=x%vFW8y7#r`F}}dnwatb19Yt+ AXaE2J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.c b/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.c new file mode 100755 index 0000000..0231747 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-callProcessID.h" + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_callProcessID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_callProcessID, callProcess_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CallProcess_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "callProcess-ID" + }, +}; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_callProcessID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_callProcessID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* callProcess-ID */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_callProcessID_specs_1 = { + sizeof(struct E2SM_gNB_X2_callProcessID), + offsetof(struct E2SM_gNB_X2_callProcessID, _asn_ctx), + asn_MAP_E2SM_gNB_X2_callProcessID_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_callProcessID = { + "E2SM-gNB-X2-callProcessID", + "E2SM-gNB-X2-callProcessID", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_callProcessID_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_callProcessID_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_callProcessID_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_callProcessID_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_callProcessID_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_callProcessID_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_callProcessID_1, + 1, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_callProcessID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.h b/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.h new file mode 100755 index 0000000..349166e --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_callProcessID_H_ +#define _E2SM_gNB_X2_callProcessID_H_ + + +#include + +/* Including external dependencies */ +#include "CallProcess-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E2SM-gNB-X2-callProcessID */ +typedef struct E2SM_gNB_X2_callProcessID { + CallProcess_ID_t callProcess_ID; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_callProcessID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_callProcessID; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_callProcessID_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.o b/asn1c_defs/all-defs/E2SM-gNB-X2-callProcessID.o new file mode 100644 index 0000000000000000000000000000000000000000..a1bc1733558e613dfbe8095410c1e80a5e446fff GIT binary patch literal 2560 zcmbtVOK;Oa5T4WoD6h7N1L7ft6Rm_-aa0Ke5;D!B6wx#gMas=}jFkdOT*ZzA7syZG zz@a~Y13!Tq969#Lm485g0nFID&aiPJ6h_*enQ!N{@AuWGwWVAR6y@L{Of-c8*r%Bs zi#DvlC8(B~yJok(WwuME=k|JyVc_{;xKjb9nW!#EdM&y>E9}48asMS$ej{=0f8_!O zILm^}s!QQi11Fo5?Q;2kVZGHE4Wd!uuGkbs(;CH^_0GB{ikrgPNO11@mrU_b!Aa)a zjLaPeFhH*+32ER+78#f!iwww5!8Z}f!7{AM5#?En@jQ$r-j@7TjGvJjKrxl5&IzvI zkFou-Qqw#H7??MU3^<7I1JC2eWZBQYSi%E095|I~ z&7sTZ;N^4LC5K(Nor)8=-O#aO!`-dta|{!kW}`gECOq`LG}@!a97{}F@_RDz+zR8; z_8LyJ`m9y0m#d%z#|s8wG<07MqI90+$;0AkPYIoCe!A3M({Z)Nge#f$=PGqbgkQj> z#?}c$((%U$9OG+JCe~m$J(Xjr?@LZ`_$fMK_+=>*J7ze|>zdU0yr|BUMEJHJxg8L= zXbC@1QslphK)i4x7eprvK@0;@$kGxPs(#Onhe^^@(F^cIDHjl4(C_=WC1ManzSyp} z%rJ7j*J&Ax3fIw*)`opAaVR_Pr#rIcbPE;2^cTtIMoiZIZ{rxP?V|p7(3fJCuyL}b zvcW-=Rer_Ej$}Rm7%`$B2}}DzDkZ`LWb}60iJJCb-;4BX@59L zIQAj@5Szld-EkI}VM}Iu?G#7(f0uDCBDR7}pFjOX`rac1M-sfD)uE~Q2W9(zlj}dG IV2pJCKh~MXkN^Mx literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.c b/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.c new file mode 100755 index 0000000..f16e08e --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-controlHeader.h" + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_controlHeader_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_controlHeader, interface_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Interface_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interface-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_controlHeader, interfaceDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceDirection, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceDirection" + }, +}; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_controlHeader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_controlHeader_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* interfaceDirection */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_controlHeader_specs_1 = { + sizeof(struct E2SM_gNB_X2_controlHeader), + offsetof(struct E2SM_gNB_X2_controlHeader, _asn_ctx), + asn_MAP_E2SM_gNB_X2_controlHeader_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_controlHeader = { + "E2SM-gNB-X2-controlHeader", + "E2SM-gNB-X2-controlHeader", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_controlHeader_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_controlHeader_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_controlHeader_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_controlHeader_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_controlHeader_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_controlHeader_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_controlHeader_1, + 2, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_controlHeader_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.h b/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.h new file mode 100755 index 0000000..c37c9cf --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_controlHeader_H_ +#define _E2SM_gNB_X2_controlHeader_H_ + + +#include + +/* Including external dependencies */ +#include "Interface-ID.h" +#include "InterfaceDirection.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E2SM-gNB-X2-controlHeader */ +typedef struct E2SM_gNB_X2_controlHeader { + Interface_ID_t interface_ID; + InterfaceDirection_t interfaceDirection; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_controlHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_controlHeader; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_controlHeader_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.o b/asn1c_defs/all-defs/E2SM-gNB-X2-controlHeader.o new file mode 100644 index 0000000000000000000000000000000000000000..ce50f1db5d9b035dcc4b1970463ca3d16a2e9262 GIT binary patch literal 2784 zcmb_dU2fAr5T4W&D1W8!f{KugREZ*yRU8$8iiAwl^as&45Jl>n>$s*Zq;VCy61+ej zIRFnlas+MwN8ku>19}3O+05FTjbl|6BRMnk?Kd;Kv-ad;{l&^esRT+&@Dwsnp#b)U z%yy;e!ZciidbPPx-rHO%Z&%Af)J=L(XD#%1!yX)Tld$*N55n^La^@@_^ui!Hh`L$2 zLd)EX>5mJZ7`IS>Q_N}e7o-_lnn&+EK7Ub$7XFj7hIuMlu5sr+ElzvYd*D*;)mm-Q zo^Q2}yUDTrNGym-**TV;^TBy6DhtB7KfsBdE0psboaFYv8mgFuTadqN3#^Q!Sr%5v z6ALCs;5&$vU!F+pc;;L%~b@ zz1VXkabxLK0dc@-HfjZ&_$Un0Y|k16Oe|XsJ6yPMhjMFM4X;^$*{W~W>YxldNSyS1 z9Bb)0*VTygaKx#@r(o`=!?tR-25^z@%EZ;35Uy;Z-qQG2(6-s9IYUBx9jEy~Limid z20sn938!zq&;AZ;!u7ZAi-zA|o77JYr>|_5{XZIhlWkJ-lo*8+@$Zp?qW6LJpNfdz zA0~bq1U7%5_m!1|?-CHZe&T~@$1#XrL=G_>;h-CKe7Q`P;fhWa_yo!j5J7Z!7~<86 zZj^*#b+c8D6F+#HZsV-RZ46XB)^oVJquJb^6uFBQVdlhhQ^v4i##4W(w`YxifU%Ub zijOWXJBvDqwyLi*@yIso_YothDB{2co3&C;(4g7uDuDGqk93>k>75}+y+`Uh*+ML@ z{tu3;a6YAMWw3sZIvlkkE-H-allpNP2*#ppZ@90yGIBr)Krv*MnS`sGb=Ct NEBC)Ivt&PJ{6A|G*6;uT literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.c b/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.c new file mode 100755 index 0000000..e6a4487 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-controlMessage.h" + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_controlMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_controlMessage, interfaceMessage), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceMessage" + }, +}; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_controlMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_controlMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* interfaceMessage */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_controlMessage_specs_1 = { + sizeof(struct E2SM_gNB_X2_controlMessage), + offsetof(struct E2SM_gNB_X2_controlMessage, _asn_ctx), + asn_MAP_E2SM_gNB_X2_controlMessage_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_controlMessage = { + "E2SM-gNB-X2-controlMessage", + "E2SM-gNB-X2-controlMessage", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_controlMessage_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_controlMessage_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_controlMessage_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_controlMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_controlMessage_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_controlMessage_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_controlMessage_1, + 1, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_controlMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.h b/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.h new file mode 100755 index 0000000..cffe7f1 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_controlMessage_H_ +#define _E2SM_gNB_X2_controlMessage_H_ + + +#include + +/* Including external dependencies */ +#include "InterfaceMessage.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E2SM-gNB-X2-controlMessage */ +typedef struct E2SM_gNB_X2_controlMessage { + InterfaceMessage_t interfaceMessage; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_controlMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_controlMessage; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_controlMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.o b/asn1c_defs/all-defs/E2SM-gNB-X2-controlMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..52dc71d36d28bfb1dad00abdcaae04d0a5c29912 GIT binary patch literal 2568 zcmbtV!EVz)5S`Q%Cuk1;sme(9ym>pbGrOK$f2=*%-s+YQr_0mqI;Va)sv z>%QdAu?0|05!E^26@4K67nGUiA;QAESz^Ir7LEQFj`81+S<%+D#~wdWt2OCCzi04^ z_+hgAa}Jj9!HWj&liG$$r_aUH=k8S8>C@-NUN>@W=~-WYndg}}wVKsDr)WR$)A=4Z z^IS1=CFpVP{3>O6+fBDsd(o~nsx?r6RujcT5ATq4u}|~v6Y6ih%g*!Wo4nd<;uR*> zYnuN>ZA_hA^4EFlQxf7=BuZXQ#>CT=Ic9s8HSu~kQJ<0!e?_9?b;Ou>TGw^9^>tA_ zsfg%(KlVBxaN82Sr%)Wci$T2dVh=gvZVH}9fM!OWnp8qy2LbDnrp8x;= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.c b/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.c new file mode 100755 index 0000000..12b0b9a --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.c @@ -0,0 +1,156 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-eventTriggerDefinition.h" + +#include "InterfaceProtocolIE-Item.h" +static int +memb_interfaceProtocolIE_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1 && size <= 15)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_interfaceProtocolIE_List_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_interfaceProtocolIE_List_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_interfaceProtocolIE_List_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_InterfaceProtocolIE_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_interfaceProtocolIE_List_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_interfaceProtocolIE_List_specs_5 = { + sizeof(struct E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List), + offsetof(struct E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_interfaceProtocolIE_List_5 = { + "interfaceProtocolIE-List", + "interfaceProtocolIE-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_interfaceProtocolIE_List_tags_5, + sizeof(asn_DEF_interfaceProtocolIE_List_tags_5) + /sizeof(asn_DEF_interfaceProtocolIE_List_tags_5[0]) - 1, /* 1 */ + asn_DEF_interfaceProtocolIE_List_tags_5, /* Same as above */ + sizeof(asn_DEF_interfaceProtocolIE_List_tags_5) + /sizeof(asn_DEF_interfaceProtocolIE_List_tags_5[0]), /* 2 */ + { 0, &asn_PER_type_interfaceProtocolIE_List_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_interfaceProtocolIE_List_5, + 1, /* Single element */ + &asn_SPC_interfaceProtocolIE_List_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_eventTriggerDefinition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_eventTriggerDefinition, interface_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Interface_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interface-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_eventTriggerDefinition, interfaceDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceDirection, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceDirection" + }, + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_eventTriggerDefinition, interfaceMessageType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceMessageType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceMessageType" + }, + { ATF_POINTER, 1, offsetof(struct E2SM_gNB_X2_eventTriggerDefinition, interfaceProtocolIE_List), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_interfaceProtocolIE_List_5, + 0, + { 0, &asn_PER_memb_interfaceProtocolIE_List_constr_5, memb_interfaceProtocolIE_List_constraint_1 }, + 0, 0, /* No default value */ + "interfaceProtocolIE-List" + }, +}; +static const int asn_MAP_E2SM_gNB_X2_eventTriggerDefinition_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_eventTriggerDefinition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interfaceDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* interfaceMessageType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* interfaceProtocolIE-List */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_eventTriggerDefinition_specs_1 = { + sizeof(struct E2SM_gNB_X2_eventTriggerDefinition), + offsetof(struct E2SM_gNB_X2_eventTriggerDefinition, _asn_ctx), + asn_MAP_E2SM_gNB_X2_eventTriggerDefinition_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_E2SM_gNB_X2_eventTriggerDefinition_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_eventTriggerDefinition = { + "E2SM-gNB-X2-eventTriggerDefinition", + "E2SM-gNB-X2-eventTriggerDefinition", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_eventTriggerDefinition_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_eventTriggerDefinition_1, + 4, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_eventTriggerDefinition_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.h b/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.h new file mode 100755 index 0000000..8d13704 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_eventTriggerDefinition_H_ +#define _E2SM_gNB_X2_eventTriggerDefinition_H_ + + +#include + +/* Including external dependencies */ +#include "Interface-ID.h" +#include "InterfaceDirection.h" +#include "InterfaceMessageType.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct InterfaceProtocolIE_Item; + +/* E2SM-gNB-X2-eventTriggerDefinition */ +typedef struct E2SM_gNB_X2_eventTriggerDefinition { + Interface_ID_t interface_ID; + InterfaceDirection_t interfaceDirection; + InterfaceMessageType_t interfaceMessageType; + struct E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List { + A_SEQUENCE_OF(struct InterfaceProtocolIE_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } *interfaceProtocolIE_List; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_eventTriggerDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_eventTriggerDefinition; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_eventTriggerDefinition_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.o b/asn1c_defs/all-defs/E2SM-gNB-X2-eventTriggerDefinition.o new file mode 100644 index 0000000000000000000000000000000000000000..178570b21334d3b33ae4471d770a0063b9978bf4 GIT binary patch literal 5600 zcmcgw-ES0C6u;X=TlrXukXQv}{D73i9l8xfB+)Fi+isJ#EVRT15~tJcw5;q0?oOd- zqD?AjLri?|!H*Xb|A9V|_(C*3@nZVKn@xOaqA}ouA<>BEcjuhl+vzMUfq0TT=bYa? z=iGBY=FYwIab|d+Ef!NkG4-};Xo4zb?P$npEvD5@^{mQX`D<)wX=P~XmcJ*PALz&~ zuEny8_Y#)|&StL-X78_V-@5?w?3I=8?-Tj^vx~oX41c~&g8_SQ=kT@m)Jk^g-_*_F zrC*NSUzs?wbo=a&+xMm$et$&xS=psO$@RCN5Gu>?@#I8r(!1!D{qbsHcGj!*dozV{ z!7o(Gc3x-ua6`4PcGSA)7Uw*xT=A{h0)?}>3EVe*K-c9f<(gl03uWJ$aSKInx?W3= zSDkV5UUH~k)s_B2)ypG=1~lT;YVNEze))pe0CUxfU&&XBLz(1oq2{+XxH2DN9o7X8 zbIj?Z64pYi@mr1EO@>cXX}11ajT5%Ry5IZ+8ZK0KWDvR zAF_LrsX48sK1v<2dk)#D0|5?ewM###%@0ng*nDSf_ty4~FDQXSgzw?HtKj{K&c(KO zHYYkpwu~maatZ5XqU%_qvyYGrBWxbY(5Fr6ZsZ;uU)SS?dwg9_O+0!ut0M^gA(x(9f3B-8BPV<(IyKx?mYaDOKdKzS0)~Z<> zS7sJL%`n;TFy>dr=Mv$arZdZ*Ho?Dbf-g70Z#BW!n&5vo!MD-N9+jth_=lfP2qmvH z<1v(kenVJIz7tr zs)LPFJ;1LFdE(wK-1gfh`&D_>`u^|_AL7#n{yfQozi;5U zZwQX>KL~MNpdvUh5N((GtCWU9B>QU^mvWt z|3)0-us{Vgsh>f7bGQ7;!1uBY_OpRwH$KYx9Rs&m2J1$HL}0KVghGVx6bS5PEd`GS z1Bd+?uDfpF$bXgf8wO5Wqq5lkrh#K_gl-!+;#asr;-T8a*P7VhG4NL;IPrT1j`@=L z=-?z!ZQ_=JBmV^|pl$}mxH%v1J} z^(yU4+D99Z6jJSCCGP^%5tN;;luC3(RyN&lJ$rEUbh75V`Sa}MopWZYZpq`sACp<+ zFJowiO0#m+1WA_nT;Sa#Y@(7DfO!`mnI>6>AKH=mk$qu5hWfc!1d0zufDN6+A zuMUd|i=Z%^A{$`6AzSg!hj7VX;-slQ%6}&>rlpX-_z53p|8V}-+5g76MY*y6 zC&)i){O5W6#UJC3TY=;+(BeD$+KmEry) SZpZ}gYM%4|PHT-v*#AEzD0%w; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.c b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.c new file mode 100755 index 0000000..e7234f3 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-indicationHeader.h" + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_indicationHeader_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_indicationHeader, interface_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Interface_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interface-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_indicationHeader, interfaceDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceDirection, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceDirection" + }, + { ATF_POINTER, 1, offsetof(struct E2SM_gNB_X2_indicationHeader, timestamp), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeStamp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "timestamp" + }, +}; +static const int asn_MAP_E2SM_gNB_X2_indicationHeader_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_indicationHeader_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interfaceDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* timestamp */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_indicationHeader_specs_1 = { + sizeof(struct E2SM_gNB_X2_indicationHeader), + offsetof(struct E2SM_gNB_X2_indicationHeader, _asn_ctx), + asn_MAP_E2SM_gNB_X2_indicationHeader_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_E2SM_gNB_X2_indicationHeader_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_indicationHeader = { + "E2SM-gNB-X2-indicationHeader", + "E2SM-gNB-X2-indicationHeader", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_indicationHeader_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_indicationHeader_1, + 3, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_indicationHeader_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.h b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.h new file mode 100755 index 0000000..bbcfdd6 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_indicationHeader_H_ +#define _E2SM_gNB_X2_indicationHeader_H_ + + +#include + +/* Including external dependencies */ +#include "Interface-ID.h" +#include "InterfaceDirection.h" +#include "TimeStamp.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E2SM-gNB-X2-indicationHeader */ +typedef struct E2SM_gNB_X2_indicationHeader { + Interface_ID_t interface_ID; + InterfaceDirection_t interfaceDirection; + TimeStamp_t *timestamp; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_indicationHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_indicationHeader; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_indicationHeader_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.o b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationHeader.o new file mode 100644 index 0000000000000000000000000000000000000000..7f2a1c0fd96fdfeb81ffbf47002cd9202795f574 GIT binary patch literal 3136 zcmb_eOK;Oa5Z=@j%Dd$uAt6vWQ4q13s1g+jWSXWA)JGsx^k!Vwv=L2G#jXSw$bkbt zfn$FLzXJ6~aNr0xIKh0InPjtdQm8u8W@f&5t!LNcd?+o>4rMY*D5D;$t|q8bt&y(m zY0*;`)df{5RF-m^%hS2FLatihsD?pOZPe$ZU?Xa(YCVaXuY)kkEzES4nQAi%;iZyl zEsB$%w$si1zmmOITkn_8>1P;#50UL(^AAYVV;U#zB&|P0J%%GH*dNvetuwTaD=(!= zr81#YhQ;oy^vlL21U)qgy^t8-cm~tQ6Me2&e2^VqUEi%IyV?8hq&tzz?`kdoK0oD7 zOuG3yZJZ+d6Kb7MKT~_}^z5XY!|B`?lRG<>Fwscqa-wIiHjVJ5&8av@JV0%)3#O#D_hYexjAKUnxCXEiD&IN(4V_ z)Z?TX&|vR$XhDX&PeWeX)&aZ2UQ91&=vNL5eL5!NcF_IiJ7ME;SAdVP57;%9fuE-( z_ZssRWaIN~SmT#i1}hslW>JgvSIm(IGfC((3&1Z6NPOSG@s{6U{fB{HVHs>335dYp ze-{eTyn$bBL;AO6;P8LMHnVT&gOJ@HdC!#_zpEv|I`O30=362q(c4718$l8%cRh}k z+iXCAXWq?|8f^#K49Qa6?M4^?)FH|Z8?{mKYSzGJ2Jmck!S_Z z$|TQJ44K>3L2i)*%%0p{$D>!U<8PB0JwIyvJ&Hxn0xgp~R_08QWT`J4evs|@dxU{L ziDO$;S?0nXl7Lz73BbI?4J~v0Il^(zacX literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.c b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.c new file mode 100755 index 0000000..a3ae4fd --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "E2SM-gNB-X2-indicationMessage.h" + +static asn_TYPE_member_t asn_MBR_E2SM_gNB_X2_indicationMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct E2SM_gNB_X2_indicationMessage, interfaceMessage), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceMessage" + }, +}; +static const ber_tlv_tag_t asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E2SM_gNB_X2_indicationMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* interfaceMessage */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_E2SM_gNB_X2_indicationMessage_specs_1 = { + sizeof(struct E2SM_gNB_X2_indicationMessage), + offsetof(struct E2SM_gNB_X2_indicationMessage, _asn_ctx), + asn_MAP_E2SM_gNB_X2_indicationMessage_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_indicationMessage = { + "E2SM-gNB-X2-indicationMessage", + "E2SM-gNB-X2-indicationMessage", + &asn_OP_SEQUENCE, + asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1, + sizeof(asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1[0]), /* 1 */ + asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1) + /sizeof(asn_DEF_E2SM_gNB_X2_indicationMessage_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E2SM_gNB_X2_indicationMessage_1, + 1, /* Elements count */ + &asn_SPC_E2SM_gNB_X2_indicationMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.h b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.h new file mode 100755 index 0000000..c6508e8 --- /dev/null +++ b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _E2SM_gNB_X2_indicationMessage_H_ +#define _E2SM_gNB_X2_indicationMessage_H_ + + +#include + +/* Including external dependencies */ +#include "InterfaceMessage.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* E2SM-gNB-X2-indicationMessage */ +typedef struct E2SM_gNB_X2_indicationMessage { + InterfaceMessage_t interfaceMessage; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E2SM_gNB_X2_indicationMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_E2SM_gNB_X2_indicationMessage; + +#ifdef __cplusplus +} +#endif + +#endif /* _E2SM_gNB_X2_indicationMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.o b/asn1c_defs/all-defs/E2SM-gNB-X2-indicationMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..6bbd499911918411ecc90bd50860b03a2ad64268 GIT binary patch literal 2584 zcmbtV&2G~`5T4W&D1U7c2P6baPZWtPaZ~{U37LkpfM^;v>cIC6}{rH=tePB63Hb%u>Ysxp#2Gv9vmv)&(nuDx2DDHK3U0iM9f(A*Z(fm)@xQR>uJORY+&8}4*{FX=|%Mi9qdCxC941iiPOA825dVWo z^U%L+%6|ra=FZK^U2y;l%x=<@7LMeJg%$F|g4r>636TQK!Gapmk#&jB!a(6IrQb{Z zobmw5nMHk$a19?x{+xERIs{l)H%~0MmO!WjM?kwrGIUB&o?TF;3G&EW#%;WsDX z|2|m42QLoYXSFq#4xoz%&}~)Ru>uZdHC)+WcXEOlNvId=5jzRPya)@aQ8{J^flfz^guGouwk3bm$!jJa%16&djMoA#n z>szHb@%(pL8>cmHU?6=P_S=!E9Qhu95tqvnI)s@wmBUHQHsf#O7=7E*#^1$Q%2~mO zi=&)-97J2!*P3`_oAn2XksPNgdlxe+H6Ej)JJm_u>^&q9QL%Bv}ft|HtV~HQ7Q8e^hMRbhGSe7xPx{FAEKIl9;tX* zA1(@(F@zuBqcP4K=7Bj}qM5x@9v%Np<++U5JU-_9=?`VDJwkA(!23oYhKv8E{P<(_ L{Rfnci5dR~2!_@| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EARFCN.c b/asn1c_defs/all-defs/EARFCN.c new file mode 100755 index 0000000..451a029 --- /dev/null +++ b/asn1c_defs/all-defs/EARFCN.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EARFCN.h" + +int +EARFCN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_EARFCN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EARFCN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EARFCN = { + "EARFCN", + "EARFCN", + &asn_OP_NativeInteger, + asn_DEF_EARFCN_tags_1, + sizeof(asn_DEF_EARFCN_tags_1) + /sizeof(asn_DEF_EARFCN_tags_1[0]), /* 1 */ + asn_DEF_EARFCN_tags_1, /* Same as above */ + sizeof(asn_DEF_EARFCN_tags_1) + /sizeof(asn_DEF_EARFCN_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EARFCN_constr_1, EARFCN_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/EARFCN.h b/asn1c_defs/all-defs/EARFCN.h new file mode 100755 index 0000000..e43976c --- /dev/null +++ b/asn1c_defs/all-defs/EARFCN.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EARFCN_H_ +#define _EARFCN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EARFCN */ +typedef long EARFCN_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EARFCN_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EARFCN; +asn_struct_free_f EARFCN_free; +asn_struct_print_f EARFCN_print; +asn_constr_check_f EARFCN_constraint; +ber_type_decoder_f EARFCN_decode_ber; +der_type_encoder_f EARFCN_encode_der; +xer_type_decoder_f EARFCN_decode_xer; +xer_type_encoder_f EARFCN_encode_xer; +per_type_decoder_f EARFCN_decode_uper; +per_type_encoder_f EARFCN_encode_uper; +per_type_decoder_f EARFCN_decode_aper; +per_type_encoder_f EARFCN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EARFCN_H_ */ +#include diff --git a/asn1c_defs/all-defs/EARFCN.o b/asn1c_defs/all-defs/EARFCN.o new file mode 100644 index 0000000000000000000000000000000000000000..3c81a575b54449a0e4f0dd71833b86f13310b046 GIT binary patch literal 2744 zcmbuAOKTKC5P)klYT|3Ni5>zGol7)P)7c3DC5N!fX5$D;4Do>|xK1{chwejmW<&Jg z+ruJ?Kg0jvMG(}Z*r9oyhr;+j~AI}pIaUy@juDM>8Yo`f-rwwW~#3%WHc zQg>mKf}JtfN3t{?JD_60ZrzM^3--jiQf#UGInN=9(*>06FH2bxB z$~8ll$EQ#G-W3j;!2A9T25LmR{rZa)3KG zPYG-dljfPZ@~ju)(K=lZ{bj!?;aqXP9NxU)tNc+493hfp+|qqORsI}5V z)41+m(|B6*XDlm8yJwPtJXfgGe%86FA@P3prDlM2;+wk)VE8XQr}2HPQ{!q}jYY_2 zPIaIs77^U6h28=Pyq=WR=_4?!$?p$B3i2tYI&WRSZfPHr`ES!IlLKuz_6 zs5ELdzmAFUcJ#%m+4G}8=vA(>zrRvmYI-%=OaCi2CQvokbLH4j`&{+uH6k{M51r*4 zKDxZ+1Adhu?ExA`t+QIc!_3Va=_PWK_Oag^;dAz<`qQnf=CA611sM&s zWsjr%iO1LPX~cj0Lo6X9*DQ5v@`dB+e@++1GKP2qAH{UP0dqp!Y5G3oc+*|QyLwX8 z)%PoW2bHAyz2o|+I#K=TepB&^(|pXa5y4f4A9=#P$mr~t@pN~YYmW$WT=@HBXkvbU SAND21f8zN+)nZ9C<9`D=;R3q= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EARFCNExtension.c b/asn1c_defs/all-defs/EARFCNExtension.c new file mode 100755 index 0000000..48bf466 --- /dev/null +++ b/asn1c_defs/all-defs/EARFCNExtension.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EARFCNExtension.h" + +int +EARFCNExtension_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 65536 && value <= 262143)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_EARFCNExtension_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 18, -1, 65536, 262143 } /* (65536..262143,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EARFCNExtension_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EARFCNExtension = { + "EARFCNExtension", + "EARFCNExtension", + &asn_OP_NativeInteger, + asn_DEF_EARFCNExtension_tags_1, + sizeof(asn_DEF_EARFCNExtension_tags_1) + /sizeof(asn_DEF_EARFCNExtension_tags_1[0]), /* 1 */ + asn_DEF_EARFCNExtension_tags_1, /* Same as above */ + sizeof(asn_DEF_EARFCNExtension_tags_1) + /sizeof(asn_DEF_EARFCNExtension_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EARFCNExtension_constr_1, EARFCNExtension_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/EARFCNExtension.h b/asn1c_defs/all-defs/EARFCNExtension.h new file mode 100755 index 0000000..747b206 --- /dev/null +++ b/asn1c_defs/all-defs/EARFCNExtension.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EARFCNExtension_H_ +#define _EARFCNExtension_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EARFCNExtension */ +typedef long EARFCNExtension_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EARFCNExtension; +asn_struct_free_f EARFCNExtension_free; +asn_struct_print_f EARFCNExtension_print; +asn_constr_check_f EARFCNExtension_constraint; +ber_type_decoder_f EARFCNExtension_decode_ber; +der_type_encoder_f EARFCNExtension_encode_der; +xer_type_decoder_f EARFCNExtension_decode_xer; +xer_type_encoder_f EARFCNExtension_encode_xer; +per_type_decoder_f EARFCNExtension_decode_uper; +per_type_encoder_f EARFCNExtension_encode_uper; +per_type_decoder_f EARFCNExtension_decode_aper; +per_type_encoder_f EARFCNExtension_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EARFCNExtension_H_ */ +#include diff --git a/asn1c_defs/all-defs/EARFCNExtension.o b/asn1c_defs/all-defs/EARFCNExtension.o new file mode 100644 index 0000000000000000000000000000000000000000..07de0edb7323bba0da275357a9a5b53d1a9182ea GIT binary patch literal 2816 zcmbVN&1)1{5UGC1H1$TFWzzzJnY_g5!S<=#Ifr2tDcuQ}#4Rj<0ulF3vV_p^bK?X+7 z7=L3>1=^ecyun0N)*$|95mYEq_3d^#GI69il9>1o5aOsC_;#hd;4KD6-CAu_g5u=d zRAHvL9(sOIt^1+^hl2@g&8;;(%ddylQgzMqtzje&FO0~!O5G2_hFkSRYtgONyoGqy z$n~9KwlQVym1%Dyg>>nq@m!%WVGUoJZ~9@=Iw6jW+^F4@mVMVA7rEoY9*KC^rxK@b z&p~QEo7&&s)B7A3{{{I2YVHo{vzhF}u4-nel(8;nh9)!FLSLr0xO+x2$}vIFckF=w z689{fctQcv_?IMU%#_K&Q{52Z+ z-MSg$H1x-q!4(O@1zK2}Q{J zhnUX2&T~(Rr?bW~qyX{y?hSu~&ue_=R022}KcFxvOJV8*{bCWpt(DN72Z66!q?Z{r zyqYUQZ#@LD;D#=U`5*w%sFOkNwiw@P;x@_{>41o5K~(B1E1r*u@NxCTxtU9&LFiU) zDt~Xeyx4G8ytt?z2Ns5M&-E;MW$?M@Io=Pp_amS?pJzhpth$=ll}%@c*5Q5T{rg$* z`kqk81`R0syFs=^gC_LeQcg2ION%9lN!#c{9KBb%aQui)BIf!zPae6X_>;=vyb;fF ztS_o~v;LRLVcCec4EqAwN&R0{{r^MxQ~&Ap=K8t+*N~&7ww!VDQv|=~NJ%m6MPw;H z7fr`wzlx{*(S^U8bsZ-e>we>AL2A + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "EUTRANCellIdentifier.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ECGI */ +typedef struct ECGI { + PLMN_Identity_t pLMN_Identity; + EUTRANCellIdentifier_t eUTRANcellIdentifier; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ECGI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ECGI; +extern asn_SEQUENCE_specifics_t asn_SPC_ECGI_specs_1; +extern asn_TYPE_member_t asn_MBR_ECGI_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ECGI_H_ */ +#include diff --git a/asn1c_defs/all-defs/ECGI.o b/asn1c_defs/all-defs/ECGI.o new file mode 100644 index 0000000000000000000000000000000000000000..410c53a9d282e3a01fbd556834b60d52a74e08c3 GIT binary patch literal 2968 zcmb_dOK;Oa5Z=^0S{{AykdWXIP6UZqaa%zJ5=sf~1GTAXiPW3xxTcLr>?+=(_5!&e z@e?Y31wVoV7bK4T8F1tTGxm(LS)3xOj^xZY-_FB3yBWW?R~AMJ1;J7fPetEiR*2(^ zeOygoRZNI+Vb>Oy#oo$ly}Y~~gt8?MMbLP)K415Pb~~kBw}P%{*=74c24UQa!nmL6 zpGbcf-5!>}7`AW%KLTsNK~8Y_@1+t%TsXtLxPN>$;kk5%c_CG<900qetmu8^^U!$? z!Jevuz2F$+aSy6bmF>k^?QyZxXzqt{zxc?UH7jLnKe4QL)|^?HHLd$84-vx!Yn>B6 zbI;Tmc$0n(W8jTcK7W@6RLB!Uod1g+1*RazM1@w=NJA)pGFrbw{$yrx)5Oox!eE{; zb|27&xIAF9VI-%(R;q1KQ_B1A((*d!Ny4gX4&mPdk9m6JJW7ZEA>sS`<$inuJ}>|0 zA^f)?d@`6!UwCooKDQTKoKvp!c4F5`xYcYse<(W7Jx6{b@koDe5k?+w51$jxH58p+O6i2>oJcte zKSdbT7GcbDjWDVs!pL7IjOsgKB2e` ze+77?_m#MtcY(wD>bDt8u|>oj8j2JZ zjBp1YjORMYp&U^>o{uWjjwA;8J$RT?{l4fgM2osF+Ig;DiJT;T75v8G(f5yEQ2p$I b636tR{e^}idVQR6dGVXn|DF=rue}u`W literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.c b/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.c new file mode 100755 index 0000000..f8124c3 --- /dev/null +++ b/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.c @@ -0,0 +1,227 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EN-DC-ResourceConfiguration.h" + +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_pDCPatSgNB_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_mCGresources_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_sCGresources_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_pDCPatSgNB_value2enum_2[] = { + { 0, 7, "present" }, + { 1, 11, "not-present" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_pDCPatSgNB_enum2value_2[] = { + 1, /* not-present(1) */ + 0 /* present(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_pDCPatSgNB_specs_2 = { + asn_MAP_pDCPatSgNB_value2enum_2, /* "tag" => N; sorted by tag */ + asn_MAP_pDCPatSgNB_enum2value_2, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_pDCPatSgNB_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_pDCPatSgNB_2 = { + "pDCPatSgNB", + "pDCPatSgNB", + &asn_OP_NativeEnumerated, + asn_DEF_pDCPatSgNB_tags_2, + sizeof(asn_DEF_pDCPatSgNB_tags_2) + /sizeof(asn_DEF_pDCPatSgNB_tags_2[0]) - 1, /* 1 */ + asn_DEF_pDCPatSgNB_tags_2, /* Same as above */ + sizeof(asn_DEF_pDCPatSgNB_tags_2) + /sizeof(asn_DEF_pDCPatSgNB_tags_2[0]), /* 2 */ + { 0, &asn_PER_type_pDCPatSgNB_constr_2, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_pDCPatSgNB_specs_2 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_mCGresources_value2enum_6[] = { + { 0, 7, "present" }, + { 1, 11, "not-present" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_mCGresources_enum2value_6[] = { + 1, /* not-present(1) */ + 0 /* present(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_mCGresources_specs_6 = { + asn_MAP_mCGresources_value2enum_6, /* "tag" => N; sorted by tag */ + asn_MAP_mCGresources_enum2value_6, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_mCGresources_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_mCGresources_6 = { + "mCGresources", + "mCGresources", + &asn_OP_NativeEnumerated, + asn_DEF_mCGresources_tags_6, + sizeof(asn_DEF_mCGresources_tags_6) + /sizeof(asn_DEF_mCGresources_tags_6[0]) - 1, /* 1 */ + asn_DEF_mCGresources_tags_6, /* Same as above */ + sizeof(asn_DEF_mCGresources_tags_6) + /sizeof(asn_DEF_mCGresources_tags_6[0]), /* 2 */ + { 0, &asn_PER_type_mCGresources_constr_6, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_mCGresources_specs_6 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_sCGresources_value2enum_10[] = { + { 0, 7, "present" }, + { 1, 11, "not-present" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_sCGresources_enum2value_10[] = { + 1, /* not-present(1) */ + 0 /* present(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_sCGresources_specs_10 = { + asn_MAP_sCGresources_value2enum_10, /* "tag" => N; sorted by tag */ + asn_MAP_sCGresources_enum2value_10, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_sCGresources_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_sCGresources_10 = { + "sCGresources", + "sCGresources", + &asn_OP_NativeEnumerated, + asn_DEF_sCGresources_tags_10, + sizeof(asn_DEF_sCGresources_tags_10) + /sizeof(asn_DEF_sCGresources_tags_10[0]) - 1, /* 1 */ + asn_DEF_sCGresources_tags_10, /* Same as above */ + sizeof(asn_DEF_sCGresources_tags_10) + /sizeof(asn_DEF_sCGresources_tags_10[0]), /* 2 */ + { 0, &asn_PER_type_sCGresources_constr_10, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_sCGresources_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EN_DC_ResourceConfiguration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfiguration, pDCPatSgNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_pDCPatSgNB_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pDCPatSgNB" + }, + { ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfiguration, mCGresources), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_mCGresources_6, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mCGresources" + }, + { ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfiguration, sCGresources), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_sCGresources_10, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sCGresources" + }, + { ATF_POINTER, 1, offsetof(struct EN_DC_ResourceConfiguration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P137, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_EN_DC_ResourceConfiguration_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_EN_DC_ResourceConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EN_DC_ResourceConfiguration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pDCPatSgNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mCGresources */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sCGresources */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EN_DC_ResourceConfiguration_specs_1 = { + sizeof(struct EN_DC_ResourceConfiguration), + offsetof(struct EN_DC_ResourceConfiguration, _asn_ctx), + asn_MAP_EN_DC_ResourceConfiguration_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_EN_DC_ResourceConfiguration_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EN_DC_ResourceConfiguration = { + "EN-DC-ResourceConfiguration", + "EN-DC-ResourceConfiguration", + &asn_OP_SEQUENCE, + asn_DEF_EN_DC_ResourceConfiguration_tags_1, + sizeof(asn_DEF_EN_DC_ResourceConfiguration_tags_1) + /sizeof(asn_DEF_EN_DC_ResourceConfiguration_tags_1[0]), /* 1 */ + asn_DEF_EN_DC_ResourceConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_EN_DC_ResourceConfiguration_tags_1) + /sizeof(asn_DEF_EN_DC_ResourceConfiguration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EN_DC_ResourceConfiguration_1, + 4, /* Elements count */ + &asn_SPC_EN_DC_ResourceConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.h b/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.h new file mode 100755 index 0000000..5b45b77 --- /dev/null +++ b/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.h @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EN_DC_ResourceConfiguration_H_ +#define _EN_DC_ResourceConfiguration_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum EN_DC_ResourceConfiguration__pDCPatSgNB { + EN_DC_ResourceConfiguration__pDCPatSgNB_present = 0, + EN_DC_ResourceConfiguration__pDCPatSgNB_not_present = 1 + /* + * Enumeration is extensible + */ +} e_EN_DC_ResourceConfiguration__pDCPatSgNB; +typedef enum EN_DC_ResourceConfiguration__mCGresources { + EN_DC_ResourceConfiguration__mCGresources_present = 0, + EN_DC_ResourceConfiguration__mCGresources_not_present = 1 + /* + * Enumeration is extensible + */ +} e_EN_DC_ResourceConfiguration__mCGresources; +typedef enum EN_DC_ResourceConfiguration__sCGresources { + EN_DC_ResourceConfiguration__sCGresources_present = 0, + EN_DC_ResourceConfiguration__sCGresources_not_present = 1 + /* + * Enumeration is extensible + */ +} e_EN_DC_ResourceConfiguration__sCGresources; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* EN-DC-ResourceConfiguration */ +typedef struct EN_DC_ResourceConfiguration { + long pDCPatSgNB; + long mCGresources; + long sCGresources; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EN_DC_ResourceConfiguration_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_pDCPatSgNB_2; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_mCGresources_6; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_sCGresources_10; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_EN_DC_ResourceConfiguration; +extern asn_SEQUENCE_specifics_t asn_SPC_EN_DC_ResourceConfiguration_specs_1; +extern asn_TYPE_member_t asn_MBR_EN_DC_ResourceConfiguration_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _EN_DC_ResourceConfiguration_H_ */ +#include diff --git a/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.o b/asn1c_defs/all-defs/EN-DC-ResourceConfiguration.o new file mode 100644 index 0000000000000000000000000000000000000000..f3bc5252bcffa3ef411c4dfaca62f0b9ce8fb22b GIT binary patch literal 6392 zcmds6&u<$=6rRK>P57At2PBYi`B4HQt2m8l1QOcTb{ip@npP2r%i499BqH%z_PV4J zqCTOBzkm}e7sOwHdi0e8Qjb060I0_zap(=+H}l^5dAfF~h>+-$)-&&W-+S|B=I!im za=rTD+3Be%BQj;)H$zQOV{Se_?1#1+nqy|(JVt%+eIKp=#bVta^5_2+zq-CyDKB1( zyGgIpjLS*uv+d1Zr;%IsyGHqDX;YT&Tr&Qr|C4>2y*71s-NJ$;CA zDbz&q_Y-^YU&^CC{wghIQ7x!{U&#D@TwMJ9kn>FJs6ov^?G(gFZOA%!3v|hNh@*AH z&^oEP0v_T^oLo{4c+|th{|OI&kow4vf3949x45uzxz|d2#Z$pbu(Vj}S*`R{X*F0{ z2}*A|eBx4JeP_%cxo2r%%uU71l@N%rQD_zPJ1%<^Y95vgI1{6SY&6XWhepVf=s#RQSJHe9o+~ z|17uD#G6vM&io2-!T3O^929F;?t(i zxcL3d@%xNRKEE?QU|hzXrFFqN*BO`iZ!x~*;T4Ndn*rl8ZftQ{2O0+=Ysb-uXOrG+(~bnVR4b2~yY0A1 z8M+9V`H1t?#!fF@j$6Imu@o4WEl((z=*XOGl5S#Ijw1xl(NU1%h}EU&jL2}rs4^VG zPzgGQw-Giww;Ne@YM(eaM?h}M<}!08WTs3iuUxyz%Gn=KpmzH&)S^q(k2b37<*JcR zwI% zoS#0v=FFD=D)-UU6#kmR>k5Be;omA8?}!IU6IUSj>O!ojaIe*p=SpaK64 zC?snNxA9r;D;)e4%QohQ!cQ=U=C;DYKh3rS50^N1#^84qE;%C9J%wZaWqt8ngutxv zqQdD&&tyU2vUf0s3V$|Z57!Uz^}1~-zQ)@M*ZJ=$9C^xn!u}ZihQg75oi50a3fK7$ z6psA+Ad?&@9C=Ee+!=%4Rk+Uop2Cs;7J`%Dc?^;D7rdx&bO#`jEGS&(A1d6gKkxUf zbIanhdf)w65rg6*PRP0+NA5#uWq&U)U*;kB$Bg&61&;Uw*7vyuj`gXt?%$^p{|?*z z_;#XXllUPzB(vP2LHssAlA6M?zY>4T!zF(cbg%8Ejmy-g9oKG2FOBz76I^Me4HI1M zc1_SppnzElN~Fd+4QocvQ-htP*#Kx=d}AjOdo$VH#UH=|`U_YboLk>m?52(8=XNgt z=I2Fn#*}e}X$iHW`n)_Da-4d=xC}Eq6? zZodB}8S?Ts&pD4G`y+pRh5GqlCkzySoobjY3FGJc(m%dkGgwS&ihZV_9&*+bTj5r>}`W5;A6!IQqLHhCi{{}rpK(hb< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENB-ID.c b/asn1c_defs/all-defs/ENB-ID.c new file mode 100755 index 0000000..8382a39 --- /dev/null +++ b/asn1c_defs/all-defs/ENB-ID.c @@ -0,0 +1,226 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENB-ID.h" + +static int +memb_macro_eNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 20)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_home_eNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 28)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_short_Macro_eNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 18)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_long_Macro_eNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 21)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_macro_eNB_ID_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_home_eNB_ID_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 28, 28 } /* (SIZE(28..28)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_short_Macro_eNB_ID_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 18, 18 } /* (SIZE(18..18)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_long_Macro_eNB_ID_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 21, 21 } /* (SIZE(21..21)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ENB_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ENB_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ID, choice.macro_eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_macro_eNB_ID_constr_2, memb_macro_eNB_ID_constraint_1 }, + 0, 0, /* No default value */ + "macro-eNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ID, choice.home_eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_home_eNB_ID_constr_3, memb_home_eNB_ID_constraint_1 }, + 0, 0, /* No default value */ + "home-eNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ID, choice.short_Macro_eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_short_Macro_eNB_ID_constr_5, memb_short_Macro_eNB_ID_constraint_1 }, + 0, 0, /* No default value */ + "short-Macro-eNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ID, choice.long_Macro_eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_long_Macro_eNB_ID_constr_6, memb_long_Macro_eNB_ID_constraint_1 }, + 0, 0, /* No default value */ + "long-Macro-eNB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macro-eNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* home-eNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* short-Macro-eNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* long-Macro-eNB-ID */ +}; +asn_CHOICE_specifics_t asn_SPC_ENB_ID_specs_1 = { + sizeof(struct ENB_ID), + offsetof(struct ENB_ID, _asn_ctx), + offsetof(struct ENB_ID, present), + sizeof(((struct ENB_ID *)0)->present), + asn_MAP_ENB_ID_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ID = { + "ENB-ID", + "ENB-ID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ENB_ID_constr_1, CHOICE_constraint }, + asn_MBR_ENB_ID_1, + 4, /* Elements count */ + &asn_SPC_ENB_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENB-ID.h b/asn1c_defs/all-defs/ENB-ID.h new file mode 100755 index 0000000..8d08a18 --- /dev/null +++ b/asn1c_defs/all-defs/ENB-ID.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENB_ID_H_ +#define _ENB_ID_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ENB_ID_PR { + ENB_ID_PR_NOTHING, /* No components present */ + ENB_ID_PR_macro_eNB_ID, + ENB_ID_PR_home_eNB_ID, + /* Extensions may appear below */ + ENB_ID_PR_short_Macro_eNB_ID, + ENB_ID_PR_long_Macro_eNB_ID +} ENB_ID_PR; + +/* ENB-ID */ +typedef struct ENB_ID { + ENB_ID_PR present; + union ENB_ID_u { + BIT_STRING_t macro_eNB_ID; + BIT_STRING_t home_eNB_ID; + /* + * This type is extensible, + * possible extensions are below. + */ + BIT_STRING_t short_Macro_eNB_ID; + BIT_STRING_t long_Macro_eNB_ID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENB_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENB_ID; +extern asn_CHOICE_specifics_t asn_SPC_ENB_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_ENB_ID_1[4]; +extern asn_per_constraints_t asn_PER_type_ENB_ID_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENB-ID.o b/asn1c_defs/all-defs/ENB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..1ecc74db5fbd16ad29e2efa22224f4b4d649d6a6 GIT binary patch literal 5912 zcmcInO>7%g5PptJlm6hiKPiP4vPcvXgtu`h5EZF%>ZDmq`6K;NRS@fqv#C@3Q`zgP z1&O9gD~PH}Ie%Hn7`#sSyzv= zSyxs{ua8_=`|>V`_kuO|YuoVE*5PZ9W6qi9EZ?x^|Fq`+jjjyO|JZ+b?c}NXJ8ynH z-QGDM#MKjF>*jhe`or8$tycG{HTU<<(h?50cg`Y(#niVYwND2#oY_It(Y0SbU6?l8 zJ1=8+ll8?PpuWBLS6}bLsBiKC>f3&Q^}X>R^}SfVzUfQY@y1Ks-dSgTJL=c>owmMb zEA@RQSJwa82nzSBzGqb*w<3y?)|BaI*UxX!m^#R3tqs?8o8jljkab-`4Qz&gFXgh< zsOq}S@b4rB);ghS?stm0Xv&^)r;GcYOeP|Y!O_E!#DJL+`-%sRb55q@8o9h@oSr%7 z=8P@?_f2)nu~a@+^a{>Q&NHT+nT$JC9`z|i)=3re5m)kwbUy2{T}{0M;enh;XhsZk)Tzzn%sB5Cy{;2<}zYlbu z-&dT2Jy2t?_8l%)^LD7n;MuK8f4YmMCKx`@F zv9g6c6`bME!3e;}EX~XN;TGYBhW|$R3TPCL-vx2Vlay!$M>i@0_NdLGEWnl@PbGp~f!1RcZ4^G&Psj4aXW5}CE|l+PVd55mv7JSFx;LWqjX$`j~t%hNT2-Zc$|UaSvOUr z#^9WX6UXeM$0ib^_~iTV1=M&ZbinlweO&b-2!i-7xEQ~LAc!7+&4(ra1lSz^je@KE zYYMLNKTG>l=Z`43%0HvvDt|%2Res#xC_4YQ3a;{R!oWK59SW}UI|{DWlT~n)-)Hy# zPvBX7kO2G+Lcy|BoZktEKZOA#G17?dAsdxNHsX99BgF3w#GgihBuN_aXUInN3E7Bu zl8tJKY{c=cG>ZlZpRefBtxJ4W{#Nd*pZwnyT;*>gK2*qWkRMiXDP=8H_KI|DlG*XuhvBoa+&0@j}*fCP8}zU#HnBxEaUv-1D9=ryS1_=47!b z%t9U=43C<9)ov7A%#i_LX|9>cryK+&gD_M1Y}U;IJN)%>&7slbk)r3M-k~fvZBG}R ztV@OePh~(pwgP*uN{pP6+FZbRJvbJhIs8VCF+h5OJ~d{k&zOfMKi|74?s>v-kEpUj z^R7}pj~Q%`ehD;k>iG)|{y1oKA_}>P@p~UkDV%SR&x-43o)`?&%U`1TFLEMj&SQ=H z6>Yu#7=3!Jb0Fm#q*;xDQLq2uc0Zzv`iT9h}3GdoJ`%^&A^aDM#i(&sM%hVyINOeAUk7>uc6s1Dfg!G-xf8oo&RxIa|kcCx+F@eQr!y=0Mt5NcSXM j40ArNiN5y$63g@#<$LXhH5b0&>*p^~{Wp+I5k3Du9 + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENBConfigurationUpdate */ +typedef struct ENBConfigurationUpdate { + ProtocolIE_Container_8180P28_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENBConfigurationUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdate; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdate_specs_1; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdate_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENBConfigurationUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdate.o b/asn1c_defs/all-defs/ENBConfigurationUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..6b724d956fc3bcaf9e9b5d504db8c8e542e0a7f5 GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1y^lRB#F6K#}Mwjw%s>giM3mf}jmlk+`{zF>OR@NAX623*^R? z8$EL1#)Tt4fdhvg`57R70L<9C>2$M3sEo8bGv9vmuy?(F<3C)Us#HKr1@6GUr%`~$ zv3=XiO%G;Z8vM1TW|}jln3 z57?Cd2>i4@n`7N^00+!&ij)qn*u=pKHgVwS1bhjR3Y>&7@@|S#A zB7!hWf_wgQVE^(08E$2Po3kF>ZT*E+k9&$&o-I$a-U>GS$8CSD>4P?cC`~ds2)l_a zN-aGpD^>Ke(Q1|vvVI)tmZ_E2`0fbsYLQqY9s~`yQESy3>TS~50k&HJC)A3G>vv1| z^f($|j`8U_sci9AkXwi$m7*XZ3IHvR_2QqDRK zE}n9(au97@Uu)u#ZPp(lM)JK-&jwn!L^FG*JUafX%5xSm8s_uUAIsc(gkV>Jb4DMAi~kaP{1^59 KN0f|-8UF`cM#^3Q literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.c b/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.c new file mode 100755 index 0000000..57b54a4 --- /dev/null +++ b/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENBConfigurationUpdateAcknowledge.h" + +asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P29, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENBConfigurationUpdateAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateAcknowledge_specs_1 = { + sizeof(struct ENBConfigurationUpdateAcknowledge), + offsetof(struct ENBConfigurationUpdateAcknowledge, _asn_ctx), + asn_MAP_ENBConfigurationUpdateAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledge = { + "ENBConfigurationUpdateAcknowledge", + "ENBConfigurationUpdateAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1, + sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENBConfigurationUpdateAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_ENBConfigurationUpdateAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.h b/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.h new file mode 100755 index 0000000..eef144a --- /dev/null +++ b/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENBConfigurationUpdateAcknowledge_H_ +#define _ENBConfigurationUpdateAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENBConfigurationUpdateAcknowledge */ +typedef struct ENBConfigurationUpdateAcknowledge { + ProtocolIE_Container_8180P29_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENBConfigurationUpdateAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENBConfigurationUpdateAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.o b/asn1c_defs/all-defs/ENBConfigurationUpdateAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..7cb0d6c0ee8fa1bbc41fd411e58df3af601ed15a GIT binary patch literal 2744 zcmbtV&2G~`5T4Zh|Fs1UNL&IEqDXWVS49MnklWxE5VV0R72@K$u1Tw=b`@{Cm>DXSKuHO1!;Ys= zfX|0^Y%e!G7=dB%=ca3E@@%cyX@_zxO&Xgkp^T@Z^(1}KidUNP4sB1C*^BA-OFC$r z&L2YOFN%)s*S?DhDq50$eJPxJ(8WV%vz^K`N?Z5*3}CiayICGVpv`;ucc|s*xw3uLleM zqlQ0M^FbLwlqQ*Mhii!}8kl}OKm$dy3-#InvDs!Esp(O#_3pt6@Dh_)Ic^74w_2%B z+~D<4iq4C^Yme}NiK{gtd{~iDpVQ)L7pl0iJ~-VQB$P+Rl3%A63gM%Ad*zZVs@@Ep2;v;=jQjJ&LfxRuKm{XY+nBE zeNn6~7tkThy!kvmNV84;WgMe#y;uHK+4EG9zM4Iw-G1#QK;^_ z+_ehh7Am@M!w!sxV)vvNBlTM{TP=!V9YEP<{G) znDqn1sFe9fd&l+9;+QTYx`TET9||?U{|Dxqe-wsu4yAg|d~=>3Igr*@7n8q*g9_8* ze%e4wEQOhKr#!!yuk&EUW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.c b/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.c new file mode 100755 index 0000000..fd88b3d --- /dev/null +++ b/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENBConfigurationUpdateFailure.h" + +asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P30, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENBConfigurationUpdateFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENBConfigurationUpdateFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateFailure_specs_1 = { + sizeof(struct ENBConfigurationUpdateFailure), + offsetof(struct ENBConfigurationUpdateFailure, _asn_ctx), + asn_MAP_ENBConfigurationUpdateFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailure = { + "ENBConfigurationUpdateFailure", + "ENBConfigurationUpdateFailure", + &asn_OP_SEQUENCE, + asn_DEF_ENBConfigurationUpdateFailure_tags_1, + sizeof(asn_DEF_ENBConfigurationUpdateFailure_tags_1) + /sizeof(asn_DEF_ENBConfigurationUpdateFailure_tags_1[0]), /* 1 */ + asn_DEF_ENBConfigurationUpdateFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_ENBConfigurationUpdateFailure_tags_1) + /sizeof(asn_DEF_ENBConfigurationUpdateFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENBConfigurationUpdateFailure_1, + 1, /* Elements count */ + &asn_SPC_ENBConfigurationUpdateFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.h b/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.h new file mode 100755 index 0000000..b6ade22 --- /dev/null +++ b/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENBConfigurationUpdateFailure_H_ +#define _ENBConfigurationUpdateFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENBConfigurationUpdateFailure */ +typedef struct ENBConfigurationUpdateFailure { + ProtocolIE_Container_8180P30_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENBConfigurationUpdateFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENBConfigurationUpdateFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.o b/asn1c_defs/all-defs/ENBConfigurationUpdateFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..861a375a32a1d96690015f1b8a3946fc25fd636d GIT binary patch literal 2600 zcmbtVOK;Oa5T4Y$A1y^3kPs+6Q4n3lr4kiL$TYYG1Zkj()SK%X(?+Cr6mKLr0R0IZ zdxw9(kAP#29653WegVv^ca!PHX`qbcoo~LKm%R_a^B*ryluBTv1b1Oz85Uss*Z_M9 zdN2i(;MbO_Y4W1E)$N3`nI?_)^H9diVYAik#L(`fGL6#KLq8jY{}Zx%vF%aG{??Dj zPoVJ|g>(OlA7FwCOERi2!&47jJTg|Q)!XIS#%4E>-SRE5AS!ciS6S{`cTrRpgnKRL zdFVb&`H#S_!gq5DR~*0ryPG_vgEK|qV1*)a;OG!NgG>od!Z|&|BON$CiFao}_jjsB;G_&3N*vp%=A#|PBBmI?ecg8z&><=NGa>stR%{NTOJp16z)QP(?C->^(o#*40b|0HtC0(rtYyQ)QU#t3HKoF%#COcs> zk$K^zXJZQI4X)LzWBjsq9GTal{_6efCBREaV#T-AT(L~YQ3Lj1Hs`LL%k@#h)eV?6bL zMce$n_U&?!z21@GCJ0=bTyGmB<5v;{-rFIF%`5}aNy#8jSGZ`#tx!!9vP{uRqmW1y z0wPLxc4Az3k)$#fE49X4Cd23@>-=!=5{A(?V80=i$W!C+K)zgN&>+sfxjgQ~upNID z=jhuWHvR_2QqFmNxOm#Q&Pl|kzR~1I*si~e9Ld*Q^~Z7_<=_q~x?{cE?2q5{#rsn; zXHe6AGW*Ev`&HzM>Tl=~k&vH@B@LS0n9rw^a0L-pyFwCe}RQ7QY6^j_D$fOA~< z*&==mA9A(({HWt;eYj{^#Sq`d$8g-QS40;0lAGN- + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCCellActivationFailure */ +typedef struct ENDCCellActivationFailure { + ProtocolIE_Container_8180P100_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCCellActivationFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCCellActivationFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCCellActivationFailure.o b/asn1c_defs/all-defs/ENDCCellActivationFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..58c0e86a37b9253eea585941e60ed6126fc83d9f GIT binary patch literal 2576 zcmbtV&2G~`5T4YOe_Dz-AP`cxKoN8mSCyzhLN2aTK+qbhNZeeg>xE^}Q zru@g?SLwT1r8^E_f!R%w(!!ZCv9Lm!STH>XUqz$_r{KJt(IYK5F~)C7zM4>R(srIQSe|VJyZkBSa6!(H(TIWYIuV5Ihf%dx*i5xMG55(2w8ajlTHjT-QOgRehz2N48mi4>6MOg&L0ap;Z|7P|;oL6z*_5kQeMviJV1E=SiI- zb?!G1E33aH8*IpUrRvI%`Z4OV`rqV7sp?RDx(&_x0b*3j{PTR2^)KR_F8a4c_%=R7 zHT(P`<7t0%k+6s%yo-;*bl#v0Ea4K(?49zc_yd{e9AfmC?@xa+bMFy?eF@$&`Y>E^ Qr + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCCellActivationRequest */ +typedef struct ENDCCellActivationRequest { + ProtocolIE_Container_8180P98_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCCellActivationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCCellActivationRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCCellActivationRequest.o b/asn1c_defs/all-defs/ENDCCellActivationRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..7ed4740f58bf753589674cb1d7c5e265081010ca GIT binary patch literal 2576 zcmbtV-A>d%6h2GEe?^QJMq{$xC>oh;35lyFrdSGU6e@(oyHaWc#HEGptkE0g5lp<{ zUf)3>pLTxwA$T@7QmcWH8a#xaXHbCfc+d8f z>A@JBhhSmW_tREuCXt(OV!4@TOX*H0EhKEWbD1Z3>q$`bLjT#ad$IjN3ICSI<44f> zjl!}2wI5@G21_!iFN0GLTs(5-egA%aVr8w9$xi*Qm==vmx1&7wz1tLxY2n@~aUOce zru@g?SLM4ol`9V5fZa`*(!rT3aj-&_I564=Uqhq@r{IE~;gJrU=;P06zL_v_*^W0eSr&Y> zG^AkJ)N<$#;S}3xV%n#k!tPZP`FSR>QreE1ZnF{IYwGW76zy}q+fM2U8#mva@be}Z z^<~DVU1E3>18_RuB$Q`NS>+IFn{bnZpj8@B2p?BgIqYeh@QVyTU^u+>)>euO zF0x#vVt!#|vXF7|nst6O^D2hXH(?L|3F+W*U=%&zM(u$VzwQB6X)pL9yR_B z#!}8He7JbpxxqoSO?{(@N48ym7cr9WrRt9Lu2mWjP|;oLm2P+3*B9(hjhsbI`^oGh zv+oxXtE#`M8*J!!qw2=c`YGzF`rq`SGEy3qM%)U{{Fj^jENop2N%xKSO5S3 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCCellActivationResponse.c b/asn1c_defs/all-defs/ENDCCellActivationResponse.c new file mode 100755 index 0000000..9ab2fb1 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCCellActivationResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCCellActivationResponse.h" + +asn_TYPE_member_t asn_MBR_ENDCCellActivationResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P99, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCCellActivationResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCCellActivationResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationResponse_specs_1 = { + sizeof(struct ENDCCellActivationResponse), + offsetof(struct ENDCCellActivationResponse, _asn_ctx), + asn_MAP_ENDCCellActivationResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationResponse = { + "ENDCCellActivationResponse", + "ENDCCellActivationResponse", + &asn_OP_SEQUENCE, + asn_DEF_ENDCCellActivationResponse_tags_1, + sizeof(asn_DEF_ENDCCellActivationResponse_tags_1) + /sizeof(asn_DEF_ENDCCellActivationResponse_tags_1[0]), /* 1 */ + asn_DEF_ENDCCellActivationResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCCellActivationResponse_tags_1) + /sizeof(asn_DEF_ENDCCellActivationResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCCellActivationResponse_1, + 1, /* Elements count */ + &asn_SPC_ENDCCellActivationResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCCellActivationResponse.h b/asn1c_defs/all-defs/ENDCCellActivationResponse.h new file mode 100755 index 0000000..c4faa67 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCCellActivationResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCCellActivationResponse_H_ +#define _ENDCCellActivationResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCCellActivationResponse */ +typedef struct ENDCCellActivationResponse { + ProtocolIE_Container_8180P99_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCCellActivationResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCCellActivationResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCCellActivationResponse.o b/asn1c_defs/all-defs/ENDCCellActivationResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..db3548ee8e1b9a1e31efbcce4897b553b879acf2 GIT binary patch literal 2576 zcmbtV&2G~`5T4Zh7g~xqAR(b}qDXWVSCwc%LN2abK#-bNk+`|8vD%8%j^Yi13-l4V z(FZ`{6_9v=9&_Z#Bft~DjJ@kjH%@>ul6SxPcK-I)@4ct16SW#>slfvnXqpA^&kV4W zLkFf|3cTiu>&ET&awPX&hjK4XHsY+4CRq%fZYt9#Z9n$1f$zT}vldey74L8Dxc>wy zzfd^$zxWXbXs{ro>e4*bz{MeD&2{h9XItC7ME2@;#e!(e*}Yt|-`R_zu^{Z*1-e#Ddd9^bKTca2_tJ5$lM@8c+OuUXk)D|@;#LwiYXbu%7{tDy!jHg?4UFm#Y z$4;}z-tNnA8w74g(eG*`<2Mq-%TR_OwzCXGHzkEEZDFGtx5IpxkfDlp8ihpWE+C?G ze?P{}7D*~&vDR$OWipIjvC2;dX@0Z@?01s~a`JY#AzLmtQ6bKJp&V|+u<3sb$7pR& z>VF4)Dds$WTpXoPd@ee_?j0N?Z00{ej^ta>m2JI51-OqLy`@f}mhF*xV1Fp)BKCBi z^f}V!ejT~0{9CHPhVs{4T?5rW!M-a07xfF!c_=@<@@D=3IZ9>zc|NH8S8sOH#wq$13PI0vVk&1H(Ir_}`(;v> + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCConfigurationUpdate */ +typedef struct ENDCConfigurationUpdate { + ProtocolIE_Container_8180P91_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCConfigurationUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdate; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdate_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdate_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCConfigurationUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdate.o b/asn1c_defs/all-defs/ENDCConfigurationUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..b734060a570000c17e81be6b228a44f0d60b3948 GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aAR(b3AyFjy6jzl9AR*J#Eg(n(RU|goaZMVL*irl#5 z*{SKk9L$1SU#->R=w+up9Qd*mN6r4WFGJ`LVi^Z<_mP`S0uN!Cy_kMc%Kzo*@iXZB zMbWXN+7B^7MN3lDm%^zBT^w@OYqh)Og=T9Q$zl1nSQeE*`;4@Ul(Df|^8^ID%f%y^GlucZP%7T{kHr#vGjzF_?$#V7Mpd*Tn`dHIVDmI%O4 zB5&1Q^9qihC;fKf*(vSmgT_I$rLfDy1M;PbHX7ch`>g5KYc43m3*sn|1HTi=tk}x) z!eUuFn~ho_Bk6~MYMZ)gj4u!m?-z+x!hu({tChwbo4+Y3+SmH-I>loquD&thv&0Z!+cg!pr*mAx8l6RvU)v_&rz!sk;fd+oAK_(cuh({P%X>QA57zTGR5 zH$CaMK;TkjdPi9@d@VuXb?k#^B?*W@Ob#(^VWS&%{dAZt!xh~)@Ci&qKm>8G7ve&T zD3+mEuQwMH=?8RbjwabX0HFO|(u7VyTKZnPTtkO2^G0%Xl4hInH*k!;?P23@VJzib z!bcZ}o$ES?wyLi*@yIsoj}RmInW^!+Jhn399xA#!oy;A-zw(9pi;;7vX+Nobr1sSY zVtMtqxWNj?D^*qo>&K|`>VM`#sp?RDy8X=h9%59={L_5k`j>D_7yWDz-o}ThW}lxp zp4LYfhSM0r`}inK=k4WzIb5Qdy;B|)|DE%kM~ohG{`BWE*B&9*W$>!ehvBAoN?!ao M{{ACMrimH<55sWGh5!Hn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.c b/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.c new file mode 100755 index 0000000..180ebce --- /dev/null +++ b/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCConfigurationUpdateAcknowledge.h" + +asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P94, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCConfigurationUpdateAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateAcknowledge_specs_1 = { + sizeof(struct ENDCConfigurationUpdateAcknowledge), + offsetof(struct ENDCConfigurationUpdateAcknowledge, _asn_ctx), + asn_MAP_ENDCConfigurationUpdateAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateAcknowledge = { + "ENDCConfigurationUpdateAcknowledge", + "ENDCConfigurationUpdateAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1, + sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCConfigurationUpdateAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_ENDCConfigurationUpdateAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.h b/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.h new file mode 100755 index 0000000..9538bac --- /dev/null +++ b/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCConfigurationUpdateAcknowledge_H_ +#define _ENDCConfigurationUpdateAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCConfigurationUpdateAcknowledge */ +typedef struct ENDCConfigurationUpdateAcknowledge { + ProtocolIE_Container_8180P94_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCConfigurationUpdateAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCConfigurationUpdateAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.o b/asn1c_defs/all-defs/ENDCConfigurationUpdateAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..abc7769d7ce25141a6b6dea37281dcb89d9a6ec3 GIT binary patch literal 2744 zcmbtV&2G~`5T4Zhl;5_%0f|cx5)_H9;;IsXO2{R33kcdk6{$DJbxm3|wX1l;&xQ5@ zkl@Gz@BrN4$c-yUBslO0@B}bp&!)>}BcgUB@63EV-^{Fc*WUFXE{v2)prizMVBb?H zz^7yTwwIe8jKdiCOY^l_nmpZXbvvQlOq0gWdMM+$Xe&vdx8wCzyw5v`W%gqFgK`cV zr}Ib9`GcZkhqdovf{K=8P+tnC9(3{0+3BP*jnejgKLc2-)ozz38*AM}cFQ-#jHpbx z-Q06uxm8h_5$^Q@*VFXbRPPA+{BWk?|Mf@@V|Bg82+2cT3 z56LKQ%!IaHb#`VEx8)z=0*VO2ED7fQh2a0UHIQK|3*4OXXs$jaV>)g#XSgbP`sI4C z;y-TqOEn*q5kzT{$xgVL$fAY2Pljos=y#=F8zwm0i6gZ{YPa6IUIBi|B-V~QLDj8R z>bGW!O~H}wi+*ZHdB()m9uYpqF{CcCO*oxG6*oBmr|$*{#j9BI>olMcK9O6+&}5tN zb8M4($2Q^T*(UXsZNl|auCME#+aj`;+cI1Of!kB)4Q0vrg#>}0{Sd@jmVxM`Tt|-^EFV z>2W`7pe2^V%(YXVpUhYKEMoMS?~nel=GjFEJ~P-f`Y_!5+hyZV^8US{WSW@#zbwP> AG5`Po literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.c b/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.c new file mode 100755 index 0000000..d0b7270 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCConfigurationUpdateFailure.h" + +asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P97, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCConfigurationUpdateFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCConfigurationUpdateFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateFailure_specs_1 = { + sizeof(struct ENDCConfigurationUpdateFailure), + offsetof(struct ENDCConfigurationUpdateFailure, _asn_ctx), + asn_MAP_ENDCConfigurationUpdateFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateFailure = { + "ENDCConfigurationUpdateFailure", + "ENDCConfigurationUpdateFailure", + &asn_OP_SEQUENCE, + asn_DEF_ENDCConfigurationUpdateFailure_tags_1, + sizeof(asn_DEF_ENDCConfigurationUpdateFailure_tags_1) + /sizeof(asn_DEF_ENDCConfigurationUpdateFailure_tags_1[0]), /* 1 */ + asn_DEF_ENDCConfigurationUpdateFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCConfigurationUpdateFailure_tags_1) + /sizeof(asn_DEF_ENDCConfigurationUpdateFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCConfigurationUpdateFailure_1, + 1, /* Elements count */ + &asn_SPC_ENDCConfigurationUpdateFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.h b/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.h new file mode 100755 index 0000000..08b1521 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCConfigurationUpdateFailure_H_ +#define _ENDCConfigurationUpdateFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCConfigurationUpdateFailure */ +typedef struct ENDCConfigurationUpdateFailure { + ProtocolIE_Container_8180P97_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCConfigurationUpdateFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCConfigurationUpdateFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.o b/asn1c_defs/all-defs/ENDCConfigurationUpdateFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..9763a18e03f842b89b66ee9b2004cad778f4e27d GIT binary patch literal 2688 zcmbtVy>HV{5Wm!Xf3*b$BnAQu6p22?Riy@ykRf$j5VVFW5}WH7(?+Cr6gvnO+JPNL zMmGKg76x_}#*U1PMPi3L`(E;Rc_CGMlHc9^-tX?-^ZVLzA1;iQN+6{KccAY{6kz*E z-*$4-fe9D~cX_^6OXBCv^=>D~nn_%5KMS&GA!xR`ov0r(%+hP={$AsT@l<>aoj)il zc2Ii>6I7HW!^SUh8iOhhI_*x9C1KLK@1_8Ywc4%nRK3xSvu=4#%!3l0y!R}d+|aojV7sF4;N9pHP+ zmmM;Wd<*lK#DWth82P7$;3o(0ZA2!O@ozBW6KZt~48!Lk_&3BU&o&dEvi_ap{rOfH zzlsZH%0J?Oi4cM`_UGLN|Nke^&w};Tw{!NRyWSqyGf|8AqqFB}S3G~!eOz~!Yc5E` z50f~}IzcneiqiLan-AhBBt#qlvAQ1dc9-h+M3m*Id)J2S?xhv08p3TYI!G^f1TtXJB8}C<(^d-w^7ku z>=bUV{mB>fE+eN=)2%M+%X6@Tn5n+QKdQp tbEiCCIsOOhGl + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCPartialResetConfirm */ +typedef struct ENDCPartialResetConfirm { + ProtocolIE_Container_8180P104_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCPartialResetConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCPartialResetConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCPartialResetConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCPartialResetConfirm.o b/asn1c_defs/all-defs/ENDCPartialResetConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..7ea8e18b178e9b2e94346905d98fbae1757b0741 GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aATbamB#K0z;wlmmNXRsG3kXuvDiWLPxTcLr;wXNRV1eu` zjFng!*jO1E8Oz3>0V5OK+4qvy7rR33N%r0S-tRu1--qA1PgiG3B~Vg=2Qcvz3gDd5 z?9_B%4rak^tkk_=AlpG_BT6D!k9#lMgD&(3v5dpG^Vm%$fk&{+UQE9z<^S^Z_!)Hm zqUhLh?MIlPq9rNnOX1XmE)F?s_4>W?LbEmO$zl1fsEW#>Jxo3Otz8q9s<3ZoxE^}I zru--1ckbM*+!Y6~!0aYVY2iqoSXd!XEI2s@Uqhq>XWL~Gv1@tYpKAG1^5@lDbI+BFIfLb@yWc@p7?`!UjCwkB|-?2 zp1!!Qq*DMA^Flo>z=>qK5x2>x(mwi!?>5oLD25Wtl08K zVX>^8O|M?aNcvHz+NN&2@de`Jog%SHH1KP7t>W30Dt}Z|w6FEub%uvbTzzB0XPHCl zD%*t9u28&%0-Vk>3GwGrD|>lt6RvU)v_&rz!sk;fd+o7J_+<^>*KnGb>QA57f!!;T zH(eRDK;TkjdRJL8dM!b02QmQBN)ix*m>go-!bUgh1nDqYhATR87!a6-fC%GmH^PM$ zy;w$KtgRzuz z2_Ib?c5dn*+N!?N#3S3RKSGS;XQsyQ^4Q9Z`>5#dbTW7R{>m5XFGen)rv0S$k=j@5 zh~?Ga;sz@muT)tXte>FHtN)n~rK&^q>Gm`0`-o8~^H1}E>tDe!UG%d>_zpfqHT(R; z@w7g=Fr3B^-p5B_I&VJ@%;6Hv?49zc`0t$OB4YHI^QS+Tx%LRb9)s77J`6X#Q}W`! M@%JB5GEL0*e}Gxb=Kufz literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCPartialResetRequired.c b/asn1c_defs/all-defs/ENDCPartialResetRequired.c new file mode 100755 index 0000000..0aec384 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCPartialResetRequired.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCPartialResetRequired.h" + +asn_TYPE_member_t asn_MBR_ENDCPartialResetRequired_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P103, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCPartialResetRequired_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCPartialResetRequired_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetRequired_specs_1 = { + sizeof(struct ENDCPartialResetRequired), + offsetof(struct ENDCPartialResetRequired, _asn_ctx), + asn_MAP_ENDCPartialResetRequired_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetRequired = { + "ENDCPartialResetRequired", + "ENDCPartialResetRequired", + &asn_OP_SEQUENCE, + asn_DEF_ENDCPartialResetRequired_tags_1, + sizeof(asn_DEF_ENDCPartialResetRequired_tags_1) + /sizeof(asn_DEF_ENDCPartialResetRequired_tags_1[0]), /* 1 */ + asn_DEF_ENDCPartialResetRequired_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCPartialResetRequired_tags_1) + /sizeof(asn_DEF_ENDCPartialResetRequired_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCPartialResetRequired_1, + 1, /* Elements count */ + &asn_SPC_ENDCPartialResetRequired_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCPartialResetRequired.h b/asn1c_defs/all-defs/ENDCPartialResetRequired.h new file mode 100755 index 0000000..6e9b576 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCPartialResetRequired.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCPartialResetRequired_H_ +#define _ENDCPartialResetRequired_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCPartialResetRequired */ +typedef struct ENDCPartialResetRequired { + ProtocolIE_Container_8180P103_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCPartialResetRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCPartialResetRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCPartialResetRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCPartialResetRequired.o b/asn1c_defs/all-defs/ENDCPartialResetRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..ea625e78e5a7263aa9ba7e2f1f47dabed2fe0fb6 GIT binary patch literal 2568 zcmbtV%}&%%6h1@!{{b;BG`biUL`>vniX=`nG1Z}fMxjDT+?7%qAkMTny_4uhc>`Ut zbK?V;_yR6jvNAq~K7pQdd+yBTPD>O|(tFPN?stCL`_uRSv$>I44YbtYAq+f?0xX;w z*q$;y7=uyp7iU{R)Ro&&dpXGyxtzT2ZFiFm*y(06i?j9>92-b?QZT9C5*l?O}2 z5anq&>(7N%XD^h|W*)kV_xw?CByT!tGxMm7D%DaDuJ|uj{l%6K+6dz;&1E;*PGwQ< z@p5&!qNA0dRZYovl32G+4F&yMBy44=#5zegY`V=x;5P2^r&Wsfx4FyC@T86FZ%z0p zb4Xofn{e74nm1X2)43)g{+P0gAz+(uor9n?8c+xyS5`6Xu}%1813xfudarBjo9}gK z7mNIDM@H))a5)OSr7fAfksvlA8G%^Oa}eE(9Adh{MK@_jYMLy|740mJ2vi{;;;hq2 zaIr<2$wbUAu1@7LieDL>AJ4pwVe}1*-;7G+sd0E9t|>RsAeK9sr+)u&s~t{);srR+b>N3MSb=S(rr7U7%t z5Y_JUGsn~Vn8L7%A$$iPjhVcIGO&b8G`n}oqvQ8E&qc)OvEQHmVD{Q01bYllSbbQo Rx>L&H_xbzpQZhsA_&+W7&rkpW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCX2RemovalFailure.c b/asn1c_defs/all-defs/ENDCX2RemovalFailure.c new file mode 100755 index 0000000..5bc3ee5 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2RemovalFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCX2RemovalFailure.h" + +asn_TYPE_member_t asn_MBR_ENDCX2RemovalFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P117, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2RemovalFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2RemovalFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalFailure_specs_1 = { + sizeof(struct ENDCX2RemovalFailure), + offsetof(struct ENDCX2RemovalFailure, _asn_ctx), + asn_MAP_ENDCX2RemovalFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalFailure = { + "ENDCX2RemovalFailure", + "ENDCX2RemovalFailure", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2RemovalFailure_tags_1, + sizeof(asn_DEF_ENDCX2RemovalFailure_tags_1) + /sizeof(asn_DEF_ENDCX2RemovalFailure_tags_1[0]), /* 1 */ + asn_DEF_ENDCX2RemovalFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCX2RemovalFailure_tags_1) + /sizeof(asn_DEF_ENDCX2RemovalFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2RemovalFailure_1, + 1, /* Elements count */ + &asn_SPC_ENDCX2RemovalFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCX2RemovalFailure.h b/asn1c_defs/all-defs/ENDCX2RemovalFailure.h new file mode 100755 index 0000000..78413c6 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2RemovalFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCX2RemovalFailure_H_ +#define _ENDCX2RemovalFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2RemovalFailure */ +typedef struct ENDCX2RemovalFailure { + ProtocolIE_Container_8180P117_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2RemovalFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2RemovalFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2RemovalFailure.o b/asn1c_defs/all-defs/ENDCX2RemovalFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..5652f6956316f7655988f9b1c697f668577459f3 GIT binary patch literal 2544 zcmbtV&2G~`5T4ZhLtBbKLgErm6p60ls8S<9$dEb(1ZikhsW;bgt+pbGqu4=kp?L#1 z<_-srJOd|=J@N)z;R#@7J)3Md8wrJxyfgF7@BaGOe^Hw&6hKh{9>G{sC_w4lSoWmo z!6GbxUth28mbc<|@+NH6!lPEd7elv~WJ#2?p84rGYBtI2#nh)|{Z~Ideh!sCNILev z@>5Ju(vnQ;OX1XmP97;6)$0A?@=mkg$@;}Lu_{U{ZeMEdd$%G=tHQmT<9g^Rnev~3 z-`2S~)*T0M!0aYZ>7d0%4py*{17|1Tn}`(PB3xyQ9_hgO3IB)euM8@VbO-a;$bri? z82v9z;7vr9v_22n;~2SKO9g(If`3As@(kE(&y#l##Enj++we3nPiI1MzHO_+VSgEACwS8Nhi&E;ZY~c%RJe#m&v=> zZdC2&v>QjNRcfL!dNG1((#bG?+zTphrPOfUHC{r==p5^(=>i)~T&*eL3+zLT&K(iq zbPAN;GJ!}YPWP9H@I@)*LxW|)RStsoXh0%-NlN)JWSQ`58h)bTG_M=1>+?EwT1EP< zorO&hxD7c!R8khd%|PsjSqP$;rXYF=Ddg!27uC2GN;64@Dq2Yt5-3AJL`l0H<0gwv zlEq@9zO#~MVf0$-d^YhGhS3^mzZ03rljGz-zB=7Tg)s94@^mLnHskN0jn;P7_7?o_?xB%nv;F`vq8~XMjm43a3lEUdTj}NMX#Bzt=r2aDAgA-B&XGFz zn~2%!?{R}Aj#sRx1m@3?+v*SbQmQ&spI$q&et;O2GXE?ex&C#u>7?H+!VmBxSF_L0 z98deB6T>ow@GgD|)BR3tpv9Nm%-$)FivP}e<`JXMoIm}k%)Lhlh78UdeHf~IQ*7~H MdHn~JOd~V?FS%a90ssI2 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCX2RemovalRequest.c b/asn1c_defs/all-defs/ENDCX2RemovalRequest.c new file mode 100755 index 0000000..6938348 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2RemovalRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCX2RemovalRequest.h" + +asn_TYPE_member_t asn_MBR_ENDCX2RemovalRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P111, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2RemovalRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2RemovalRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalRequest_specs_1 = { + sizeof(struct ENDCX2RemovalRequest), + offsetof(struct ENDCX2RemovalRequest, _asn_ctx), + asn_MAP_ENDCX2RemovalRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalRequest = { + "ENDCX2RemovalRequest", + "ENDCX2RemovalRequest", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2RemovalRequest_tags_1, + sizeof(asn_DEF_ENDCX2RemovalRequest_tags_1) + /sizeof(asn_DEF_ENDCX2RemovalRequest_tags_1[0]), /* 1 */ + asn_DEF_ENDCX2RemovalRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCX2RemovalRequest_tags_1) + /sizeof(asn_DEF_ENDCX2RemovalRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2RemovalRequest_1, + 1, /* Elements count */ + &asn_SPC_ENDCX2RemovalRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCX2RemovalRequest.h b/asn1c_defs/all-defs/ENDCX2RemovalRequest.h new file mode 100755 index 0000000..bcf198f --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2RemovalRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCX2RemovalRequest_H_ +#define _ENDCX2RemovalRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2RemovalRequest */ +typedef struct ENDCX2RemovalRequest { + ProtocolIE_Container_8180P111_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2RemovalRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2RemovalRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2RemovalRequest.o b/asn1c_defs/all-defs/ENDCX2RemovalRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..8a9a6be6847a2a33c918e55ec8e096e6235ec3c1 GIT binary patch literal 2544 zcmbtV&2G~`5T4ZhLtBbKLgErm6p60ls1g+*WJuitf;Oaz)SK%Vt3@Pni8lx?G;aXM z-r>NJXW+!KN8W%dJORwCXOrz_BcU*ocV@o%-CrMsPuFHjCD2rY`!Lcp3Q##Uk^?0M zFb{JOZmia}tBtgiy@}h6^mRYYCG7VynI&2KahQ*yrjzVmY<*JJfAurtXHfZrWMcm- zKf(kRBgv$`G)_I36p*rBtKBItHe3C!?3ZtgWl>r3`%3fQ`zxZdEc}}VZiXI{DgO!h z?VOwE+;IR8>~4yb9$H-FVFed?aB>X3ibx60!bP^2ksh2L^S{Ub+Mwe|_b`u(JUH)y z(f`~S-a=%-=yQ)f4v?F*bl`^x_$S0E&ww4bnSWFGXkPkE{6yT9-+8e_0&(7rR>QT( zb?+h>@8*%Oe4ah1PxPs#ZT6a!Nu}7VM_b|ZX1GxcK?_lmb#vK^Uv_0t=3&EKrs!g; zUUQrC{WQ_7QWN#zixJhbuEhLlFIw?eDs|uYc?lJxb8McbGi-HWYkMOEP^cLA;1%45F3iAbJ@oz+F244s6s#_S*MfYCW~$+ zQ?b6$T*_sfyfQkUPP~R;vH3-nXe8OLKR}G=N5O_;c_`iFcebseftubo{#LX1k;f0mD2|1#Q4GVd1QyZDi--REbH zr~NUBVHHF8K7JZA{f=Cq! + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2RemovalResponse */ +typedef struct ENDCX2RemovalResponse { + ProtocolIE_Container_8180P114_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2RemovalResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2RemovalResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2RemovalResponse.o b/asn1c_defs/all-defs/ENDCX2RemovalResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..c884861df655f3f93887bda9271eec6283cffc65 GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1wuhKwJVBibPj&6^RI>%8AHcCk{sa>I0+?CPCfm(gLSZED%zXRJ!`_GA`j1ydZW=?cpJYjtv>*EEIBY7*?8WqplKv}CkDo#3 z4~mZcul)cMRJ0^TeJPxJ(8VKXtzN%VUfA3jbhAPEwy28AqC1eD`^K$_N>#Wwb6gKS zWK;el@Z0)sj&;QW95B1dQ#v?f69+5U#DSv|@D)T#a1ze(j2`L0@d^Gi^VNikBj3S1 zHgVvz4MzT{2|Pw*Uh8v@8ShZ*wN&7T0{k=LlxN7qE!N*8K7KE?Cw?Ms%WpqeB7!jO z1}pw*U_E$27Vf5jD@jl8HH%40ahqv{xnz>{X0YKu-SiuEACwV9c*e7S_`I9th3>Zs z3gwM#H0uTPX)lgcyVOT>bZrFnq?=)dxF6KqTBYf_RsN8yXg}+_>O=vqzAf=*nM3L_ z+l13@P`rf#oX#-`@#mzK4^6fSS2+mUrU8ZUd1>XtKHG$!*YE=kr}w(VzW!c^cCAQX zcd~E?1TICc_mq{zuQCwN!Yl-_lcpg02|2`cg^O<74&^jihAY}h6cQ*yKtxHW6XQaQ zZj!}ft+Bb7W?}R~>wG%%Du&TF(0(g2ktfH=fw;O{Lx(W)Ch~NWW}ERhaE`w1wDGqv zmU1rPql?GRbsa=o)mNH$WSjMeh>`rr)o3h_tlYSZitbD=cSqwFzDR#Dat1Z+C$*2% zzF$YoR)3ottZ=+iWo58_gxXgBBOgjthw9U=Q)cQJ?8t + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2SetupFailure */ +typedef struct ENDCX2SetupFailure { + ProtocolIE_Container_8180P90_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2SetupFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2SetupFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2SetupFailure.o b/asn1c_defs/all-defs/ENDCX2SetupFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..f8c21a440de2a1846ca9bb2a35241b224d032194 GIT binary patch literal 2496 zcmbtV-D(p-6h7(t|I=C(5xg*7S-}q3P%tXUYPzY4rqNR9MPa*Lm!_CxLw17oMsp$f z3W6`;rH|mHmx3>$PoU?_&Pk?|2}nJ#bI$qZJ3l)!JNrI-)|e}mfTaWvVB#@~`ozQz zlo`MR%tP2*t#4H~QaS85;{DEWkV1cu$t=k_Pr`f>Gt07T+5W%A&ElE(96EncOzeN{ z$C#jEB$?Ge(T1jmu@VIG%waMlGQ z|I8G=jmVb_8gHcU8n&Zx*!q;2TM)+bgY}P|yBTBMfE(h^`PZlK}y>yi*>Tk5_ zuF1TgCfp*GZ;kJPsGjvC=1vDu&97BjcX@T_jDWE#0H^eN+BmNv;q#h9>Z-O0r(I{> z(hQuwR}$hcD61G++9sTH5VS)B3gL^&Duz$mCj6p-e>ZUYDlTc?e6K^NQ{->EGTsG& z%U|d=TQWV6AYR2X2CQ?b_E zT+U^jyf!*Nnt2VwXbp_tgGv;rae5%GDL2p|%)W5~lVsR-{7syrwLNP5ZH%RyReVed zv~%4A(dPQBiAT0we+My=AB7r^<*`*5_fgT^7!>Y!JkS^BFO8f-P3MWv5uf{Y#9Z|Q z-C#w>vnsQp^;6WY`fYusa~-Nrx0_u*LX1k;f0Dkge;MaYF~2Rs_wXUA-RB1#Py1tv zhE)vVeS8=*d0$+hgG)5Kcgn-@-*leyh|y!eKmD2Py+;TR7_|DZTy>`~mEu@Ndi_TX IXl=*;1;IeMga7~l literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCX2SetupRequest.c b/asn1c_defs/all-defs/ENDCX2SetupRequest.c new file mode 100755 index 0000000..fb495d8 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2SetupRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCX2SetupRequest.h" + +asn_TYPE_member_t asn_MBR_ENDCX2SetupRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P84, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2SetupRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2SetupRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupRequest_specs_1 = { + sizeof(struct ENDCX2SetupRequest), + offsetof(struct ENDCX2SetupRequest, _asn_ctx), + asn_MAP_ENDCX2SetupRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupRequest = { + "ENDCX2SetupRequest", + "ENDCX2SetupRequest", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2SetupRequest_tags_1, + sizeof(asn_DEF_ENDCX2SetupRequest_tags_1) + /sizeof(asn_DEF_ENDCX2SetupRequest_tags_1[0]), /* 1 */ + asn_DEF_ENDCX2SetupRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCX2SetupRequest_tags_1) + /sizeof(asn_DEF_ENDCX2SetupRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2SetupRequest_1, + 1, /* Elements count */ + &asn_SPC_ENDCX2SetupRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCX2SetupRequest.h b/asn1c_defs/all-defs/ENDCX2SetupRequest.h new file mode 100755 index 0000000..091f117 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2SetupRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCX2SetupRequest_H_ +#define _ENDCX2SetupRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2SetupRequest */ +typedef struct ENDCX2SetupRequest { + ProtocolIE_Container_8180P84_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2SetupRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2SetupRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2SetupRequest.o b/asn1c_defs/all-defs/ENDCX2SetupRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..cac4f96ebad989e176995b710eb08299e11c8341 GIT binary patch literal 2496 zcmbtV-D(p-6h7(t|I=C(5xg*7S-}q3P%tRSYPzk8wy`15i^6uZF0GhkV|Ie^MtdRn z3W6`;rH|mHmx3>$PoU?_&Pk?|2}nJ#bI$qZJ3l)!JNrI-x;9rT0ZR$)!^C40^@)ic zC^LWsn1^sB_!N8vkrJGS3wp+k^x)(azoz*-!Exk!n8zg^oOQv- zKQo2zAhKxmxvv>-P@ADqg>N>ZX861nZq!3yBTBMfE(h_;o-9f{+;WvD>Ngv8 z*JR#L6K;{pH^%osRL^=6bEku-=GQ8X+KOH^IwN503cx8nW8=JrgwKzo0j?T++I8kF z&A{nGprw8JiaswU0>>DRANrr95-^4ju+oQ(c##qW(#mAID zJJ(GRZLZIncx2o4cM&7`QK<1)9$STR4;9^wLE(<4#Hf`0C+X|@mvPP%^V=eP4YK_r(P|xJ0vir#u}0P3Jj}7(Mp;)1S%SdxT)bpw)-vsyl_L6vuL)*Z+V4 Ht?l@~ld`&Q literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ENDCX2SetupResponse.c b/asn1c_defs/all-defs/ENDCX2SetupResponse.c new file mode 100755 index 0000000..7cda47a --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2SetupResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ENDCX2SetupResponse.h" + +asn_TYPE_member_t asn_MBR_ENDCX2SetupResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P87, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2SetupResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2SetupResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupResponse_specs_1 = { + sizeof(struct ENDCX2SetupResponse), + offsetof(struct ENDCX2SetupResponse, _asn_ctx), + asn_MAP_ENDCX2SetupResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupResponse = { + "ENDCX2SetupResponse", + "ENDCX2SetupResponse", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2SetupResponse_tags_1, + sizeof(asn_DEF_ENDCX2SetupResponse_tags_1) + /sizeof(asn_DEF_ENDCX2SetupResponse_tags_1[0]), /* 1 */ + asn_DEF_ENDCX2SetupResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ENDCX2SetupResponse_tags_1) + /sizeof(asn_DEF_ENDCX2SetupResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2SetupResponse_1, + 1, /* Elements count */ + &asn_SPC_ENDCX2SetupResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ENDCX2SetupResponse.h b/asn1c_defs/all-defs/ENDCX2SetupResponse.h new file mode 100755 index 0000000..dda64b2 --- /dev/null +++ b/asn1c_defs/all-defs/ENDCX2SetupResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ENDCX2SetupResponse_H_ +#define _ENDCX2SetupResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ENDCX2SetupResponse */ +typedef struct ENDCX2SetupResponse { + ProtocolIE_Container_8180P87_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ENDCX2SetupResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ENDCX2SetupResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/ENDCX2SetupResponse.o b/asn1c_defs/all-defs/ENDCX2SetupResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..7d22dddcbd8fe1f436ff2714cd868f452ca98f69 GIT binary patch literal 2504 zcmb_d&1w`u5U$N=jDLv{LBY#>dnya!_9p%c8O950vG<^P8fvEc|;VZn~b* zDgHV5<6N6pv0EP4)s!JU@J_|nhKCtk;=%a|_$DGXxCqyH#`N^y!UTVn`FcY8k?mm| zmw0g51tb5`1RfzWZ`66rjJG(NxwPY_3j7P=6lci9Js!U)e7r7wCVnCAitoBOB7wN* zMQh=DT5 zBxMOZ?Ur-4$kRlZNfoq5k3rPRdJ?0j{ix|T8|~%_?;Qlg&>Q-?zMywb|gyw|R36|!Z)8xKqkhN_=Wj-?;7I35pCf(l zw-BRR?EC>2*uXhc>ZXDEGiIbTYhhw{@aXXmH)l~UP%l$`VH^N$oI=G`LT2pduD zIzO;KeIHX8Rz8I1*feJHzPdmMmuPnF6i54i=Qvjpqh_z4{!sSbBLpW5PFr + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EPLMNs */ +typedef struct EPLMNs { + A_SEQUENCE_OF(PLMN_Identity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EPLMNs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EPLMNs; +extern asn_SET_OF_specifics_t asn_SPC_EPLMNs_specs_1; +extern asn_TYPE_member_t asn_MBR_EPLMNs_1[1]; +extern asn_per_constraints_t asn_PER_type_EPLMNs_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _EPLMNs_H_ */ +#include diff --git a/asn1c_defs/all-defs/EPLMNs.o b/asn1c_defs/all-defs/EPLMNs.o new file mode 100644 index 0000000000000000000000000000000000000000..815013cfbe4e83e1654d2def7e9da9a5b534693d GIT binary patch literal 2272 zcmbu9!EVz)5QZmlfdVbi8xj|DB1m+Jt4bh{kk#N6P@9H?NJt!vlUlTbIHBH1%>@uo zQ6vt$0eu9H969nDJVBYUXPjl@Ug${4Kl9DZuD!e7kHJ>6TB(3o1s=gH5(@C`+|2hg z*N0_Tf;#%wXQ@)}gsm)DMYzB}%FEnWDJZd^y|vv+OA@Cb8Bfx7EZo-rsk>$ma)#Ka z-pxkifm`eKCyAc8_td(ouX>X#@;-R?RefD~w{w2#O!OWL@aLqgz$sSy->d_)EA!@n zGY^qC*$&R9954SrE zD!5$NW(`rx>fa-$@jr3hOV-aBpRL;x^Dn4n<3N6p)c~S22_FZ|FbAQI-lU;t(Jb6) zhuz?LFK9J_aHpA}cF+m+bR0|bV3ef#0NcC43#kc{V~v247*HCpU$7-|HTTOK|c*_rPM!A9gv=-;BaeOP5kZMi4i2*VD z%lElx%qrrF!+Hyq_Sx<~w(2Cb=f8sqVrx>sD*fgeqLlQD`poS4e;_COolEiW7GCZ= zM4>y%&%@%s#uwKjPek_`ofCN;Ip@!iQOWFPzyR%t`^@`~xE*(pQE8o$hJEFJS|8IG z7whl}lfulppJlM5mdfmBr*WkJn8&${jDGg})6H$KJt8<{_?-g7?8l;SvaG+(myrFL H*!_P2zGIE` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItem.c b/asn1c_defs/all-defs/ERABActivityNotifyItem.c new file mode 100755 index 0000000..3b1e90e --- /dev/null +++ b/asn1c_defs/all-defs/ERABActivityNotifyItem.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ERABActivityNotifyItem.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ERABActivityNotifyItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ERABActivityNotifyItem, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ERABActivityNotifyItem, activityReport), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserPlaneTrafficActivityReport, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "activityReport" + }, + { ATF_POINTER, 1, offsetof(struct ERABActivityNotifyItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P138, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ERABActivityNotifyItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ERABActivityNotifyItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ERABActivityNotifyItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* activityReport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ERABActivityNotifyItem_specs_1 = { + sizeof(struct ERABActivityNotifyItem), + offsetof(struct ERABActivityNotifyItem, _asn_ctx), + asn_MAP_ERABActivityNotifyItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ERABActivityNotifyItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItem = { + "ERABActivityNotifyItem", + "ERABActivityNotifyItem", + &asn_OP_SEQUENCE, + asn_DEF_ERABActivityNotifyItem_tags_1, + sizeof(asn_DEF_ERABActivityNotifyItem_tags_1) + /sizeof(asn_DEF_ERABActivityNotifyItem_tags_1[0]), /* 1 */ + asn_DEF_ERABActivityNotifyItem_tags_1, /* Same as above */ + sizeof(asn_DEF_ERABActivityNotifyItem_tags_1) + /sizeof(asn_DEF_ERABActivityNotifyItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ERABActivityNotifyItem_1, + 3, /* Elements count */ + &asn_SPC_ERABActivityNotifyItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItem.h b/asn1c_defs/all-defs/ERABActivityNotifyItem.h new file mode 100755 index 0000000..b869b56 --- /dev/null +++ b/asn1c_defs/all-defs/ERABActivityNotifyItem.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ERABActivityNotifyItem_H_ +#define _ERABActivityNotifyItem_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include "UserPlaneTrafficActivityReport.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ERABActivityNotifyItem */ +typedef struct ERABActivityNotifyItem { + E_RAB_ID_t e_RAB_ID; + UserPlaneTrafficActivityReport_t activityReport; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ERABActivityNotifyItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItem; +extern asn_SEQUENCE_specifics_t asn_SPC_ERABActivityNotifyItem_specs_1; +extern asn_TYPE_member_t asn_MBR_ERABActivityNotifyItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ERABActivityNotifyItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItem.o b/asn1c_defs/all-defs/ERABActivityNotifyItem.o new file mode 100644 index 0000000000000000000000000000000000000000..a80a25d5e94048a70a9820d3bf93b62134bb3824 GIT binary patch literal 3096 zcmb_eOK;Oa5Z=^0%Bv3^qJm2}(MrU`Z6zWQ$ZhIA5VWBsQg5zn+%_VyD|?Gt2|)CvCUd#^^3WBL1o{65us1WOe zJ=so0TMUaK;jGTg&iJzNt|1SWBiYzGSdu|Y1SP;rOLM}bxz%7dilt~cC1+m-VbX}g zq!%$?($}Kvd7ehz#0mHS%>4#B!Q{WEuxuC3FfQ&N#|VteXBZbkWl|Z?F=a-tE1!ps zvkTT#C9DPeAdY)bZEV&Ts@2EE@%rXoDEEqw%xSY+vi4HV`e0Se^0aA9ba3#(o^WFsqh(oN0s$sKBTWO@b2mK4S+2C2yl$kCWk>f{Nohw?U(m8 z2J=~QCUWpv4xZDPOka3O=*~IwZg%H#rMI29R%-QfrgnnWWYGM#UDV=W`6<&}D>Zk` zc~y6otBzp7^`S}1*lUEcv!2=2y!CVzyjH8`86>-b-?tPO8nlZIn#xg6g1FZ7!r*o6 zZEZDtZtB#y*{l{vGV-Hlw~JS!P{Im>*sV-XSv6~_LMPo}c--n&z|V+|^O++)tVH16 zgE-z^z9-{kqvMMT&M^_HDflSK$TmpEIM+!=c1SYfH%LZyL^9&IuiK>mQt+E3BO6CU zAhs{2nh=W$ev2?&_2GUX%;caYy-naU?(iL!WUw!V`Nor;FgKG# zm~n&(T3V(BYS8r3X_Pe8Y(~C^VCo`FKWeoCxSwVi$-rD#u9p(&`EO~}r)PJ;6-$Bd zg-W)nC^D6;i`)YVF}-8kU5kD}_rDL*So72RKLB5hISE50o0O+22r}nqj&>;P`P+aY zePY9oDvHFJJplpV1e*ck>r_zen@Cq-;63B}#rJ6iu&n$=daTPZuToJ}Kz|w0M+IJ%m4rY literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItemList.c b/asn1c_defs/all-defs/ERABActivityNotifyItemList.c new file mode 100755 index 0000000..32ac998 --- /dev/null +++ b/asn1c_defs/all-defs/ERABActivityNotifyItemList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ERABActivityNotifyItemList.h" + +#include "ERABActivityNotifyItem.h" +static asn_per_constraints_t asn_PER_type_ERABActivityNotifyItemList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ERABActivityNotifyItemList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ERABActivityNotifyItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ERABActivityNotifyItemList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ERABActivityNotifyItemList_specs_1 = { + sizeof(struct ERABActivityNotifyItemList), + offsetof(struct ERABActivityNotifyItemList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItemList = { + "ERABActivityNotifyItemList", + "ERABActivityNotifyItemList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ERABActivityNotifyItemList_tags_1, + sizeof(asn_DEF_ERABActivityNotifyItemList_tags_1) + /sizeof(asn_DEF_ERABActivityNotifyItemList_tags_1[0]), /* 1 */ + asn_DEF_ERABActivityNotifyItemList_tags_1, /* Same as above */ + sizeof(asn_DEF_ERABActivityNotifyItemList_tags_1) + /sizeof(asn_DEF_ERABActivityNotifyItemList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ERABActivityNotifyItemList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ERABActivityNotifyItemList_1, + 1, /* Single element */ + &asn_SPC_ERABActivityNotifyItemList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItemList.h b/asn1c_defs/all-defs/ERABActivityNotifyItemList.h new file mode 100755 index 0000000..7533969 --- /dev/null +++ b/asn1c_defs/all-defs/ERABActivityNotifyItemList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ERABActivityNotifyItemList_H_ +#define _ERABActivityNotifyItemList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ERABActivityNotifyItem; + +/* ERABActivityNotifyItemList */ +typedef struct ERABActivityNotifyItemList { + A_SEQUENCE_OF(struct ERABActivityNotifyItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ERABActivityNotifyItemList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItemList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ERABActivityNotifyItemList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ERABActivityNotifyItemList.o b/asn1c_defs/all-defs/ERABActivityNotifyItemList.o new file mode 100644 index 0000000000000000000000000000000000000000..9153f383c7409c239eff3400d5d5c86b8f37dc70 GIT binary patch literal 2432 zcmbuA&2AGh5P&CH3I)nfZb%@soG22tvZxXWB(!bVw4joPgh)snmQ7e_1o=_cLF58` zjGlOg9y#y;aO;sHM-E(gf->W^H?G$SsEo9pnQvxnuh;f|47RGpLIIQ%;66+}MFISi znk`Hp&cPCt(Y`bdS*=4UwqOzAY55$9+a`etL1S%wt;4(Tx_nX_@b0V0Lmv0Gx(Pp0 z{m+g$jOown=s0=)tj>=ezSIdio5t}$Tf=wJ)$lC_#mi; zvrj|Fqt{93iOhP?2>E0f&r9zN`UxM&g2(HPdAVt?&3a{CQZkG?Y6A18D(1Ld51YZ0 zR#2-1;dT|8!BbRWI;*JL=YM(SY{h9m>$^&QIg_h3Cw?KTp5A4|&uV;G+9vlkPP^Zg z{-(y&ScK{trz>?=`Y)uW{`FI|r}2`sNgZgM-uJTffhCh3kJ_mDDAha4;_-V9>}A9w zVC^IUHX4vanI7}djo(HhOqPlQ>kN9m7{37P4|vQrYOR%oN1Zon!2i=UZ+d6#_aZv< zMVoIZSC?z(m}^FHpBj{5sOwapigO*%MGv`kIsQP``51r-n_?YicH@>;{ Zh+t2`vM~?C#eaak{y<(r<}oqr{{T7+&Dj6| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EUTRA-Mode-Info.c b/asn1c_defs/all-defs/EUTRA-Mode-Info.c new file mode 100755 index 0000000..097cbe5 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRA-Mode-Info.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EUTRA-Mode-Info.h" + +#include "FDD-Info.h" +#include "TDD-Info.h" +asn_per_constraints_t asn_PER_type_EUTRA_Mode_Info_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_EUTRA_Mode_Info_1[] = { + { ATF_POINTER, 0, offsetof(struct EUTRA_Mode_Info, choice.fDD), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FDD_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fDD" + }, + { ATF_POINTER, 0, offsetof(struct EUTRA_Mode_Info, choice.tDD), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TDD_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tDD" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_EUTRA_Mode_Info_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fDD */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tDD */ +}; +asn_CHOICE_specifics_t asn_SPC_EUTRA_Mode_Info_specs_1 = { + sizeof(struct EUTRA_Mode_Info), + offsetof(struct EUTRA_Mode_Info, _asn_ctx), + offsetof(struct EUTRA_Mode_Info, present), + sizeof(((struct EUTRA_Mode_Info *)0)->present), + asn_MAP_EUTRA_Mode_Info_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_EUTRA_Mode_Info = { + "EUTRA-Mode-Info", + "EUTRA-Mode-Info", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_EUTRA_Mode_Info_constr_1, CHOICE_constraint }, + asn_MBR_EUTRA_Mode_Info_1, + 2, /* Elements count */ + &asn_SPC_EUTRA_Mode_Info_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EUTRA-Mode-Info.h b/asn1c_defs/all-defs/EUTRA-Mode-Info.h new file mode 100755 index 0000000..97e9912 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRA-Mode-Info.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EUTRA_Mode_Info_H_ +#define _EUTRA_Mode_Info_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum EUTRA_Mode_Info_PR { + EUTRA_Mode_Info_PR_NOTHING, /* No components present */ + EUTRA_Mode_Info_PR_fDD, + EUTRA_Mode_Info_PR_tDD + /* Extensions may appear below */ + +} EUTRA_Mode_Info_PR; + +/* Forward declarations */ +struct FDD_Info; +struct TDD_Info; + +/* EUTRA-Mode-Info */ +typedef struct EUTRA_Mode_Info { + EUTRA_Mode_Info_PR present; + union EUTRA_Mode_Info_u { + struct FDD_Info *fDD; + struct TDD_Info *tDD; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EUTRA_Mode_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EUTRA_Mode_Info; +extern asn_CHOICE_specifics_t asn_SPC_EUTRA_Mode_Info_specs_1; +extern asn_TYPE_member_t asn_MBR_EUTRA_Mode_Info_1[2]; +extern asn_per_constraints_t asn_PER_type_EUTRA_Mode_Info_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _EUTRA_Mode_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/EUTRA-Mode-Info.o b/asn1c_defs/all-defs/EUTRA-Mode-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..e50404fb79f846f678684b866e3597582b9fa4ae GIT binary patch literal 2752 zcmcgt%}x_h6uzaP_y<;9n7A2NVq$MvLL$+`47TORfJ_iJZiZ+PT<8c)(W-}%np{qL*R;_OhVq(n;UfjYK?C4Kf7 z`v&@IT#czSgc0xN*!B+=llF&CYi)I9rn=PIh^q_T&7Rt9HdRW$|1CqOY$)>_rFi6E zs;5l-ZJ1pbYy7Y3x=kmDxXk3R)-^?hU2 zU)HB}ZA#Z~XMCPg1h5{%>U-hZmIqE>R-tTmWUyLUl?O>;%G9Aq%4(#Drg-a8aKu&8 zC3P;3_i}{#$Gk-of5A3$Tvq3EEMSU2#Tw5xI~GaHK1wX~Q~Fh`bqLsbNV+Kgjfo#o z@I&5bO1&dpvF1C?{72G7bv~cKE9Zjij*60QxHJ=l#uMV|hq(G-8f{I+J7L`fG+VQ7 zfZ>;eura^9&}bPeXsv|lK|gjw!%nZ8qname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 28)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_EUTRANCellIdentifier_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 28, 28 } /* (SIZE(28..28)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EUTRANCellIdentifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANCellIdentifier = { + "EUTRANCellIdentifier", + "EUTRANCellIdentifier", + &asn_OP_BIT_STRING, + asn_DEF_EUTRANCellIdentifier_tags_1, + sizeof(asn_DEF_EUTRANCellIdentifier_tags_1) + /sizeof(asn_DEF_EUTRANCellIdentifier_tags_1[0]), /* 1 */ + asn_DEF_EUTRANCellIdentifier_tags_1, /* Same as above */ + sizeof(asn_DEF_EUTRANCellIdentifier_tags_1) + /sizeof(asn_DEF_EUTRANCellIdentifier_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EUTRANCellIdentifier_constr_1, EUTRANCellIdentifier_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EUTRANCellIdentifier.h b/asn1c_defs/all-defs/EUTRANCellIdentifier.h new file mode 100755 index 0000000..fb42a27 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANCellIdentifier.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EUTRANCellIdentifier_H_ +#define _EUTRANCellIdentifier_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EUTRANCellIdentifier */ +typedef BIT_STRING_t EUTRANCellIdentifier_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EUTRANCellIdentifier_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EUTRANCellIdentifier; +asn_struct_free_f EUTRANCellIdentifier_free; +asn_struct_print_f EUTRANCellIdentifier_print; +asn_constr_check_f EUTRANCellIdentifier_constraint; +ber_type_decoder_f EUTRANCellIdentifier_decode_ber; +der_type_encoder_f EUTRANCellIdentifier_encode_der; +xer_type_decoder_f EUTRANCellIdentifier_decode_xer; +xer_type_encoder_f EUTRANCellIdentifier_encode_xer; +per_type_decoder_f EUTRANCellIdentifier_decode_uper; +per_type_encoder_f EUTRANCellIdentifier_encode_uper; +per_type_decoder_f EUTRANCellIdentifier_decode_aper; +per_type_encoder_f EUTRANCellIdentifier_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EUTRANCellIdentifier_H_ */ +#include diff --git a/asn1c_defs/all-defs/EUTRANCellIdentifier.o b/asn1c_defs/all-defs/EUTRANCellIdentifier.o new file mode 100644 index 0000000000000000000000000000000000000000..10bd97ef743fb260b999c2ad4660dbd6740bcbff GIT binary patch literal 2952 zcmbtVO>A355FW?0F->utmP4dg>N~WMNX^!-ibNFt;AjJZVKn|R(zm`h9-BRy|u;y&fWt^>@?wjvz z?S8Y56u$0k{+TIn50)RiLOwUnI+5V?o;tmM?45G&x9R=e)%SZpfAC#>_{6|fxiJkwT=0UHU3F`IJ-FaCn-fx)U0Gh7UMTv_W~t`4!bZK}cSIG=1yj~-ui5pj zRy(w=H*WhaYYf42wQ)IDZMTB3<272LRreZAzZTCX1vGPc5#2mXQ-6^dWOJN``C@U( z8e3WGw!*IUhL{xj3A-yb`y>03$WID;Ji_5svPVjNxCp5`xzwrSgPDi8_#|Rn+ec(D zlg(`oxY^Ni*1D1%ozCWp$FiCEp;a86p#_PP+4G3@^AbEsJlk~QO$JEgFNx9^DT&f> zBnieSN1uahk40IGB2U4~vAw=hTEk-l6w)xHtFfGpP9xSycuQ)B^PHCW(YWSP#bHk2 ztm`}t$8=T7@8WnutEW6W#BSm@0{#82OKX5nk>`}Gv(Hf((du7OliwpxvWKLHfG-Ol zp*u4>=O#_Np?5uSZ4l*Ro`#Dw*ol$c{tNuikaF^J#eJu=>@F=YmKNqEQkh+J!@IZq zoLkfm^{&w*Yo zg1Z}`w*~?mXvEi9>iA7hg#MinM9m955NkmIqSGdY%x!V$po&*T`bYzmcosypy|ID) z90c}nU(7G8Oa!4{(P>lDctOgdx#TNA{LKUEJeb3WE9i%&(mTFWWqMu5XSeOUD#hRpg8Bx zaSDhh`CnBAmkodRW4^5X&HQ(i!MfpZ89K#Js{fv<|BkY!`ct>${JH*D5u>FJ+;P;$ z6rlfKAbjYbs*V`>=V?--^U9yjMi3wM6B5^n>PLN#{TZix%(W4MFBSMqB|MB6y&cn^dYXCm2*G1j_+LrU$lU)3&L#PO Nt@8g&^Ci*r{}%%RKVJX< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.c b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.c new file mode 100755 index 0000000..fdce789 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EUTRANRCellResourceCoordinationRequest.h" + +asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P105, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EUTRANRCellResourceCoordinationRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationRequest_specs_1 = { + sizeof(struct EUTRANRCellResourceCoordinationRequest), + offsetof(struct EUTRANRCellResourceCoordinationRequest, _asn_ctx), + asn_MAP_EUTRANRCellResourceCoordinationRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationRequest = { + "EUTRANRCellResourceCoordinationRequest", + "EUTRANRCellResourceCoordinationRequest", + &asn_OP_SEQUENCE, + asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1, + sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1[0]), /* 1 */ + asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EUTRANRCellResourceCoordinationRequest_1, + 1, /* Elements count */ + &asn_SPC_EUTRANRCellResourceCoordinationRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.h b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.h new file mode 100755 index 0000000..f41a5cb --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EUTRANRCellResourceCoordinationRequest_H_ +#define _EUTRANRCellResourceCoordinationRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EUTRANRCellResourceCoordinationRequest */ +typedef struct EUTRANRCellResourceCoordinationRequest { + ProtocolIE_Container_8180P105_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EUTRANRCellResourceCoordinationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _EUTRANRCellResourceCoordinationRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.o b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..281518d7a8bdda3a1b52d4a4ee30c61e4ca17297 GIT binary patch literal 2776 zcmbtVy>8S%5T1+q|4RZCNKhOV0g;s*1#toiIT$AaL2_I;DV^guRuXZs!+8&phU5*P z`jk-RhW?R+z{-d%gwe>yu-tAUmpJb(jFqX7FS z4s16!T^NH=@Y^q1GYc&*?sQslmiD?)?4@aUZ8HhwW}39(SG_os2i(J2W-q2cDBrMg zoIirj9~6%LuRV_mY?fqDUmB+#xVY$ScT<^0Y3H$@0nB;cz4}CZwU@|V{jQi6_N3Fx zJ?E{{5cafiZWcIC(`Qq?WAM9jtybj;0IPb4yy2_m zWfq&klK;HzFL*v^BZ$%@lihGLkwq&HTf??e^uE;eh9zX%aio__tvAbS7kFtRv4^-D zG@ORrbnH87yGlj(iJ$6IYR1I%9uhuUvH`BJcsivzZejpV-xU(dqhrZ$(ttwvcy1NL zin0m6sBBVno=FJ5lv~B{RoR5|Tfo=#&utRf&Xx>ULEv^3dP7?>ej`Dwg)#)Onq?rm zDLEABhz7cGC(NhGGF;I~qmaOyqIE%aKt$=*R*YvuB&m$W+(LUYlVS9dE#!#iRpimy z*>5k;ROb$9icM#(h-u4R;H-99?xuektTUYJzlqeGe89tE#`EUX-o)TGh3o^b^!o^=-AG zx(?N+zl&KvK#WS6f4ujq{$-rwGR7UW*YTlH^ZkEReDjZ^;G9FLUMs%2&QB_k_Lqyv z-^EFd@wo3*U_~s2nQNy!KNMf<3y9HUzCZdin`ajx_^iMkqYuN)zg<=Qd9{Daxz F{}(}C`}zO? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.c b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.c new file mode 100755 index 0000000..41b7fd0 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EUTRANRCellResourceCoordinationResponse.h" + +asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P108, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EUTRANRCellResourceCoordinationResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationResponse_specs_1 = { + sizeof(struct EUTRANRCellResourceCoordinationResponse), + offsetof(struct EUTRANRCellResourceCoordinationResponse, _asn_ctx), + asn_MAP_EUTRANRCellResourceCoordinationResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationResponse = { + "EUTRANRCellResourceCoordinationResponse", + "EUTRANRCellResourceCoordinationResponse", + &asn_OP_SEQUENCE, + asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1, + sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1[0]), /* 1 */ + asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EUTRANRCellResourceCoordinationResponse_1, + 1, /* Elements count */ + &asn_SPC_EUTRANRCellResourceCoordinationResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.h b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.h new file mode 100755 index 0000000..52526f5 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EUTRANRCellResourceCoordinationResponse_H_ +#define _EUTRANRCellResourceCoordinationResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EUTRANRCellResourceCoordinationResponse */ +typedef struct EUTRANRCellResourceCoordinationResponse { + ProtocolIE_Container_8180P108_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EUTRANRCellResourceCoordinationResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _EUTRANRCellResourceCoordinationResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.o b/asn1c_defs/all-defs/EUTRANRCellResourceCoordinationResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..a9a2557f3219882a58e90ba5fe9fb5769f4a5b0f GIT binary patch literal 2776 zcmbtV&2G~`5Z=`M|Fr=QNL)o|?!$*q~l?qc*VRzYqr%=ZB zPaN2OVft)}O|r1{w7Ia-4AM@gndYM3OVU7y-o|zo%WaVXwj;7UJs=;_GJ7%oQR&8w z)APz9+gDyTeJ3S#qB03MkoUx@KxLuoRwfmXu*KYB7?#_Ds z!t>sEb?(k{?|O;rX@+d9cZ~hEuGO)g0LC09-h~GxwKLN))dldML z^fYWtRa>t*JI?{PqCjL4x=4Fb-K)C| z&#lv@fx`QwpXyUIW#VcN5ucJ`8Se>nFw*07 zaMMm)OrvGEyd#nr!GfZ6N%a^{M7Nv5x!{?QDPLM?&E_&rUQqK#P*;JAYuA2zMK-?} zhX;(+Wf~mB%rB#_2Whs+zXo&ouK$;R6S$aj4jx^6a@4s}bNap_=EGy_e-Ch!{Zb9a z+Q2G}JD~6z?w9Uh^y!lPBIG=1gj9WX4^{!Q)nBI<name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_EUTRANTraceID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EUTRANTraceID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANTraceID = { + "EUTRANTraceID", + "EUTRANTraceID", + &asn_OP_OCTET_STRING, + asn_DEF_EUTRANTraceID_tags_1, + sizeof(asn_DEF_EUTRANTraceID_tags_1) + /sizeof(asn_DEF_EUTRANTraceID_tags_1[0]), /* 1 */ + asn_DEF_EUTRANTraceID_tags_1, /* Same as above */ + sizeof(asn_DEF_EUTRANTraceID_tags_1) + /sizeof(asn_DEF_EUTRANTraceID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EUTRANTraceID_constr_1, EUTRANTraceID_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EUTRANTraceID.h b/asn1c_defs/all-defs/EUTRANTraceID.h new file mode 100755 index 0000000..18f1a39 --- /dev/null +++ b/asn1c_defs/all-defs/EUTRANTraceID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EUTRANTraceID_H_ +#define _EUTRANTraceID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EUTRANTraceID */ +typedef OCTET_STRING_t EUTRANTraceID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EUTRANTraceID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EUTRANTraceID; +asn_struct_free_f EUTRANTraceID_free; +asn_struct_print_f EUTRANTraceID_print; +asn_constr_check_f EUTRANTraceID_constraint; +ber_type_decoder_f EUTRANTraceID_decode_ber; +der_type_encoder_f EUTRANTraceID_encode_der; +xer_type_decoder_f EUTRANTraceID_decode_xer; +xer_type_encoder_f EUTRANTraceID_encode_xer; +per_type_decoder_f EUTRANTraceID_decode_uper; +per_type_encoder_f EUTRANTraceID_encode_uper; +per_type_decoder_f EUTRANTraceID_decode_aper; +per_type_encoder_f EUTRANTraceID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EUTRANTraceID_H_ */ +#include diff --git a/asn1c_defs/all-defs/EUTRANTraceID.o b/asn1c_defs/all-defs/EUTRANTraceID.o new file mode 100644 index 0000000000000000000000000000000000000000..3c65404278ceff5e0a129c6ee43aed94dcebdb4b GIT binary patch literal 2848 zcmbtV&ubf35FUBkSWQwzPI?fekiDd_A%5{Dffz%JjHGxC!WOn1LJD24qV^=VFvQxzxi`>b#UwteoV^V&;H@dY&P-yH^<+c;z(}z zhbP(U=hM|M-X+eHYyMF22Y>j3fBeA@-qG^u@xw=hpFaMsdFfgiFdkD+GEw-YD5aKDqd&2YaJ?T%(ABH7u`+V)=9 z_E|fH73e}wZAXiw<ec7m|-ZR7=;4@=<@1FJsXra_+g>4b9QJFF7U*n0dQKtFB z#5ud#cNw@A%?FG$V*p7IO|3|n;mc20J6xopbBy(o%2)l|8^^77u<|y!$ z-)4}`2IZ0cmwo+!al7*!Ax@(<6r;C0(uT@S6cp3u=P6mruwf5<2$OR!6ye_xfTgTo z;uH~299cp~e}x7Yug9rlFC(zWb$wA1Q;!1X_3f2u!qe_6lO{}aS0)x;S` z`&Z6y{vRNG=AWpE7`ZOcq%lsIPy1sIhBb%qEpeg%6$JZbxW#(djd_;&r}`z6;a zRMP6VNX-d{)QRdxeNXs;(|YXO2*EakfANAZAx3w{=2K6z_Z}g5$c6uw3}e{ePygR( O{2H(SOM^?Q&Hop@A{uZ2 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EncryptionAlgorithms.c b/asn1c_defs/all-defs/EncryptionAlgorithms.c new file mode 100755 index 0000000..835d9e9 --- /dev/null +++ b/asn1c_defs/all-defs/EncryptionAlgorithms.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EncryptionAlgorithms.h" + +int +EncryptionAlgorithms_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_EncryptionAlgorithms_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_EncryptionAlgorithms_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EncryptionAlgorithms = { + "EncryptionAlgorithms", + "EncryptionAlgorithms", + &asn_OP_BIT_STRING, + asn_DEF_EncryptionAlgorithms_tags_1, + sizeof(asn_DEF_EncryptionAlgorithms_tags_1) + /sizeof(asn_DEF_EncryptionAlgorithms_tags_1[0]), /* 1 */ + asn_DEF_EncryptionAlgorithms_tags_1, /* Same as above */ + sizeof(asn_DEF_EncryptionAlgorithms_tags_1) + /sizeof(asn_DEF_EncryptionAlgorithms_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EncryptionAlgorithms_constr_1, EncryptionAlgorithms_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EncryptionAlgorithms.h b/asn1c_defs/all-defs/EncryptionAlgorithms.h new file mode 100755 index 0000000..b7dfa17 --- /dev/null +++ b/asn1c_defs/all-defs/EncryptionAlgorithms.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EncryptionAlgorithms_H_ +#define _EncryptionAlgorithms_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* EncryptionAlgorithms */ +typedef BIT_STRING_t EncryptionAlgorithms_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EncryptionAlgorithms_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EncryptionAlgorithms; +asn_struct_free_f EncryptionAlgorithms_free; +asn_struct_print_f EncryptionAlgorithms_print; +asn_constr_check_f EncryptionAlgorithms_constraint; +ber_type_decoder_f EncryptionAlgorithms_decode_ber; +der_type_encoder_f EncryptionAlgorithms_encode_der; +xer_type_decoder_f EncryptionAlgorithms_decode_xer; +xer_type_encoder_f EncryptionAlgorithms_encode_xer; +per_type_decoder_f EncryptionAlgorithms_decode_uper; +per_type_encoder_f EncryptionAlgorithms_encode_uper; +per_type_decoder_f EncryptionAlgorithms_decode_aper; +per_type_encoder_f EncryptionAlgorithms_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EncryptionAlgorithms_H_ */ +#include diff --git a/asn1c_defs/all-defs/EncryptionAlgorithms.o b/asn1c_defs/all-defs/EncryptionAlgorithms.o new file mode 100644 index 0000000000000000000000000000000000000000..04b2bef74087d2e3667a8fca749d2324cea22293 GIT binary patch literal 2952 zcmbVNO>7%g5FTftahu{eZ4Z%()ICs0q-N`_BDD$#IXFKXVbUl`s|ciSH}*PqYp)~k zx@tJkq7VryD&oS0Qx6h~36-L|JcLcmsTlJnasBF8urbUy}ac|A#-MT?D*YcnRH^ z**Q1O>_*;3=-ObFO9dJ((O{=$a{D*%e^UzM)g||>g;jTDb$MZNULZ@e%Wkx_>8F>&nwA9u*NI98h8_Se16Gd-)q^Rc?Obq3{P_q=J!uO4BYVQa;iyyryMf_B{FQ0^) z5~Q<1^YH%jzP>8){>_X74q^s;Po zr-*o3{0-@FRg331=BqMZuYXTE)U|k1(Wpy5I*uxRYQ#83uIL2f{dsAQHj^hyp2YdRlha8AZgTnKa%mfJICwihu6<@-9sU* ze-G(#LgGGA|LEQ0c*dz7eQt!{O9?)a1rH-ecSnz>H%;Grgy5lU{I8@aq_2MjZE5je N%lbc2VoB8F{{;?FMdSbg literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EnhancedRNTP.c b/asn1c_defs/all-defs/EnhancedRNTP.c new file mode 100755 index 0000000..c396859 --- /dev/null +++ b/asn1c_defs/all-defs/EnhancedRNTP.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EnhancedRNTP.h" + +#include "EnhancedRNTPStartTime.h" +#include "ProtocolExtensionContainer.h" +static int +memb_enhancedRNTPBitmap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 12 && size <= 8800)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_enhancedRNTPBitmap_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 14, 14, 12, 8800 } /* (SIZE(12..8800,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_EnhancedRNTP_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTP, enhancedRNTPBitmap), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_enhancedRNTPBitmap_constr_2, memb_enhancedRNTPBitmap_constraint_1 }, + 0, 0, /* No default value */ + "enhancedRNTPBitmap" + }, + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTP, rNTP_High_Power_Threshold), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RNTP_Threshold, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rNTP-High-Power-Threshold" + }, + { ATF_POINTER, 2, offsetof(struct EnhancedRNTP, enhancedRNTPStartTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EnhancedRNTPStartTime, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "enhancedRNTPStartTime" + }, + { ATF_POINTER, 1, offsetof(struct EnhancedRNTP, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P135, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_EnhancedRNTP_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_EnhancedRNTP_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EnhancedRNTP_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* enhancedRNTPBitmap */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rNTP-High-Power-Threshold */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* enhancedRNTPStartTime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTP_specs_1 = { + sizeof(struct EnhancedRNTP), + offsetof(struct EnhancedRNTP, _asn_ctx), + asn_MAP_EnhancedRNTP_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_EnhancedRNTP_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EnhancedRNTP = { + "EnhancedRNTP", + "EnhancedRNTP", + &asn_OP_SEQUENCE, + asn_DEF_EnhancedRNTP_tags_1, + sizeof(asn_DEF_EnhancedRNTP_tags_1) + /sizeof(asn_DEF_EnhancedRNTP_tags_1[0]), /* 1 */ + asn_DEF_EnhancedRNTP_tags_1, /* Same as above */ + sizeof(asn_DEF_EnhancedRNTP_tags_1) + /sizeof(asn_DEF_EnhancedRNTP_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EnhancedRNTP_1, + 4, /* Elements count */ + &asn_SPC_EnhancedRNTP_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EnhancedRNTP.h b/asn1c_defs/all-defs/EnhancedRNTP.h new file mode 100755 index 0000000..339f00f --- /dev/null +++ b/asn1c_defs/all-defs/EnhancedRNTP.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EnhancedRNTP_H_ +#define _EnhancedRNTP_H_ + + +#include + +/* Including external dependencies */ +#include +#include "RNTP-Threshold.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct EnhancedRNTPStartTime; +struct ProtocolExtensionContainer; + +/* EnhancedRNTP */ +typedef struct EnhancedRNTP { + BIT_STRING_t enhancedRNTPBitmap; + RNTP_Threshold_t rNTP_High_Power_Threshold; + struct EnhancedRNTPStartTime *enhancedRNTPStartTime; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EnhancedRNTP_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EnhancedRNTP; + +#ifdef __cplusplus +} +#endif + +#endif /* _EnhancedRNTP_H_ */ +#include diff --git a/asn1c_defs/all-defs/EnhancedRNTP.o b/asn1c_defs/all-defs/EnhancedRNTP.o new file mode 100644 index 0000000000000000000000000000000000000000..4715c701dbb36a692d4fd3f1c24e685f7f2bf35a GIT binary patch literal 4392 zcmb_fO>7%Q6duQ+2~BZbN<|P_V}F=RPj-Ytj3~t3VE%|u#)_wWIl;vQJIkJA`qqQl>H5KR{b#qJZ%=mX zTYIaoUD`VM?jex-lD>JjJH6eN-gyFju3ykSL9hR%*ZTxc?$bTVmL5q8QTyb&znCA$zlgAtvV<({Dc|5Ls7a*1njVQP;xE7=!?xEgVNk)#f zl+OUxfMTE?a}T2+C?Po7aC|D6998<~7FVn8s`9Ejtj1&7Dj#VdXd`NTSk(qRoO?bc z{6p`}u+Vxm)OV_@`z9nX4ES?G_ZjkuNOZHqi1el-%6z1EED}wgjC4=+T!VhRC&O`J z-jd;(I@$e}cSN{p#lCyEX{9pWx|(73m~SLWVO~`U05J-!Lz3 zJ^cKjk}|l$@h-N3Akc!?yduaU_Bh9|!|#MBEa8N0fq?Oe5<=JojyRpMZZZHKmh1`s zp4xI+< z^~1dhQePWP}R3@2XBuHy-tbBYrXUyhirZZCw2%m1le@(d7_3 zpsdFlz0#08;bmYLGw2@|=ObXwbC59&253t61?k8i^OK44r|=0-w(_4B2K4<=4DutM z6aK;c=`bFWp$MQ*Ai*yKZ&m-FME!3If2=?Lx}p53{&~RABsl+}0OFvNNs$L2UxU_a z{&n$_hWv4UOer`&{&&Lpo4!35D;N|g>#;_!G$c=W9~k=6JfvO`{&+rQ66N4Nh<^-? zFxl=);V)w-2W`I)STO%vZStq}Q`}EMK+^;Pf`2XQNBe~J!~X!}PdMfioEt;j6Z7v2 oname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1023)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_startSubframeNumber_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 9)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_startSFN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 0, 1023 } /* (0..1023,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_startSubframeNumber_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 9 } /* (0..9,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_EnhancedRNTPStartTime_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTPStartTime, startSFN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_startSFN_constr_2, memb_startSFN_constraint_1 }, + 0, 0, /* No default value */ + "startSFN" + }, + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTPStartTime, startSubframeNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_startSubframeNumber_constr_3, memb_startSubframeNumber_constraint_1 }, + 0, 0, /* No default value */ + "startSubframeNumber" + }, + { ATF_POINTER, 1, offsetof(struct EnhancedRNTPStartTime, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P136, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_EnhancedRNTPStartTime_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_EnhancedRNTPStartTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EnhancedRNTPStartTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startSFN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* startSubframeNumber */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTPStartTime_specs_1 = { + sizeof(struct EnhancedRNTPStartTime), + offsetof(struct EnhancedRNTPStartTime, _asn_ctx), + asn_MAP_EnhancedRNTPStartTime_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_EnhancedRNTPStartTime_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EnhancedRNTPStartTime = { + "EnhancedRNTPStartTime", + "EnhancedRNTPStartTime", + &asn_OP_SEQUENCE, + asn_DEF_EnhancedRNTPStartTime_tags_1, + sizeof(asn_DEF_EnhancedRNTPStartTime_tags_1) + /sizeof(asn_DEF_EnhancedRNTPStartTime_tags_1[0]), /* 1 */ + asn_DEF_EnhancedRNTPStartTime_tags_1, /* Same as above */ + sizeof(asn_DEF_EnhancedRNTPStartTime_tags_1) + /sizeof(asn_DEF_EnhancedRNTPStartTime_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EnhancedRNTPStartTime_1, + 3, /* Elements count */ + &asn_SPC_EnhancedRNTPStartTime_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EnhancedRNTPStartTime.h b/asn1c_defs/all-defs/EnhancedRNTPStartTime.h new file mode 100755 index 0000000..edb9281 --- /dev/null +++ b/asn1c_defs/all-defs/EnhancedRNTPStartTime.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EnhancedRNTPStartTime_H_ +#define _EnhancedRNTPStartTime_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* EnhancedRNTPStartTime */ +typedef struct EnhancedRNTPStartTime { + long startSFN; + long startSubframeNumber; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EnhancedRNTPStartTime_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_EnhancedRNTPStartTime; +extern asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTPStartTime_specs_1; +extern asn_TYPE_member_t asn_MBR_EnhancedRNTPStartTime_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _EnhancedRNTPStartTime_H_ */ +#include diff --git a/asn1c_defs/all-defs/EnhancedRNTPStartTime.o b/asn1c_defs/all-defs/EnhancedRNTPStartTime.o new file mode 100644 index 0000000000000000000000000000000000000000..f93ea9813a607fc253a30d4e2456e1de46ddd202 GIT binary patch literal 4696 zcmb_fU1(fI6rRo2CjD`{HHy(%auKR2HaEFR(9nmnb+hdj;&x3M(F(n}ySZsn_eXZ` zmZ)G?nu0-uJor%G1VO~7_*UpkprGPY$&=uVf)7foR6(D_c+T8&vS%lE+oC-%_nh<1 z`I$L0J2QJJGkKyb7E??ybxgH1MwPnya7#{UF{OIdBPx64ujx}O8`+g_f(hsQ?0d&H z<4Rq0vR5{)Zvq9+W-s6Fnf#!8@AwK z0_4B0^-eo%37{@9YxaNj(rxDYCmh5_vpJ!V~bJxrWku%?o*7VLvK&OzFw zSU;IgAGHQ%3XMw8uwJmo?BPMDp*81SXWSkhvz@~s4jxK9s=pBX?I{&oO2!WC?e1BH zL`MLBiuxMJClblaU0$MZGGV=v=sTWBrgtZLGJA3w3GFAh*`G7)vs?CLx{cu+cc|YZ z&xCke1zN6g6ye7Ij*{qwb5D7 zVrq}VeSw5$BU8NXR1DEez|fwF{XQcc^CPv#Y1xOpN_`7L3`R6dK%V$7gp;ZmM?J2@ zrN#ytPY5j(d-bN=Ue7*_@7&r$?0ArH)+LXty;9Zk(_p_})N_F>Qh+D7Su2(AfX`8! zCi(P$jK{-Q&i^$xg-JlEl-DEsAt%g4Lhx))qWcC{V&?N)Ftxf7WaZe#*C z@XpsE6dJvBJm1-9#4p{`tXk$!`OK6XHE?%CXEM5@2Jen4don$YpAr0oL+m&Y9rkqI zozA>GlgXtsiUm=NaFQ=hb(mzBVLG4g&|iPkFY^3w962w5Yx`6s@Xx~?%T>1ri_d)%+N<0GR^-Wh#f@0;iJH#~!TLH?T_8~nS(vl-7;#=Q>qWr05?>^~Q{ zjQ^#;W&9rnF71C6xQtIQoDJbUdz1jYcacn-e`|=#dyQqp@pRzd&j83sCY}vpjpNzM zlqUi0pJWjDEXjx;AQ{73ZXTD{lQ&EN!3}A@My@M_(TK6?n1X)5x5#MDP)AYYX{%9k~gdONaY(yG? z%>F|L&g17eDd>;#@25@nj^WRK%+HX&IsQ+`|9v*3IF=FbH0V+F|AFeiM*g^N_zL6k zbN!2ep^2G4MGvWA=#ykg1>|$kqVliO(}n#pKfWr={P_P3^V4)e3aLr?#~C1Q89LS% z{W%YJUn76qACjmX+6VDvXpBj_pU7WgD4Vt)6K0P8XYyY%0`UA9{s;s#O))@xJ)(Yi z&apqQACAY&jUi^~33`({_XGAgG}9l~#9VuT)G!&|HYRMS@D`2szeD5y6oUye{r?4W CS~f=j literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ErrorIndication.c b/asn1c_defs/all-defs/ErrorIndication.c new file mode 100755 index 0000000..1240e29 --- /dev/null +++ b/asn1c_defs/all-defs/ErrorIndication.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ErrorIndication.h" + +asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P21, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ErrorIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1 = { + sizeof(struct ErrorIndication), + offsetof(struct ErrorIndication, _asn_ctx), + asn_MAP_ErrorIndication_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ErrorIndication = { + "ErrorIndication", + "ErrorIndication", + &asn_OP_SEQUENCE, + asn_DEF_ErrorIndication_tags_1, + sizeof(asn_DEF_ErrorIndication_tags_1) + /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ + asn_DEF_ErrorIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_ErrorIndication_tags_1) + /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ErrorIndication_1, + 1, /* Elements count */ + &asn_SPC_ErrorIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ErrorIndication.h b/asn1c_defs/all-defs/ErrorIndication.h new file mode 100755 index 0000000..3b17bcf --- /dev/null +++ b/asn1c_defs/all-defs/ErrorIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ErrorIndication_H_ +#define _ErrorIndication_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ErrorIndication */ +typedef struct ErrorIndication { + ProtocolIE_Container_8180P21_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ErrorIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_ErrorIndication_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ErrorIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/ErrorIndication.o b/asn1c_defs/all-defs/ErrorIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..5fda6c0dcf3612f8f89ecd5d189b845ddf13869e GIT binary patch literal 2480 zcmbtV&2G~`5T4Zh|MUkqAi*J=C=y-8RV6BrkRiCG2--kZsW;bkt+pbyBYP_qAwdt^ zx$+9!cnr94=L5FII=Z@!&xX1(6sybqr*j5Qh{)_{jFh=c_=Iz7Na z1p}CXaR`edFP5^c-6Yn#c?P{A*Ljk6m%?%&_zSXo+3_gpzvh|xF${jAncPY7Q!LOj zij10<@H7Y00tyz}?fcE?waxuZ?>FzMIn|o+_p8W%=g+IwobvC~yeU0~ss1VW<$O2K z`9%RduxC@3^l-#w9(Hh<2gc^$gsbQqa2_T(HkBTn9V#=+`7$6niao63G7m1gXw1Jb z#IGVVWz2JjGhU-Ndx`Mv2>v7TROgTr*V%ur_`!S0p7@5mtG<13R046CMNh(o$U0Jy zjbQny(=I1C^p$X>6Rn0X*TUs?2m+!c&q`gyyP2+wKYle-yl%VNX%CH* zy)=<&QP)oY;79E|(^xevqIrM5)tU8qjmXhHHFwK79#M4)nyy+1< zoli2#pQup%=rAT;Y7n(S4>aPZDpWr{F(&?s!GAY+dM~MEzSptcsLD5cI^G0@OJDmP zK{`FqptfQigW4=hP(@AwW%|m;Fzv?GFd-{c-8_kjtR$e4d~Yws5390Vr)qI|ZKl+5 zLc9HBb_3c>NCzEkRrV2f_Nc Awg3PC literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/EventType.c b/asn1c_defs/all-defs/EventType.c new file mode 100755 index 0000000..63e926c --- /dev/null +++ b/asn1c_defs/all-defs/EventType.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "EventType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_EventType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_EventType_value2enum_1[] = { + { 0, 22, "change-of-serving-cell" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_EventType_enum2value_1[] = { + 0 /* change-of-serving-cell(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_EventType_specs_1 = { + asn_MAP_EventType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_EventType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_EventType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EventType = { + "EventType", + "EventType", + &asn_OP_NativeEnumerated, + asn_DEF_EventType_tags_1, + sizeof(asn_DEF_EventType_tags_1) + /sizeof(asn_DEF_EventType_tags_1[0]), /* 1 */ + asn_DEF_EventType_tags_1, /* Same as above */ + sizeof(asn_DEF_EventType_tags_1) + /sizeof(asn_DEF_EventType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_EventType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_EventType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/EventType.h b/asn1c_defs/all-defs/EventType.h new file mode 100755 index 0000000..b662dae --- /dev/null +++ b/asn1c_defs/all-defs/EventType.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _EventType_H_ +#define _EventType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum EventType { + EventType_change_of_serving_cell = 0 + /* + * Enumeration is extensible + */ +} e_EventType; + +/* EventType */ +typedef long EventType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_EventType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_EventType; +extern const asn_INTEGER_specifics_t asn_SPC_EventType_specs_1; +asn_struct_free_f EventType_free; +asn_struct_print_f EventType_print; +asn_constr_check_f EventType_constraint; +ber_type_decoder_f EventType_decode_ber; +der_type_encoder_f EventType_encode_der; +xer_type_decoder_f EventType_decode_xer; +xer_type_encoder_f EventType_encode_xer; +per_type_decoder_f EventType_decode_uper; +per_type_encoder_f EventType_encode_uper; +per_type_decoder_f EventType_decode_aper; +per_type_encoder_f EventType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _EventType_H_ */ +#include diff --git a/asn1c_defs/all-defs/EventType.o b/asn1c_defs/all-defs/EventType.o new file mode 100644 index 0000000000000000000000000000000000000000..1520219979b9c52d9f738448974ec3ffb9ae8f51 GIT binary patch literal 2488 zcmbtV&2G~`5Z=^4`E4l&gv2FWAV_2tSCv2@A)}JELQtYY#nHI#k^~aFiZ>Cx01_8Y zh$rF1fn$$-4&Hzpw=%Pyan@T$RAMB1X1@7mcDx?1KenH)&DCmxr6wMVsmG`ge@;*B zz?gwp6bs_a6rO1vk<27mf%Zft`sMzf5^*m|x~iGJX=Z9P=_lQ0tOf&%dLq+(7S}&f z5g;{ANW}VcaQ$nYt8TsZ)z$m;#`exQ(c}7ExguLle{4MegMUx9R-}JB$KA}5kL#Wi zzmG~FIo^z}Jk#;<3{QB+K|nlMp-Mbq4G9r0fv$=9f^KJe7G4m*@Wff$HTF%o*8p!( ze~%aw(3i=!)mLzqtbOZH@H^-#{-NPdpQ}N9 zQ4G9{MU*AsS?HU^HHR{JkY-h9 zgY+%XxZiI6H;2cryZ#*rAhyf|(wvX|*~0m(0|=t+u73a+N-tN%y;Nblvf{z_04RK_55g zWB=F-_rv|a1q_$s?+8pIUub=NKeiBTauCnpV$A0Kr~)gvNOSiN>-?nrL(=&FT7b*# hAI|{y-2)^(5%>!oOWd~b%&E%Xqy77A<)Z24{{`p{yLSKp literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ExpectedActivityPeriod.c b/asn1c_defs/all-defs/ExpectedActivityPeriod.c new file mode 100755 index 0000000..7a259de --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedActivityPeriod.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ExpectedActivityPeriod.h" + +int +ExpectedActivityPeriod_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if(((value >= 1 && value <= 30) || (value == 40) || (value == 50) || (value == 60) || (value == 80) || (value == 100) || (value == 120) || (value == 150) || (value >= 180 && value <= 181))) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ExpectedActivityPeriod_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 181 } /* (1..181,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ExpectedActivityPeriod_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedActivityPeriod = { + "ExpectedActivityPeriod", + "ExpectedActivityPeriod", + &asn_OP_NativeInteger, + asn_DEF_ExpectedActivityPeriod_tags_1, + sizeof(asn_DEF_ExpectedActivityPeriod_tags_1) + /sizeof(asn_DEF_ExpectedActivityPeriod_tags_1[0]), /* 1 */ + asn_DEF_ExpectedActivityPeriod_tags_1, /* Same as above */ + sizeof(asn_DEF_ExpectedActivityPeriod_tags_1) + /sizeof(asn_DEF_ExpectedActivityPeriod_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ExpectedActivityPeriod_constr_1, ExpectedActivityPeriod_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ExpectedActivityPeriod.h b/asn1c_defs/all-defs/ExpectedActivityPeriod.h new file mode 100755 index 0000000..77a4fab --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedActivityPeriod.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExpectedActivityPeriod_H_ +#define _ExpectedActivityPeriod_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ExpectedActivityPeriod */ +typedef long ExpectedActivityPeriod_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ExpectedActivityPeriod_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ExpectedActivityPeriod; +asn_struct_free_f ExpectedActivityPeriod_free; +asn_struct_print_f ExpectedActivityPeriod_print; +asn_constr_check_f ExpectedActivityPeriod_constraint; +ber_type_decoder_f ExpectedActivityPeriod_decode_ber; +der_type_encoder_f ExpectedActivityPeriod_encode_der; +xer_type_decoder_f ExpectedActivityPeriod_decode_xer; +xer_type_encoder_f ExpectedActivityPeriod_encode_xer; +per_type_decoder_f ExpectedActivityPeriod_decode_uper; +per_type_encoder_f ExpectedActivityPeriod_encode_uper; +per_type_decoder_f ExpectedActivityPeriod_decode_aper; +per_type_encoder_f ExpectedActivityPeriod_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExpectedActivityPeriod_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExpectedActivityPeriod.o b/asn1c_defs/all-defs/ExpectedActivityPeriod.o new file mode 100644 index 0000000000000000000000000000000000000000..20be409af4e013772b82c334611d93f9e16bb664 GIT binary patch literal 2960 zcmbVNO>7%g5Pq92NtzVL2^=DVU?o(PN@Sa@B2h(v93@US$fTwa34w&WvDdL%#}3|? zKMu{o>A{MMdO(OvrAi2?M-FfRE)~5*LLBg^QV(!MDi=7Q3RQJyo@X{M>rE?lq_;Ek z&CGlA=Djz&lg`Zd7=~an#5>|ZV^oN2-+`P`VoD5)q;RkP_rXH5wb1-kN_VfCX|rgTJ!VLFU;g+d7~`1vwpo?E7*B)GMKhDyvn+7Rcq2(DR1~y zYaGCng;UCwuT=wC_sUgi6}@uBFND_kDW8;EoQ?O(wy4hd(>T^poSU7Uw#Jv1*Q;{f zdefe=CnubBr8!rev-aea?VRf1;zgR!`22z}wvxu!iN5~pu=o_;b4>gbdv<1c+K1yzVIBrZGhwDUGR1Ro zFwBCttD8)rJvK7G1l$nELuY*@Q^P|C5KIxjZ&RGm-ISbC-|jrq3hxbTu2lHEOE~K~ zH^qRiD)~HoN3?pXvjgli7{l6rOUhe_>%gHqbkVnf3~TkzvPb-NhZh9TEjO2*&&50B zq_+~}9ARf>C-HLzKaM!U`QWuZWm;uEpUo|L@SgpJs`OXut zLzjv70LN2%*l9KGO%2D+$oQ8UuKVB6@Py`1usRvMjnf3E_X;w;4;|+-L41UKk&Tj! z_`xj|V*Cg^rQt7-jLg+=UJD_MaI6E4knCW4ReH<9hBnyYC6?-b#j~ZqC52t^q$lj< zAP{!Fh6=hn_SwTKTmu!O96(~Lu=BOmRlf=oK^OMzbBjw8f%Nj1$=@&Kigj<*50iR! z!Gch(xjsvZlzklpS+5bA#$aG?NWswQCOz$o1mYdQb@-h5{9Y$K+Tkp81`6L>M-9(~ zRPhD~IA=6|jpEslc@)NbkJuS@AkOiV5uEeqc~W4Hi@!+@??>V}j`@caAI+aHT`3Z8 zMRe?QarNg`e~bLF{@CR?f3E+hfMG6&?l|Zr0`$HQaMvHF2pGmk>r|n5JRhBS-^^=Z zWLfw7I+_p}qrSToA9d&W=>6gS^IAI~#MSQ>HX$Ic6V?y=8^<$_`9#+SNc=_MpOo+r lU`ZI!c N; sorted by tag */ + asn_MAP_ExpectedHOInterval_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ExpectedHOInterval_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedHOInterval = { + "ExpectedHOInterval", + "ExpectedHOInterval", + &asn_OP_NativeEnumerated, + asn_DEF_ExpectedHOInterval_tags_1, + sizeof(asn_DEF_ExpectedHOInterval_tags_1) + /sizeof(asn_DEF_ExpectedHOInterval_tags_1[0]), /* 1 */ + asn_DEF_ExpectedHOInterval_tags_1, /* Same as above */ + sizeof(asn_DEF_ExpectedHOInterval_tags_1) + /sizeof(asn_DEF_ExpectedHOInterval_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ExpectedHOInterval_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ExpectedHOInterval_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ExpectedHOInterval.h b/asn1c_defs/all-defs/ExpectedHOInterval.h new file mode 100755 index 0000000..00a97c6 --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedHOInterval.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExpectedHOInterval_H_ +#define _ExpectedHOInterval_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ExpectedHOInterval { + ExpectedHOInterval_sec15 = 0, + ExpectedHOInterval_sec30 = 1, + ExpectedHOInterval_sec60 = 2, + ExpectedHOInterval_sec90 = 3, + ExpectedHOInterval_sec120 = 4, + ExpectedHOInterval_sec180 = 5, + ExpectedHOInterval_long_time = 6 + /* + * Enumeration is extensible + */ +} e_ExpectedHOInterval; + +/* ExpectedHOInterval */ +typedef long ExpectedHOInterval_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ExpectedHOInterval_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ExpectedHOInterval; +extern const asn_INTEGER_specifics_t asn_SPC_ExpectedHOInterval_specs_1; +asn_struct_free_f ExpectedHOInterval_free; +asn_struct_print_f ExpectedHOInterval_print; +asn_constr_check_f ExpectedHOInterval_constraint; +ber_type_decoder_f ExpectedHOInterval_decode_ber; +der_type_encoder_f ExpectedHOInterval_encode_der; +xer_type_decoder_f ExpectedHOInterval_decode_xer; +xer_type_encoder_f ExpectedHOInterval_encode_xer; +per_type_decoder_f ExpectedHOInterval_decode_uper; +per_type_encoder_f ExpectedHOInterval_encode_uper; +per_type_decoder_f ExpectedHOInterval_decode_aper; +per_type_encoder_f ExpectedHOInterval_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExpectedHOInterval_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExpectedHOInterval.o b/asn1c_defs/all-defs/ExpectedHOInterval.o new file mode 100644 index 0000000000000000000000000000000000000000..0f2aa050e00838ef85ccfff0c814fa9b6a298735 GIT binary patch literal 2920 zcmbtVJ8u&~5MJj3gjXIQArMG71tJJ?@|ge$Na&Dp5)cF{D5AVvoKtMD&yjB(B@INP zNl8JGo+c$d4P|};WeN&f{s3WSZw7D1hb6>Fw=>^2kDcAU+k01jHan2ZDVCgisJe(* zrS?vAZQq!_8d1aQIM@z7hNb~|mO~Q8{d9SAJ*w(xb^gVZSV!%Ru%VKu>fOQdb^*t` zW}GpjS4`D(K{ZGqkh$UeR8c5_h$5GCWIUJVUW0Ept1e{Jh*3Bg4;X<&%gG8 zwQb>i$>ZE8lIMOT&%N8{Y3ECx@kuj_HO!St_wy4=E1g((^7q^+w=n5-4D#N3({5qP z^=_oRmDFqEx(3zH!(I>WDX;pd*D*VOltbkFDe`E20C0z0?$M|e^kkefIFcR6{EP* z>>q~_MH5VM*)y7{UQ~jGP}eu2G9*Rq5N;sDSIUcl-dc~c`lzxmo|1EGJ$LGayoL^#sH0QJSfk#`;e*hc`zjrB8D$fS#2cYq8 z_X)Gwp^x<|5obUng=jpDI?>|OT%8aSM)0FNy-T9E9Y+A=v9pTNVMo&Qm82svde;;hhJBKIlbEW{1N iBm2iYNuE7WYMFl6<6=Sq%^jGPpQm5^dn{&&%>NDUqvPrT literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ExpectedIdlePeriod.c b/asn1c_defs/all-defs/ExpectedIdlePeriod.c new file mode 100755 index 0000000..63a2dbf --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedIdlePeriod.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ExpectedIdlePeriod.h" + +int +ExpectedIdlePeriod_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if(((value >= 1 && value <= 30) || (value == 40) || (value == 50) || (value == 60) || (value == 80) || (value == 100) || (value == 120) || (value == 150) || (value >= 180 && value <= 181))) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ExpectedIdlePeriod_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 181 } /* (1..181,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ExpectedIdlePeriod_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedIdlePeriod = { + "ExpectedIdlePeriod", + "ExpectedIdlePeriod", + &asn_OP_NativeInteger, + asn_DEF_ExpectedIdlePeriod_tags_1, + sizeof(asn_DEF_ExpectedIdlePeriod_tags_1) + /sizeof(asn_DEF_ExpectedIdlePeriod_tags_1[0]), /* 1 */ + asn_DEF_ExpectedIdlePeriod_tags_1, /* Same as above */ + sizeof(asn_DEF_ExpectedIdlePeriod_tags_1) + /sizeof(asn_DEF_ExpectedIdlePeriod_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ExpectedIdlePeriod_constr_1, ExpectedIdlePeriod_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ExpectedIdlePeriod.h b/asn1c_defs/all-defs/ExpectedIdlePeriod.h new file mode 100755 index 0000000..7852c8d --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedIdlePeriod.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExpectedIdlePeriod_H_ +#define _ExpectedIdlePeriod_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ExpectedIdlePeriod */ +typedef long ExpectedIdlePeriod_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ExpectedIdlePeriod_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ExpectedIdlePeriod; +asn_struct_free_f ExpectedIdlePeriod_free; +asn_struct_print_f ExpectedIdlePeriod_print; +asn_constr_check_f ExpectedIdlePeriod_constraint; +ber_type_decoder_f ExpectedIdlePeriod_decode_ber; +der_type_encoder_f ExpectedIdlePeriod_encode_der; +xer_type_decoder_f ExpectedIdlePeriod_decode_xer; +xer_type_encoder_f ExpectedIdlePeriod_encode_xer; +per_type_decoder_f ExpectedIdlePeriod_decode_uper; +per_type_encoder_f ExpectedIdlePeriod_encode_uper; +per_type_decoder_f ExpectedIdlePeriod_decode_aper; +per_type_encoder_f ExpectedIdlePeriod_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExpectedIdlePeriod_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExpectedIdlePeriod.o b/asn1c_defs/all-defs/ExpectedIdlePeriod.o new file mode 100644 index 0000000000000000000000000000000000000000..58dfa21a2a6f765ccfec11a7a04fa364b1a953d3 GIT binary patch literal 2936 zcmbtVPiP!v6n~ScNt)EnCW-_iIv|x4%rsL1hG1oDvdILt=~4}dg6m{=Hk)>{8+Imt z>Y))f1(#6iLB)eTdFj!E9#jyqmw@!poC-bYu~091kRsCcy>H*!e3_l52OrG7_kQp9 z-uHd)`?K5W%xsrofQSKa!ht6!z+}&Xol<5B1|bRVwZGqXq+iv}j-puu9Y1GVa&!v~#mhCqFdiaVftec9p+rz|5L(Fpa-Ns|* z=S<_bbItvC8~5I$iKJ+hvtMArfgKOWc(_Bw$&{|&E@GI6Rf+q{7 zR4iYu1Yylvsf1S1TPgd6cC@qHQFA&fChHYW)EE3|ntBLx)6-Md=;G3PC0w^&w3+`WRJ5LB@MrAaneE*^oM(c07+}xDN^xSsGjT9hq0`kV zCTN$9!!MvV;CP#?k7R0in}CK1@#{9>gicfTr26fg=UIh!w|g#$Z!s>uu1)CEU1iVV z?~v9{wRed5_zi07Eh#p@$Efjj=#bA58Pxip6-MWg#~XxKEjN>%&2359I!Lf zDKMM9mZTY__Y!To2RbgjCwz#xq=wlh{NOYKj6MNR zY4~$&lX5j&#v;gKoccgtTkPPQ}H3zPP?Ux3D-CgkJtK^Zin;So2ot%>G}ouz>Vjua#nF zPY2P~dqklT{OAox;itlR(b9I>@@ z_%b>n4o0~eze4_PFssp{+}F{eu{c%fH3*|5Q&#JDUF=7E4U8 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.c b/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.c new file mode 100755 index 0000000..a398474 --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ExpectedUEActivityBehaviour.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_1[] = { + { ATF_POINTER, 4, offsetof(struct ExpectedUEActivityBehaviour, expectedActivityPeriod), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExpectedActivityPeriod, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "expectedActivityPeriod" + }, + { ATF_POINTER, 3, offsetof(struct ExpectedUEActivityBehaviour, expectedIdlePeriod), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExpectedIdlePeriod, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "expectedIdlePeriod" + }, + { ATF_POINTER, 2, offsetof(struct ExpectedUEActivityBehaviour, sourceofUEActivityBehaviourInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SourceOfUEActivityBehaviourInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sourceofUEActivityBehaviourInformation" + }, + { ATF_POINTER, 1, offsetof(struct ExpectedUEActivityBehaviour, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P143, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ExpectedUEActivityBehaviour_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_ExpectedUEActivityBehaviour_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExpectedUEActivityBehaviour_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* expectedActivityPeriod */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* expectedIdlePeriod */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sourceofUEActivityBehaviourInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_specs_1 = { + sizeof(struct ExpectedUEActivityBehaviour), + offsetof(struct ExpectedUEActivityBehaviour, _asn_ctx), + asn_MAP_ExpectedUEActivityBehaviour_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ExpectedUEActivityBehaviour_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour = { + "ExpectedUEActivityBehaviour", + "ExpectedUEActivityBehaviour", + &asn_OP_SEQUENCE, + asn_DEF_ExpectedUEActivityBehaviour_tags_1, + sizeof(asn_DEF_ExpectedUEActivityBehaviour_tags_1) + /sizeof(asn_DEF_ExpectedUEActivityBehaviour_tags_1[0]), /* 1 */ + asn_DEF_ExpectedUEActivityBehaviour_tags_1, /* Same as above */ + sizeof(asn_DEF_ExpectedUEActivityBehaviour_tags_1) + /sizeof(asn_DEF_ExpectedUEActivityBehaviour_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExpectedUEActivityBehaviour_1, + 4, /* Elements count */ + &asn_SPC_ExpectedUEActivityBehaviour_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.h b/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.h new file mode 100755 index 0000000..1331d4f --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExpectedUEActivityBehaviour_H_ +#define _ExpectedUEActivityBehaviour_H_ + + +#include + +/* Including external dependencies */ +#include "ExpectedActivityPeriod.h" +#include "ExpectedIdlePeriod.h" +#include "SourceOfUEActivityBehaviourInformation.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ExpectedUEActivityBehaviour */ +typedef struct ExpectedUEActivityBehaviour { + ExpectedActivityPeriod_t *expectedActivityPeriod; /* OPTIONAL */ + ExpectedIdlePeriod_t *expectedIdlePeriod; /* OPTIONAL */ + SourceOfUEActivityBehaviourInformation_t *sourceofUEActivityBehaviourInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExpectedUEActivityBehaviour_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour; +extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_specs_1; +extern asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExpectedUEActivityBehaviour_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.o b/asn1c_defs/all-defs/ExpectedUEActivityBehaviour.o new file mode 100644 index 0000000000000000000000000000000000000000..3e8b685c9a25632620adf08d348b8f83966b12f1 GIT binary patch literal 3528 zcmb_e%}*0i5Pwiq@C)!e(ZqTZ6WOppVk3!JsLO{@s3I3HWmy(zY`doWisd34y?OPB ziGPGgFD4$jn0WN+P5%O&*_~;J$F>l{B(F2`doyq5&6|C%+wRlp?yfGy)TJJ&md2=3 z-}_p!6N`=-Q2oknya{|AtS-5ezAkN+^ww0c;cb?}dQAm1$1{bXRti^}@Z4%SAgJUH zyA2&wqf%InT7ixrnYo&JyCr(sO&B4 z_gr-?tW`V>J*(7AKL0Q~w6s#M>U#EpHExXz+x1wp-`P29WZbgvCAbKbB4X?w^*6Q0 zGW&Mca?b4Ap~U4*C7xc*j5^gaBI!2pF4d8*rHeJN{^c{{|e_*&)MaYO;RdgQ5;2 zG(Q1&+WN2B;Pp26=Qen!i`Vj%7gdXo-RWY7>$#}C^{8marq3n|hnbEB$t<0Crg&;G zz7!S?yA;^GPz!bFhvnuImk+BNHW$>2xzRDZV2_Vc*CcnB{0i}XK!P?9UEJy|#ATo1 z{fvY-ehm%`q@jczz-I+MNHVg5z%L1WS>Tri{!!pp1imM5+}ADA{|Njl$;gHoj9s~YOSnwei3ja-Cvu1UF942x$Nk3rwE$RJ{2lxw0yL7a z=5MwsB?7*?Y4LmMDQ16+k13h)i-2K#3I|d`UkO-dfOyu>*Fi^rv;J8sD4wq*j!$J# zn=pwo=gGD+(gZv$u#Q%@|FgSlcKP+=vs4sMx W?->CN75+n{`{(HVKES*r)Bis&3{9{A literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ExpectedUEBehaviour.c b/asn1c_defs/all-defs/ExpectedUEBehaviour.c new file mode 100755 index 0000000..4c42526 --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedUEBehaviour.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ExpectedUEBehaviour.h" + +#include "ExpectedUEActivityBehaviour.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_ExpectedUEBehaviour_1[] = { + { ATF_POINTER, 3, offsetof(struct ExpectedUEBehaviour, expectedActivity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExpectedUEActivityBehaviour, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "expectedActivity" + }, + { ATF_POINTER, 2, offsetof(struct ExpectedUEBehaviour, expectedHOInterval), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExpectedHOInterval, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "expectedHOInterval" + }, + { ATF_POINTER, 1, offsetof(struct ExpectedUEBehaviour, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P142, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ExpectedUEBehaviour_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ExpectedUEBehaviour_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExpectedUEBehaviour_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* expectedActivity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* expectedHOInterval */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEBehaviour_specs_1 = { + sizeof(struct ExpectedUEBehaviour), + offsetof(struct ExpectedUEBehaviour, _asn_ctx), + asn_MAP_ExpectedUEBehaviour_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ExpectedUEBehaviour_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour = { + "ExpectedUEBehaviour", + "ExpectedUEBehaviour", + &asn_OP_SEQUENCE, + asn_DEF_ExpectedUEBehaviour_tags_1, + sizeof(asn_DEF_ExpectedUEBehaviour_tags_1) + /sizeof(asn_DEF_ExpectedUEBehaviour_tags_1[0]), /* 1 */ + asn_DEF_ExpectedUEBehaviour_tags_1, /* Same as above */ + sizeof(asn_DEF_ExpectedUEBehaviour_tags_1) + /sizeof(asn_DEF_ExpectedUEBehaviour_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExpectedUEBehaviour_1, + 3, /* Elements count */ + &asn_SPC_ExpectedUEBehaviour_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ExpectedUEBehaviour.h b/asn1c_defs/all-defs/ExpectedUEBehaviour.h new file mode 100755 index 0000000..b4fce11 --- /dev/null +++ b/asn1c_defs/all-defs/ExpectedUEBehaviour.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExpectedUEBehaviour_H_ +#define _ExpectedUEBehaviour_H_ + + +#include + +/* Including external dependencies */ +#include "ExpectedHOInterval.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ExpectedUEActivityBehaviour; +struct ProtocolExtensionContainer; + +/* ExpectedUEBehaviour */ +typedef struct ExpectedUEBehaviour { + struct ExpectedUEActivityBehaviour *expectedActivity; /* OPTIONAL */ + ExpectedHOInterval_t *expectedHOInterval; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExpectedUEBehaviour_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExpectedUEBehaviour_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExpectedUEBehaviour.o b/asn1c_defs/all-defs/ExpectedUEBehaviour.o new file mode 100644 index 0000000000000000000000000000000000000000..76943e35905e1ae922380bf940952f772deb118f GIT binary patch literal 3120 zcmb_e+iuf95Z%;V%01;Gka!6Xs6`@HT`Ex(3As((76fgeio~07U8{{q>?qz;t%M+t zd;*W~CrI!C`~jap`2v{Z>^PgP^FY;+?3p=p+nwEv^U-^;I#DVKrjmFnh8m+nbS8(g zn~AQtCawzapc92M+G%*p(O$6MOnO}rDQqc}&Hbi4%z^dIXR(aB`$0=Iy{dO0qd09Q zaXL)>-;%jjQy-Vm8fP$Y@2S_xj zn)Qa{k~p7XcySzLOT(dq-qVBpOzi(v;S0)enH`8*n!g4Ueo0qz*~)HUu4ck_dQWNl z-BadY#LG(7+3zv9Mf)!DpB{rRkHL!um>r5Bjr|pG)h`%tz6^F#-^pBFF262x8CbXK zwL)u3BQwviR4??QB6CrT%ZzbK+MH(0TC+uN*8MH-Rm0n;d4dH$q_HczK{J*Gd*#7B z9O-61v`NmUdN+|tn6&b-UQ1$01){FMF!#u*JM(ke!P0SPw_q>_VK#9-W8hP8P{cC_ z_!WBi{>~`7iLYz;btQw8l%R4c@OOe6Jmx;`8Q(9yPn(1l)pylLntz8X?XmjL$xu}P zoBDKdJn927>-&VEzW$$pRMA(!3KWehnhbH59>jAUV4xo=9_OPId_l}Rnw%Nb>&RS? w!a0t8p%=Mwd|4UsTQ1XM?jK)l^Xv)AhiPmSG}LT{7R4W_{`a$F!name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 10000000001 && value <= 4000000000000)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using INTEGER, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ExtendedBitRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 42, -1, 10000000001, 4000000000000 } /* (10000000001..4000000000000,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ExtendedBitRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ExtendedBitRate = { + "ExtendedBitRate", + "ExtendedBitRate", + &asn_OP_INTEGER, + asn_DEF_ExtendedBitRate_tags_1, + sizeof(asn_DEF_ExtendedBitRate_tags_1) + /sizeof(asn_DEF_ExtendedBitRate_tags_1[0]), /* 1 */ + asn_DEF_ExtendedBitRate_tags_1, /* Same as above */ + sizeof(asn_DEF_ExtendedBitRate_tags_1) + /sizeof(asn_DEF_ExtendedBitRate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ExtendedBitRate_constr_1, ExtendedBitRate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ExtendedBitRate.h b/asn1c_defs/all-defs/ExtendedBitRate.h new file mode 100755 index 0000000..44b2f7f --- /dev/null +++ b/asn1c_defs/all-defs/ExtendedBitRate.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExtendedBitRate_H_ +#define _ExtendedBitRate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ExtendedBitRate */ +typedef INTEGER_t ExtendedBitRate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ExtendedBitRate; +asn_struct_free_f ExtendedBitRate_free; +asn_struct_print_f ExtendedBitRate_print; +asn_constr_check_f ExtendedBitRate_constraint; +ber_type_decoder_f ExtendedBitRate_decode_ber; +der_type_encoder_f ExtendedBitRate_encode_der; +xer_type_decoder_f ExtendedBitRate_decode_xer; +xer_type_encoder_f ExtendedBitRate_encode_xer; +per_type_decoder_f ExtendedBitRate_decode_uper; +per_type_encoder_f ExtendedBitRate_encode_uper; +per_type_decoder_f ExtendedBitRate_decode_aper; +per_type_encoder_f ExtendedBitRate_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExtendedBitRate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExtendedBitRate.o b/asn1c_defs/all-defs/ExtendedBitRate.o new file mode 100644 index 0000000000000000000000000000000000000000..4352e45f37670a5d9191e71998cc31b261b0b921 GIT binary patch literal 3280 zcmbVOU1%It6uz5HlQoI6n^v)yLgyiojhN|9S}^uOW;WSmBAaAMH)-0MOeedO-_5RM zCm~g^!6fPsTPpbAiy-(?@CV;o>Vtv$T%;7N_*zQ+K@t3Uv5n{4xp#JQcT>RwJNKOL zeCOPA|My}l-Cq|95iTL}GO1V`CFDw^qH9#uNGpjEeOwobL)$5mzVsxz z7oIgd#c+R8chc^!Y4>k^_s+ywV>{g*$s5O8Xdmv~=+^r{H#WYBotxBO)hG3-n={d) zo0x+b*LU0g`1B#_oC4ERgmu3q!I{v5kz-C_j`?X2scH=;+^X`Zdy zUX^bl)o>rBw;LA@F&2wdZ+jJmLS^UkQ{*h-Fcluyd5R$;}KizP>%onN(! zavZ>pd}qMtluB~JTAsD{_;RIU*;%&ci;g^F%@^#v?-lxae68pe_mXJ;cLt9^x8Fc- z?@2j6Hoa1GR^%6z6H1~>U7?oxrrM(hGW zjKw6S*yXyUbof#@CCTsA>r(vf1AS6rqhUbO-jIwTDKjn^x}=?Lk`mz5B^k&Nl$0W` zG%q$$My7dKG7Kqmnlf4T+6{JDPkyht*5Rtz@^XX;+bBZHFl4GFVRE1r3|VkDR!f*P zR)L2A36Up!ocGjC@k%`zpFtphg&%+cZw{Ki9wsfm&XozORM$UA@dkhGIDeYqJse=| zEW-tunqksZ1s4E07?^*$HvoGFez7VxAs_97f3Xk#HQ=p*d7fiAzuSjTgp&p*8qU4h zm+ChKkLg&mWmBc@Ols70F1%(}al8`^EG6BWz)v@Rj^jrayD}@spO^#bk))nBNBa9u zrLtyLPo`5Q?P_p1n;J-sb{9&;Sz?-H$I305xw%CXZ;btFrT9q3WWg|YzHYd`@XY?> zU4^@+K}W&65?=$3p9dWUaS47Lzl9)($p68EDINu#^ZAp9d|Y3SN7w}=<~hP}tn=vr zA5<#n#?v+KnS|a~po=))ONc+ixY!(KI^x0I8Q%xj0(j*#!n+p04>BDandvw#{Q07k zFDyCMG*RHj_u4tGE!zc4aqKmRD0$1Vh%#L+6J@!C2GUifXRis{i^fm_XxvMbTxn^^ zEUw zbBEcu_pl$n&V2ozV|Z{)FyuUvK{8(Be`R0uloz1EoMQZ!EMB0~8iJS#22$~!4hoO& z41%EZ`gwW{uv+ooGs27z&*ONTW$|MD8ryVpLcA>4BVgB>e~mp+R~aAYA0b{ppZ_Vq zu$Dc09PFzMz}!I*Z5$uQCxRr&xRgj`fIr14Jg+g7S65yAname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 5)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_associatedSubframes_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ExtendedULInterferenceOverloadInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExtendedULInterferenceOverloadInfo, associatedSubframes), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_associatedSubframes_constr_2, memb_associatedSubframes_constraint_1 }, + 0, 0, /* No default value */ + "associatedSubframes" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExtendedULInterferenceOverloadInfo, extended_ul_InterferenceOverloadIndication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UL_InterferenceOverloadIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "extended-ul-InterferenceOverloadIndication" + }, + { ATF_POINTER, 1, offsetof(struct ExtendedULInterferenceOverloadInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P144, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ExtendedULInterferenceOverloadInfo_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExtendedULInterferenceOverloadInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* associatedSubframes */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* extended-ul-InterferenceOverloadIndication */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ExtendedULInterferenceOverloadInfo_specs_1 = { + sizeof(struct ExtendedULInterferenceOverloadInfo), + offsetof(struct ExtendedULInterferenceOverloadInfo, _asn_ctx), + asn_MAP_ExtendedULInterferenceOverloadInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ExtendedULInterferenceOverloadInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExtendedULInterferenceOverloadInfo = { + "ExtendedULInterferenceOverloadInfo", + "ExtendedULInterferenceOverloadInfo", + &asn_OP_SEQUENCE, + asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1, + sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1) + /sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1[0]), /* 1 */ + asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1) + /sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExtendedULInterferenceOverloadInfo_1, + 3, /* Elements count */ + &asn_SPC_ExtendedULInterferenceOverloadInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.h b/asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.h new file mode 100755 index 0000000..d718f1d --- /dev/null +++ b/asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ExtendedULInterferenceOverloadInfo_H_ +#define _ExtendedULInterferenceOverloadInfo_H_ + + +#include + +/* Including external dependencies */ +#include +#include "UL-InterferenceOverloadIndication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ExtendedULInterferenceOverloadInfo */ +typedef struct ExtendedULInterferenceOverloadInfo { + BIT_STRING_t associatedSubframes; + UL_InterferenceOverloadIndication_t extended_ul_InterferenceOverloadIndication; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExtendedULInterferenceOverloadInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ExtendedULInterferenceOverloadInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _ExtendedULInterferenceOverloadInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.o b/asn1c_defs/all-defs/ExtendedULInterferenceOverloadInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..75a13b9c38f3370fc1cd49e07bebacca2b7d36fd GIT binary patch literal 4408 zcmb_fO=u)V6s}3Tn{l&FvOi*Uh3!i;0nl{)|u{Q zx+lgT)<_KO5EcX#^sJ!ZWp4(&ME1BILQaCPE?)JZ9>jyVzE@puQmJ%)#C=fx-uvpk zSFc`GS9QOa%a64s5{xLpUSc~Mp^Pn`+>tX}%&;@;G_%(JoSA5DPc-j_C2M^wX{~KG zUc9un{p|yw@L6m1*JOUZJ%8&l^tsk!MS|7*!)pFxZswamjXc=C@=EiESMQWN&yO;; ze!0u~?!IRJxcYOu)wgA>{&lQz8@oHtuV4s^LVwRgN8wfQxZnhyS+q-TIk@0dtNmQaEr+gGa!Ygh2`_Z(Ww-8nMR#h+tyg`g zG~tzfqsT)YZWxW|ih%u%YJYslQl;pG72jh$!LYvMR2#1D`JsNbvgCStFMvIzKHgXK zy&$YR6))7wPNnLWTD?vX_{EA7x}}-MLb>kL+<;Yb{XEA2LI>*X_v-3iQT4qZ5u)wa zaR82Mwck1(;C5hF8hVdE#JD(rZ1d1gKzrEvLdadT0@|X4sCA|FP;qim_dnKxe9#8x zAlqa}AJ1lo_1?LKh8H&U7mPt8-ETIyX5KJ|jP#&k_C+{&Fm{$dA@8>Y?-S&ssjk&FJJp>}>6cU8BdMGeb=>J zGuv_3SbTLfh!jT}i$5JSzLR!)JOgT*G%lZ`Fwt21Ze!5$&=RbJ;l4zo3~qp&0Q(gL zfs$g8z6LqL9_1K5$PZ;r!cj-M2MyyBk^O0ihd8bW5{-+pCfTEol;!q2bt^sjac@z&lT$2SE|y392uT~easU9dkT)tTOvF9Gk8orV0(KKR{z z@O%5`{z^>u#|Xf242}7szP9tx`@$^YLpmNFg_EA5tWHfEoF08XsKxFZJT3ohsNfxtHg1 zli3_2L0W)T`7ch)+B37$6O-dDXfAIba%t1r73zNI7yWAM&dvH>2zRwxw}%FvHw)%q z^hWlH{fTGs8EAjw#R4=S;dsUp{=S6E_O~Sbamil5a0W1bx@82A6kNq=ZzJ9<(R zcqggH zM(|cGbQXYz^@uN$RClY65xUDEGfGbAFk>MIm{IppL37g>+O3+Pq7OF!Nl}feUvv=U z5tvc*Yc)?*H!Wzny5sG}zBGe^tVz`EQ z$7Ki*{3~&l&I=v=a2#46S`WO}5tsKAsO&yIfC>?7J@u9p3C{t;n5usogT{~wn_z<& zz5nDw{vQz_IOR`qGJwbV-w_6{DgNX~d{+3Y`Rigc-Xud2M_1xafgV@?Bz|xLtq6at zKYk@q{#5@WU}&O_zbSw;^vR^l3dpZRiyQx@_%tGa93QuYIzIjy;rP4WJ0DZrk9ruyTWsA~@pyDmPd2bJLJ{4s8v O|CY%Aa||Yt>i;h>P7$*J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/FDD-Info.c b/asn1c_defs/all-defs/FDD-Info.c new file mode 100755 index 0000000..a8c54ba --- /dev/null +++ b/asn1c_defs/all-defs/FDD-Info.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "FDD-Info.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_FDD_Info_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info, uL_EARFCN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EARFCN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-EARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info, dL_EARFCN), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EARFCN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-EARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info, uL_Transmission_Bandwidth), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Transmission_Bandwidth, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-Transmission-Bandwidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info, dL_Transmission_Bandwidth), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Transmission_Bandwidth, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dL-Transmission-Bandwidth" + }, + { ATF_POINTER, 1, offsetof(struct FDD_Info, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P145, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_FDD_Info_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_FDD_Info_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FDD_Info_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uL-EARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dL-EARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uL-Transmission-Bandwidth */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dL-Transmission-Bandwidth */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FDD_Info_specs_1 = { + sizeof(struct FDD_Info), + offsetof(struct FDD_Info, _asn_ctx), + asn_MAP_FDD_Info_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_FDD_Info_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FDD_Info = { + "FDD-Info", + "FDD-Info", + &asn_OP_SEQUENCE, + asn_DEF_FDD_Info_tags_1, + sizeof(asn_DEF_FDD_Info_tags_1) + /sizeof(asn_DEF_FDD_Info_tags_1[0]), /* 1 */ + asn_DEF_FDD_Info_tags_1, /* Same as above */ + sizeof(asn_DEF_FDD_Info_tags_1) + /sizeof(asn_DEF_FDD_Info_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FDD_Info_1, + 5, /* Elements count */ + &asn_SPC_FDD_Info_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/FDD-Info.h b/asn1c_defs/all-defs/FDD-Info.h new file mode 100755 index 0000000..a7990a0 --- /dev/null +++ b/asn1c_defs/all-defs/FDD-Info.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _FDD_Info_H_ +#define _FDD_Info_H_ + + +#include + +/* Including external dependencies */ +#include "EARFCN.h" +#include "Transmission-Bandwidth.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* FDD-Info */ +typedef struct FDD_Info { + EARFCN_t uL_EARFCN; + EARFCN_t dL_EARFCN; + Transmission_Bandwidth_t uL_Transmission_Bandwidth; + Transmission_Bandwidth_t dL_Transmission_Bandwidth; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_FDD_Info; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_Info_specs_1; +extern asn_TYPE_member_t asn_MBR_FDD_Info_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _FDD_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/FDD-Info.o b/asn1c_defs/all-defs/FDD-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..d11933434eccb0d17c644138fcc7b75fd0b0cdc4 GIT binary patch literal 3304 zcmcImJ8u&~5Z=VRA9?VQkPwoQkO&e!`9e@4kdTSvB%qKu36bcIi{m5~@m=J*KxiN} zzkmiQ1qCG);twEEQc_az1E8aW`OY)G@nT2fk&)Ir^UZ5_c5l|tOEZ(bJv~OK$J{ch zB&ab%M^nC#um#g^`po3SMD9+o8k(({Tm8QO#wiRn! zuUzAL2O9sqY9~nDV~(0Kn`zICIh;B(cZuyqA%3?Qzt4*HII0-dyA#{rP6G%WQ6f5)STmn zUkl=9mhpu&OEd9extK!HX0@Ud@Jk^J*H3|$J`$oXH^Mlqgd44Qp%?}+<*qiovEgfO z*&Vsg)op&8>8Ton{tCjeXk5+!cs~r7(BDA7ahu8zh@^+u_;gd9*h@@6;s^Udw!!p} zdEn>`LNA#Cep*19KPepRmz)1h;o5!(0f;ccUUbt6KLZ1%9fiaG0^_?1*Y=+k4*OBI z|Do`+jA6=ibA%f9^8ktTx#+LfuD^W$#)+QRV}F_ExY3-~g^R1(v2j-X*f-8{6d9)x zLV%^~xFl9L{6r1T5}l2(;sZ=vj8h5g^(x(JCkW%JGc~)Ei(sJZBW_&ra)r~%#& zO$99|p3B)nE)oaK?$CvnMLT2rUnVtb{D$rmw)X=p02;AxO}$uBePz}xwE2?LGk zN0j6&Kt(r+#~V;k7}$?o(6^ij?+@;o+%LILbA)xu|Aq7BNv|oZ1>*10=#+n(6Nx|a zqwCxGQ6J>DwrR3lkO!pGl+^<9Yc$|5c|^U<{x}~^T#m#C_$Cd(wB2j_Kv-$pLblfq s(>Lrtz{-<^;XjbQfAp + +/* Including external dependencies */ +#include "NRFreqInfo.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* FDD-InfoNeighbourServedNRCell-Information */ +typedef struct FDD_InfoNeighbourServedNRCell_Information { + NRFreqInfo_t ul_NRFreqInfo; + NRFreqInfo_t dl_NRFreqInfo; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_InfoNeighbourServedNRCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_FDD_InfoNeighbourServedNRCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoNeighbourServedNRCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_FDD_InfoNeighbourServedNRCell_Information_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _FDD_InfoNeighbourServedNRCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/FDD-InfoNeighbourServedNRCell-Information.o b/asn1c_defs/all-defs/FDD-InfoNeighbourServedNRCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..e64e4de52efd4dabf2f27d41363abd8200b2330e GIT binary patch literal 3312 zcmb_e&2G~`5Z=`Mv=nH|kAzeX;Y2}XiAyB{NXU?;EeO)ks%OV>-8Lez!FH;0p*?cr z+6xEXfJZ=_IC4c?`UI#v0nDs-{RKM0WN1|#JkCHnskpd*Y+s?BgLYDJAyg(E0Q#M1^t`I`&~fF0Ii-ZT zP(Fy`9;l5a+R3YDGM^CKv$h_S_T`C)!$t-s=GhxPD^4RAJu9bpb~X%{A&U%lx(_Y@l4E16C^gj6 zU}yX6H>AB%D8J7VpOcE-IAhAZXEemA^gu!|*!g}C5QB~P;XeVHBKz8s7UPiU$v$hw zrU&460mnFd(q|N8Bv;^R9@Kt64T$q)0RI0E7vvU zwazejMizbggD7kfJ~8!C|uN-xSEW+LA&iiy>dT@J-%37D@3v5z9t(yCOZv& zm>T?!QL?B&c$vm7asxQT^e=?fwdiGZ|C^x3GdQmQ9q`4Nv(PA6Qn*b);OTjz%7T`) z{yo5vK4=Th3pDK>0gK-tD}@AiAQM`X{ucnnd#UDE^|cIG*8F+-6QS;<2nt-tk zW7hmdIg#?m`SI(b&u;^U^V5G85LsOUB@_td36Jb1H1yZ=zc2mu{G% + +/* Including external dependencies */ +#include "NRFreqInfo.h" +#include "NR-TxBW.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* FDD-InfoServedNRCell-Information */ +typedef struct FDD_InfoServedNRCell_Information { + NRFreqInfo_t ul_NRFreqInfo; + NRFreqInfo_t dl_NRFreqInfo; + NR_TxBW_t ul_NR_TxBW; + NR_TxBW_t dl_NR_TxBW; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_InfoServedNRCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_FDD_InfoServedNRCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoServedNRCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_FDD_InfoServedNRCell_Information_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _FDD_InfoServedNRCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/FDD-InfoServedNRCell-Information.o b/asn1c_defs/all-defs/FDD-InfoServedNRCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..8bb95dadcb39f6183ea7d7fa6b3ce001c2105034 GIT binary patch literal 3600 zcmb_eJ8u&~5Z=V${Yb(~NKhCFi6G&VogfiFLI;kMfWVkM1Qo}{Ig$w5M|_tkG$b^% zw3PV)6f{VbDJUo@srU&fbaXJ^-fTQx+X;`1w6`%50 zRH?p$4c^tPtNK*08XXzQ+^#(hCxiNOFk76+2bGEj>Qz5p2x|?mf8*@A*m9?+dpaq$ z!MjQKi)b5@zg9gVkG<4(JMIR>L`il#?k2@Nx{Gm9FSIm$j_qPx3Z==VxC0n~$*#Lm z*|@Ps%_X5$#s@fZENzgR6ckKYQ;!j-cUfMlWQr4`^{8JOX(}lWha}-EomwDGB@mGFFU!52`)x&WwDkX^`q^c zPBpEx;hSn&vBc%dB`z}{@z$)LCv}%Pph|2eJyU95!1tXai79os71a2l7W@Mt{i?C9dA9gQeP4^UQr|n^-BcLFS!17%yy-F;Z{#7%`p1N~ zi@(?bf7Jos@xpe>%8zQ^NMY2YyWO+zb`9{|?#2FGaKg zAw84(C2z9uV7gGu7nEVVGM%Zo?l08hWVW{^cAjmru*p(>XVd6;P?i%FN8co~IN|9N zZ{$)vjKgwR**f$2uolw;u#;rcYdR$|;A{YCwmV_KptN$hPMNCsq zVl}zkV}6oky@9*b+RcBBaL};)nIJh0P|$Va@s_y)1G~;o!g~ZKIzkPvkQv|Xult0x z8-Ihx&5~YHS_;J9q1JBv5$S awaLF6@2mkWk^U*#`>%2R-jH6B?f)BnuQPrC literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/FiveGS-TAC.c b/asn1c_defs/all-defs/FiveGS-TAC.c new file mode 100755 index 0000000..78b9ed7 --- /dev/null +++ b/asn1c_defs/all-defs/FiveGS-TAC.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "FiveGS-TAC.h" + +int +FiveGS_TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_FiveGS_TAC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_FiveGS_TAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FiveGS_TAC = { + "FiveGS-TAC", + "FiveGS-TAC", + &asn_OP_OCTET_STRING, + asn_DEF_FiveGS_TAC_tags_1, + sizeof(asn_DEF_FiveGS_TAC_tags_1) + /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */ + asn_DEF_FiveGS_TAC_tags_1, /* Same as above */ + sizeof(asn_DEF_FiveGS_TAC_tags_1) + /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_FiveGS_TAC_constr_1, FiveGS_TAC_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/FiveGS-TAC.h b/asn1c_defs/all-defs/FiveGS-TAC.h new file mode 100755 index 0000000..e4b7c1f --- /dev/null +++ b/asn1c_defs/all-defs/FiveGS-TAC.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _FiveGS_TAC_H_ +#define _FiveGS_TAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* FiveGS-TAC */ +typedef OCTET_STRING_t FiveGS_TAC_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_FiveGS_TAC_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_FiveGS_TAC; +asn_struct_free_f FiveGS_TAC_free; +asn_struct_print_f FiveGS_TAC_print; +asn_constr_check_f FiveGS_TAC_constraint; +ber_type_decoder_f FiveGS_TAC_decode_ber; +der_type_encoder_f FiveGS_TAC_encode_der; +xer_type_decoder_f FiveGS_TAC_decode_xer; +xer_type_encoder_f FiveGS_TAC_encode_xer; +per_type_decoder_f FiveGS_TAC_decode_uper; +per_type_encoder_f FiveGS_TAC_encode_uper; +per_type_decoder_f FiveGS_TAC_decode_aper; +per_type_encoder_f FiveGS_TAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _FiveGS_TAC_H_ */ +#include diff --git a/asn1c_defs/all-defs/FiveGS-TAC.o b/asn1c_defs/all-defs/FiveGS-TAC.o new file mode 100644 index 0000000000000000000000000000000000000000..87b4468e4e97c58f486253d39565cc03c1cf57cc GIT binary patch literal 2832 zcmbVN&1)N15FdHlSox?TCpj2W$R3*1hHB#th6Epqj4W#ds%>nggciD9%d5z#K7w}@ zk{*(Rn}Y}`z4ZU+y%$3R>9P1!$UhK>FYTf9Q0mUSo!NbU-dy^Oc4mGvzxOe3-uP*~ zxja!QfQ$ls3YjG+z;CBAy{gnIOhFmEXMb(n9v^t)U*jeBwYT@AXvMDg?BM4k9P!8A z-eIx%e6soC1LEAj;w6eV{?i-(>y2Nz`-?{hcfT0_{^c*7^H-Jt=VR)jq9)-u!~Kg) zbr0UYRO@FST8c)7WZFcgD$QbBq~Qj~xgJCVx9x9-o#=Yd>s6Gpyz?+@Y*bo{HKz?% zqXqk6&>MyJU>Mu?&^54U5WKoQt9!Z+(scvLQ2J~vtX0T=%S z@ekQIBDqv5?@jon>1N6PyfnR7D%Z}GijA`?3gN&ULFaf6{>Z&EE4KmxEd0wG7S5D6 zEOvJ)T~4;p(w!V6xUa>G&~JJ#e%cCnd%mtOLb9ZlyY*P6@{Nlb1m^V z7#CZY7M#&drQgKw1udWI&JgB#b_HFYqeu6KY9?hBbep$P`{vC`X^~AM@hZ`2&Wze74Qb$y)$MLEbf01<(o`%a>1Z`@#^Z;+C7K8nHF4&nfuttbL#cSr_>yUwlSCYFQZr~uT& z3r>63?}r1N2s>`*G*<3ZqBv-O&GBK^@9YNsFx}MuS8SwG4$TfxMT~~LpTs&@`G-=K-VHaZvle!m* z@IMlOrR-nksUn`opXY$O!55y$7W2*hf6D<~gKr!5D%yGZ?{fb4IiB)Q-Cp)D`Tq(r zTIyJhqy2{0*ZV)hC;szv5TnpJa%$s{`E)<}U|4YoAL36iJ#O0E5IfD-@0f3f3*XZx zMP1G>@KaRs@;Ac|Lh?lUqdqBo!D&C{+6ciWgMage&m%^C$K+E_Gw&WDxXX$Ei41L+ T=bu7f9>2=_|6b#gYV!XBVv7=p literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ForbiddenInterRATs.c b/asn1c_defs/all-defs/ForbiddenInterRATs.c new file mode 100755 index 0000000..3da3426 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenInterRATs.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ForbiddenInterRATs.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ForbiddenInterRATs_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ForbiddenInterRATs_value2enum_1[] = { + { 0, 3, "all" }, + { 1, 5, "geran" }, + { 2, 5, "utran" }, + { 3, 8, "cdma2000" }, + { 4, 13, "geranandutran" }, + { 5, 16, "cdma2000andutran" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ForbiddenInterRATs_enum2value_1[] = { + 0, /* all(0) */ + 3, /* cdma2000(3) */ + 5, /* cdma2000andutran(5) */ + 1, /* geran(1) */ + 4, /* geranandutran(4) */ + 2 /* utran(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ForbiddenInterRATs_specs_1 = { + asn_MAP_ForbiddenInterRATs_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ForbiddenInterRATs_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ForbiddenInterRATs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenInterRATs = { + "ForbiddenInterRATs", + "ForbiddenInterRATs", + &asn_OP_NativeEnumerated, + asn_DEF_ForbiddenInterRATs_tags_1, + sizeof(asn_DEF_ForbiddenInterRATs_tags_1) + /sizeof(asn_DEF_ForbiddenInterRATs_tags_1[0]), /* 1 */ + asn_DEF_ForbiddenInterRATs_tags_1, /* Same as above */ + sizeof(asn_DEF_ForbiddenInterRATs_tags_1) + /sizeof(asn_DEF_ForbiddenInterRATs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ForbiddenInterRATs_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ForbiddenInterRATs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ForbiddenInterRATs.h b/asn1c_defs/all-defs/ForbiddenInterRATs.h new file mode 100755 index 0000000..02ec93f --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenInterRATs.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ForbiddenInterRATs_H_ +#define _ForbiddenInterRATs_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ForbiddenInterRATs { + ForbiddenInterRATs_all = 0, + ForbiddenInterRATs_geran = 1, + ForbiddenInterRATs_utran = 2, + ForbiddenInterRATs_cdma2000 = 3, + /* + * Enumeration is extensible + */ + ForbiddenInterRATs_geranandutran = 4, + ForbiddenInterRATs_cdma2000andutran = 5 +} e_ForbiddenInterRATs; + +/* ForbiddenInterRATs */ +typedef long ForbiddenInterRATs_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ForbiddenInterRATs_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenInterRATs; +extern const asn_INTEGER_specifics_t asn_SPC_ForbiddenInterRATs_specs_1; +asn_struct_free_f ForbiddenInterRATs_free; +asn_struct_print_f ForbiddenInterRATs_print; +asn_constr_check_f ForbiddenInterRATs_constraint; +ber_type_decoder_f ForbiddenInterRATs_decode_ber; +der_type_encoder_f ForbiddenInterRATs_encode_der; +xer_type_decoder_f ForbiddenInterRATs_decode_xer; +xer_type_encoder_f ForbiddenInterRATs_encode_xer; +per_type_decoder_f ForbiddenInterRATs_decode_uper; +per_type_encoder_f ForbiddenInterRATs_encode_uper; +per_type_decoder_f ForbiddenInterRATs_decode_aper; +per_type_encoder_f ForbiddenInterRATs_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenInterRATs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenInterRATs.o b/asn1c_defs/all-defs/ForbiddenInterRATs.o new file mode 100644 index 0000000000000000000000000000000000000000..4cb1ee45283a3d1d4c5c4a1a5b2ef7b0e80a86f3 GIT binary patch literal 2872 zcmbtWOKTHR6uxPE)K?!0Du|Hc!U%RqLcvl&rqs0cRflSEIh{;~wwg>z=BBhDT5#jC zOZWZ(_inoE(x2eMAE1B0dd{75GB>9a5j=43Ip24_b6<03lK1teiz9`CVk@WzDnraF zwR<*;T@$)$T#czS5RXtZG<8J_9Ftkp&~UNSZEQ80QT!;@QFnFzWuk&sOKn8mAXYt% zeb{UVwMwOul0n=Yr2E9sIqZbotHieUU*d9(2+!g)G#vXBG(4|ihUdxJVVXSNK5xwP zK5#7Ccy7sa{irR57}tw-DRupx>nHjQ1xpJHbEWcHqZjL5>7Fy=RHmyvgR1YUvrc8k zsoqI>Svi2yv-)*BKoThScQ=?V4msJP;@wF-?@sc(yNtgIVL@dtfn8a&_^d*~tnxIK znlL$TY!d$&JdaJ3abKaIw9d_= z4iz;c zCSCrFW~%3&zY^%Jov02)@J-QC)9_w>)z^F5QQkVjPMqj2jlB`YQFkl!pFerr37KpM&NS$!kC!W1hpKJo32TD}*-%e~s|I;BONCB=}o|zX<*=;UmG%5mrvJ z*VaJ;yzZuclOrANYUMNo9Vn-fB+BV_5TLT^Q~^e)ZtFeGQ*FO|?vI7iDeHOM8+ + +/* Including external dependencies */ +#include "LAC.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ForbiddenLACs */ +typedef struct ForbiddenLACs { + A_SEQUENCE_OF(LAC_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenLACs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLACs; +extern asn_SET_OF_specifics_t asn_SPC_ForbiddenLACs_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenLACs_1[1]; +extern asn_per_constraints_t asn_PER_type_ForbiddenLACs_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenLACs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenLACs.o b/asn1c_defs/all-defs/ForbiddenLACs.o new file mode 100644 index 0000000000000000000000000000000000000000..6cd7bc8cd41cfd7698f87189b19e0d2202e8c83e GIT binary patch literal 2304 zcmbtU&2G~`5T4Zh6lj6okhp{sMWU-1RRV#845`x!l{O?qAaO8GV$llXM6n~aLIPfZ zdk_Yo>_;RZ)ugC{66_RMCpcDQsT@63Gj&CLFJKl|H_g-QiPD)1Plo}d6H=cl%p znI0^|64cPXF%6Ykrz~Z`1q7G)qqy#UoxGwnhU4yjzaPchPwGiATtIX^j@W)7;S9Vv zQ=Zr2zqm)y&3gS|b+yx-#Ob7ZU#+X!nmfrn_mlfT)z+1JC&%a3qV=AGzo%scXS&-n zVF&0`isFD%1QBttLzy^WTpA{bs7IF;#B_&^Io(5p5fDdqdQIV1HZC5FmsVr55go4HvC2~g9mB& zE(zT7V218CgSP*oi1I>usc|0Pm`+zCXHB&s*1t-HflO&JO9|?iEH=2ivhy!34yibn`cZR$rtT0X7@iqoa9fg z^jOtaZahLoZC1r*$`R*rnH;rpS^y1+3meY2o4zhMUEl%wCJBK N%Wv`{WdA01{y+QppKkyF literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ForbiddenLAs-Item.c b/asn1c_defs/all-defs/ForbiddenLAs-Item.c new file mode 100755 index 0000000..ad55a66 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenLAs-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ForbiddenLAs-Item.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenLAs_Item, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenLAs_Item, forbiddenLACs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ForbiddenLACs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "forbiddenLACs" + }, + { ATF_POINTER, 1, offsetof(struct ForbiddenLAs_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P147, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ForbiddenLAs_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ForbiddenLAs_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ForbiddenLAs_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* forbiddenLACs */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_specs_1 = { + sizeof(struct ForbiddenLAs_Item), + offsetof(struct ForbiddenLAs_Item, _asn_ctx), + asn_MAP_ForbiddenLAs_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ForbiddenLAs_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item = { + "ForbiddenLAs-Item", + "ForbiddenLAs-Item", + &asn_OP_SEQUENCE, + asn_DEF_ForbiddenLAs_Item_tags_1, + sizeof(asn_DEF_ForbiddenLAs_Item_tags_1) + /sizeof(asn_DEF_ForbiddenLAs_Item_tags_1[0]), /* 1 */ + asn_DEF_ForbiddenLAs_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ForbiddenLAs_Item_tags_1) + /sizeof(asn_DEF_ForbiddenLAs_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ForbiddenLAs_Item_1, + 3, /* Elements count */ + &asn_SPC_ForbiddenLAs_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ForbiddenLAs-Item.h b/asn1c_defs/all-defs/ForbiddenLAs-Item.h new file mode 100755 index 0000000..4963c0e --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenLAs-Item.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ForbiddenLAs_Item_H_ +#define _ForbiddenLAs_Item_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "ForbiddenLACs.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ForbiddenLAs-Item */ +typedef struct ForbiddenLAs_Item { + PLMN_Identity_t pLMN_Identity; + ForbiddenLACs_t forbiddenLACs; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenLAs_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenLAs_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenLAs-Item.o b/asn1c_defs/all-defs/ForbiddenLAs-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..e15016210808d3c4a9fd8826eefb0539824c3060 GIT binary patch literal 3048 zcmb_dJ8u&~5MFaU5(0VfkdSDc3M1i_FIXf3gdB|XKzSTQk)XPqog=ZZ?;_tuavE?+ zPm`X8f50E0phTkKXFx#>Gv^t5y;)l#%1Eo3`R27ddpG;OvbJgq_m>D$YRs8{lpwhE)99!E(( z;Rwmxi>VI_b%q&6;OD^h7ifgbf17d;aq$fE;`wpCf_3=}^Fk^swE^AHEM{N%K1`fL zu%|jewfW|R}Uj~n4OnJS;)JGsph_O7i6I*-Md{JB8C&zIxl`( z@6;LCNk4}(up=F}pVEN}Hgd#;6YxzyGGbg5$f8F&;?fEK2jtHNj(bgbkqm=*#@T&< zJ7Qu$XT?cxfwe9_0yd-Vf1k`BflrgHvrj|tFMwm74mpp}<^M?W{(1Rae*m}TpMW?U zK05?IIhbTk1WDvSt1S8Y(DHF;`6}2;d^dGiU-aw_b75noOWfoX)*5N@P0!z|yx6X6 zlq-S-zXrolwSs!2x*K@<(z1c>=C-`D#g-g|HNCb6BiQeaV9Tjt6f^3zVinioMsF^c z<4D0?!j``mbbB$zV$0Q?uon&O+Nk$yc#WBA${07O$a_9)e{@GL$VnxI8A7|=lIOdmR z(EFzUm1ckV{}wViYO0_LT(!D}%pQS&Grq(C@fG3U4K4w`Kh(8BztKX&(&hc0uA+x>@7}nR{dQim<0Sl;T zl+|Pu_h4Z>*Fg;FnBwt%bfR{oF^C_)Vodk@YHo;(rZ4I?*KY()6Tb?6ld#P52U?K|_T%)E@tt`rpB18kzC`05~1)mjD0& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ForbiddenLAs.c b/asn1c_defs/all-defs/ForbiddenLAs.c new file mode 100755 index 0000000..f502474 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenLAs.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ForbiddenLAs.h" + +#include "ForbiddenLAs-Item.h" +asn_per_constraints_t asn_PER_type_ForbiddenLAs_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ForbiddenLAs_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ForbiddenLAs_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ForbiddenLAs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ForbiddenLAs_specs_1 = { + sizeof(struct ForbiddenLAs), + offsetof(struct ForbiddenLAs, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs = { + "ForbiddenLAs", + "ForbiddenLAs", + &asn_OP_SEQUENCE_OF, + asn_DEF_ForbiddenLAs_tags_1, + sizeof(asn_DEF_ForbiddenLAs_tags_1) + /sizeof(asn_DEF_ForbiddenLAs_tags_1[0]), /* 1 */ + asn_DEF_ForbiddenLAs_tags_1, /* Same as above */ + sizeof(asn_DEF_ForbiddenLAs_tags_1) + /sizeof(asn_DEF_ForbiddenLAs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ForbiddenLAs_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ForbiddenLAs_1, + 1, /* Single element */ + &asn_SPC_ForbiddenLAs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ForbiddenLAs.h b/asn1c_defs/all-defs/ForbiddenLAs.h new file mode 100755 index 0000000..bba7a98 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenLAs.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ForbiddenLAs_H_ +#define _ForbiddenLAs_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ForbiddenLAs_Item; + +/* ForbiddenLAs */ +typedef struct ForbiddenLAs { + A_SEQUENCE_OF(struct ForbiddenLAs_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenLAs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs; +extern asn_SET_OF_specifics_t asn_SPC_ForbiddenLAs_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_1[1]; +extern asn_per_constraints_t asn_PER_type_ForbiddenLAs_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenLAs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenLAs.o b/asn1c_defs/all-defs/ForbiddenLAs.o new file mode 100644 index 0000000000000000000000000000000000000000..cb32a3d66764de0f3f726bf94afc2f926e3e37b3 GIT binary patch literal 2312 zcmbtU&2G~`5T3*Z3ba6ONL<2+BGFZhDuF;kF2O0F(uSmwDseDQV$llXM6n~<3vlHP zdf>n#^aYSO_Q(xhgC{66_KdUHY%g>q`_GdSY?UQBqGFrY*dQ{}bn# zMb2SowKnSYN7a>1cM_+Q>I1c=YOC%fv)oVaLseT-?%kX}b0zwY1^9bv3vi0lp7lCF zU6~gLoOu!%C+pz6%K`1uu$%f?f=fj(^pVnsW*CFXx1+UkIQkyQ`EBo3bWjX3+s&ZuzwY>3bwAi{WK`2{1?k}^nl02D#z{KHQf+?+BZJ%y_v186diAt58=tS) zZq{e%WEAzz+EDN!jRySD2z2lC?n|dkUe1PiIWwvvGlh7`C4PloC?@Y^Y|byUPVijg zuW7vWnd)5E__wSRFMA{ENaHK46a3P6`rcw~l^hPzunP(gKF2-L(&!)s)eqAUR5wXL zjfZ4Vq^n#sqYq)`CQZDcdc(mW!j7qUm_}-2tFxM + +/* Including external dependencies */ +#include "TAC.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ForbiddenTACs */ +typedef struct ForbiddenTACs { + A_SEQUENCE_OF(TAC_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenTACs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTACs; +extern asn_SET_OF_specifics_t asn_SPC_ForbiddenTACs_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenTACs_1[1]; +extern asn_per_constraints_t asn_PER_type_ForbiddenTACs_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenTACs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenTACs.o b/asn1c_defs/all-defs/ForbiddenTACs.o new file mode 100644 index 0000000000000000000000000000000000000000..8fbef53114b393a12185495821cd19f50d5d1960 GIT binary patch literal 2304 zcmbtU&2G~`5T4Zh6lj6okhp{sMWU-1RRV#845`x!K^u}rAaO8GV$llXM6n~aLIPfZ zdk_Yo>_;RZ)ugC{66_RMCpcDQsT@63Gj&CLFJKl{%c3zZ6pRNyg8JwX9Z&QEPG zGd);_C8(i&V;U;8PFc!=3kWXpM{(WzI(bED49DI5em{zLpVX6LxPa(-9I^dE!WnpT zraZ63e{qkZoAvs`>T0JuiPK5-zFJqcHFuJE?kD$ws;w*cPL9v5Me98We^1K@&UCkD z!Vb`>6vY9j2qNNOhca=%xHL>yL0y51nr>z~2CfNcIB>~ywe7&7w#86rtQdXwIIw}b z?0jBj`~|2ougUr&>N5UU#Hs!l=DlY9J;SH_Mt7Rz2YzLBVCEvL9)w98Z1{~}1`pEk zT@twE!3^DL25tXk$KS5|!A>KCntm%t4@Z$zsyB?2bd1H?{w`93+zCXHB&s*1t-HflO&JO9|?iEH=2ivhy!34yibn`cZR$rtT0X7@iqoa9fg z^jOtaZahLoZC1r*$`R*rnH;rpS^y1+3meY2o4zhMUEl%wCJBK N%Wv`{WdA01{y$t+pRWJ_ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ForbiddenTAs-Item.c b/asn1c_defs/all-defs/ForbiddenTAs-Item.c new file mode 100755 index 0000000..58c4965 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenTAs-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ForbiddenTAs-Item.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenTAs_Item, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenTAs_Item, forbiddenTACs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ForbiddenTACs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "forbiddenTACs" + }, + { ATF_POINTER, 1, offsetof(struct ForbiddenTAs_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P146, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ForbiddenTAs_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ForbiddenTAs_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ForbiddenTAs_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* forbiddenTACs */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_specs_1 = { + sizeof(struct ForbiddenTAs_Item), + offsetof(struct ForbiddenTAs_Item, _asn_ctx), + asn_MAP_ForbiddenTAs_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ForbiddenTAs_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item = { + "ForbiddenTAs-Item", + "ForbiddenTAs-Item", + &asn_OP_SEQUENCE, + asn_DEF_ForbiddenTAs_Item_tags_1, + sizeof(asn_DEF_ForbiddenTAs_Item_tags_1) + /sizeof(asn_DEF_ForbiddenTAs_Item_tags_1[0]), /* 1 */ + asn_DEF_ForbiddenTAs_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ForbiddenTAs_Item_tags_1) + /sizeof(asn_DEF_ForbiddenTAs_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ForbiddenTAs_Item_1, + 3, /* Elements count */ + &asn_SPC_ForbiddenTAs_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ForbiddenTAs-Item.h b/asn1c_defs/all-defs/ForbiddenTAs-Item.h new file mode 100755 index 0000000..2050b7f --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenTAs-Item.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ForbiddenTAs_Item_H_ +#define _ForbiddenTAs_Item_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "ForbiddenTACs.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ForbiddenTAs-Item */ +typedef struct ForbiddenTAs_Item { + PLMN_Identity_t pLMN_Identity; + ForbiddenTACs_t forbiddenTACs; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenTAs_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenTAs_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenTAs-Item.o b/asn1c_defs/all-defs/ForbiddenTAs-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..f3bbc10901d0526b2924963734b214bb237cc065 GIT binary patch literal 3048 zcmb_dJ8u&~5FT?p5(0VfkdSDc3M1i@FIW%(LJr1xpgayjB&aTD=SVEgzIpA=?#;fhtS+9(WI!kbkD;##3XmJ? z%cVpt!4yowV$`bEcXopC-SJ&3_D~PDNI)pcUdpU-BC0}W)AdKr#821y7 zkj%B1`mj)Im|+Bd25oH^mAAPE7I}wU0PTnjVw5K48D#?2F9Vl7Cq8}3&;HLvA-B3?lt2@HVoz&7xw{f z!NhMR{mQ=nAfA?g0^`!~ z*&+Dx!DQFKk3;WiWzo}zmPbR&Q~qx3If=vCf}8Fz7c@q?L`_MNS|drm;d+~u=UbKa zas@>2YB&s4%ddy3yMQMzQWnr%+@@PjvBmpAO|R|Z2=;m-IAzy3iUoCBk&0?jqc@k! zQK)b&LCc$;yX&}4k*;8m==k(oEzg39%UKaV)r$tW!7|}=8|B<-P7;~;au-f;$w`o_ z;WI1~+h&>aTw$5m5zB;MWtrG_mITwomNlIIaiNZeQ+}Hb zdf)WF((I4?-(bgwP32dSt5%oqiKK$I0(-|-KG@Yb2D=rJLY|K8pc*v%#7vT*+Ks5@ z6PSd6U5lDce7eC7BNf<7>s$F)`L(yQofGq$7)h<5`L9z+S2UU1);^>CHH9qv9$VGetZj@Pgqt2=FgC))o=3%mw2jAkXheDjOy!eJ*u$Hz&t4$ zWi^?^UHm9s>JUbB#PM`KI&nLa7{d4Q6HNE}YA%S4rZ4GfuHP7(W_}s{Ch;@(PcO20 c_6WgGez@0+f`*E3XnOo-?th1pX=KL#1C7q^<^TWy literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ForbiddenTAs.c b/asn1c_defs/all-defs/ForbiddenTAs.c new file mode 100755 index 0000000..8f6640c --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenTAs.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ForbiddenTAs.h" + +#include "ForbiddenTAs-Item.h" +asn_per_constraints_t asn_PER_type_ForbiddenTAs_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ForbiddenTAs_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ForbiddenTAs_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ForbiddenTAs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ForbiddenTAs_specs_1 = { + sizeof(struct ForbiddenTAs), + offsetof(struct ForbiddenTAs, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs = { + "ForbiddenTAs", + "ForbiddenTAs", + &asn_OP_SEQUENCE_OF, + asn_DEF_ForbiddenTAs_tags_1, + sizeof(asn_DEF_ForbiddenTAs_tags_1) + /sizeof(asn_DEF_ForbiddenTAs_tags_1[0]), /* 1 */ + asn_DEF_ForbiddenTAs_tags_1, /* Same as above */ + sizeof(asn_DEF_ForbiddenTAs_tags_1) + /sizeof(asn_DEF_ForbiddenTAs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ForbiddenTAs_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ForbiddenTAs_1, + 1, /* Single element */ + &asn_SPC_ForbiddenTAs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ForbiddenTAs.h b/asn1c_defs/all-defs/ForbiddenTAs.h new file mode 100755 index 0000000..ceec336 --- /dev/null +++ b/asn1c_defs/all-defs/ForbiddenTAs.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ForbiddenTAs_H_ +#define _ForbiddenTAs_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ForbiddenTAs_Item; + +/* ForbiddenTAs */ +typedef struct ForbiddenTAs { + A_SEQUENCE_OF(struct ForbiddenTAs_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenTAs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs; +extern asn_SET_OF_specifics_t asn_SPC_ForbiddenTAs_specs_1; +extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_1[1]; +extern asn_per_constraints_t asn_PER_type_ForbiddenTAs_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ForbiddenTAs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ForbiddenTAs.o b/asn1c_defs/all-defs/ForbiddenTAs.o new file mode 100644 index 0000000000000000000000000000000000000000..374e37c1fb94afadcc212a7393aeb741579f46d7 GIT binary patch literal 2312 zcmbtU&2G~`5T4Wp3ba6ONL<2+BGFZhDiwi*T!K?T(1!d-l{gqDv1kQxqSz7b1-SAC zJ#gR=`T|HCd*lYM!4s4jd&b#pwih~*{mp#yv+JGpeD+_~7fK}%DZyiyTEYUHT$t)! zrh2df%TPuA=G0}?PFZZu1tb^wA-}ABgA9w*hvV*kzaPcz&BWrKqokfVOj~#p|0m8f zi=4yGYHihO4=byk?j%kpl?}D7s%!2fv)oVa165sD?%kX}b0zwYMfiJa3vi0lp7lCF zU6~gLoOu!%C+pz6%K`1uu$%f?f=fj(^pVp%)4W#)e%+UkIQkyQ`EBo3bX^+2bCG<=r? zuGN>3JB^^_zwY?kH9y#?XH>&)2I=7_nl02D#z{KHQZ2uYkwI>U`*E5jy?WA|jnCI? zHEOeTGKzX6qENdHs@DZCwQju z*EC-GOm(hn{9D$Em%R~nr153e34UojeQ&Y0N)88U*ad|LpW~irX>^c+>W66vs+%OB z#zQhF(p4^+(T6Z|lO|qJz2RUGVaHTFOe3|m-C0Z0u=k!fa89^|`Si^fjXIuTi%GG% z+(v^qb3%9=G-4E}h{AXWk@{@r9~*IEn(NblPuzV8V3d5l_vDg%L613e{h!E_{K=ts zR|+jx9wE>y^K!FzH+aA;@j_S7L-$1PwA}L-$We$nd5<_xpOY9iH*uSsUnQp|-#DMn zM;E4xb9jSJ;q literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Fourframes.c b/asn1c_defs/all-defs/Fourframes.c new file mode 100755 index 0000000..2de8573 --- /dev/null +++ b/asn1c_defs/all-defs/Fourframes.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Fourframes.h" + +int +Fourframes_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 24)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Fourframes_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 24, 24 } /* (SIZE(24..24)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Fourframes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Fourframes = { + "Fourframes", + "Fourframes", + &asn_OP_BIT_STRING, + asn_DEF_Fourframes_tags_1, + sizeof(asn_DEF_Fourframes_tags_1) + /sizeof(asn_DEF_Fourframes_tags_1[0]), /* 1 */ + asn_DEF_Fourframes_tags_1, /* Same as above */ + sizeof(asn_DEF_Fourframes_tags_1) + /sizeof(asn_DEF_Fourframes_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Fourframes_constr_1, Fourframes_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Fourframes.h b/asn1c_defs/all-defs/Fourframes.h new file mode 100755 index 0000000..0ea78d5 --- /dev/null +++ b/asn1c_defs/all-defs/Fourframes.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Fourframes_H_ +#define _Fourframes_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Fourframes */ +typedef BIT_STRING_t Fourframes_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Fourframes_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Fourframes; +asn_struct_free_f Fourframes_free; +asn_struct_print_f Fourframes_print; +asn_constr_check_f Fourframes_constraint; +ber_type_decoder_f Fourframes_decode_ber; +der_type_encoder_f Fourframes_encode_der; +xer_type_decoder_f Fourframes_decode_xer; +xer_type_encoder_f Fourframes_encode_xer; +per_type_decoder_f Fourframes_decode_uper; +per_type_encoder_f Fourframes_encode_uper; +per_type_decoder_f Fourframes_decode_aper; +per_type_encoder_f Fourframes_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Fourframes_H_ */ +#include diff --git a/asn1c_defs/all-defs/Fourframes.o b/asn1c_defs/all-defs/Fourframes.o new file mode 100644 index 0000000000000000000000000000000000000000..8a866332b61df96f512e5120b6940ac277572420 GIT binary patch literal 2872 zcmbVNO>7fa5FTeKF(h>y=pho7*aOf+Y93w`i6}^wsq?duOt6xGP%Cw_vDY}%v5|L; zpa-BzBVk1#q^kEGdhDV1UV=E%LzPpd9*TN}3q4dhR842zzFEIKmP^OlH#6UxnfKnj zdE*Cj<@te32ADGN3G_8a0rrpf<)RdeFba8axBp&Q?CmY~UPLu_XFlt0?{+U;+1~s4 z04e&&-FlrZ?+lh7zfV55&bYDQ_Wp8v|2n(n-XE6__HKOE`|b1R^^w!F06W+7?z5Mc z^ZVAHgYLwy?$-WT_a~YjIsK4AxE%Ty89EM!E8IG%LOXk}ejr1QXe&e-l!ya~6boZY zXKqY`5a<1{jf+pRF__#3UruKOF!pq9+`!Sz)ZgW2;==?ilu9%9__g(JE9%-8#gr&a zI$fzb_nm1`m=exJjKc>iK<2Au$lT3mP7M!cpW@a&S=YG*$8}Z87jZnH z_U6n6<-t$3dUE5NjWUsG|2T#vPPN1K3YIrP)iG|Jq$r~+N6-VBc>0lSPs%h8lc3pAgb-n&7g&Wu=56D zVd>gr82QyNm3`3gWRp%d_5TGMUFqy*hbSUO#P2884(E=rQ}|JjDB`D6K|S#`1;%{^ zfbXC0^&HOA`evtlsr>leDK)tl);~spVw(O13YtPD?4S){T=(q4{%06aocGUhiioHA zuPTE%!=L?_uPT3Y|KBTvhT(4;`c>4^^8Zxje^=R4{;AvZ{yG0&AVy0as&TSYfZqQR ze(Rs7ju`nDXi}qLyb GrvHEDyCx6- literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/FreqBandIndicator.c b/asn1c_defs/all-defs/FreqBandIndicator.c new file mode 100755 index 0000000..f6f6158 --- /dev/null +++ b/asn1c_defs/all-defs/FreqBandIndicator.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "FreqBandIndicator.h" + +int +FreqBandIndicator_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_FreqBandIndicator_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (1..255,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_FreqBandIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FreqBandIndicator = { + "FreqBandIndicator", + "FreqBandIndicator", + &asn_OP_NativeInteger, + asn_DEF_FreqBandIndicator_tags_1, + sizeof(asn_DEF_FreqBandIndicator_tags_1) + /sizeof(asn_DEF_FreqBandIndicator_tags_1[0]), /* 1 */ + asn_DEF_FreqBandIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_FreqBandIndicator_tags_1) + /sizeof(asn_DEF_FreqBandIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_FreqBandIndicator_constr_1, FreqBandIndicator_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/FreqBandIndicator.h b/asn1c_defs/all-defs/FreqBandIndicator.h new file mode 100755 index 0000000..1826902 --- /dev/null +++ b/asn1c_defs/all-defs/FreqBandIndicator.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _FreqBandIndicator_H_ +#define _FreqBandIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* FreqBandIndicator */ +typedef long FreqBandIndicator_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_FreqBandIndicator_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_FreqBandIndicator; +asn_struct_free_f FreqBandIndicator_free; +asn_struct_print_f FreqBandIndicator_print; +asn_constr_check_f FreqBandIndicator_constraint; +ber_type_decoder_f FreqBandIndicator_decode_ber; +der_type_encoder_f FreqBandIndicator_encode_der; +xer_type_decoder_f FreqBandIndicator_decode_xer; +xer_type_encoder_f FreqBandIndicator_encode_xer; +per_type_decoder_f FreqBandIndicator_decode_uper; +per_type_encoder_f FreqBandIndicator_encode_uper; +per_type_decoder_f FreqBandIndicator_decode_aper; +per_type_encoder_f FreqBandIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _FreqBandIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/FreqBandIndicator.o b/asn1c_defs/all-defs/FreqBandIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..d15f9bdaa0e262b8200b8d75587e731c53be0145 GIT binary patch literal 2832 zcmbVN&2JM|5Fcl05+F5BXr)M0?OuSOl1CPy5(QD2=4&HaA>vD@NSKYiP7KZ(yz2<6 zwjiY(EYzy~4|?psQ1yb;-g>EWLh7L$k;9+fl;pU-^>VoMWT^D*yTrZyq2D$9&cA-=jrX+F`Rl^Y_Vv#@&u;u$JM_^U;Ji$I zsj1y`oZuTrjtwfI!fXiREjp%vcy zEQqR0QMFzPl4eU);AlMKZU&8Z=tj-NU8`?~kvoCl(dr2ut2CoHX$AEtace=n5mwV^ z-)wtTw0F$jE8E|j-HTEWVR3eL#+|sj+K!U8dsdxMQd*0XHw3<4jyc1m<-eYR+ zi%XEZU&tL985;f`7e9&k2ORr~^jyBMHL#W+FXi29`SA<+!t8p6#rQ-U{dJzx_+Z*=$uBZ4zNsBJV7l6#$KNrdpL)*_Tg5SIeDAu>2KW+nfo)U$ zfX=AV{}l=Lopro9c*Dwb^9$v^SUCyS;<5*-G&@B+VysGsAJh=}i;7Zs2Bq+raZiKErwk z=+w!)`aYsh_rS!Z_k@q(5E*BK@ZMw{bYIxj?=Q`1^9!_ChS)Hjcfw9vxx)Y0!lizhr-<<^{y9!4 zS$yG%zQTOF{vSDE-Qv5Je-Ztx{y*aW|HS#!e|pWOe(C>B#AvBqXPojFFyD8C`~F#K zh!KB^f`*JR|D=JDDc>!+X<%mRv|SJfg(tb+FyBrWzAuTa<@*JGh(=cbCg>4Dkv>uX z=zSBu;8c&jHbU@-!RK7?A;jqJ*nE1s?7c?_ZgJy(CdUx_`$sXB#V>OG-x*voZT^4W Cha~O* literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/FreqBandIndicatorPriority.c b/asn1c_defs/all-defs/FreqBandIndicatorPriority.c new file mode 100755 index 0000000..720a5c4 --- /dev/null +++ b/asn1c_defs/all-defs/FreqBandIndicatorPriority.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "FreqBandIndicatorPriority.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_FreqBandIndicatorPriority_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_FreqBandIndicatorPriority_value2enum_1[] = { + { 0, 15, "not-broadcasted" }, + { 1, 11, "broadcasted" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_FreqBandIndicatorPriority_enum2value_1[] = { + 1, /* broadcasted(1) */ + 0 /* not-broadcasted(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_FreqBandIndicatorPriority_specs_1 = { + asn_MAP_FreqBandIndicatorPriority_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_FreqBandIndicatorPriority_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_FreqBandIndicatorPriority_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FreqBandIndicatorPriority = { + "FreqBandIndicatorPriority", + "FreqBandIndicatorPriority", + &asn_OP_NativeEnumerated, + asn_DEF_FreqBandIndicatorPriority_tags_1, + sizeof(asn_DEF_FreqBandIndicatorPriority_tags_1) + /sizeof(asn_DEF_FreqBandIndicatorPriority_tags_1[0]), /* 1 */ + asn_DEF_FreqBandIndicatorPriority_tags_1, /* Same as above */ + sizeof(asn_DEF_FreqBandIndicatorPriority_tags_1) + /sizeof(asn_DEF_FreqBandIndicatorPriority_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_FreqBandIndicatorPriority_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_FreqBandIndicatorPriority_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/FreqBandIndicatorPriority.h b/asn1c_defs/all-defs/FreqBandIndicatorPriority.h new file mode 100755 index 0000000..fb0e580 --- /dev/null +++ b/asn1c_defs/all-defs/FreqBandIndicatorPriority.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _FreqBandIndicatorPriority_H_ +#define _FreqBandIndicatorPriority_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum FreqBandIndicatorPriority { + FreqBandIndicatorPriority_not_broadcasted = 0, + FreqBandIndicatorPriority_broadcasted = 1 + /* + * Enumeration is extensible + */ +} e_FreqBandIndicatorPriority; + +/* FreqBandIndicatorPriority */ +typedef long FreqBandIndicatorPriority_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_FreqBandIndicatorPriority; +asn_struct_free_f FreqBandIndicatorPriority_free; +asn_struct_print_f FreqBandIndicatorPriority_print; +asn_constr_check_f FreqBandIndicatorPriority_constraint; +ber_type_decoder_f FreqBandIndicatorPriority_decode_ber; +der_type_encoder_f FreqBandIndicatorPriority_encode_der; +xer_type_decoder_f FreqBandIndicatorPriority_decode_xer; +xer_type_encoder_f FreqBandIndicatorPriority_encode_xer; +per_type_decoder_f FreqBandIndicatorPriority_decode_uper; +per_type_encoder_f FreqBandIndicatorPriority_encode_uper; +per_type_decoder_f FreqBandIndicatorPriority_decode_aper; +per_type_encoder_f FreqBandIndicatorPriority_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _FreqBandIndicatorPriority_H_ */ +#include diff --git a/asn1c_defs/all-defs/FreqBandIndicatorPriority.o b/asn1c_defs/all-defs/FreqBandIndicatorPriority.o new file mode 100644 index 0000000000000000000000000000000000000000..ed5cdfbe1d70095a43e815a51e10d2635729de06 GIT binary patch literal 2696 zcmbtV&2G~`5Z=^vg`=Uo~bb6~R^!Ps9*0E5yn9VeISB z7YpL5KpORSj)~96blQ}mkwzb%$++_(?sP+`lC+t2leDXjMVzRWcACgeC^Hpxgc(mM zS~6|+i833Pq>fB26PlJk13CwO({v-n0W4Sq=U=jTvAMDFsJgt{?#HTMedw;awH2?g zk@wkKcWY~|cQ@zl%n^+BXT|Tc5t4v2p?gQ*?#9j0J1*j9$4Ouuac+#i1x!WE4S3FM zXnweElN3jqpC9P?e2{RAIs<{`hkE9}Lr@X(!Y86e{-@^WU?w;Ah#WC?Dq7@-i@Des z|3bWE?028$s&D{{hK|Ga3A~tiaokYIEDoO68^J_PpyXZ_cv{%3?*!`jFe*`pNt~&a z^lzIRCDQCL3c2#@r_B=Okv!-}t5MwVQQ>kq3RiUw$xAn=clM?kY)jQWit3OXr4qj) z_-OW`I7+)=5GO&tGue$5KXCGRAI!Is&)eqt%#dF)YFsz!m~X-I1l~7z{9dqaQGoTY zF$um!G4e%kAM-xx%>J<-#(aNJkNdqr`hD`u-y{pI zXPI!*1OX~N*8>OIP z%;8|name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 1024)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_supportedSULBandList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 32)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_supportedSULBandList_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (1..1024,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_supportedSULBandList_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_supportedSULBandList_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SupportedSULFreqBandItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_supportedSULBandList_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_supportedSULBandList_specs_3 = { + sizeof(struct FreqBandNrItem__supportedSULBandList), + offsetof(struct FreqBandNrItem__supportedSULBandList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_supportedSULBandList_3 = { + "supportedSULBandList", + "supportedSULBandList", + &asn_OP_SEQUENCE_OF, + asn_DEF_supportedSULBandList_tags_3, + sizeof(asn_DEF_supportedSULBandList_tags_3) + /sizeof(asn_DEF_supportedSULBandList_tags_3[0]) - 1, /* 1 */ + asn_DEF_supportedSULBandList_tags_3, /* Same as above */ + sizeof(asn_DEF_supportedSULBandList_tags_3) + /sizeof(asn_DEF_supportedSULBandList_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_supportedSULBandList_constr_3, SEQUENCE_OF_constraint }, + asn_MBR_supportedSULBandList_3, + 1, /* Single element */ + &asn_SPC_supportedSULBandList_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_FreqBandNrItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem, freqBandIndicatorNr), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_freqBandIndicatorNr_constr_2, memb_freqBandIndicatorNr_constraint_1 }, + 0, 0, /* No default value */ + "freqBandIndicatorNr" + }, + { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem, supportedSULBandList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_supportedSULBandList_3, + 0, + { 0, &asn_PER_memb_supportedSULBandList_constr_3, memb_supportedSULBandList_constraint_1 }, + 0, 0, /* No default value */ + "supportedSULBandList" + }, + { ATF_POINTER, 1, offsetof(struct FreqBandNrItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P148, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_FreqBandNrItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_FreqBandNrItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FreqBandNrItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicatorNr */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* supportedSULBandList */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_specs_1 = { + sizeof(struct FreqBandNrItem), + offsetof(struct FreqBandNrItem, _asn_ctx), + asn_MAP_FreqBandNrItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_FreqBandNrItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem = { + "FreqBandNrItem", + "FreqBandNrItem", + &asn_OP_SEQUENCE, + asn_DEF_FreqBandNrItem_tags_1, + sizeof(asn_DEF_FreqBandNrItem_tags_1) + /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */ + asn_DEF_FreqBandNrItem_tags_1, /* Same as above */ + sizeof(asn_DEF_FreqBandNrItem_tags_1) + /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FreqBandNrItem_1, + 3, /* Elements count */ + &asn_SPC_FreqBandNrItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/FreqBandNrItem.h b/asn1c_defs/all-defs/FreqBandNrItem.h new file mode 100755 index 0000000..9dadecf --- /dev/null +++ b/asn1c_defs/all-defs/FreqBandNrItem.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _FreqBandNrItem_H_ +#define _FreqBandNrItem_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct SupportedSULFreqBandItem; + +/* FreqBandNrItem */ +typedef struct FreqBandNrItem { + long freqBandIndicatorNr; + struct FreqBandNrItem__supportedSULBandList { + A_SEQUENCE_OF(struct SupportedSULFreqBandItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } supportedSULBandList; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FreqBandNrItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem; +extern asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_specs_1; +extern asn_TYPE_member_t asn_MBR_FreqBandNrItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _FreqBandNrItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/FreqBandNrItem.o b/asn1c_defs/all-defs/FreqBandNrItem.o new file mode 100644 index 0000000000000000000000000000000000000000..c979ca5c442413179d7bf65af908f1031791c7e9 GIT binary patch literal 5776 zcmb_gPiz!r6#v>qS}AS|a;SoKRKSwhp;MaJG|_BXw%wYgEG;D{(Pg@wmc{*3cc)l1 z=$eYjhL~{hpou0VUW_M>sFxc5k#HeBnRu`V6G*$8<*!zO+^6G8SWAh@&qJ%r$6l)Z zc>J50_O1g8@>1wcFVuI345zkHsI`3K+x9N5AFo_-cf`|2TjPs=8Lz)^JaK*`o~SGj zt**3pm9bd?~15{+{bSLaf8r5gx>fLD+E(7z@5RS zDvDEtR0V|44Dv?01gs3HtRZ9UCc4nAy0#lo^U1FsT%Uc`;%mjPw|~>zYnSp?IyLRg zl=j-$Y>y`l7oFGk+xh9S;;8H7%(U878Z=JZ*?Gsv7hGdDbK1!p-2m>I-s9QQg?z~^ z+L^p-%-ET%GhMaTr&2SNc{D$rN!xCrI961p`MJ45(RHRLCKFgSktw+<6YGgBxK6&5 zfz)eFN1d%Y--POVowHEj{#iHSTsPWB>rO@it-x^)-7muN<23*m?#uh#FQi-->Fa@W z_B8{Bx0Y3(@GOxaGxW0~aNqxMy)*ORAxJJ?^LOS}PtVW{IL8E(eYCiAI z8_$~kW^a!*?`hUs)_~dDZ(4hN9KF>x?-y#kF|L{xI-0g`ZfU&$1)l+Y2ieXdKM?L% zY@Q8wCc?(iaOY6CBf2TvI?^`gAxiawOM?90tNKrX&tddQhK{Ra8`SN< zXK<))Mrz?96+EjU$P`2&^*|5|S?<2Wwt{D~sO!xMV0hmkUIvcjjolX^PYX#kmIAR! zwJCfLA<51{>OmhAzgP$TnKhsk6eXCMmg3tsVl?g}^|HZ>w)J584CkYRM zj{XMe>~DH_n>TJW;qwS-ocvcjO)2(2>)|cRpiPVS2hzvn?`ukJW&wCed8ZPA_+m(f z@4~)@JSt!vzxVKs)jiCCR|#ib@=#qDzU3PDZxQRr^Ybg<9Wt2YKO5j}Fn-KaCcjp% z52bc`cx~N#$sPqfDF2HM@N*6D4;$d0H^5c>>lohbIVU%j3V180YOnN^<$DFar|aF| zERi}88&1_%NxAlH36h}o;7~Ha+UH~&+Y31kPR7Pl|Iu%%&ntsX1h%`+GglJ@`uHPH z`K}E!d4sB@bI;5gNJfLrr8y^Ef|krgv=@K+@W-FhyC>WmV*)3Yg zyKpXaim8FVeOA)yAJDr?9U6uPj{wu#!;wvh!y$Kshf@DWvgm$-?e3lX|E9z7puisi znemLkI|V*3@J9vyg}|l%lE9_^ZGlVwI|7&e5Dd>^|J=uY^K)0n`I&+EV;l?|Yato(bR!6)<8dGM@W)9;mK1oGz)uL=5cr1ze?s7w1dea*GU=BEj%&trjRfoy-_E0? z-x4@JMK7WQ5I~SRPi~W*T;WWu)a3T>V}MfO_CuMkl%z0;2DBd|4(1na9uY2OtE^-<^Q@!zJZ-UO((duZ_8HQT+?Fu=sZ_esAmX ixF-7A1Ek9MM*z@OExA5^%o`NnjRv4keOCR| + +/* Including external dependencies */ +#include "BitRate.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GBR-QosInformation */ +typedef struct GBR_QosInformation { + BitRate_t e_RAB_MaximumBitrateDL; + BitRate_t e_RAB_MaximumBitrateUL; + BitRate_t e_RAB_GuaranteedBitrateDL; + BitRate_t e_RAB_GuaranteedBitrateUL; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GBR_QosInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GBR_QosInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_GBR_QosInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_GBR_QosInformation_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GBR_QosInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/GBR-QosInformation.o b/asn1c_defs/all-defs/GBR-QosInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..35a7476606a472a8b6a6162ad1d49a66c157a105 GIT binary patch literal 3384 zcmcIm%}*0S6rWQ3Kv6`EA@NdAqOqGUl2|n{g;I)!j{-I^(PUZ53XOD^bf*a(R1*IQ zj~+dGoA+ufXB&W zh?{|!XO1Cm4q~1^!noKk90eE`VI1}TE>F)dc<*JgmR|KM@l2+> zDvf>9T@_1QRxWY50*UY4wJV@bsXkR9GwGRDr($Q~@?_5n_IpP7V^Va-5tkV|!kkuT zg%q>ts7tYo+$$J^Dz1Nx)bC)%Z_=a>03_j`0LM66&=n=H_S;yoW;_7wKQ8S zDQ27+TIw>@rYyntotc&#t<4tLm;-l*%sB5z@`0`z%l+9*}oUKwErq_ zw0}zWy8^#V7*095EK!a2Ed+sNU*uP8?myoL$_igLw7U$mZnoz&=Crq|m9^q(S6Rzp zsH|py0$SRZ4WhU1Mrz~?(OM5`E`pJZvT8x2;lWw9{6KqFdA6DjwOf19F8V)yuYxb` z0lp`a3Q`a}ZD$9$1{`AMja}$ibTg*^bx`A;AJ+dC_+rcv7?KJkypname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 22 && size <= 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_gNB_ID_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_GNB_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_GNB_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GNB_ID, choice.gNB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_gNB_ID_constr_2, memb_gNB_ID_constraint_1 }, + 0, 0, /* No default value */ + "gNB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-ID */ +}; +asn_CHOICE_specifics_t asn_SPC_GNB_ID_specs_1 = { + sizeof(struct GNB_ID), + offsetof(struct GNB_ID, _asn_ctx), + offsetof(struct GNB_ID, present), + sizeof(((struct GNB_ID *)0)->present), + asn_MAP_GNB_ID_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_GNB_ID = { + "GNB-ID", + "GNB-ID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_GNB_ID_constr_1, CHOICE_constraint }, + asn_MBR_GNB_ID_1, + 1, /* Elements count */ + &asn_SPC_GNB_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GNB-ID.h b/asn1c_defs/all-defs/GNB-ID.h new file mode 100755 index 0000000..7f204af --- /dev/null +++ b/asn1c_defs/all-defs/GNB-ID.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GNB_ID_H_ +#define _GNB_ID_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum GNB_ID_PR { + GNB_ID_PR_NOTHING, /* No components present */ + GNB_ID_PR_gNB_ID + /* Extensions may appear below */ + +} GNB_ID_PR; + +/* GNB-ID */ +typedef struct GNB_ID { + GNB_ID_PR present; + union GNB_ID_u { + BIT_STRING_t gNB_ID; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GNB_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GNB_ID; +extern asn_CHOICE_specifics_t asn_SPC_GNB_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_GNB_ID_1[1]; +extern asn_per_constraints_t asn_PER_type_GNB_ID_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _GNB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/GNB-ID.o b/asn1c_defs/all-defs/GNB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..c18f365f03cae6abf6e7cb6eae8cd39564e52c24 GIT binary patch literal 3600 zcmb_eO>7%g5PptBZIa?RgrA@ybtNb?64_>>NJOcGoY;xilABmbT2)Y3ukFoG@lWJk zhZH1!l;&VXk$M0LjtCAMI7H%t#HA8&qK7J{N4Q({CsF7&-WR&wp5T>A&7qVF%n^}U;| z^B4AxzIg!Tyr}Q~63_3)@&}Kh&(-I3SJ2zP>+Qd_oB8&=*#}3LUv1xc?c24X(-|T5 zFD3PZ{_lSRZ|&~xk1>7hw!Zu4z*}FU$9(TEVb%ROLmejO&wP|%? zO4Y_(T)I6$&XKp5MPw%#Idw7?zX3_60DqR|K0=;JBzOCa#ArUDTuO}2CX(raL_9lq z1;)(aqQuEOlwsZd;96czFnV%6hOk?>>|E=!?%y{}9BgtvEW zUm~1!KaYx&epSlrFb@0rut65v!2N3^SX`I(o&DlmVsPz)JzsbHk_rCfSmY8c45wqzP|-OE>sRAPsAO%#l+9;a{$_PR&H)=Jj4$6{#F+e;?Pi~QQ;FyQc9q;`M zgm+#V*Wtd)y!|ItC@c_v2{^_K`r|h*jDoNRMu_o!V;}Zc7$DB|bDR|5Vg83?!1sg0 zupjeP@(%hzYG|f1oPjg%PTo{ksv;Km4zO{kgALPcS#eKBW9xG>PAY5%>lDaZkdQ cs^H@Z^sCFfF}Qw=8|ME7CHl N; sorted by tag */ + asn_MAP_GNBOverloadInformation_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_GNBOverloadInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GNBOverloadInformation = { + "GNBOverloadInformation", + "GNBOverloadInformation", + &asn_OP_NativeEnumerated, + asn_DEF_GNBOverloadInformation_tags_1, + sizeof(asn_DEF_GNBOverloadInformation_tags_1) + /sizeof(asn_DEF_GNBOverloadInformation_tags_1[0]), /* 1 */ + asn_DEF_GNBOverloadInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_GNBOverloadInformation_tags_1) + /sizeof(asn_DEF_GNBOverloadInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_GNBOverloadInformation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_GNBOverloadInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GNBOverloadInformation.h b/asn1c_defs/all-defs/GNBOverloadInformation.h new file mode 100755 index 0000000..e1b6052 --- /dev/null +++ b/asn1c_defs/all-defs/GNBOverloadInformation.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GNBOverloadInformation_H_ +#define _GNBOverloadInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum GNBOverloadInformation { + GNBOverloadInformation_overloaded = 0, + GNBOverloadInformation_not_overloaded = 1 + /* + * Enumeration is extensible + */ +} e_GNBOverloadInformation; + +/* GNBOverloadInformation */ +typedef long GNBOverloadInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GNBOverloadInformation; +asn_struct_free_f GNBOverloadInformation_free; +asn_struct_print_f GNBOverloadInformation_print; +asn_constr_check_f GNBOverloadInformation_constraint; +ber_type_decoder_f GNBOverloadInformation_decode_ber; +der_type_encoder_f GNBOverloadInformation_encode_der; +xer_type_decoder_f GNBOverloadInformation_decode_xer; +xer_type_encoder_f GNBOverloadInformation_encode_xer; +per_type_decoder_f GNBOverloadInformation_decode_uper; +per_type_encoder_f GNBOverloadInformation_encode_uper; +per_type_decoder_f GNBOverloadInformation_decode_aper; +per_type_encoder_f GNBOverloadInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _GNBOverloadInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/GNBOverloadInformation.o b/asn1c_defs/all-defs/GNBOverloadInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..8578b88dbd2dc546be634e3153617ba7b2f9994b GIT binary patch literal 2672 zcmbtVK~L0B5T2!|D2m`kqnA|=u8A~TLZZ=VsGKRbv+ z6NYdZrhs7LyBa$`W;3!8KT9jmR`*rj$>OaS>ANiN#(FnPA!AH!L7M4VD;-g9)Uw?t zaov2BUe+5NjM9%G&%%2Rx zn#2K2mns0<9)d&li{mE{7isjowHQ?sA{}oRQD9i@)>@tnf#``FpO91 zsYGhNe%c;J+mAavHK)>EmrMSGORPB~VD9h}nWL<>qZRye?5h?ERUT{naL|p|R;kK& zlPJxi{%PXfRNJ?io_qW0lexOM%!cq8tH3pm3Ad-+7=niuPTvKwWe%v$6#>z2a7=jB zQzm%GJiCADM{;>jh)?Ie%KRPng5TmC{NkXi<4yEB@B1BzwEC#Q-->k%{$^2tpJ$X1 zGw=gURVOyf6v?UsqsH%KNsQ}B*6k{sijQA<JqTOgPvyK>c2WXN!|VL;R0cELSQfYz`;c?KE!p3 z-Ti+eMke#`XXXAM;R1boLm{xA;Fso*^NZ*SlIKm{irTFgc~$>M-2VpisejsA_Lu(OBSu>_@v`j)?@#lwjbWo9yueE^oA;** xtl$#Oy?3S#gGXHF5`uIu-Tu!b=FXnE_=WmH#Vm96e*xQ# + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* GNBStatusIndication */ +typedef struct GNBStatusIndication { + ProtocolIE_Container_8180P119_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GNBStatusIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GNBStatusIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_GNBStatusIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_GNBStatusIndication_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GNBStatusIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/GNBStatusIndication.o b/asn1c_defs/all-defs/GNBStatusIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..ede59fe916473fc28c11197b3893b1bd588f0ef0 GIT binary patch literal 2504 zcmb_d&2AGh5T0~_mcN!FB#^j-6Gfs{wyH!a5?UJ4QUqxrs>E%(*{<4(bT`U6QV|m5 zzyXOD;KnQP0^B)r$jy(HFUQU$HiV-VJ}RATg`AFlapwU+PS=gq@`&aZij=6K4+^6{VoZtr* zX(kh~)!bdqWfZ?QDnFfi6WwSJjNgO`6sUf>Bd#g8&>+lyc>rza9g|?EHI(ll&}(QC}Tth4KIgdLx6v9Q8wfIDa#82}e3l`W)$V zzk?XnV&@OIz#7h(QZ)_KpJH?6@A0M7c_=@name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_GTP_TEI_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_GTP_TEI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GTP_TEI = { + "GTP-TEI", + "GTP-TEI", + &asn_OP_OCTET_STRING, + asn_DEF_GTP_TEI_tags_1, + sizeof(asn_DEF_GTP_TEI_tags_1) + /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ + asn_DEF_GTP_TEI_tags_1, /* Same as above */ + sizeof(asn_DEF_GTP_TEI_tags_1) + /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_GTP_TEI_constr_1, GTP_TEI_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GTP-TEI.h b/asn1c_defs/all-defs/GTP-TEI.h new file mode 100755 index 0000000..7d87273 --- /dev/null +++ b/asn1c_defs/all-defs/GTP-TEI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GTP_TEI_H_ +#define _GTP_TEI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* GTP-TEI */ +typedef OCTET_STRING_t GTP_TEI_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_GTP_TEI_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_GTP_TEI; +asn_struct_free_f GTP_TEI_free; +asn_struct_print_f GTP_TEI_print; +asn_constr_check_f GTP_TEI_constraint; +ber_type_decoder_f GTP_TEI_decode_ber; +der_type_encoder_f GTP_TEI_encode_der; +xer_type_decoder_f GTP_TEI_decode_xer; +xer_type_encoder_f GTP_TEI_encode_xer; +per_type_decoder_f GTP_TEI_decode_uper; +per_type_encoder_f GTP_TEI_encode_uper; +per_type_decoder_f GTP_TEI_decode_aper; +per_type_encoder_f GTP_TEI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _GTP_TEI_H_ */ +#include diff --git a/asn1c_defs/all-defs/GTP-TEI.o b/asn1c_defs/all-defs/GTP-TEI.o new file mode 100644 index 0000000000000000000000000000000000000000..7f8bf61aee6b27cd6a34f3e2124bd3f47f81d550 GIT binary patch literal 2824 zcmbtVUuzpj5Fc4?tR|@D}fR|@dy{y$T%t8sg7k_Q8j*h(1%ed

K!~QOvkSG;^>DH9Pu^p z;JDEEdZzKsTf}*A#Y+@#^rtua*Bkxp9^O7Vy7$TGmrsA}T)0vNoR6u;nwo^;3=b|b z)jj(CC!IfiQ7RfKl4?__sUt3M-L}6IcB1P+x4Wp7daJqEs;#OvT#Z(o z$3b@(I{iWH+~0c~_MLeIukI{pUwhDx;{9N+A3L33uN&@+y*!7V@%6U77qrtlpm{{ZoK z*f%6uEtU?Z{Nh}r=zLt9yIm|*&K3*xb88ymzzjj(F%5rY?pZ$b1Onvomo@S@Q`X4C z8(A>UVjN~8A`df$m8j=Xu(5PeyJ*x??-^oMd}fXB-DO4#r9LZciy;53QU4}8zCxK559y7;`{Y+^cYH*A zyhDB*+>d-0RHL#)uN(AoDPDWi`vVqH+v`n#z0#_+{LR+J>RMf6&Dw?^KYbLAGbD3h z4w_-JS(%{t(W9^($#*TVLVbdE=bxmNoZK*Q>Ro~d25!dp47_N>Gpu)jPTdLv1(tLV zOk8S7_(hH(F~>UL>1hO*e+6DP@Jpx7^nJ7^imZ)?Zv@1DC~BL z+!bv<>;@_hpTwYcf;a%R9Yvt_2V_vVtClBCJPewn15gt$sP>@O3;Q?`Hrr6u*X}Mx zanOFq@!_uD*$;Xlukrr~2g$M*<~(IKILn1YvUSg(CcS1z;)bmwC#FXYpMQ_{ic5 zPbBpn((Uzs!2!D#-?8j + +/* Including external dependencies */ +#include "TransportLayerAddress.h" +#include "GTP-TEI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GTPtunnelEndpoint */ +typedef struct GTPtunnelEndpoint { + TransportLayerAddress_t transportLayerAddress; + GTP_TEI_t gTP_TEID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GTPtunnelEndpoint_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GTPtunnelEndpoint; +extern asn_SEQUENCE_specifics_t asn_SPC_GTPtunnelEndpoint_specs_1; +extern asn_TYPE_member_t asn_MBR_GTPtunnelEndpoint_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GTPtunnelEndpoint_H_ */ +#include diff --git a/asn1c_defs/all-defs/GTPtunnelEndpoint.o b/asn1c_defs/all-defs/GTPtunnelEndpoint.o new file mode 100644 index 0000000000000000000000000000000000000000..29c01a03fd06721e9af5e1c9815695bde6a62771 GIT binary patch literal 3048 zcmb_dOK;Oa5Z+)O<<$oT35iP(2ZBVbxD=>Bf|S&4L46pSN^o-B#A+)NJF+)YdVw6d zbLpK6|A0Thfg=(Zeg+&k!;CYNY_^+9R2^wO-+VideR=o2yRvvHmlG^G@k9(PW`!t> z4RASwWicVf#ZuLi?I;QxZd7l@dyy0}38J(WCvqj&50m+NJqgoP>{PvC)qTDo_S~Y| zkzthX#ZfxQIST1x(d|)j)~Jpn_*2mL7vu<+|L!V5#Mu+fi}T0!8rp>u%nPZE(gAi$ z>CxAf_e1A71lLp*Tnmmt9_OI?l-XXYR37CEo7?S3w(}3|S-Vtp+L`6NbLQ;QtnJ+C z@enauu-0ku+qkFJ&`1V3tf3L9ym^)uR4|Dp&K#nz0h1Hw1)d8OHPRC2dZhAw02uvQ zIPMMcv(z!1XW-9qs4a0(HT&4gcA;-(U?09y%J_Gw`y=Q{!m9c-g8u?M=IN627;XNK zj33OG=k*78Q~qg)Gx4`Z@P{uZyC#A(@)z7i|Inr7%U~z%^rfw^rq-?+uV7{NK3v89 z)$o#7#C5)QL8B{VVnL;s0CM>3&lN+n{CA)4Pmh*pb4n2Qm=$HoUcV5~G2hj_rUMHiE1h zk!ISBxE3Ipg$TPAH=7|GL_3OQXfLg87E>A2-tu>#3diE(PBIs+3hj!L)3B<|ZKI z^c%R`_ZS9x{B7vQH9v0rU5Le;%C7*H5asME#8c9&xISz2L#)^D0*CT}9ebw8lV=Eh6U7P$aKlggekMp6eioazOF8KdR7jWHHFMpfRWVebom$iBCq3NjT0zZ(H`E;enbyCH$rRD!{{iO4^Q`~? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/GU-Group-ID.c b/asn1c_defs/all-defs/GU-Group-ID.c new file mode 100755 index 0000000..3c6d8fe --- /dev/null +++ b/asn1c_defs/all-defs/GU-Group-ID.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "GU-Group-ID.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_GU_Group_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GU_Group_ID, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct GU_Group_ID, mME_Group_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MME_Group_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mME-Group-ID" + }, + { ATF_POINTER, 1, offsetof(struct GU_Group_ID, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P153, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_GU_Group_ID_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_GU_Group_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GU_Group_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mME-Group-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GU_Group_ID_specs_1 = { + sizeof(struct GU_Group_ID), + offsetof(struct GU_Group_ID, _asn_ctx), + asn_MAP_GU_Group_ID_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_GU_Group_ID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GU_Group_ID = { + "GU-Group-ID", + "GU-Group-ID", + &asn_OP_SEQUENCE, + asn_DEF_GU_Group_ID_tags_1, + sizeof(asn_DEF_GU_Group_ID_tags_1) + /sizeof(asn_DEF_GU_Group_ID_tags_1[0]), /* 1 */ + asn_DEF_GU_Group_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_GU_Group_ID_tags_1) + /sizeof(asn_DEF_GU_Group_ID_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GU_Group_ID_1, + 3, /* Elements count */ + &asn_SPC_GU_Group_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GU-Group-ID.h b/asn1c_defs/all-defs/GU-Group-ID.h new file mode 100755 index 0000000..70b7da9 --- /dev/null +++ b/asn1c_defs/all-defs/GU-Group-ID.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GU_Group_ID_H_ +#define _GU_Group_ID_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "MME-Group-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GU-Group-ID */ +typedef struct GU_Group_ID { + PLMN_Identity_t pLMN_Identity; + MME_Group_ID_t mME_Group_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GU_Group_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GU_Group_ID; +extern asn_SEQUENCE_specifics_t asn_SPC_GU_Group_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_GU_Group_ID_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GU_Group_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/GU-Group-ID.o b/asn1c_defs/all-defs/GU-Group-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..00288d8e335806b6ce4f8759a1125df954447ddb GIT binary patch literal 3008 zcmb_dOK;Oa5Z=^0S{{AykPut~7YZU)+=r+@LV?sxi<;I@MdIeVsntd#b`)=<_5!&e z@e|6g;7@Qs;=++D{{SvrVaA?G)?2%Xijl0D`R27dyPkb(udj?13WBL1o`{jgDDd%- zT#3bsm=cqs)+p6_VZU2iTNd5*`bKGO*AHY%9*R!g9+_Hp$v%*N5VgV}8fE&sq_0KS z^D-EDh7<5Hu>A%)!R4P#vk-CaKjy{#9HNqFjkj^u~?kR4Fiz%HI zBR&Pz67B(;QP#gt=05Ogl2!ID2mb&#<{6OlI351S7$5DI_w@zvto+||@LxH&I+)C+ z@S?z7wpZL*!;Qz4ySD5~Z!dDK*i?V&=%zWpons6;9HwQAQ*Ao#mi?k(Z&Yo;g4=|t zCwpEikV&~`FH_}`MQl0M6dHB?rdr8?@#+r8EAOaYw})FAZqw<7GHizJ;moaufrRpY z&t00Ew;XG69{Q#d9*cTgdEDzbpAF)8mzi#mfH>YVK2Mx~NIJfnz%kA_5pooKhGb;h zBx9Z{BqKW_8S$$mBl}7+;<&F%r2kOxYa}C^MMog^znQ3FRl%)V`^I zo8BM(Z-p5hcBHohT=o*a&yw^Hq%e0q=?QZuiiFt&bu_h}QbtolWIRLh)?cu~`zgPv92q0!9oSRWz1z6%)ESKn|@#Wn#;s3=raWEA({ z!+5TP7}62Ni0=s5E*q})U#Ya6F5!$GWboxr|%zMTK((+65r@S WzM~b?RCpV+;|J9L0VY#OkN*SG71$~O literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/GUGroupIDList.c b/asn1c_defs/all-defs/GUGroupIDList.c new file mode 100755 index 0000000..7fa3045 --- /dev/null +++ b/asn1c_defs/all-defs/GUGroupIDList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "GUGroupIDList.h" + +#include "GU-Group-ID.h" +static asn_per_constraints_t asn_PER_type_GUGroupIDList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_GUGroupIDList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GU_Group_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_GUGroupIDList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_GUGroupIDList_specs_1 = { + sizeof(struct GUGroupIDList), + offsetof(struct GUGroupIDList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_GUGroupIDList = { + "GUGroupIDList", + "GUGroupIDList", + &asn_OP_SEQUENCE_OF, + asn_DEF_GUGroupIDList_tags_1, + sizeof(asn_DEF_GUGroupIDList_tags_1) + /sizeof(asn_DEF_GUGroupIDList_tags_1[0]), /* 1 */ + asn_DEF_GUGroupIDList_tags_1, /* Same as above */ + sizeof(asn_DEF_GUGroupIDList_tags_1) + /sizeof(asn_DEF_GUGroupIDList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_GUGroupIDList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_GUGroupIDList_1, + 1, /* Single element */ + &asn_SPC_GUGroupIDList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GUGroupIDList.h b/asn1c_defs/all-defs/GUGroupIDList.h new file mode 100755 index 0000000..ad48a05 --- /dev/null +++ b/asn1c_defs/all-defs/GUGroupIDList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GUGroupIDList_H_ +#define _GUGroupIDList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GU_Group_ID; + +/* GUGroupIDList */ +typedef struct GUGroupIDList { + A_SEQUENCE_OF(struct GU_Group_ID) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GUGroupIDList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GUGroupIDList; + +#ifdef __cplusplus +} +#endif + +#endif /* _GUGroupIDList_H_ */ +#include diff --git a/asn1c_defs/all-defs/GUGroupIDList.o b/asn1c_defs/all-defs/GUGroupIDList.o new file mode 100644 index 0000000000000000000000000000000000000000..96c6ebf99290a3e43db78c31920158f7abdb930b GIT binary patch literal 2312 zcmbtV&2G~`5FXbB3Y4GTkhqu=MWU-1RRV#8ED|Ral{O?qs>H!KsYMIqN3kQd7wC~k z=mGHz8J3R9_crl`!gfZ(Ef$j-HIl2SsAPGdZrj5cbU`)O8Uw;|5QxUDm8^Z)S+ z>?G&V^IVN;^|80w=}rdO#Cs^#MP<#OB3$1ogkLrARVCYaVBj>Rp36&rdn{$iK?Y(s z&SDVVGzBppl0u%o@KH@Z#<`g!wu0yl`~3v_E(XIa5sj_RTAIbZ4_xqk{5FPjFU(AV zsTeZ(nsf&h!pxqLJ)i|?B$-}4ElJ@nGMW)P{>1WQ)vkXZ4TL>l2gNzwoGmhOJo7+d zcKsiS6aA4)ub!5q@B|s%Wr0-n+9VKZNfo++GR+B}2mW`yK#W|98x0ktV-=^;NDx + +/* Including external dependencies */ +#include "GU-Group-ID.h" +#include "MME-Code.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GUMMEI */ +typedef struct GUMMEI { + GU_Group_ID_t gU_Group_ID; + MME_Code_t mME_Code; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GUMMEI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GUMMEI; + +#ifdef __cplusplus +} +#endif + +#endif /* _GUMMEI_H_ */ +#include diff --git a/asn1c_defs/all-defs/GUMMEI.o b/asn1c_defs/all-defs/GUMMEI.o new file mode 100644 index 0000000000000000000000000000000000000000..fc0ade99104035cb1b6f8c95080d5eb76ac30ffd GIT binary patch literal 2968 zcmb`IOK;Oa5P&x|g_dW_LqdW>I1vz8)uo6EBos*9w1~8UDiSx>O|7;fiKEz&$^~-Z zzz^WiBS(G$2aX)LAaU%^fFmcES@HT3q>f^L|mAIUPu zV)}WVS$PeI@G)rn2XaWrk(+vuary-N#rfm22hZ6P>=(Mql&?TPYc1xw@_v|{Q*cdn z!L{HVOd$lD5CThaQnS4?BD)~GTFdwwg4d)iFb8;z+$dX zvH>!D+ljmlAz`Ouz0FqS??ysydXXpOMi>g&575C#TiW3IZBI3$Ww^2(v^<0=MaWjr z>G*JtWH*R>SzBqA!^msB;o%)y-+)Y93fwDQD!QZDv}_5v1r{>%#;ha}qlTG(8=7&= zkDGrFaOY5utokMTU^pM^BQoo|z_7mlZw6Pa6PQOwlcHv$xdjjA za~)(Tdz6p+qYK8OuKHi~O`LAjHhe>8^nEC$!U{l2? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/GlobalENB-ID.c b/asn1c_defs/all-defs/GlobalENB-ID.c new file mode 100755 index 0000000..39e1b1e --- /dev/null +++ b/asn1c_defs/all-defs/GlobalENB-ID.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "GlobalENB-ID.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_GlobalENB_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eNB-ID" + }, + { ATF_POINTER, 1, offsetof(struct GlobalENB_ID, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P150, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_GlobalENB_ID_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_GlobalENB_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GlobalENB_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_specs_1 = { + sizeof(struct GlobalENB_ID), + offsetof(struct GlobalENB_ID, _asn_ctx), + asn_MAP_GlobalENB_ID_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_GlobalENB_ID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GlobalENB_ID = { + "GlobalENB-ID", + "GlobalENB-ID", + &asn_OP_SEQUENCE, + asn_DEF_GlobalENB_ID_tags_1, + sizeof(asn_DEF_GlobalENB_ID_tags_1) + /sizeof(asn_DEF_GlobalENB_ID_tags_1[0]), /* 1 */ + asn_DEF_GlobalENB_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_GlobalENB_ID_tags_1) + /sizeof(asn_DEF_GlobalENB_ID_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GlobalENB_ID_1, + 3, /* Elements count */ + &asn_SPC_GlobalENB_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GlobalENB-ID.h b/asn1c_defs/all-defs/GlobalENB-ID.h new file mode 100755 index 0000000..5280aad --- /dev/null +++ b/asn1c_defs/all-defs/GlobalENB-ID.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GlobalENB_ID_H_ +#define _GlobalENB_ID_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "ENB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GlobalENB-ID */ +typedef struct GlobalENB_ID { + PLMN_Identity_t pLMN_Identity; + ENB_ID_t eNB_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GlobalENB_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GlobalENB_ID; +extern asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_GlobalENB_ID_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GlobalENB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/GlobalENB-ID.o b/asn1c_defs/all-defs/GlobalENB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..9932a546172de29ba7afdae51639e0abeac3622f GIT binary patch literal 3008 zcmb_dOK;Oa5Z=^0S{{AykdU|pI8Y>F#ifV}BxIVp57efHs%O`6tu`XDt9UE593V%; zFX)MX!9U=@5pm)taD)>_n6YP)^~NcsVx-N?eDm5JZ)V>*tBWJ0l3*%{r=qVh3VgIL z+o@=a2{A5~T5-c~IraI<%7WNiU8`4Cw!=s^<)H{Ou<2Bs0~tn1Gmesek`qe$UUYp} z8e^E@7<>e5zk!Z%`DfEKM4W?l(tZD}0OrAU0P6y*|Gi&GnWH1nx(cHAmCvQ)9D+Sn zN$&-oLG`g&U#is}m!~%y`;pu)KQd>{YQ@@5HS3KvXI5uT>t2Sd=?7%o-x=|<@S7S# zzKW6CQ9q?2ice`kg(5P<*#USGkdhb^RkEm&hB!aqf1mu>z;VwBpCv;+<PsxFIg) zbXJV?Cb5?B5ZIKm|6MY_299UY={*2N_y@o-PnQBl>B4+W@&0-FTweh%%JY2){%Z)H z8%$;({3P-goJFrUue_B7Px?EFXQj5aXYPP)CTtC}#%&JNlcw3$U2nsAvFX%nj$pwH zVE)OD-;88dasFk#Vz!YDx0Z*Ky)aOVxiDnC-jL;U!32gA^^WOwVi^ZI?mq)@d*qhx75qA3$hr!S`EQd= z?VI{<)BD5!TVW=LZRt0F%TC63S(4#_6y~-sePK3|M3|iz74)=B3)HaXr)HEi)ojIq zk6;=i%ph*J;awJH6wAkk+&gw8y-b|h6A*BA+YB(LhPo7g32?k; ze82cUtpiq6zf6y+zW*}#tAy`JQGJ(2Gsk0ng!K9zU|65Zft1k}0douxFKhY^=ors+ z*nC9s_W@~>P4=f37jO3^J5&Aetvvu^}7d<_(l)%9j&0I R!rNFJ-=+R{F_}Vo{2%ZX(PaPt literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/GlobalGNB-ID.c b/asn1c_defs/all-defs/GlobalGNB-ID.c new file mode 100755 index 0000000..208fddc --- /dev/null +++ b/asn1c_defs/all-defs/GlobalGNB-ID.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "GlobalGNB-ID.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_GlobalGNB_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, gNB_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_GNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "gNB-ID" + }, + { ATF_POINTER, 1, offsetof(struct GlobalGNB_ID, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P151, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_GlobalGNB_ID_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_GlobalGNB_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GlobalGNB_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_specs_1 = { + sizeof(struct GlobalGNB_ID), + offsetof(struct GlobalGNB_ID, _asn_ctx), + asn_MAP_GlobalGNB_ID_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_GlobalGNB_ID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID = { + "GlobalGNB-ID", + "GlobalGNB-ID", + &asn_OP_SEQUENCE, + asn_DEF_GlobalGNB_ID_tags_1, + sizeof(asn_DEF_GlobalGNB_ID_tags_1) + /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */ + asn_DEF_GlobalGNB_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_GlobalGNB_ID_tags_1) + /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GlobalGNB_ID_1, + 3, /* Elements count */ + &asn_SPC_GlobalGNB_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/GlobalGNB-ID.h b/asn1c_defs/all-defs/GlobalGNB-ID.h new file mode 100755 index 0000000..8391c23 --- /dev/null +++ b/asn1c_defs/all-defs/GlobalGNB-ID.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _GlobalGNB_ID_H_ +#define _GlobalGNB_ID_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "GNB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* GlobalGNB-ID */ +typedef struct GlobalGNB_ID { + PLMN_Identity_t pLMN_Identity; + GNB_ID_t gNB_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GlobalGNB_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID; +extern asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_GlobalGNB_ID_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _GlobalGNB_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/GlobalGNB-ID.o b/asn1c_defs/all-defs/GlobalGNB-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..d59be0fa4e6532298abbfd6332954d42ceff99a2 GIT binary patch literal 3008 zcmb_dOK;Oa5Z=^0S{{AykdU|pI8Y>F#ifV}BovyuX;GURs+?WNwc3cpuHvoKa)2BW zzn~}n1^<8pN5qMrz!6RyVaA?G)*Gjkijg)m^UZ5_b~Ao!uPu)i3WBL1o{E9SDDd%t zTuH==m=cqs){dH9yH;N;tuBeZwe@;wbvp=UOCE}y6l~cg`#=U^+={|@kmQ7tz875| zmBtulI0hdB+i##_T>jZK3lZmFopj%SD}Z@$9l*K(>woVTQfBA~w4Q?KedTlMIEP?Q zRnmKbXHb1AtkUzY28b4HT{r``#U3k=H96> z;#Q2zjs__Wk$*}9D&&zN&JMxTfE2`pD3e8vG{pHK|NG?629A49_&gc1c_!FB!wqpU zqqAZpFNw932f${O{qK_bHE=wGPVWK8!#@Cyd3qEuP7mf|f)CEi=lTkGUY_qG@LwbF z%wRHo;l-i5WG}n@dF8GyxzgK-T`RGzKXZm`b3uEQHR^Dno;1m};kcXji-ujV+JXhw zhxsSFUMrMo#l@G|is?o+ooW`2_X1xn=D?73`$M*WuKFUJsDDhS8_CFz+WpB}jY0{f zgRZ+U_rP+jhZZzWA-op#weq;valRYGr&F?Y~EH@7R&_B5`IuGfa5#k z_r>pN1F*dMMf#}f`!9mOO86bgtMAZg=6I}+kY3*f4C_-lkW$(rV1WVRMNQuU9pkwU zn~x|S??)wSM-qeh9xTRGzfbyx$f*0Gp6B|Rz-i(*KPF-6=f^Lt{`LS8-{^yUM=PkQ R@NLYG?@|AIm`ou({tt^5(Ru&? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HFN.c b/asn1c_defs/all-defs/HFN.c new file mode 100755 index 0000000..ea13f19 --- /dev/null +++ b/asn1c_defs/all-defs/HFN.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HFN.h" + +int +HFN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1048575)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_HFN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, 0, 1048575 } /* (0..1048575) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_HFN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HFN = { + "HFN", + "HFN", + &asn_OP_NativeInteger, + asn_DEF_HFN_tags_1, + sizeof(asn_DEF_HFN_tags_1) + /sizeof(asn_DEF_HFN_tags_1[0]), /* 1 */ + asn_DEF_HFN_tags_1, /* Same as above */ + sizeof(asn_DEF_HFN_tags_1) + /sizeof(asn_DEF_HFN_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_HFN_constr_1, HFN_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/HFN.h b/asn1c_defs/all-defs/HFN.h new file mode 100755 index 0000000..61e4958 --- /dev/null +++ b/asn1c_defs/all-defs/HFN.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HFN_H_ +#define _HFN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HFN */ +typedef long HFN_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_HFN_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_HFN; +asn_struct_free_f HFN_free; +asn_struct_print_f HFN_print; +asn_constr_check_f HFN_constraint; +ber_type_decoder_f HFN_decode_ber; +der_type_encoder_f HFN_encode_der; +xer_type_decoder_f HFN_decode_xer; +xer_type_encoder_f HFN_encode_xer; +per_type_decoder_f HFN_decode_uper; +per_type_encoder_f HFN_encode_uper; +per_type_decoder_f HFN_decode_aper; +per_type_encoder_f HFN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HFN_H_ */ +#include diff --git a/asn1c_defs/all-defs/HFN.o b/asn1c_defs/all-defs/HFN.o new file mode 100644 index 0000000000000000000000000000000000000000..946fb7ba544151a4ca68bb8a591f735ab179eabb GIT binary patch literal 2624 zcmbVNPfrs;6rWNR1T2MkAfmDdQHV0Ighb>(N@!t8nnE=Ak3(77g@XM9`{k?-Jz#6&swWa1Yvk(lVgld--x`=$)T%E8y{zW09b{bpw0o0;w;lG9D05R(#O z6YSWNC}Xh;iY?3-i?R-8?frT%Tdi5uLoaTAv0hEo>m6*mc4OYxk%n`MNpz z<`S~juUo!hRexI5KUVdVc`#Y8J$_pKy!fG`HwNPo@w*`U$-rOlBBELQ_VIWrtO@MP z@Ze+$41Pz$#TZHhIK$w4$aafnCY^Ow+#x%k9~6c)o#GkR=Z+hjcD~{m#gb>Nu5CI+ zqaVP&?0|@6N=4Tz+iOM7Sh3ggPPP#R{uz^=5z>31`)5#3gj&#>nVK3m`WKcfMXzGq z<)eIf(5wj0d|{69;Zbf5__(MkQbNz~v(Q#F)YIPF@)jn)1K3pzfK>1mk3@Hy>_~Sq zVmyp=Pe!6st&x^QTS_395G?o|=h%Ne~!YirojxFU?x>**!@o=hZtgYat_j&7J;JcSMb(xuc*^aijo zcsiBu%@H#WI!d;xo`BP-)OlV8{SyFZBOOmnr@>2m_NtpU8Bb0P<7)(8Cd0__IbaGw z*mLvglcae?CQt;y&j4^|7tOGs` z;qG?9vzHl%o5$BVX_cM4%{^z!V?1knHsi~#%Xqnj4yKzNx+jtZ0+x(2o+%XyP7#=J z(>Z)5wJ_*Oc-}B|nBr0$5g+TT z3c-Sd_!2x4Ltjd_z90(dxwyX&)6*s2k^_>K-!I_}FoNp0kCz6BtP|D`?<2{Vc+lL) sTcQOW(t;y^;eDX<@t;8NJwU9V3hkn!i2nU}hXwHuX#G117fqf27YoSw{r~^~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HFNModified.c b/asn1c_defs/all-defs/HFNModified.c new file mode 100755 index 0000000..458d450 --- /dev/null +++ b/asn1c_defs/all-defs/HFNModified.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HFNModified.h" + +int +HFNModified_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 131071)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_HFNModified_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 17, -1, 0, 131071 } /* (0..131071) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_HFNModified_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HFNModified = { + "HFNModified", + "HFNModified", + &asn_OP_NativeInteger, + asn_DEF_HFNModified_tags_1, + sizeof(asn_DEF_HFNModified_tags_1) + /sizeof(asn_DEF_HFNModified_tags_1[0]), /* 1 */ + asn_DEF_HFNModified_tags_1, /* Same as above */ + sizeof(asn_DEF_HFNModified_tags_1) + /sizeof(asn_DEF_HFNModified_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_HFNModified_constr_1, HFNModified_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/HFNModified.h b/asn1c_defs/all-defs/HFNModified.h new file mode 100755 index 0000000..70bf5ef --- /dev/null +++ b/asn1c_defs/all-defs/HFNModified.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HFNModified_H_ +#define _HFNModified_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HFNModified */ +typedef long HFNModified_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_HFNModified_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_HFNModified; +asn_struct_free_f HFNModified_free; +asn_struct_print_f HFNModified_print; +asn_constr_check_f HFNModified_constraint; +ber_type_decoder_f HFNModified_decode_ber; +der_type_encoder_f HFNModified_encode_der; +xer_type_decoder_f HFNModified_decode_xer; +xer_type_encoder_f HFNModified_encode_xer; +per_type_decoder_f HFNModified_decode_uper; +per_type_encoder_f HFNModified_encode_uper; +per_type_decoder_f HFNModified_decode_aper; +per_type_encoder_f HFNModified_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HFNModified_H_ */ +#include diff --git a/asn1c_defs/all-defs/HFNModified.o b/asn1c_defs/all-defs/HFNModified.o new file mode 100644 index 0000000000000000000000000000000000000000..9397876b0af6471481846e14f9f1085df8173e64 GIT binary patch literal 2768 zcmbVOOK%iM5U%wAHa1zW9S)X2WG+q&#BC2U0(`Ir`N1GefLue!VXv3|0g zUm3_`KuHD`pzA3V;NV!-cBSdU805g)|NHyv?L)8qTeRf-;XPaEbTY8xc>9O1Iw;XM z-rk3y{7-}VpT8j1_8BiWy!I!r{jb;l)p>ojb9nb&`}g~AM!#|~9~1wQ#5frF+v7}h z4*z^B$B#b)sK&6-U>b~mcNNq}qWAZ+g_!Zfx>GEaf^sCC- zm<;Fb9lzQN?0O@zH!C|q-JU{lvUFDV6&v+1YWkIWWS9L)H7F&$TAqG0=*7FMh;h^J zjqdLaQP;J_#d&+`_C~87wd_k`PRvd_E$KOroy%f&PB>>{98Pko%%hu-d6>(bIx#qO zfP;UF_-XEIkzUH?_6GdyL_TZZ$xd9&<`##uL(3zp65+rUMe8^MA5-_lNVk_gEH2yo!8HpcD zYOUhu7+1coEg05aXZOXNav~8`IXiC8GgKsB>)VY8Ra`t^UN9qMc~G8F+UJ zOUo+-4J}0eW>|1Qufl9oVXH`WTPeuOvedOZp@gQf)6mTwlK-3LL> zaB(smP|EpO0lgDc{eR-8pcB^-Bu+1r!u>w+H4V>d@eIof)2W(gK;AdB>747hsx9H; z97}3~ZNj^!4PdGd?rQj#Y?JadT#ZGL%{bM8S|TFctwsI@2z;?(y``*XQ1wL=Jd8k; z{KyBf5r!a|4RR>l5tn;i++@j-0cfdS5XDBV7Su5jKA3^Hwt9OyjQrw{93N~I%1yr( zB$N98hK*EJb3Kd8jynIUPp=VSr?Al-cd_a6jxYW?gLDRH9JSAC|GsA2e5qa|PLkZ4 z*iH6@UHQIJPLrRb!BWJ8>DUu?!H8A-Nds5&S9x6QPvc+YfE9zUcuL=5zB&J=9I$2Z zZNtBTep>xqej;CTJk_6GYc+pW{~r*ep?c0Z`tNys-bO@XG5s>a6gtcON_}8H{r>5~ zu;dWlz@{)gZo-@pcbc)!nQw+GzNaTeTdiNgPtZuK-+Qi~suR_Z-b2M#IL*f#8zER{ q@EuQ>ei!NPn0$J>%)LhlTrTtrax^j5PyfrM@zqcEFB+Fjlm8iHEEdrK literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HFNforPDCP-SNlength18.c b/asn1c_defs/all-defs/HFNforPDCP-SNlength18.c new file mode 100755 index 0000000..9c70f31 --- /dev/null +++ b/asn1c_defs/all-defs/HFNforPDCP-SNlength18.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HFNforPDCP-SNlength18.h" + +int +HFNforPDCP_SNlength18_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 16383)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_HFNforPDCP_SNlength18_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_HFNforPDCP_SNlength18_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HFNforPDCP_SNlength18 = { + "HFNforPDCP-SNlength18", + "HFNforPDCP-SNlength18", + &asn_OP_NativeInteger, + asn_DEF_HFNforPDCP_SNlength18_tags_1, + sizeof(asn_DEF_HFNforPDCP_SNlength18_tags_1) + /sizeof(asn_DEF_HFNforPDCP_SNlength18_tags_1[0]), /* 1 */ + asn_DEF_HFNforPDCP_SNlength18_tags_1, /* Same as above */ + sizeof(asn_DEF_HFNforPDCP_SNlength18_tags_1) + /sizeof(asn_DEF_HFNforPDCP_SNlength18_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_HFNforPDCP_SNlength18_constr_1, HFNforPDCP_SNlength18_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/HFNforPDCP-SNlength18.h b/asn1c_defs/all-defs/HFNforPDCP-SNlength18.h new file mode 100755 index 0000000..efff032 --- /dev/null +++ b/asn1c_defs/all-defs/HFNforPDCP-SNlength18.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HFNforPDCP_SNlength18_H_ +#define _HFNforPDCP_SNlength18_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HFNforPDCP-SNlength18 */ +typedef long HFNforPDCP_SNlength18_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_HFNforPDCP_SNlength18_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_HFNforPDCP_SNlength18; +asn_struct_free_f HFNforPDCP_SNlength18_free; +asn_struct_print_f HFNforPDCP_SNlength18_print; +asn_constr_check_f HFNforPDCP_SNlength18_constraint; +ber_type_decoder_f HFNforPDCP_SNlength18_decode_ber; +der_type_encoder_f HFNforPDCP_SNlength18_encode_der; +xer_type_decoder_f HFNforPDCP_SNlength18_decode_xer; +xer_type_encoder_f HFNforPDCP_SNlength18_encode_xer; +per_type_decoder_f HFNforPDCP_SNlength18_decode_uper; +per_type_encoder_f HFNforPDCP_SNlength18_encode_uper; +per_type_decoder_f HFNforPDCP_SNlength18_decode_aper; +per_type_encoder_f HFNforPDCP_SNlength18_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HFNforPDCP_SNlength18_H_ */ +#include diff --git a/asn1c_defs/all-defs/HFNforPDCP-SNlength18.o b/asn1c_defs/all-defs/HFNforPDCP-SNlength18.o new file mode 100644 index 0000000000000000000000000000000000000000..c7f0940bcb398b13a0df9c7a579e24cdafa7c85f GIT binary patch literal 2848 zcmbVNPj3@f5Fck-l0q;}+CwT3-3t&@vhkuwjdBP^PQoI&#^O&^wNjUjvyMaUb>&@0 z&_ihj9ITd#kI>%w9eP2k1if&{35g4L5E4D~R5hJ>JF|YgEID+neKYf$nfK<+dvAPu zwYD}^D1cA_mSLm`3h?~ENUkWc0#i@|@7~{6E)I9R;h)Kh`^@`cdG{Q^w(H&7`F$5D zIpy7XIZ^v@ymtREMcp{=rGhv7%Nzdd4IjG?&+qPh{>AX=mwz1jsDkrx;42lFI%E8e zX%2LEUOZCkr^6VsB7YhTl!g!`LL~Zr+;QfEIC7i*M%aqygHC5o3Eo=0)$2D_s*SlT z^-dUVCT(}oX~Kzk$=(h+gV2t8iM_eC9Y*#nf+sdkD_gS{#YsQdiW0jOY<0qo%$hsn zewpRl%(F7}{HVR?1VI<7)g^oO+WH_$2KFb;f>WMz2TF6l!|j$A9QSmJ!v{P?;oHkl zxLGP3ogANdfQz3&{21E?#8--?J7Ym{rdG5+E6$uRmZ}Gf6RU^n3Sq|_M*DaNUgw^f zm3u=0Ed1q>g)`-m1@Gp;IE!}KH4h8MH7ylCL{@NCXKf~%o=oT(9 zpx!6S^e%K<&Vul1_9ZsMGU21!2{8K>yrSXnvrH_#PwBd{7U4DxNK^;3xvwzt3Tm7ILW=Z{j!NyRjxjsvU6?rdW(`!W7QT(VURPfWO%uo6{gLDUI z9XV$?zmtrco$VpwMA+B zF!Pr<;a54{%>Ng5XdCO>hJFe4y!t=j`v1oMRDbI3lE2jdE5vB2H|{w3F`)N*g!lZ@ zv=F2CG8r|R + +/* Including external dependencies */ +#include "LoadIndicator.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* HWLoadIndicator */ +typedef struct HWLoadIndicator { + LoadIndicator_t dLHWLoadIndicator; + LoadIndicator_t uLHWLoadIndicator; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HWLoadIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HWLoadIndicator; +extern asn_SEQUENCE_specifics_t asn_SPC_HWLoadIndicator_specs_1; +extern asn_TYPE_member_t asn_MBR_HWLoadIndicator_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HWLoadIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/HWLoadIndicator.o b/asn1c_defs/all-defs/HWLoadIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..884643f88e4550fdc323aa82018aabc73fc53520 GIT binary patch literal 3024 zcmb_dJ8#rL5Z;SMCmv_D>-pzhx48k8n_ZV zO6d3l^!x)_egXv&l+e*2n6YQ#ZR0LB++!2Mws1OsQ zg>0vyEyl%|Sbnk+`;GfiqZ#-z?uf>Uj&ui*rZeO0$uLTqag-Ek4xi{4j04;|+a?5RrF3ywh?_n`XN ztS{B;x2jVcTir-@t2fO#vo>ROQ_Xr|&6~A3)0)n3h!{>->xlSSdZtF-N{Spt--=Yc ze3u4PC?i809e~dPQV}Nv_7zEuG{o@?RNk{7qdybJtrI>+hW zTup^%@SarGzeDEN!13ar$+&!boifAyx1@A>l@%@d43PU^#NrD!cQXa zp0ns_gUXZscH&v7`Qcr+%sd;m_Hl^Y9A1(=O}plL>&~MMXSMDK7Q6t4pzQd~NM@xM z9uJhx7Paoy2Q0~M7^qeIhcWNe?Zh$;;#NL&>v1HZV%YKKXRleVb^QjlKWBIh>h0w5 zuj70ch>z#d#Y{jPZxx^46#3}*vVwC?gj@xmBpKNz$(ZLX$;jT4j5vNvOrJ?W9QVaF zeki!=KZTA!?0-2^#j=8*Ck$Cn!7)F7cWU3%uZw3Uh9S=W!c3mGrN0GSb~3)hk_`8x zFdM$~g}Id^!tBJTpr>V8poT3!HKU}dW-AVS1k(^<264L`!j&_lScc}(>c&hW{opCA zpr5 zKLB1c?O7AHGLa&jORLR{z&n7J}OZ=(ip^d;bBbm z`>HR9jJhxCWv<@|{6zt0z;6s5egF7p)z2Ov@r8cC(^^4Ig@0jr{2S_j50fdR$NvRu C3*~$O literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HandoverCancel.c b/asn1c_defs/all-defs/HandoverCancel.c new file mode 100755 index 0000000..0b53b4f --- /dev/null +++ b/asn1c_defs/all-defs/HandoverCancel.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HandoverCancel.h" + +asn_TYPE_member_t asn_MBR_HandoverCancel_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P20, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverCancel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverCancel_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverCancel_specs_1 = { + sizeof(struct HandoverCancel), + offsetof(struct HandoverCancel, _asn_ctx), + asn_MAP_HandoverCancel_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverCancel = { + "HandoverCancel", + "HandoverCancel", + &asn_OP_SEQUENCE, + asn_DEF_HandoverCancel_tags_1, + sizeof(asn_DEF_HandoverCancel_tags_1) + /sizeof(asn_DEF_HandoverCancel_tags_1[0]), /* 1 */ + asn_DEF_HandoverCancel_tags_1, /* Same as above */ + sizeof(asn_DEF_HandoverCancel_tags_1) + /sizeof(asn_DEF_HandoverCancel_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverCancel_1, + 1, /* Elements count */ + &asn_SPC_HandoverCancel_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/HandoverCancel.h b/asn1c_defs/all-defs/HandoverCancel.h new file mode 100755 index 0000000..c3dbde0 --- /dev/null +++ b/asn1c_defs/all-defs/HandoverCancel.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HandoverCancel_H_ +#define _HandoverCancel_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HandoverCancel */ +typedef struct HandoverCancel { + ProtocolIE_Container_8180P20_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverCancel_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverCancel; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverCancel_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverCancel_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverCancel_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverCancel.o b/asn1c_defs/all-defs/HandoverCancel.o new file mode 100644 index 0000000000000000000000000000000000000000..c58a6bd81862b34d23a8a4a7a684c7310d298cf5 GIT binary patch literal 2472 zcmbtV%Wl&^6uqf=KU#`dAh8K6ibO|oRfz~BWC&>sg4R$)V&^)p)glr*iXA8$=z<+T zzz6UF`~w@7Ect{k;S1m%du}qFItZ03dG5Jq?qlA5-+r<(Q>&3kjqcIJ5|-%Tx>H~1bVo@(s^3=2stGnhBVxvM*NSev!P|IHNsBlF0!uN_}#{kh;L^TK=}U-_%bZ(SS}QJ5vc!}dyW z_(lbJxRV8L(fjniU(vf1_jLc!=pt;x4>sG+I_>pVn*;<=nq>Jfe3|5B>Icv5)Md?0 zzh!r1gE*2Qp`<^)^Fb?3a?TkKgQnYT_)D@1*jqAIpXdx0hsEY)t-#L~9%XY?WANBr z@mrX}<6c7GKUbi#@ihi7IY4cpVF5p1ptAX-F?gJ5k?$IS$LW_E=DZG_LY2Mk=V6x= zFMFwX1?BNxPHH>MLsH!=BQ;E6z|&POn{h8Jx`8ZH_0lK=S%i>^(tbbYO;t&n$7*%G zvzX;!^h$<(Y<-O*G1pU82G6p^gs&;r*#Kw1ES~9PU_1T>_hD_18-I&qk#mVZQ#@^8 zex^u$(H?gK+x54YgZwDfxUG*-3GTAO8|anhxZTnZ<4?_8V2$%6=Sa@|26I*QJw3pN zju%xIp!H+cRrP)SbW0u7$17&n512zK`;Rfu^{;TBDdyb*k9QWX_BcQ2c$qrr^y2thS + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HandoverPreparationFailure */ +typedef struct HandoverPreparationFailure { + ProtocolIE_Container_8180P16_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverPreparationFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverPreparationFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverPreparationFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverPreparationFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverPreparationFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverPreparationFailure.o b/asn1c_defs/all-defs/HandoverPreparationFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..186fd36f0ab1350e6c661a73a7ed8ec5a4774dfa GIT binary patch literal 2576 zcmbtV-A>d%6h2G+M?s7iCMIUR5)+xUgecL(RM!PG3ROblU70Nn5SMn-&KkW@9>F_# z025!q#24UlFTL~;^a=EwcBUML?y7i_&iT$a=WjaG>HGH6g|S8hj5Odr99V`02u>Yf zzkohW!UQbIWFvhYXF(SCWG2;ink>leZa<5mm!&F=((dDSeh~Yw$nM3qhvoZQKOR4Z z#xE4k{V!g^1TIT5tS`e;4_tgQ7F(^m&FQsHKT-YW9Wf`|8LwYh-aBtzxO2k0S@Jye z5T^Vm;AidHoZ1}+aKP@SOzGfEoj6#bP8>LSguaGM1J1%lJ;Ng%IDN#Q-Xr-NF>z!& zj5qToKhDhxJ8-VT1}Fqmtj{ey@ewtzW&A%6;lCnJd3LqqORc}7o?`1VXJQ;TrY`@8 z4@*QK^CW!KUI>SOeW8+@dFU0M&mIJS@SKgi+IMu;BHc<5uC|}AwU=9MFd&T5Bv+Z- zPE=X);fqlv%f42F)+ndE7e{6Z)K*a4Ct)j16xNEfaNe7D1Mjwe%XCJ7?IOS#J!A9c zofAJ%MFU)6{&Y%=-}Dfk&Ls)unJiE_1R4`>auBsn0}Am|1uBO$hblQH^U!C5JLNI)`#R4B2Pk%Uj?~#H%O}bVe TmRZ~>b@2oJ{&y)E6FdGl24~m& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HandoverReport.c b/asn1c_defs/all-defs/HandoverReport.c new file mode 100755 index 0000000..f85b286 --- /dev/null +++ b/asn1c_defs/all-defs/HandoverReport.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HandoverReport.h" + +asn_TYPE_member_t asn_MBR_HandoverReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P17, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverReport_specs_1 = { + sizeof(struct HandoverReport), + offsetof(struct HandoverReport, _asn_ctx), + asn_MAP_HandoverReport_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverReport = { + "HandoverReport", + "HandoverReport", + &asn_OP_SEQUENCE, + asn_DEF_HandoverReport_tags_1, + sizeof(asn_DEF_HandoverReport_tags_1) + /sizeof(asn_DEF_HandoverReport_tags_1[0]), /* 1 */ + asn_DEF_HandoverReport_tags_1, /* Same as above */ + sizeof(asn_DEF_HandoverReport_tags_1) + /sizeof(asn_DEF_HandoverReport_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverReport_1, + 1, /* Elements count */ + &asn_SPC_HandoverReport_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/HandoverReport.h b/asn1c_defs/all-defs/HandoverReport.h new file mode 100755 index 0000000..6a09b48 --- /dev/null +++ b/asn1c_defs/all-defs/HandoverReport.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HandoverReport_H_ +#define _HandoverReport_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HandoverReport */ +typedef struct HandoverReport { + ProtocolIE_Container_8180P17_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverReport_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverReport; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverReport_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverReport_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverReport_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverReport.o b/asn1c_defs/all-defs/HandoverReport.o new file mode 100644 index 0000000000000000000000000000000000000000..2b4967e5c54fc46e402c1187abfaeba2ee042eea GIT binary patch literal 2472 zcmbtV%}x|S5UyqX{{b-`OuVcoF_F#=A%SROM%M*23L}KX+b|3hFfKEjoksDZ9K87g zK7bG4J9zQv(MRB@PoVY9bnQ0HtT9;0Onvp$Uw2P;&->2Pg|SA1L>hFThL*5Iho^@) zC}BVoG)_x#ww1q5`>Sa$?`!JybDbx7_i?8f#{UhuyZHLLvF6>p~=!Kio79NXOenIFF{#a>Al1)dAktSpn`t*L-9V11x_J_VEK^7&`R;DYA5~?!PSxV_ z`gEb=-vZ0P)Z;4$1UdekC;O%_m9yt{jagl7W-_0$32Tscbp$gKE97FhAwl! z_xKUcj{8za*2E&r9Xsks{x?(SGIMy``Qy*zetV{9-;jqeEOCd0JEbmv$E^Q>l?&+R F{{fu4wFdwI literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HandoverReportType.c b/asn1c_defs/all-defs/HandoverReportType.c new file mode 100755 index 0000000..a6ee02a --- /dev/null +++ b/asn1c_defs/all-defs/HandoverReportType.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HandoverReportType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_HandoverReportType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_HandoverReportType_value2enum_1[] = { + { 0, 10, "hoTooEarly" }, + { 1, 13, "hoToWrongCell" }, + { 2, 16, "interRATpingpong" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_HandoverReportType_enum2value_1[] = { + 1, /* hoToWrongCell(1) */ + 0, /* hoTooEarly(0) */ + 2 /* interRATpingpong(2) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_HandoverReportType_specs_1 = { + asn_MAP_HandoverReportType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_HandoverReportType_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_HandoverReportType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HandoverReportType = { + "HandoverReportType", + "HandoverReportType", + &asn_OP_NativeEnumerated, + asn_DEF_HandoverReportType_tags_1, + sizeof(asn_DEF_HandoverReportType_tags_1) + /sizeof(asn_DEF_HandoverReportType_tags_1[0]), /* 1 */ + asn_DEF_HandoverReportType_tags_1, /* Same as above */ + sizeof(asn_DEF_HandoverReportType_tags_1) + /sizeof(asn_DEF_HandoverReportType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_HandoverReportType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_HandoverReportType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/HandoverReportType.h b/asn1c_defs/all-defs/HandoverReportType.h new file mode 100755 index 0000000..1c8ad0c --- /dev/null +++ b/asn1c_defs/all-defs/HandoverReportType.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HandoverReportType_H_ +#define _HandoverReportType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum HandoverReportType { + HandoverReportType_hoTooEarly = 0, + HandoverReportType_hoToWrongCell = 1, + /* + * Enumeration is extensible + */ + HandoverReportType_interRATpingpong = 2 +} e_HandoverReportType; + +/* HandoverReportType */ +typedef long HandoverReportType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverReportType; +asn_struct_free_f HandoverReportType_free; +asn_struct_print_f HandoverReportType_print; +asn_constr_check_f HandoverReportType_constraint; +ber_type_decoder_f HandoverReportType_decode_ber; +der_type_encoder_f HandoverReportType_encode_der; +xer_type_decoder_f HandoverReportType_decode_xer; +xer_type_encoder_f HandoverReportType_encode_xer; +per_type_decoder_f HandoverReportType_decode_uper; +per_type_encoder_f HandoverReportType_encode_uper; +per_type_decoder_f HandoverReportType_decode_aper; +per_type_encoder_f HandoverReportType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverReportType_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverReportType.o b/asn1c_defs/all-defs/HandoverReportType.o new file mode 100644 index 0000000000000000000000000000000000000000..904665929d52415e6a984790e7ffaf77294c3d7d GIT binary patch literal 2696 zcmbuB-%k@k5XYyS3jPKqhQ!2_Coz!=B_tA!=146xMzKK%kH=9qZMD5??zRM8)I=YA z^bhfm@R2{jKY&NyjDG>nY-if*b_ow|ayK)d{m$-m_jch^<@NeRp#ahf@B)UBP=J#w zLq9NX0Jq^55GK8ylaJ51nY0UD)hIql4pq9Px=E_HkGl$*$##-dqO^T%+}$*Z8)emQ zLo3!OT-)xp;zk$Y1w%W#^L3KIj-5#kxWG*ECmb3=9zUWxM>dA9Sw!-0T3qIxwm58* z%TJ37JNvy@_li&a6@O{5)H6}(V`U(Mt$G+IVZZtaFA!eVfuZj^|CPx;+FaI}_{<<1 zV2*v_`CVN&hX*-McZ0MlJ2cK6foS*GC+_;1ga@q4*H86GEa!pr^n35JzR6bj1CBpi z{4vMiXU82K?W5Ic-!{e5>PUls5a|f~{VW4NO(-B`$uD83+L7rdPkJqkIet5-N7!Fa zIvs^O=EsRv{>J9cVy2_|2Px$L?0rn9-<tmzZ_j^@fOCe`cJt2 zBi2*>G`Gwz^}k0(Q!U|>Z@+o|!Fl0M#wLeQhL13o7&B`x2zT0Aie1t + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HandoverRequest */ +typedef struct HandoverRequest { + ProtocolIE_Container_8180P14_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverRequest.o b/asn1c_defs/all-defs/HandoverRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..880f8a5a3a07ddfe28f891dea7a7cfc3b5de3925 GIT binary patch literal 2480 zcmbtV&2G~`5T4Zh|MUkqAi*J=C=y-8RU|5qkRhZk2-?u7Qg5#7S}h{AL%cynNYDd! zuDk*_9s_P1c?wjX0A}o&WV_iQL`RC}n{VfvS+93D@0(8-Cn^;XtH6C2M#2Ido*d$! zfB{UwBrHeicJ?~yttGGeNv@&W%XAiJoyX05DEJGqd)e_g>A&Wg`UwnvqnX@s@iG>u z8AZm;OL&@tX#oXGjmF*T?D|$e)&1%nRadn+zh6ZDJAXmd>dL=W@}~3%rurw~m-F2` z=NAR=z@AN6(!&v#dDy{a9vGX06E35#z*(5)*i?FOdZf%e=gWZTDE6?9%RD&mqA~y6 z2;W9##+c_WXS_sj_7dUSG5km5sm=i>Zm|Dc@Wc0#J@E~BSAF~7s2HL=4IecZL+eO| zI@-xYzZib@pye8#Pdc37&=*N7bLQ**bR;W3++H6wnKbI4s~Ogw#M$(tR+ z)A=N${HX$!j}~L%r3O)(^gttira?7IttH`%~#;`_n&>{q2#0eI|cWV3<8Ex>H>GF0cQAp(SYR{{Tc? BxI_Q| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HandoverRequestAcknowledge.c b/asn1c_defs/all-defs/HandoverRequestAcknowledge.c new file mode 100755 index 0000000..d355bf8 --- /dev/null +++ b/asn1c_defs/all-defs/HandoverRequestAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HandoverRequestAcknowledge.h" + +asn_TYPE_member_t asn_MBR_HandoverRequestAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P15, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverRequestAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverRequestAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestAcknowledge_specs_1 = { + sizeof(struct HandoverRequestAcknowledge), + offsetof(struct HandoverRequestAcknowledge, _asn_ctx), + asn_MAP_HandoverRequestAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledge = { + "HandoverRequestAcknowledge", + "HandoverRequestAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_HandoverRequestAcknowledge_tags_1, + sizeof(asn_DEF_HandoverRequestAcknowledge_tags_1) + /sizeof(asn_DEF_HandoverRequestAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_HandoverRequestAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_HandoverRequestAcknowledge_tags_1) + /sizeof(asn_DEF_HandoverRequestAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverRequestAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_HandoverRequestAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/HandoverRequestAcknowledge.h b/asn1c_defs/all-defs/HandoverRequestAcknowledge.h new file mode 100755 index 0000000..3cbeefa --- /dev/null +++ b/asn1c_defs/all-defs/HandoverRequestAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HandoverRequestAcknowledge_H_ +#define _HandoverRequestAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HandoverRequestAcknowledge */ +typedef struct HandoverRequestAcknowledge { + ProtocolIE_Container_8180P15_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverRequestAcknowledge.o b/asn1c_defs/all-defs/HandoverRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..8ee57bd4fd54bc7648affbd3dc91f47ab40ba475 GIT binary patch literal 2576 zcmbtV&2G~`5T4Zh7g~ZiAR(b}qDXWVS4Bi1A(xQ0AZSgiO59w>wOZ7~F7bw+3-l4V z(FZ`{6_9v=9&_Z#Bft~D%zD?IZk+&SB=3Cl?fk8Gy?)<%GCx+SfRPH^hXc#70RE{1 z>?!EMBuv0!m~5o4;@(R9vL9!1F4|7g*PVD{GlrdBD$^+KJZfbJvHyzfUTk|Y?$EM1#Zy5j&2*xlqQ9h@l>2P>3`11FEr*N~~eS-7ZYc%%cTkNDGjB!43& zj%TbDT#{n%$Si@{@{9WY zsBay5y}umJIg@yQZmTX6)u`_CsfmfEK_vSC?rya zfQZs=H^$8tNh)Kpu(URv$uQbxogWX<`sf|7-;GM-sqyGQzFe-OL7aU7oHO`v@w7qtxtRJ!dpJqhuD^>M$+uh;W350rxQB}FQZF})abI7sKQwb5 zHJvAOj?B4VMy{;>x^A$pj%hDDf`d!LD#>Gb6ohh zMf@f{Zg%gK$HedJJQt9o$6i1E;q1Lf3idQv VxB9S5b*GfY5A^%rrDRO(_}>Da*ZTkf literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/HandoverRestrictionList.c b/asn1c_defs/all-defs/HandoverRestrictionList.c new file mode 100755 index 0000000..8f8a806 --- /dev/null +++ b/asn1c_defs/all-defs/HandoverRestrictionList.c @@ -0,0 +1,106 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "HandoverRestrictionList.h" + +#include "EPLMNs.h" +#include "ForbiddenTAs.h" +#include "ForbiddenLAs.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_HandoverRestrictionList_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList, servingPLMN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servingPLMN" + }, + { ATF_POINTER, 5, offsetof(struct HandoverRestrictionList, equivalentPLMNs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EPLMNs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "equivalentPLMNs" + }, + { ATF_POINTER, 4, offsetof(struct HandoverRestrictionList, forbiddenTAs), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ForbiddenTAs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "forbiddenTAs" + }, + { ATF_POINTER, 3, offsetof(struct HandoverRestrictionList, forbiddenLAs), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ForbiddenLAs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "forbiddenLAs" + }, + { ATF_POINTER, 2, offsetof(struct HandoverRestrictionList, forbiddenInterRATs), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ForbiddenInterRATs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "forbiddenInterRATs" + }, + { ATF_POINTER, 1, offsetof(struct HandoverRestrictionList, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P155, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_HandoverRestrictionList_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_HandoverRestrictionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverRestrictionList_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servingPLMN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* equivalentPLMNs */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* forbiddenTAs */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* forbiddenLAs */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* forbiddenInterRATs */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_specs_1 = { + sizeof(struct HandoverRestrictionList), + offsetof(struct HandoverRestrictionList, _asn_ctx), + asn_MAP_HandoverRestrictionList_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_HandoverRestrictionList_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList = { + "HandoverRestrictionList", + "HandoverRestrictionList", + &asn_OP_SEQUENCE, + asn_DEF_HandoverRestrictionList_tags_1, + sizeof(asn_DEF_HandoverRestrictionList_tags_1) + /sizeof(asn_DEF_HandoverRestrictionList_tags_1[0]), /* 1 */ + asn_DEF_HandoverRestrictionList_tags_1, /* Same as above */ + sizeof(asn_DEF_HandoverRestrictionList_tags_1) + /sizeof(asn_DEF_HandoverRestrictionList_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverRestrictionList_1, + 6, /* Elements count */ + &asn_SPC_HandoverRestrictionList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/HandoverRestrictionList.h b/asn1c_defs/all-defs/HandoverRestrictionList.h new file mode 100755 index 0000000..7f554bc --- /dev/null +++ b/asn1c_defs/all-defs/HandoverRestrictionList.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _HandoverRestrictionList_H_ +#define _HandoverRestrictionList_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "ForbiddenInterRATs.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct EPLMNs; +struct ForbiddenTAs; +struct ForbiddenLAs; +struct ProtocolExtensionContainer; + +/* HandoverRestrictionList */ +typedef struct HandoverRestrictionList { + PLMN_Identity_t servingPLMN; + struct EPLMNs *equivalentPLMNs; /* OPTIONAL */ + struct ForbiddenTAs *forbiddenTAs; /* OPTIONAL */ + struct ForbiddenLAs *forbiddenLAs; /* OPTIONAL */ + ForbiddenInterRATs_t *forbiddenInterRATs; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverRestrictionList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_specs_1; +extern asn_TYPE_member_t asn_MBR_HandoverRestrictionList_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _HandoverRestrictionList_H_ */ +#include diff --git a/asn1c_defs/all-defs/HandoverRestrictionList.o b/asn1c_defs/all-defs/HandoverRestrictionList.o new file mode 100644 index 0000000000000000000000000000000000000000..ae2a05924b7cc84b493c7ba26ad3cfa348ba6246 GIT binary patch literal 3760 zcmb_f%WvFd5dYFGlxH8jB@Qf7C4xk(bx1@65^}oTG(~CZJ|e-%>ulWA>c$TCm#Do! z4jkYHH;z4W<-i^O11?A$`4h?sZZJQ4W_R|>I*O_t>GRC|=Jmbo+5Nh=v36!|&Irw! zPt8~p)R-qPjOCyb19QQgH|ue>lOHC1RTW78yG9;Aoy zFv%>`(%j37?Q~}+$?mQyWkW01GfO#F@0KR*E%YARBr7R%IiAC5C3h{Z-jwIrCc_E% z8M6IHbb`yNO_=91H0EhwF0;&gmhyFI;7Dhgw?+9@Xq=yMUhHc?fn zDb)nsCoNQnd#`ZDAQ!JuW3YBj@Y8n~XQ+L!_c#Y3>>18m2y2y^zydrJAvf|N2jVK< zYu)b0?fI?kgUlYZKk}Bm&VqkXY5rIKiq~24{P$~|BBm4ao;80@eK%SYD;meQCRV0# zy+V!am1%5xZaHOY={KkJpRu0_Yt&uxa_18}O?Q z_!kX$)_{N4fHyT7Z(!mwi>~(8qJ~x!*?6~%{L1adYIu^{Vlq61W4EeZ zTGRda7>GW63>^1kF@;5L^FclwHRo=gSz1+6L@SFQ`k}wPT;HVnNyn;gu`$oF(Z%J? z0l&aLU~jPu9B)sb^?BwlzOHb|2`E(fC6>YZEF%xTnL9wQ{(22n&m)Dye~E366^?JY(4Pv2|0)~)Rrs6YOuWPIKg{soWLv0k zSrbg(DjfbX`|ESmUp0wEe&GA;Z@lu+o{hJO+oI<8MY735YrLJ<#>U$&OXC$e6nOfc zPiiuZD>EcV^@jN%23Um{Z;!2YcZ~w^p zE=j=L4i=0&CIvVCJu+j@pEmvjibc*v8kz!Dat)F!^@YO^vRnUG!a(2iJ*hQg+9ELj zggAO_z`C$LU!=dd&`V^%J(K$-_vt2K)9UwmLLEuSyzS_pkv^?{!2fR~9`(@`-TDz> zsP8P(Jm&h}kWEutD. + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* Encoder and decoder of a primitive type */ +#include + +/* + * INTEGER basic type description. + */ +static const ber_tlv_tag_t asn_DEF_INTEGER_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_operation_t asn_OP_INTEGER = { + INTEGER_free, + INTEGER_print, + INTEGER_compare, + ber_decode_primitive, + INTEGER_encode_der, + INTEGER_decode_xer, + INTEGER_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + INTEGER_decode_oer, /* OER decoder */ + INTEGER_encode_oer, /* Canonical OER encoder */ +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + INTEGER_decode_uper, /* Unaligned PER decoder */ + INTEGER_encode_uper, /* Unaligned PER encoder */ + INTEGER_decode_aper, /* Aligned PER decoder */ + INTEGER_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + INTEGER_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_INTEGER = { + "INTEGER", + "INTEGER", + &asn_OP_INTEGER, + asn_DEF_INTEGER_tags, + sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), + asn_DEF_INTEGER_tags, /* Same as above */ + sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +/* + * Encode INTEGER type using DER. + */ +asn_enc_rval_t +INTEGER_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + asn_enc_rval_t rval; + INTEGER_t effective_integer; + + ASN_DEBUG("%s %s as INTEGER (tm=%d)", + cb?"Encoding":"Estimating", td->name, tag_mode); + + /* + * Canonicalize integer in the buffer. + * (Remove too long sign extension, remove some first 0x00 bytes) + */ + if(st->buf) { + uint8_t *buf = st->buf; + uint8_t *end1 = buf + st->size - 1; + int shift; + + /* Compute the number of superfluous leading bytes */ + for(; buf < end1; buf++) { + /* + * If the contents octets of an integer value encoding + * consist of more than one octet, then the bits of the + * first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + switch(*buf) { + case 0x00: if((buf[1] & 0x80) == 0) + continue; + break; + case 0xff: if((buf[1] & 0x80)) + continue; + break; + } + break; + } + + /* Remove leading superfluous bytes from the integer */ + shift = buf - st->buf; + if(shift) { + union { + const uint8_t *c_buf; + uint8_t *nc_buf; + } unconst; + unconst.c_buf = st->buf; + effective_integer.buf = unconst.nc_buf + shift; + effective_integer.size = st->size - shift; + + st = &effective_integer; + } + } + + rval = der_encode_primitive(td, st, tag_mode, tag, cb, app_key); + if(rval.structure_ptr == &effective_integer) { + rval.structure_ptr = sptr; + } + return rval; +} + +static const asn_INTEGER_enum_map_t *INTEGER_map_enum2value( + const asn_INTEGER_specifics_t *specs, const char *lstart, + const char *lstop); + +/* + * INTEGER specific human-readable output. + */ +static ssize_t +INTEGER__dump(const asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + char scratch[32]; + uint8_t *buf = st->buf; + uint8_t *buf_end = st->buf + st->size; + intmax_t value; + ssize_t wrote = 0; + char *p; + int ret; + + if(specs && specs->field_unsigned) + ret = asn_INTEGER2umax(st, (uintmax_t *)&value); + else + ret = asn_INTEGER2imax(st, &value); + + /* Simple case: the integer size is small */ + if(ret == 0) { + const asn_INTEGER_enum_map_t *el; + el = (value >= 0 || !specs || !specs->field_unsigned) + ? INTEGER_map_value2enum(specs, value) : 0; + if(el) { + if(plainOrXER == 0) + return asn__format_to_callback(cb, app_key, + "%" ASN_PRIdMAX " (%s)", value, el->enum_name); + else + return asn__format_to_callback(cb, app_key, + "<%s/>", el->enum_name); + } else if(plainOrXER && specs && specs->strict_enumeration) { + ASN_DEBUG("ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + errno = EPERM; + return -1; + } else { + return asn__format_to_callback(cb, app_key, + (specs && specs->field_unsigned) + ? "%" ASN_PRIuMAX + : "%" ASN_PRIdMAX, + value); + } + } else if(plainOrXER && specs && specs->strict_enumeration) { + /* + * Here and earlier, we cannot encode the ENUMERATED values + * if there is no corresponding identifier. + */ + ASN_DEBUG("ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + errno = EPERM; + return -1; + } + + /* Output in the long xx:yy:zz... format */ + /* TODO: replace with generic algorithm (Knuth TAOCP Vol 2, 4.3.1) */ + for(p = scratch; buf < buf_end; buf++) { + const char * const h2c = "0123456789ABCDEF"; + if((p - scratch) >= (ssize_t)(sizeof(scratch) - 4)) { + /* Flush buffer */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + wrote += p - scratch; + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x3a; /* ":" */ + } + if(p != scratch) + p--; /* Remove the last ":" */ + + wrote += p - scratch; + return (cb(scratch, p - scratch, app_key) < 0) ? -1 : wrote; +} + +/* + * INTEGER specific human-readable output. + */ +int +INTEGER_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + ssize_t ret; + + (void)ilevel; + + if(!st || !st->buf) + ret = cb("", 8, app_key); + else + ret = INTEGER__dump(td, st, cb, app_key, 0); + + return (ret < 0) ? -1 : 0; +} + +struct e2v_key { + const char *start; + const char *stop; + const asn_INTEGER_enum_map_t *vemap; + const unsigned int *evmap; +}; +static int +INTEGER__compar_enum2value(const void *kp, const void *am) { + const struct e2v_key *key = (const struct e2v_key *)kp; + const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; + const char *ptr, *end, *name; + + /* Remap the element (sort by different criterion) */ + el = key->vemap + key->evmap[el - key->vemap]; + + /* Compare strings */ + for(ptr = key->start, end = key->stop, name = el->enum_name; + ptr < end; ptr++, name++) { + if(*ptr != *name || !*name) + return *(const unsigned char *)ptr + - *(const unsigned char *)name; + } + return name[0] ? -1 : 0; +} + +static const asn_INTEGER_enum_map_t * +INTEGER_map_enum2value(const asn_INTEGER_specifics_t *specs, const char *lstart, + const char *lstop) { + const asn_INTEGER_enum_map_t *el_found; + int count = specs ? specs->map_count : 0; + struct e2v_key key; + const char *lp; + + if(!count) return NULL; + + /* Guaranteed: assert(lstart < lstop); */ + /* Figure out the tag name */ + for(lstart++, lp = lstart; lp < lstop; lp++) { + switch(*lp) { + case 9: case 10: case 11: case 12: case 13: case 32: /* WSP */ + case 0x2f: /* '/' */ case 0x3e: /* '>' */ + break; + default: + continue; + } + break; + } + if(lp == lstop) return NULL; /* No tag found */ + lstop = lp; + + key.start = lstart; + key.stop = lstop; + key.vemap = specs->value2enum; + key.evmap = specs->enum2value; + el_found = (asn_INTEGER_enum_map_t *)bsearch(&key, + specs->value2enum, count, sizeof(specs->value2enum[0]), + INTEGER__compar_enum2value); + if(el_found) { + /* Remap enum2value into value2enum */ + el_found = key.vemap + key.evmap[el_found - key.vemap]; + } + return el_found; +} + +static int +INTEGER__compar_value2enum(const void *kp, const void *am) { + long a = *(const long *)kp; + const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; + long b = el->nat_value; + if(a < b) return -1; + else if(a == b) return 0; + else return 1; +} + +const asn_INTEGER_enum_map_t * +INTEGER_map_value2enum(const asn_INTEGER_specifics_t *specs, long value) { + int count = specs ? specs->map_count : 0; + if(!count) return 0; + return (asn_INTEGER_enum_map_t *)bsearch(&value, specs->value2enum, + count, sizeof(specs->value2enum[0]), + INTEGER__compar_value2enum); +} + +static int +INTEGER_st_prealloc(INTEGER_t *st, int min_size) { + void *p = MALLOC(min_size + 1); + if(p) { + void *b = st->buf; + st->size = 0; + st->buf = p; + FREEMEM(b); + return 0; + } else { + return -1; + } +} + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +static enum xer_pbd_rval +INTEGER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + INTEGER_t *st = (INTEGER_t *)sptr; + intmax_t dec_value; + intmax_t hex_value = 0; + const char *lp; + const char *lstart = (const char *)chunk_buf; + const char *lstop = lstart + chunk_size; + enum { + ST_LEADSPACE, + ST_SKIPSPHEX, + ST_WAITDIGITS, + ST_DIGITS, + ST_DIGITS_TRAILSPACE, + ST_HEXDIGIT1, + ST_HEXDIGIT2, + ST_HEXDIGITS_TRAILSPACE, + ST_HEXCOLON, + ST_END_ENUM, + ST_UNEXPECTED + } state = ST_LEADSPACE; + const char *dec_value_start = 0; /* INVARIANT: always !0 in ST_DIGITS */ + const char *dec_value_end = 0; + + if(chunk_size) + ASN_DEBUG("INTEGER body %ld 0x%2x..0x%2x", + (long)chunk_size, *lstart, lstop[-1]); + + if(INTEGER_st_prealloc(st, (chunk_size/3) + 1)) + return XPBD_SYSTEM_FAILURE; + + /* + * We may have received a tag here. It will be processed inline. + * Use strtoul()-like code and serialize the result. + */ + for(lp = lstart; lp < lstop; lp++) { + int lv = *lp; + switch(lv) { + case 0x09: case 0x0a: case 0x0d: case 0x20: + switch(state) { + case ST_LEADSPACE: + case ST_DIGITS_TRAILSPACE: + case ST_HEXDIGITS_TRAILSPACE: + case ST_SKIPSPHEX: + continue; + case ST_DIGITS: + dec_value_end = lp; + state = ST_DIGITS_TRAILSPACE; + continue; + case ST_HEXCOLON: + state = ST_HEXDIGITS_TRAILSPACE; + continue; + default: + break; + } + break; + case 0x2d: /* '-' */ + if(state == ST_LEADSPACE) { + dec_value = 0; + dec_value_start = lp; + state = ST_WAITDIGITS; + continue; + } + break; + case 0x2b: /* '+' */ + if(state == ST_LEADSPACE) { + dec_value = 0; + dec_value_start = lp; + state = ST_WAITDIGITS; + continue; + } + break; + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + switch(state) { + case ST_DIGITS: continue; + case ST_SKIPSPHEX: /* Fall through */ + case ST_HEXDIGIT1: + hex_value = (lv - 0x30) << 4; + state = ST_HEXDIGIT2; + continue; + case ST_HEXDIGIT2: + hex_value += (lv - 0x30); + state = ST_HEXCOLON; + st->buf[st->size++] = (uint8_t)hex_value; + continue; + case ST_HEXCOLON: + return XPBD_BROKEN_ENCODING; + case ST_LEADSPACE: + dec_value = 0; + dec_value_start = lp; + /* FALL THROUGH */ + case ST_WAITDIGITS: + state = ST_DIGITS; + continue; + default: + break; + } + break; + case 0x3c: /* '<', start of XML encoded enumeration */ + if(state == ST_LEADSPACE) { + const asn_INTEGER_enum_map_t *el; + el = INTEGER_map_enum2value( + (const asn_INTEGER_specifics_t *) + td->specifics, lstart, lstop); + if(el) { + ASN_DEBUG("Found \"%s\" => %ld", + el->enum_name, el->nat_value); + dec_value = el->nat_value; + state = ST_END_ENUM; + lp = lstop - 1; + continue; + } + ASN_DEBUG("Unknown identifier for INTEGER"); + } + return XPBD_BROKEN_ENCODING; + case 0x3a: /* ':' */ + if(state == ST_HEXCOLON) { + /* This colon is expected */ + state = ST_HEXDIGIT1; + continue; + } else if(state == ST_DIGITS) { + /* The colon here means that we have + * decoded the first two hexadecimal + * places as a decimal value. + * Switch decoding mode. */ + ASN_DEBUG("INTEGER re-evaluate as hex form"); + state = ST_SKIPSPHEX; + dec_value_start = 0; + lp = lstart - 1; + continue; + } else { + ASN_DEBUG("state %d at %ld", state, (long)(lp - lstart)); + break; + } + /* [A-Fa-f] */ + case 0x41:case 0x42:case 0x43:case 0x44:case 0x45:case 0x46: + case 0x61:case 0x62:case 0x63:case 0x64:case 0x65:case 0x66: + switch(state) { + case ST_SKIPSPHEX: + case ST_LEADSPACE: /* Fall through */ + case ST_HEXDIGIT1: + hex_value = lv - ((lv < 0x61) ? 0x41 : 0x61); + hex_value += 10; + hex_value <<= 4; + state = ST_HEXDIGIT2; + continue; + case ST_HEXDIGIT2: + hex_value += lv - ((lv < 0x61) ? 0x41 : 0x61); + hex_value += 10; + st->buf[st->size++] = (uint8_t)hex_value; + state = ST_HEXCOLON; + continue; + case ST_DIGITS: + ASN_DEBUG("INTEGER re-evaluate as hex form"); + state = ST_SKIPSPHEX; + dec_value_start = 0; + lp = lstart - 1; + continue; + default: + break; + } + break; + } + + /* Found extra non-numeric stuff */ + ASN_DEBUG("INTEGER :: Found non-numeric 0x%2x at %ld", + lv, (long)(lp - lstart)); + state = ST_UNEXPECTED; + break; + } + + switch(state) { + case ST_END_ENUM: + /* Got a complete and valid enumeration encoded as a tag. */ + break; + case ST_DIGITS: + dec_value_end = lstop; + /* FALL THROUGH */ + case ST_DIGITS_TRAILSPACE: + /* The last symbol encountered was a digit. */ + switch(asn_strtoimax_lim(dec_value_start, &dec_value_end, &dec_value)) { + case ASN_STRTOX_OK: + if(specs && specs->field_unsigned && (uintmax_t) dec_value <= ULONG_MAX) { + break; + } else if(dec_value >= LONG_MIN && dec_value <= LONG_MAX) { + break; + } else { + /* + * We model INTEGER on long for XER, + * to avoid rewriting all the tests at once. + */ + ASN_DEBUG("INTEGER exceeds long range"); + } + /* Fall through */ + case ASN_STRTOX_ERROR_RANGE: + ASN_DEBUG("INTEGER decode %s hit range limit", td->name); + return XPBD_DECODER_LIMIT; + case ASN_STRTOX_ERROR_INVAL: + case ASN_STRTOX_EXPECT_MORE: + case ASN_STRTOX_EXTRA_DATA: + return XPBD_BROKEN_ENCODING; + } + break; + case ST_HEXCOLON: + case ST_HEXDIGITS_TRAILSPACE: + st->buf[st->size] = 0; /* Just in case termination */ + return XPBD_BODY_CONSUMED; + case ST_HEXDIGIT1: + case ST_HEXDIGIT2: + case ST_SKIPSPHEX: + return XPBD_BROKEN_ENCODING; + case ST_LEADSPACE: + /* Content not found */ + return XPBD_NOT_BODY_IGNORE; + case ST_WAITDIGITS: + case ST_UNEXPECTED: + ASN_DEBUG("INTEGER: No useful digits (state %d)", state); + return XPBD_BROKEN_ENCODING; /* No digits */ + } + + /* + * Convert the result of parsing of enumeration or a straight + * decimal value into a BER representation. + */ + if(asn_imax2INTEGER(st, dec_value)) { + ASN_DEBUG("INTEGER decode %s conversion failed", td->name); + return XPBD_SYSTEM_FAILURE; + } + + return XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +INTEGER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(INTEGER_t), opt_mname, + buf_ptr, size, INTEGER__xer_body_decode); +} + +asn_enc_rval_t +INTEGER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + asn_enc_rval_t er = {0,0,0}; + + (void)ilevel; + (void)flags; + + if(!st || !st->buf) + ASN__ENCODE_FAILED; + + er.encoded = INTEGER__dump(td, st, cb, app_key, 1); + if(er.encoded < 0) ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +INTEGER_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + INTEGER_t *st = (INTEGER_t *)*sptr; + const asn_per_constraint_t *ct; + int repeat; + + (void)opt_codec_ctx; + + if(!st) { + st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + if(ct) { + if(ct->flags & APC_SEMI_CONSTRAINED) { + st->buf = (uint8_t *)CALLOC(1, 2); + if(!st->buf) ASN__DECODE_FAILED; + st->size = 1; + } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { + size_t size = (ct->range_bits + 7) >> 3; + st->buf = (uint8_t *)MALLOC(1 + size + 1); + if(!st->buf) ASN__DECODE_FAILED; + st->size = size; + } + } + + /* X.691-2008/11, #13.2.2, constrained whole number */ + if(ct && ct->flags != APC_UNCONSTRAINED) { + /* #11.5.6 */ + ASN_DEBUG("Integer with range %d bits", ct->range_bits); + if(ct->range_bits >= 0) { + if((size_t)ct->range_bits > 8 * sizeof(unsigned long)) + ASN__DECODE_FAILED; + + if(specs && specs->field_unsigned) { + unsigned long uvalue = 0; + if(uper_get_constrained_whole_number(pd, + &uvalue, ct->range_bits)) + ASN__DECODE_STARVED; + ASN_DEBUG("Got value %lu + low %ld", + uvalue, ct->lower_bound); + uvalue += ct->lower_bound; + if(asn_ulong2INTEGER(st, uvalue)) + ASN__DECODE_FAILED; + } else { + unsigned long uvalue = 0; + long svalue; + if(uper_get_constrained_whole_number(pd, + &uvalue, ct->range_bits)) + ASN__DECODE_STARVED; + ASN_DEBUG("Got value %lu + low %ld", + uvalue, ct->lower_bound); + if(per_long_range_unrebase(uvalue, ct->lower_bound, + ct->upper_bound, &svalue) + || asn_long2INTEGER(st, svalue)) { + ASN__DECODE_FAILED; + } + } + return rval; + } + } else { + ASN_DEBUG("Decoding unconstrained integer %s", td->name); + } + + /* X.691, #12.2.3, #12.2.4 */ + do { + ssize_t len = 0; + void *p = NULL; + int ret = 0; + + /* Get the PER length */ + len = uper_get_length(pd, -1, 0, &repeat); + if(len < 0) ASN__DECODE_STARVED; + + p = REALLOC(st->buf, st->size + len + 1); + if(!p) ASN__DECODE_FAILED; + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); + if(ret < 0) ASN__DECODE_STARVED; + st->size += len; + } while(repeat); + st->buf[st->size] = 0; /* JIC */ + + /* #12.2.3 */ + if(ct && ct->lower_bound) { + /* + * TODO: replace by in-place arithmetics. + */ + long value = 0; + if(asn_INTEGER2long(st, &value)) + ASN__DECODE_FAILED; + if(asn_imax2INTEGER(st, value + ct->lower_bound)) + ASN__DECODE_FAILED; + } + + return rval; +} + +asn_enc_rval_t +INTEGER_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const INTEGER_t *st = (const INTEGER_t *)sptr; + const uint8_t *buf; + const uint8_t *end; + const asn_per_constraint_t *ct; + long value = 0; + + if(!st || st->size == 0) ASN__ENCODE_FAILED; + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + er.encoded = 0; + + if(ct) { + int inext = 0; + if(specs && specs->field_unsigned) { + unsigned long uval; + if(asn_INTEGER2ulong(st, &uval)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(uval < (unsigned long)ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(uval < (unsigned long)ct->lower_bound + || uval > (unsigned long)ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%" ASN_PRI_SIZE ") lb %lu ub %lu %s", + uval, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + value = uval; + } else { + if(asn_INTEGER2long(st, &value)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(value < ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(value < ct->lower_bound + || value > ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %ld (%02x/%" ASN_PRI_SIZE ") lb %ld ub %ld %s", + value, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + } + + + /* X.691-11/2008, #13.2.2, test if constrained whole number */ + if(ct && ct->range_bits >= 0) { + unsigned long v; + /* #11.5.6 -> #11.3 */ + ASN_DEBUG("Encoding integer %ld (%lu) with range %d bits", + value, value - ct->lower_bound, ct->range_bits); + if(specs && specs->field_unsigned) { + if ( ((unsigned long)ct->lower_bound > (unsigned long)(ct->upper_bound) + || ((unsigned long)value < (unsigned long)ct->lower_bound)) + || ((unsigned long)value > (unsigned long)ct->upper_bound) + ) { + ASN_DEBUG("Value %lu to-be-encoded is outside the bounds [%lu, %lu]!", + value, ct->lower_bound, ct->upper_bound); + ASN__ENCODE_FAILED; + } + v = (unsigned long)value - (unsigned long)ct->lower_bound; + } else { + if(per_long_range_rebase(value, ct->lower_bound, ct->upper_bound, &v)) { + ASN__ENCODE_FAILED; + } + } + if(uper_put_constrained_whole_number_u(po, v, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(ct && ct->lower_bound) { + ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); + /* TODO: adjust lower bound */ + ASN__ENCODE_FAILED; + } + + for(buf = st->buf, end = st->buf + st->size; buf < end;) { + int need_eom = 0; + ssize_t mayEncode = uper_put_length(po, end - buf, &need_eom); + if(mayEncode < 0) + ASN__ENCODE_FAILED; + if(per_put_many_bits(po, buf, 8 * mayEncode)) + ASN__ENCODE_FAILED; + buf += mayEncode; + if(need_eom && uper_put_length(po, 0, 0)) ASN__ENCODE_FAILED; + } + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +INTEGER_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + INTEGER_t *st = (INTEGER_t *)*sptr; + const asn_per_constraint_t *ct; + int repeat; + + (void)opt_codec_ctx; + + if(!st) { + st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + if(ct) { + if(ct->flags & APC_SEMI_CONSTRAINED) { + st->buf = (uint8_t *)CALLOC(1, 2); + if(!st->buf) ASN__DECODE_FAILED; + st->size = 1; + } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { + size_t size = (ct->range_bits + 7) >> 3; + st->buf = (uint8_t *)MALLOC(1 + size + 1); + if(!st->buf) ASN__DECODE_FAILED; + st->size = size; + } + } + + /* X.691, #12.2.2 */ + if(ct && ct->flags != APC_UNCONSTRAINED) { + /* #10.5.6 */ + ASN_DEBUG("Integer with range %d bits", ct->range_bits); + if(ct->range_bits >= 0) { + if (ct->range_bits > 16) { + int max_range_bytes = (ct->range_bits >> 3) + + (((ct->range_bits % 8) > 0) ? 1 : 0); + int length = 0, i; + long value = 0; + + for (i = 1; ; i++) { + int upper = 1 << i; + if (upper >= max_range_bytes) + break; + } + ASN_DEBUG("Can encode %d (%d bytes) in %d bits", ct->range_bits, + max_range_bytes, i); + + if ((length = per_get_few_bits(pd, i)) < 0) + ASN__DECODE_FAILED; + + /* X.691 #12.2.6 length determinant + lb (1) */ + length += 1; + ASN_DEBUG("Got length %d", length); + if (aper_get_align(pd) != 0) + ASN__DECODE_FAILED; + while (length--) { + int buf = per_get_few_bits(pd, 8); + if (buf < 0) + ASN__DECODE_FAILED; + value += (((long)buf) << (8 * length)); + } + + value += ct->lower_bound; + if((specs && specs->field_unsigned) + ? asn_uint642INTEGER(st, (unsigned long)value) + : asn_int642INTEGER(st, value)) + ASN__DECODE_FAILED; + ASN_DEBUG("Got value %ld + low %ld", + value, ct->lower_bound); + } else { + long value = 0; + if (ct->range_bits < 8) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + } else if (ct->range_bits == 8) { + if (aper_get_align(pd) < 0) + ASN__DECODE_FAILED; + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + } else { + /* Align */ + if (aper_get_align(pd) < 0) + ASN__DECODE_FAILED; + value = per_get_few_bits(pd, 16); + if(value < 0) ASN__DECODE_STARVED; + } + value += ct->lower_bound; + if((specs && specs->field_unsigned) + ? asn_ulong2INTEGER(st, value) + : asn_long2INTEGER(st, value)) + ASN__DECODE_FAILED; + ASN_DEBUG("Got value %ld + low %ld", + value, ct->lower_bound); + } + return rval; + } else { + ASN__DECODE_FAILED; + } + } else { + ASN_DEBUG("Decoding unconstrained integer %s", td->name); + } + + /* X.691, #12.2.3, #12.2.4 */ + do { + ssize_t len; + void *p; + int ret; + + /* Get the PER length */ + len = aper_get_length(pd, -1, -1, &repeat); + if(len < 0) ASN__DECODE_STARVED; + + p = REALLOC(st->buf, st->size + len + 1); + if(!p) ASN__DECODE_FAILED; + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); + if(ret < 0) ASN__DECODE_STARVED; + st->size += len; + } while(repeat); + st->buf[st->size] = 0; /* JIC */ + + /* #12.2.3 */ + if(ct && ct->lower_bound) { + /* + * TODO: replace by in-place arithmetics. + */ + long value; + if(asn_INTEGER2long(st, &value)) + ASN__DECODE_FAILED; + if(asn_long2INTEGER(st, value + ct->lower_bound)) + ASN__DECODE_FAILED; + } + + return rval; +} + +asn_enc_rval_t +INTEGER_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const INTEGER_t *st = (const INTEGER_t *)sptr; + const uint8_t *buf; + const uint8_t *end; + const asn_per_constraint_t *ct; + long value = 0; + + if(!st || st->size == 0) ASN__ENCODE_FAILED; + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + er.encoded = 0; + + if(ct) { + int inext = 0; + if(specs && specs->field_unsigned) { + unsigned long uval; + if(asn_INTEGER2ulong(st, &uval)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(uval < (unsigned long)ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(uval < (unsigned long)ct->lower_bound + || uval > (unsigned long)ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%lu) lb %ld ub %ld %s", + uval, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + value = uval; + } else { + if(asn_INTEGER2long(st, &value)) ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(value < ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(value < ct->lower_bound + || value > ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%lu) lb %ld ub %ld %s", + value, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + } + + /* X.691, #12.2.2 */ + if(ct && ct->range_bits >= 0) { + unsigned long v; + + /* #10.5.6 */ + ASN_DEBUG("Encoding integer %ld (%lu) with range %d bits", + value, value - ct->lower_bound, ct->range_bits); + + v = value - ct->lower_bound; + + /* #12 <= 8 -> alignment ? */ + if (ct->range_bits < 8) { + if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) + ASN__ENCODE_FAILED; + } else if (ct->range_bits == 8) { + if(aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) + ASN__ENCODE_FAILED; + } else if (ct->range_bits <= 16) { + /* Consume the bytes to align on octet */ + if(aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + if(per_put_few_bits(po, 0x0000 | v, + 16)) + ASN__ENCODE_FAILED; + } else { + /* TODO: extend to >64 bits */ + int64_t v64 = v; + int i, j; + int max_range_bytes = (ct->range_bits >> 3) + + (((ct->range_bits % 8) > 0) ? 1 : 0); + + for (i = 1; ; i++) { + int upper = 1 << i; + if (upper >= max_range_bytes) + break; + } + + for (j = sizeof(int64_t) -1; j != 0; j--) { + int64_t val; + val = v64 >> (j * 8); + if (val != 0) + break; + } + + /* Putting length in the minimum number of bits ex: 5 = 3bits */ + if (per_put_few_bits(po, j, i)) + ASN__ENCODE_FAILED; + + /* Consume the bits to align on octet */ + if (aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + /* Put the value */ + for (i = 0; i <= j; i++) { + if(per_put_few_bits(po, (v64 >> (8 * (j - i))) & 0xff, 8)) + ASN__ENCODE_FAILED; + } + } + ASN__ENCODED_OK(er); + } + + if(ct && ct->lower_bound) { + ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); + /* TODO: adjust lower bound */ + ASN__ENCODE_FAILED; + } + + for(buf = st->buf, end = st->buf + st->size; buf < end;) { + ssize_t mayEncode = aper_put_length(po, -1, end - buf); + if(mayEncode < 0) + ASN__ENCODE_FAILED; + if(per_put_many_bits(po, buf, 8 * mayEncode)) + ASN__ENCODE_FAILED; + buf += mayEncode; + } + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +static intmax_t +asn__integer_convert(const uint8_t *b, const uint8_t *end) { + uintmax_t value; + + /* Perform the sign initialization */ + /* Actually value = -(*b >> 7); gains nothing, yet unreadable! */ + if((*b >> 7)) { + value = (uintmax_t)(-1); + } else { + value = 0; + } + + /* Conversion engine */ + for(; b < end; b++) { + value = (value << 8) | *b; + } + + return value; +} + +int +asn_INTEGER2imax(const INTEGER_t *iptr, intmax_t *lptr) { + uint8_t *b, *end; + size_t size; + + /* Sanity checking */ + if(!iptr || !iptr->buf || !lptr) { + errno = EINVAL; + return -1; + } + + /* Cache the begin/end of the buffer */ + b = iptr->buf; /* Start of the INTEGER buffer */ + size = iptr->size; + end = b + size; /* Where to stop */ + + if(size > sizeof(intmax_t)) { + uint8_t *end1 = end - 1; + /* + * Slightly more advanced processing, + * able to process INTEGERs with >sizeof(intmax_t) bytes + * when the actual value is small, e.g. for intmax_t == int32_t + * (0x0000000000abcdef INTEGER would yield a fine 0x00abcdef int32_t) + */ + /* Skip out the insignificant leading bytes */ + for(; b < end1; b++) { + switch(*b) { + case 0x00: if((b[1] & 0x80) == 0) continue; break; + case 0xff: if((b[1] & 0x80) != 0) continue; break; + } + break; + } + + size = end - b; + if(size > sizeof(intmax_t)) { + /* Still cannot fit the sizeof(intmax_t) */ + errno = ERANGE; + return -1; + } + } + + /* Shortcut processing of a corner case */ + if(end == b) { + *lptr = 0; + return 0; + } + + *lptr = asn__integer_convert(b, end); + return 0; +} + +/* FIXME: negative INTEGER values are silently interpreted as large unsigned ones. */ +int +asn_INTEGER2umax(const INTEGER_t *iptr, uintmax_t *lptr) { + uint8_t *b, *end; + uintmax_t value; + size_t size; + + if(!iptr || !iptr->buf || !lptr) { + errno = EINVAL; + return -1; + } + + b = iptr->buf; + size = iptr->size; + end = b + size; + + /* If all extra leading bytes are zeroes, ignore them */ + for(; size > sizeof(value); b++, size--) { + if(*b) { + /* Value won't fit into uintmax_t */ + errno = ERANGE; + return -1; + } + } + + /* Conversion engine */ + for(value = 0; b < end; b++) + value = (value << 8) | *b; + + *lptr = value; + return 0; +} + +int +asn_umax2INTEGER(INTEGER_t *st, uintmax_t value) { + uint8_t *buf; + uint8_t *end; + uint8_t *b; + int shr; + + if(value <= ((~(uintmax_t)0) >> 1)) { + return asn_imax2INTEGER(st, value); + } + + buf = (uint8_t *)MALLOC(1 + sizeof(value)); + if(!buf) return -1; + + end = buf + (sizeof(value) + 1); + buf[0] = 0; /* INTEGERs are signed. 0-byte indicates positive. */ + for(b = buf + 1, shr = (sizeof(value) - 1) * 8; b < end; shr -= 8, b++) + *b = (uint8_t)(value >> shr); + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = 1 + sizeof(value); + + return 0; +} + +int +asn_imax2INTEGER(INTEGER_t *st, intmax_t value) { + uint8_t *buf, *bp; + uint8_t *p; + uint8_t *pstart; + uint8_t *pend1; + int littleEndian = 1; /* Run-time detection */ + int add; + + if(!st) { + errno = EINVAL; + return -1; + } + + buf = (uint8_t *)(long *)MALLOC(sizeof(value)); + if(!buf) return -1; + + if(*(char *)&littleEndian) { + pstart = (uint8_t *)&value + sizeof(value) - 1; + pend1 = (uint8_t *)&value; + add = -1; + } else { + pstart = (uint8_t *)&value; + pend1 = pstart + sizeof(value) - 1; + add = 1; + } + + /* + * If the contents octet consists of more than one octet, + * then bits of the first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + for(p = pstart; p != pend1; p += add) { + switch(*p) { + case 0x00: if((*(p+add) & 0x80) == 0) + continue; + break; + case 0xff: if((*(p+add) & 0x80)) + continue; + break; + } + break; + } + /* Copy the integer body */ + for(bp = buf, pend1 += add; p != pend1; p += add) + *bp++ = *p; + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = bp - buf; + + return 0; +} + +int +asn_INTEGER2long(const INTEGER_t *iptr, long *l) { + intmax_t v; + if(asn_INTEGER2imax(iptr, &v) == 0) { + if(v < LONG_MIN || v > LONG_MAX) { + errno = ERANGE; + return -1; + } + *l = v; + return 0; + } else { + return -1; + } +} + +int +asn_INTEGER2ulong(const INTEGER_t *iptr, unsigned long *l) { + uintmax_t v; + if(asn_INTEGER2umax(iptr, &v) == 0) { + if(v > ULONG_MAX) { + errno = ERANGE; + return -1; + } + *l = v; + return 0; + } else { + return -1; + } +} + +int +asn_long2INTEGER(INTEGER_t *st, long value) { + return asn_imax2INTEGER(st, value); +} + +int +asn_ulong2INTEGER(INTEGER_t *st, unsigned long value) { + return asn_imax2INTEGER(st, value); +} + + +int +asn_uint642INTEGER(INTEGER_t *st, uint64_t value) { + uint8_t *buf; + uint8_t *end; + uint8_t *b; + int shr; + + if(value <= INT64_MAX) + return asn_int642INTEGER(st, value); + + buf = (uint8_t *)MALLOC(1 + sizeof(value)); + if(!buf) return -1; + + end = buf + (sizeof(value) + 1); + buf[0] = 0; + for(b = buf + 1, shr = (sizeof(value)-1)*8; b < end; shr -= 8, b++) + *b = (uint8_t)(value >> shr); + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = 1 + sizeof(value); + + return 0; +} + +int +asn_int642INTEGER(INTEGER_t *st, int64_t value) { + uint8_t *buf, *bp; + uint8_t *p; + uint8_t *pstart; + uint8_t *pend1; + int littleEndian = 1; /* Run-time detection */ + int add; + + if(!st) { + errno = EINVAL; + return -1; + } + + buf = (uint8_t *)MALLOC(sizeof(value)); + if(!buf) return -1; + + if(*(char *)&littleEndian) { + pstart = (uint8_t *)&value + sizeof(value) - 1; + pend1 = (uint8_t *)&value; + add = -1; + } else { + pstart = (uint8_t *)&value; + pend1 = pstart + sizeof(value) - 1; + add = 1; + } + + /* + * If the contents octet consists of more than one octet, + * then bits of the first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + for(p = pstart; p != pend1; p += add) { + switch(*p) { + case 0x00: if((*(p+add) & 0x80) == 0) + continue; + break; + case 0xff: if((*(p+add) & 0x80)) + continue; + break; + } + break; + } + /* Copy the integer body */ + for(pstart = p, bp = buf, pend1 += add; p != pend1; p += add) + *bp++ = *p; + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = bp - buf; + + return 0; +} + +/* + * Parse the number in the given string until the given *end position, + * returning the position after the last parsed character back using the + * same (*end) pointer. + * WARNING: This behavior is different from the standard strtol/strtoimax(3). + */ +enum asn_strtox_result_e +asn_strtoimax_lim(const char *str, const char **end, intmax_t *intp) { + int sign = 1; + intmax_t value; + +#define ASN1_INTMAX_MAX ((~(uintmax_t)0) >> 1) + const intmax_t upper_boundary = ASN1_INTMAX_MAX / 10; + intmax_t last_digit_max = ASN1_INTMAX_MAX % 10; +#undef ASN1_INTMAX_MAX + + if(str >= *end) return ASN_STRTOX_ERROR_INVAL; + + switch(*str) { + case '-': + last_digit_max++; + sign = -1; + /* FALL THROUGH */ + case '+': + str++; + if(str >= *end) { + *end = str; + return ASN_STRTOX_EXPECT_MORE; + } + } + + for(value = 0; str < (*end); str++) { + switch(*str) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: { + int d = *str - '0'; + if(value < upper_boundary) { + value = value * 10 + d; + } else if(value == upper_boundary) { + if(d <= last_digit_max) { + if(sign > 0) { + value = value * 10 + d; + } else { + sign = 1; + value = -value * 10 - d; + } + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } + continue; + default: + *end = str; + *intp = sign * value; + return ASN_STRTOX_EXTRA_DATA; + } + } + + *end = str; + *intp = sign * value; + return ASN_STRTOX_OK; +} + +/* + * Parse the number in the given string until the given *end position, + * returning the position after the last parsed character back using the + * same (*end) pointer. + * WARNING: This behavior is different from the standard strtoul/strtoumax(3). + */ +enum asn_strtox_result_e +asn_strtoumax_lim(const char *str, const char **end, uintmax_t *uintp) { + uintmax_t value; + +#define ASN1_UINTMAX_MAX ((~(uintmax_t)0)) + const uintmax_t upper_boundary = ASN1_UINTMAX_MAX / 10; + uintmax_t last_digit_max = ASN1_UINTMAX_MAX % 10; +#undef ASN1_UINTMAX_MAX + + if(str >= *end) return ASN_STRTOX_ERROR_INVAL; + + switch(*str) { + case '-': + return ASN_STRTOX_ERROR_INVAL; + case '+': + str++; + if(str >= *end) { + *end = str; + return ASN_STRTOX_EXPECT_MORE; + } + } + + for(value = 0; str < (*end); str++) { + switch(*str) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: { + unsigned int d = *str - '0'; + if(value < upper_boundary) { + value = value * 10 + d; + } else if(value == upper_boundary) { + if(d <= last_digit_max) { + value = value * 10 + d; + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } + continue; + default: + *end = str; + *uintp = value; + return ASN_STRTOX_EXTRA_DATA; + } + } + + *end = str; + *uintp = value; + return ASN_STRTOX_OK; +} + +enum asn_strtox_result_e +asn_strtol_lim(const char *str, const char **end, long *lp) { + intmax_t value; + switch(asn_strtoimax_lim(str, end, &value)) { + case ASN_STRTOX_ERROR_RANGE: + return ASN_STRTOX_ERROR_RANGE; + case ASN_STRTOX_ERROR_INVAL: + return ASN_STRTOX_ERROR_INVAL; + case ASN_STRTOX_EXPECT_MORE: + return ASN_STRTOX_EXPECT_MORE; + case ASN_STRTOX_OK: + if(value >= LONG_MIN && value <= LONG_MAX) { + *lp = value; + return ASN_STRTOX_OK; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + case ASN_STRTOX_EXTRA_DATA: + if(value >= LONG_MIN && value <= LONG_MAX) { + *lp = value; + return ASN_STRTOX_EXTRA_DATA; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + } + + assert(!"Unreachable"); + return ASN_STRTOX_ERROR_INVAL; +} + +enum asn_strtox_result_e +asn_strtoul_lim(const char *str, const char **end, unsigned long *ulp) { + uintmax_t value; + switch(asn_strtoumax_lim(str, end, &value)) { + case ASN_STRTOX_ERROR_RANGE: + return ASN_STRTOX_ERROR_RANGE; + case ASN_STRTOX_ERROR_INVAL: + return ASN_STRTOX_ERROR_INVAL; + case ASN_STRTOX_EXPECT_MORE: + return ASN_STRTOX_EXPECT_MORE; + case ASN_STRTOX_OK: + if(value <= ULONG_MAX) { + *ulp = value; + return ASN_STRTOX_OK; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + case ASN_STRTOX_EXTRA_DATA: + if(value <= ULONG_MAX) { + *ulp = value; + return ASN_STRTOX_EXTRA_DATA; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + } + + assert(!"Unreachable"); + return ASN_STRTOX_ERROR_INVAL; +} + +int +INTEGER_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const INTEGER_t *a = aptr; + const INTEGER_t *b = bptr; + + (void)td; + + if(a && b) { + if(a->size && b->size) { + int sign_a = (a->buf[0] & 0x80) ? -1 : 1; + int sign_b = (b->buf[0] & 0x80) ? -1 : 1; + + if(sign_a < sign_b) return -1; + if(sign_a > sign_b) return 1; + + /* The shortest integer wins, unless comparing negatives */ + if(a->size < b->size) { + return -1 * sign_a; + } else if(a->size > b->size) { + return 1 * sign_b; + } + + return sign_a * memcmp(a->buf, b->buf, a->size); + } else if(a->size) { + int sign = (a->buf[0] & 0x80) ? -1 : 1; + return (1) * sign; + } else if(b->size) { + int sign = (a->buf[0] & 0x80) ? -1 : 1; + return (-1) * sign; + } else { + return 0; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } + +} + +asn_random_fill_result_t +INTEGER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + INTEGER_t *st = *sptr; + const asn_INTEGER_enum_map_t *emap; + size_t emap_len; + intmax_t value; + int find_inside_map; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (INTEGER_t *)CALLOC(1, sizeof(*st)); + if(st == NULL) { + return result_failed; + } + } + + if(specs) { + emap = specs->value2enum; + emap_len = specs->map_count; + if(specs->strict_enumeration) { + find_inside_map = emap_len > 0; + } else { + find_inside_map = emap_len ? asn_random_between(0, 1) : 0; + } + } else { + emap = 0; + emap_len = 0; + find_inside_map = 0; + } + + if(find_inside_map) { + assert(emap_len > 0); + value = emap[asn_random_between(0, emap_len - 1)].nat_value; + } else { + const asn_per_constraints_t *ct; + + static const long variants[] = { + -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, + -16383, -257, -256, -255, -254, -129, -128, -127, + -126, -1, 0, 1, 126, 127, 128, 129, + 254, 255, 256, 257, 16383, 16384, 16385, 32767, + 32768, 32769, 65534, 65535, 65536, 65537}; + if(specs && specs->field_unsigned) { + assert(variants[18] == 0); + value = variants[asn_random_between( + 18, sizeof(variants) / sizeof(variants[0]) - 1)]; + } else { + value = variants[asn_random_between( + 0, sizeof(variants) / sizeof(variants[0]) - 1)]; + } + + if(!constraints) constraints = &td->encoding_constraints; + ct = constraints ? constraints->per_constraints : 0; + if(ct && (ct->value.flags & APC_CONSTRAINED)) { + if(value < ct->value.lower_bound || value > ct->value.upper_bound) { + value = asn_random_between(ct->value.lower_bound, + ct->value.upper_bound); + } + } + } + + if(asn_imax2INTEGER(st, value)) { + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + return result_failed; + } else { + *sptr = st; + result_ok.length = st->size; + return result_ok; + } +} diff --git a/asn1c_defs/all-defs/INTEGER.h b/asn1c_defs/all-defs/INTEGER.h new file mode 100755 index 0000000..d04e015 --- /dev/null +++ b/asn1c_defs/all-defs/INTEGER.h @@ -0,0 +1,108 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _INTEGER_H_ +#define _INTEGER_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef ASN__PRIMITIVE_TYPE_t INTEGER_t; + +extern asn_TYPE_descriptor_t asn_DEF_INTEGER; +extern asn_TYPE_operation_t asn_OP_INTEGER; + +/* Map with to integer value association */ +typedef struct asn_INTEGER_enum_map_s { + long nat_value; /* associated native integer value */ + size_t enum_len; /* strlen("tag") */ + const char *enum_name; /* "tag" */ +} asn_INTEGER_enum_map_t; + +/* This type describes an enumeration for INTEGER and ENUMERATED types */ +typedef struct asn_INTEGER_specifics_s { + const asn_INTEGER_enum_map_t *value2enum; /* N -> "tag"; sorted by N */ + const unsigned int *enum2value; /* "tag" => N; sorted by tag */ + int map_count; /* Elements in either map */ + int extension; /* This map is extensible */ + int strict_enumeration; /* Enumeration set is fixed */ + int field_width; /* Size of native integer */ + int field_unsigned; /* Signed=0, unsigned=1 */ +} asn_INTEGER_specifics_t; + +#define INTEGER_free ASN__PRIMITIVE_TYPE_free +#define INTEGER_decode_ber ber_decode_primitive +#define INTEGER_constraint asn_generic_no_constraint +asn_struct_print_f INTEGER_print; +asn_struct_compare_f INTEGER_compare; +der_type_encoder_f INTEGER_encode_der; +xer_type_decoder_f INTEGER_decode_xer; +xer_type_encoder_f INTEGER_encode_xer; +oer_type_decoder_f INTEGER_decode_oer; +oer_type_encoder_f INTEGER_encode_oer; +per_type_decoder_f INTEGER_decode_uper; +per_type_encoder_f INTEGER_encode_uper; +per_type_decoder_f INTEGER_decode_aper; +per_type_encoder_f INTEGER_encode_aper; +asn_random_fill_f INTEGER_random_fill; + +/*********************************** + * Some handy conversion routines. * + ***********************************/ + +/* + * Natiwe size-independent conversion of native integers to/from INTEGER. + * (l_size) is in bytes. + * Returns 0 if it was possible to convert, -1 otherwise. + * -1/EINVAL: Mandatory argument missing + * -1/ERANGE: Value encoded is out of range for long representation + * -1/ENOMEM: Memory allocation failed (in asn_*2INTEGER()). + */ +int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l); +int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l); +int asn_imax2INTEGER(INTEGER_t *i, intmax_t l); +int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l); + +/* + * Size-specific conversion helpers. + */ +int asn_INTEGER2long(const INTEGER_t *i, long *l); +int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l); +int asn_long2INTEGER(INTEGER_t *i, long l); +int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l); +int asn_int642INTEGER(INTEGER_t *i, int64_t l); +int asn_uint642INTEGER(INTEGER_t *i, uint64_t l); + +/* A version of strtol/strtoimax(3) with nicer error reporting. */ +enum asn_strtox_result_e { + ASN_STRTOX_ERROR_RANGE = -3, /* Input outside of supported numeric range */ + ASN_STRTOX_ERROR_INVAL = -2, /* Invalid data encountered (e.g., "+-") */ + ASN_STRTOX_EXPECT_MORE = -1, /* More data expected (e.g. "+") */ + ASN_STRTOX_OK = 0, /* Conversion succeded, number ends at (*end) */ + ASN_STRTOX_EXTRA_DATA = 1 /* Conversion succeded, but the string has extra stuff */ +}; +enum asn_strtox_result_e asn_strtol_lim(const char *str, const char **end, + long *l); +enum asn_strtox_result_e asn_strtoul_lim(const char *str, const char **end, + unsigned long *l); +enum asn_strtox_result_e asn_strtoimax_lim(const char *str, const char **end, + intmax_t *l); +enum asn_strtox_result_e asn_strtoumax_lim(const char *str, const char **end, + uintmax_t *l); + +/* + * Convert the integer value into the corresponding enumeration map entry. + */ +const asn_INTEGER_enum_map_t *INTEGER_map_value2enum( + const asn_INTEGER_specifics_t *specs, long value); + +#ifdef __cplusplus +} +#endif + +#endif /* _INTEGER_H_ */ diff --git a/asn1c_defs/all-defs/INTEGER.o b/asn1c_defs/all-defs/INTEGER.o new file mode 100644 index 0000000000000000000000000000000000000000..61ddcd9601f124254246b2c9b8134a7fa14ec334 GIT binary patch literal 64952 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InitiatingMessage.c b/asn1c_defs/all-defs/InitiatingMessage.c new file mode 100755 index 0000000..bd42e5c --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingMessage.c @@ -0,0 +1,508 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InitiatingMessage.h" + +static const long asn_VAL_1_id_ricSubscription = 201; +static const long asn_VAL_1_reject = 0; +static const long asn_VAL_2_id_ricSubscriptionDelete = 202; +static const long asn_VAL_2_reject = 0; +static const long asn_VAL_3_id_ricServiceUpdate = 203; +static const long asn_VAL_3_reject = 0; +static const long asn_VAL_4_id_ricControl = 204; +static const long asn_VAL_4_reject = 0; +static const long asn_VAL_5_id_x2Setup = 6; +static const long asn_VAL_5_reject = 0; +static const long asn_VAL_6_id_endcX2Setup = 36; +static const long asn_VAL_6_reject = 0; +static const long asn_VAL_7_id_resourceStatusReportingInitiation = 9; +static const long asn_VAL_7_reject = 0; +static const long asn_VAL_8_id_eNBConfigurationUpdate = 8; +static const long asn_VAL_8_reject = 0; +static const long asn_VAL_9_id_endcConfigurationUpdate = 37; +static const long asn_VAL_9_reject = 0; +static const long asn_VAL_10_id_reset = 7; +static const long asn_VAL_10_reject = 0; +static const long asn_VAL_11_id_ricIndication = 205; +static const long asn_VAL_11_ignore = 1; +static const long asn_VAL_12_id_ricServiceQuery = 206; +static const long asn_VAL_12_ignore = 1; +static const long asn_VAL_13_id_loadIndication = 2; +static const long asn_VAL_13_ignore = 1; +static const long asn_VAL_14_id_gNBStatusIndication = 45; +static const long asn_VAL_14_ignore = 1; +static const long asn_VAL_15_id_resourceStatusReporting = 10; +static const long asn_VAL_15_ignore = 1; +static const long asn_VAL_16_id_errorIndication = 3; +static const long asn_VAL_16_ignore = 1; +static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = { + { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_ricSubscription }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_ricSubscriptionDelete }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_ricServiceUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_ricControl }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_X2SetupRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_X2SetupResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_X2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_x2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCX2SetupRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_endcX2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_resourceStatusReportingInitiation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENBConfigurationUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_eNBConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCConfigurationUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_endcConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_reset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_ricIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_ricServiceQuery }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_LoadInformation }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_13_id_loadIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_GNBStatusIndication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_14_id_gNBStatusIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusUpdate }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_15_id_resourceStatusReporting }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_15_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_16_id_errorIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_16_ignore } +}; +static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = { + { 16, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows } +}; +static int +memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_InitiatingMessage_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct InitiatingMessage, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_InitiatingMessage_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 0; /* &InitiatingMessage */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct InitiatingMessage, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICsubscriptionRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICsubscriptionDeleteRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionDeleteRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionDeleteRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICserviceUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICserviceUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICserviceUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICcontrolRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICcontrolRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.X2SetupRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENDCX2SetupRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResourceStatusRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENBConfigurationUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENDCConfigurationUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResetRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResetRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResetRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICindication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICindication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICindication" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICserviceQuery), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICserviceQuery, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICserviceQuery" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.LoadInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LoadInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LoadInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.GNBStatusIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GNBStatusIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GNBStatusIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResourceStatusUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ErrorIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ErrorIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ErrorIndication" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 15 }, /* RICsubscriptionRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 14 }, /* RICsubscriptionDeleteRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 13 }, /* RICserviceUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 12 }, /* RICcontrolRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 11 }, /* X2SetupRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 10 }, /* ENDCX2SetupRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 9 }, /* ResourceStatusRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 8 }, /* ENBConfigurationUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 7 }, /* ENDCConfigurationUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 6 }, /* ResetRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 5 }, /* RICindication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 4 }, /* RICserviceQuery */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 3 }, /* LoadInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 2 }, /* GNBStatusIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 1 }, /* ResourceStatusUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 0 } /* ErrorIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct InitiatingMessage__value), + offsetof(struct InitiatingMessage__value, _asn_ctx), + offsetof(struct InitiatingMessage__value, present), + sizeof(((struct InitiatingMessage__value *)0)->present), + asn_MAP_value_tag2el_4, + 16, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 16, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_InitiatingMessage_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_InitiatingMessage_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_InitiatingMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_InitiatingMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1 = { + sizeof(struct InitiatingMessage), + offsetof(struct InitiatingMessage, _asn_ctx), + asn_MAP_InitiatingMessage_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingMessage = { + "InitiatingMessage", + "InitiatingMessage", + &asn_OP_SEQUENCE, + asn_DEF_InitiatingMessage_tags_1, + sizeof(asn_DEF_InitiatingMessage_tags_1) + /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ + asn_DEF_InitiatingMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_InitiatingMessage_tags_1) + /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_InitiatingMessage_1, + 3, /* Elements count */ + &asn_SPC_InitiatingMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InitiatingMessage.h b/asn1c_defs/all-defs/InitiatingMessage.h new file mode 100755 index 0000000..0f2e812 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingMessage.h @@ -0,0 +1,126 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InitiatingMessage_H_ +#define _InitiatingMessage_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "RICsubscriptionRequest.h" +#include "RICsubscriptionResponse.h" +#include "RICsubscriptionFailure.h" +#include "RICsubscriptionDeleteRequest.h" +#include "RICsubscriptionDeleteResponse.h" +#include "RICsubscriptionDeleteFailure.h" +#include "RICserviceUpdate.h" +#include "RICserviceUpdateAcknowledge.h" +#include "RICserviceUpdateFailure.h" +#include "RICcontrolRequest.h" +#include "RICcontrolAcknowledge.h" +#include "RICcontrolFailure.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "RICindication.h" +#include "RICserviceQuery.h" +#include "LoadInformation.h" +#include "GNBStatusIndication.h" +#include "ResourceStatusUpdate.h" +#include "ErrorIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InitiatingMessage__value_PR { + InitiatingMessage__value_PR_NOTHING, /* No components present */ + InitiatingMessage__value_PR_RICsubscriptionRequest, + InitiatingMessage__value_PR_RICsubscriptionDeleteRequest, + InitiatingMessage__value_PR_RICserviceUpdate, + InitiatingMessage__value_PR_RICcontrolRequest, + InitiatingMessage__value_PR_X2SetupRequest, + InitiatingMessage__value_PR_ENDCX2SetupRequest, + InitiatingMessage__value_PR_ResourceStatusRequest, + InitiatingMessage__value_PR_ENBConfigurationUpdate, + InitiatingMessage__value_PR_ENDCConfigurationUpdate, + InitiatingMessage__value_PR_ResetRequest, + InitiatingMessage__value_PR_RICindication, + InitiatingMessage__value_PR_RICserviceQuery, + InitiatingMessage__value_PR_LoadInformation, + InitiatingMessage__value_PR_GNBStatusIndication, + InitiatingMessage__value_PR_ResourceStatusUpdate, + InitiatingMessage__value_PR_ErrorIndication +} InitiatingMessage__value_PR; + +/* InitiatingMessage */ +typedef struct InitiatingMessage { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct InitiatingMessage__value { + InitiatingMessage__value_PR present; + union InitiatingMessage__value_u { + RICsubscriptionRequest_t RICsubscriptionRequest; + RICsubscriptionDeleteRequest_t RICsubscriptionDeleteRequest; + RICserviceUpdate_t RICserviceUpdate; + RICcontrolRequest_t RICcontrolRequest; + X2SetupRequest_t X2SetupRequest; + ENDCX2SetupRequest_t ENDCX2SetupRequest; + ResourceStatusRequest_t ResourceStatusRequest; + ENBConfigurationUpdate_t ENBConfigurationUpdate; + ENDCConfigurationUpdate_t ENDCConfigurationUpdate; + ResetRequest_t ResetRequest; + RICindication_t RICindication; + RICserviceQuery_t RICserviceQuery; + LoadInformation_t LoadInformation; + GNBStatusIndication_t GNBStatusIndication; + ResourceStatusUpdate_t ResourceStatusUpdate; + ErrorIndication_t ErrorIndication; + } 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; +} InitiatingMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingMessage; +extern asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1; +extern asn_TYPE_member_t asn_MBR_InitiatingMessage_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/InitiatingMessage.o b/asn1c_defs/all-defs/InitiatingMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..e2c22aebc9b47d6f80cca4665fa3f8a9f92fafe3 GIT binary patch literal 21120 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, + asn_MAP_InitiatingNodeType_EndcConfigUpdate_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcConfigUpdate = { + "InitiatingNodeType-EndcConfigUpdate", + "InitiatingNodeType-EndcConfigUpdate", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_InitiatingNodeType_EndcConfigUpdate_constr_1, CHOICE_constraint }, + asn_MBR_InitiatingNodeType_EndcConfigUpdate_1, + 2, /* Elements count */ + &asn_SPC_InitiatingNodeType_EndcConfigUpdate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.h b/asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.h new file mode 100755 index 0000000..28b9823 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InitiatingNodeType_EndcConfigUpdate_H_ +#define _InitiatingNodeType_EndcConfigUpdate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InitiatingNodeType_EndcConfigUpdate_PR { + InitiatingNodeType_EndcConfigUpdate_PR_NOTHING, /* No components present */ + InitiatingNodeType_EndcConfigUpdate_PR_init_eNB, + InitiatingNodeType_EndcConfigUpdate_PR_init_en_gNB + /* Extensions may appear below */ + +} InitiatingNodeType_EndcConfigUpdate_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* InitiatingNodeType-EndcConfigUpdate */ +typedef struct InitiatingNodeType_EndcConfigUpdate { + InitiatingNodeType_EndcConfigUpdate_PR present; + union InitiatingNodeType_EndcConfigUpdate_u { + struct ProtocolIE_Container *init_eNB; + struct ProtocolIE_Container *init_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InitiatingNodeType_EndcConfigUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcConfigUpdate; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingNodeType_EndcConfigUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.o b/asn1c_defs/all-defs/InitiatingNodeType-EndcConfigUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..593cd02ef69999c000d1c8a5072c7462354019ef GIT binary patch literal 3040 zcmb_e&2G~`5T4X6l>e3=35iRPDp4e2#i0@bBxIVVKL}c@(6j5hCXGn#D&8P^p?w12 z$PsQFc?2Y0fJfjF;MN<=tasyKlTb@Al6SuOW@ab5J6`9Y`FL@xR01s}cmTPjS%B{+ zbL>j!!W3M96No9^%;EMgB{J=pVI^*hb|BhuYc<)9p6%~Nm1evhHj?;xyS1^m9f;_d z8UBxZtl%_yos$?(IkeP*secXQ^U@ywuX)X)vq(%Sa-2Cwt>5HLTla&Ws*UGaiB{(! z197E=7?v81d*#`UtzIm8Kotqi2=NYAGpT^UvbFO1;ZBX}rqA=n`V zY3zH=bzk6x;SZ+x<{jdPNt}wV@5sz2^Xr9@vgoH?qfm6Z7lo;=@X#xiBZ5{f>ZqiJ z=38)ydEFbtPs@mGa1|z=zje!uzo;-N{T@*~-7$ywkZj5^tINCmJ>xGaOzIos z&oTZ7<1aIQmI|VfqIms=@pb+27TM|kt_Zfk#`enejz%JSCBVi{SOE4`nu6U;$e>8a zuA>=s0_i4Xn06-#10rRL)>*0pc9`t$MtIbAoQTL?THUCmA_!m5FaI~WhUt3G`AjZ1 z7*^ZWXRae6j-N3(T^dmIxn>qXSp%i%KBe9=^WPb9+BECmLI-g*9iX(%pD}pe$K-PH z8TR|XAWu>?3YI0C5BCw$*Tc;ziK^7ZD3dCmdW*g$y8cyiqO9RFtiJxl@b3l1muX<~ z2=TD`b@ge{b*Mg3W_=$ysy~Jg7grHwP9iq#7IKtt?*FFBzk)t46icG@ONFbF&4-@K zr}O2a^Rzxdr^Y<)qq!jEG-Jsg7Wzq%M=Iew#!ca4?jPM3X73^eALvj}-WUZ9Q{I`w O@;!Ba^#6g2ng1IRq7iTa literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.c b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.c new file mode 100755 index 0000000..53a55c7 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InitiatingNodeType-EndcX2Removal.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_InitiatingNodeType_EndcX2Removal_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_InitiatingNodeType_EndcX2Removal_1[] = { + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EndcX2Removal, choice.init_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P112, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "init-eNB" + }, + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EndcX2Removal, choice.init_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P113, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "init-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_InitiatingNodeType_EndcX2Removal_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* init-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* init-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_InitiatingNodeType_EndcX2Removal_specs_1 = { + sizeof(struct InitiatingNodeType_EndcX2Removal), + offsetof(struct InitiatingNodeType_EndcX2Removal, _asn_ctx), + offsetof(struct InitiatingNodeType_EndcX2Removal, present), + sizeof(((struct InitiatingNodeType_EndcX2Removal *)0)->present), + asn_MAP_InitiatingNodeType_EndcX2Removal_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcX2Removal = { + "InitiatingNodeType-EndcX2Removal", + "InitiatingNodeType-EndcX2Removal", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_InitiatingNodeType_EndcX2Removal_constr_1, CHOICE_constraint }, + asn_MBR_InitiatingNodeType_EndcX2Removal_1, + 2, /* Elements count */ + &asn_SPC_InitiatingNodeType_EndcX2Removal_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.h b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.h new file mode 100755 index 0000000..839cd63 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InitiatingNodeType_EndcX2Removal_H_ +#define _InitiatingNodeType_EndcX2Removal_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InitiatingNodeType_EndcX2Removal_PR { + InitiatingNodeType_EndcX2Removal_PR_NOTHING, /* No components present */ + InitiatingNodeType_EndcX2Removal_PR_init_eNB, + InitiatingNodeType_EndcX2Removal_PR_init_en_gNB + /* Extensions may appear below */ + +} InitiatingNodeType_EndcX2Removal_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* InitiatingNodeType-EndcX2Removal */ +typedef struct InitiatingNodeType_EndcX2Removal { + InitiatingNodeType_EndcX2Removal_PR present; + union InitiatingNodeType_EndcX2Removal_u { + struct ProtocolIE_Container *init_eNB; + struct ProtocolIE_Container *init_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InitiatingNodeType_EndcX2Removal_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcX2Removal; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingNodeType_EndcX2Removal_H_ */ +#include diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.o b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Removal.o new file mode 100644 index 0000000000000000000000000000000000000000..d526c9ab6fda55145f4923b571cafab020ac094e GIT binary patch literal 3024 zcmb_dOK;Oa5T4X6ly_S|LgL~|NCb&kai~ND5;6_x13_yQDplg(x~`Q*Bz6@$6}_}Q zafKsCxN+phm7mbR!3}QQU}n7=Pd5pv1S5Ipn{Vga@jkphtUp^AD-=Lk0UkjfDHh=P zY>piP9hibEa0W5u>lz;amL_B)n&qgOHvP02HCE#7@a6t)SgJ?c!A4~*Y{z?kYlQs2 zb&s8LBsI@T%qI;^^_0@TrtxuUjsMrUdeI^hQ<5BKox|p@^Lnh#gBq%d`&kNC<{<-7 zseu?4YqbYvaeb>BrCsyBHD{Gec2`99fnBxAbC!K4{2aLEM&GH-Mlr-r z^^a(P(N7{{V1+?uz(gN?3z-5N-<27!1U~^sGX5g{TfyfaS5@-l49Iy!e??G$b1DS0 zhbTYi8IAmT9`>*S7kiik11|7T;P2Q@v-$4Gj2YYjb$+LTzHn=!Q?5e`QOIpOKiH`fezn?vx{Z$Tmfr)#a!91LLnsOzxQR zml*$p@z)q%q=IPVC|`Y1d|oHM8Y|gvr~VdLc&IYJqfi>YNx|CoQy;9YBmt`vQ$U%v zRmCuD`J$VU7Fw-1z`vc8D4$7fu!6YV4so-sC{9Cbab>-fq<-+4-u&O}Cd$>C^N}1L zFf5m=$IK!kj_)ybI@F-4ea#{OQvvC3qo=c_>)&g6D%9)W#SY>sDnWXspVfGNj;YJR zhxB^=Z^)6AwSuN#^X4H!`dc_TC6Gyn7;RGO>1@&8L)E`QooK80463hwDg6IH`6e~Y zo+2JpzbJntst(mBO0VxBNA<_>;pRxfA3{yO$?qg*oO_arV0HgCF8 zPy5SF>6AajPK9~iCw)S)Q_rP%Q0iw%{*r>rm^X!wzJ7FH=w}Bh_(+?AcAyp1LUCsf P(mQhh-etq|T3!DK5)%iE literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.c b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.c new file mode 100755 index 0000000..5c0f589 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InitiatingNodeType-EndcX2Setup.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_InitiatingNodeType_EndcX2Setup_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_InitiatingNodeType_EndcX2Setup_1[] = { + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EndcX2Setup, choice.init_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P85, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "init-eNB" + }, + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EndcX2Setup, choice.init_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P86, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "init-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_InitiatingNodeType_EndcX2Setup_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* init-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* init-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_InitiatingNodeType_EndcX2Setup_specs_1 = { + sizeof(struct InitiatingNodeType_EndcX2Setup), + offsetof(struct InitiatingNodeType_EndcX2Setup, _asn_ctx), + offsetof(struct InitiatingNodeType_EndcX2Setup, present), + sizeof(((struct InitiatingNodeType_EndcX2Setup *)0)->present), + asn_MAP_InitiatingNodeType_EndcX2Setup_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcX2Setup = { + "InitiatingNodeType-EndcX2Setup", + "InitiatingNodeType-EndcX2Setup", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_InitiatingNodeType_EndcX2Setup_constr_1, CHOICE_constraint }, + asn_MBR_InitiatingNodeType_EndcX2Setup_1, + 2, /* Elements count */ + &asn_SPC_InitiatingNodeType_EndcX2Setup_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.h b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.h new file mode 100755 index 0000000..0d544a0 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InitiatingNodeType_EndcX2Setup_H_ +#define _InitiatingNodeType_EndcX2Setup_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InitiatingNodeType_EndcX2Setup_PR { + InitiatingNodeType_EndcX2Setup_PR_NOTHING, /* No components present */ + InitiatingNodeType_EndcX2Setup_PR_init_eNB, + InitiatingNodeType_EndcX2Setup_PR_init_en_gNB + /* Extensions may appear below */ + +} InitiatingNodeType_EndcX2Setup_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* InitiatingNodeType-EndcX2Setup */ +typedef struct InitiatingNodeType_EndcX2Setup { + InitiatingNodeType_EndcX2Setup_PR present; + union InitiatingNodeType_EndcX2Setup_u { + struct ProtocolIE_Container *init_eNB; + struct ProtocolIE_Container *init_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InitiatingNodeType_EndcX2Setup_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EndcX2Setup; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingNodeType_EndcX2Setup_H_ */ +#include diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.o b/asn1c_defs/all-defs/InitiatingNodeType-EndcX2Setup.o new file mode 100644 index 0000000000000000000000000000000000000000..abd85270d0c73c1cb80815c476c8d7745e7465b2 GIT binary patch literal 3008 zcmb_d&2G~`5T4X+DgP-HsS*ba2PhJ;;;KLd5;6_x4?k_xQo+r2T`P@9?I_+LdZB#- zIC6v=H+Y0T0&l=8z>OQstap=PlQflJB=5|8^UaQTXT9F9JY5*cdg9zfUAD8S)~ zuI)+FgFKvvakPnV=5YVF5}7t+SdQzW9*BBeTS>N~=X=elP>Hw0m$U1UXg7x>|Htsi zG3V0joIpP1&{B_?dL)g{OMCpk<~57XAdpw!C<_i+zloc^J`Z}TI`*>=t;|Da#DyB# zuvjkNvu8H8+OcTccbz$>Sa93YbKklpr#R=hH#1z%Gf2}ujl$2qdv5id%4`-(cB*$q z3#?uc5eqBy6AQ+A;A@EF*!)$+cp>pII8gpqrOD4h_v0!loRr0I4Szu+2Pd@)cE=)q z7iTcyr?}g(EjZJ$xnaR+?n?VRj+1P?JBl%m4bbO@Cru5&uMfbV48Y;&3&9B?NMpZR zS@Q+n6@D+|E^YB51Q7BWuLR9lHi!lbcW@ykgpFc!7^l3OZPOSg|hy3=VPwu5yW zfbKUE6W6^bd{Q#9!BaNj{Ht1G_yuK?(%%X3=?*!-hh$TZSzUgLKQR2FvPpeo_*sVk zVE7cnXQ&_wDdOudh_CCfuf$3Bc15rS4j!aT?`TUzZv;5ofe66aN>gxJ2|2`cof5iH zBamUT4A*HSVL+fv(K<_Y!3mSy-3S})#EFQU#g&ahDuVD8z4^b%WlYz5&S&zt!)&!( z9poxngz+9z(4zrG_cikXY;7og12vs3GylE8)2>CQP7rXcesxx{T;k6B&|FhVw4G$PiKq%7P|g41yNS<=~rL>LiqoH_%;np9;4l_ z{YiFSv!%BTKv z(Ro_$V^G_i_sLw43YuK<`%ynD@Rv$BhrB#K=Kj%rVV+%t;3G8!rD+s2TzO~q%P*?_ Lz00QQjAs5HyK@0N literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.c b/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.c new file mode 100755 index 0000000..cddb7a0 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InitiatingNodeType-EutranrCellResourceCoordination.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_InitiatingNodeType_EutranrCellResourceCoordination_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_InitiatingNodeType_EutranrCellResourceCoordination_1[] = { + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EutranrCellResourceCoordination, choice.initiate_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P106, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "initiate-eNB" + }, + { ATF_POINTER, 0, offsetof(struct InitiatingNodeType_EutranrCellResourceCoordination, choice.initiate_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P107, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "initiate-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_InitiatingNodeType_EutranrCellResourceCoordination_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiate-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* initiate-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_InitiatingNodeType_EutranrCellResourceCoordination_specs_1 = { + sizeof(struct InitiatingNodeType_EutranrCellResourceCoordination), + offsetof(struct InitiatingNodeType_EutranrCellResourceCoordination, _asn_ctx), + offsetof(struct InitiatingNodeType_EutranrCellResourceCoordination, present), + sizeof(((struct InitiatingNodeType_EutranrCellResourceCoordination *)0)->present), + asn_MAP_InitiatingNodeType_EutranrCellResourceCoordination_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EutranrCellResourceCoordination = { + "InitiatingNodeType-EutranrCellResourceCoordination", + "InitiatingNodeType-EutranrCellResourceCoordination", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_InitiatingNodeType_EutranrCellResourceCoordination_constr_1, CHOICE_constraint }, + asn_MBR_InitiatingNodeType_EutranrCellResourceCoordination_1, + 2, /* Elements count */ + &asn_SPC_InitiatingNodeType_EutranrCellResourceCoordination_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.h b/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.h new file mode 100755 index 0000000..fba4339 --- /dev/null +++ b/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InitiatingNodeType_EutranrCellResourceCoordination_H_ +#define _InitiatingNodeType_EutranrCellResourceCoordination_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InitiatingNodeType_EutranrCellResourceCoordination_PR { + InitiatingNodeType_EutranrCellResourceCoordination_PR_NOTHING, /* No components present */ + InitiatingNodeType_EutranrCellResourceCoordination_PR_initiate_eNB, + InitiatingNodeType_EutranrCellResourceCoordination_PR_initiate_en_gNB + /* Extensions may appear below */ + +} InitiatingNodeType_EutranrCellResourceCoordination_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* InitiatingNodeType-EutranrCellResourceCoordination */ +typedef struct InitiatingNodeType_EutranrCellResourceCoordination { + InitiatingNodeType_EutranrCellResourceCoordination_PR present; + union InitiatingNodeType_EutranrCellResourceCoordination_u { + struct ProtocolIE_Container *initiate_eNB; + struct ProtocolIE_Container *initiate_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InitiatingNodeType_EutranrCellResourceCoordination_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingNodeType_EutranrCellResourceCoordination; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingNodeType_EutranrCellResourceCoordination_H_ */ +#include diff --git a/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.o b/asn1c_defs/all-defs/InitiatingNodeType-EutranrCellResourceCoordination.o new file mode 100644 index 0000000000000000000000000000000000000000..16a6e6c603a35e0581049bf1eb36afecb5248469 GIT binary patch literal 3176 zcmcIlJ8#rL5T1(@2=4?akPwoo2oh(VLzJ9ALPyNyfgm{rs2#_#E+;N_WbYx;B>4eI zP}0C}proLnpnxtVB{davbTG5tx!dgBkq}@c@63EV-;8&6?A@;3n;9q+fTaMppyM$L zur}PWE7GjM2%Lcw~}UgMa9Q!=L{+oDhO6_G{H8U*Lbn@6O=w^Xu`$B+f+YyE4)J>7~Qu$jJ|C-eJhu zMigdT|90&#DMU~okD4mSo$AaXa>(T`)_iYnao(#!uGHoPjabNeN?l76k%UQezUq5P zEO0JL{jysw)!fqLfug4L=0O|VLF+aEzNSo^dynu@Ek{M!gzI1RoQ9uOHYxs2DW3ji zJNS?+%Q1f+{VRH@;pdc1YFEQgY4|q{Kd<3qR1k#}#WP1=*PgG`$u`$TumTP?Xs*}T z646ru&T1e6a8|MmoHQYaB3-A9Zqy9qG+Bo0G?OqOP*PauR2Q5uSznLvz@0b|ku$sS zsF;Z$d`xftcXAQwyytqRitcE(+O9To87;!}Gp5N34JdrBxd&jgq4X8h)LSP1g%QWD zS^pYN5H`*MN;Chuf$M!tQx$xAz5f@)NlHdRTcVxeCYp3RRXUKg-cl2z3@bkM72Q@` z{{l^-EaKCvzC9qP_uNN>*g4!D@1oVK{(E(GaUH5pkXheHjOwd$Xyvl30Gk1&O}~yf z@y-3;QT$7a$BJS}SU*vANur(MmEzO+>cTwM`Ms`3name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_IntegrityProtectionAlgorithms_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_IntegrityProtectionAlgorithms_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IntegrityProtectionAlgorithms = { + "IntegrityProtectionAlgorithms", + "IntegrityProtectionAlgorithms", + &asn_OP_BIT_STRING, + asn_DEF_IntegrityProtectionAlgorithms_tags_1, + sizeof(asn_DEF_IntegrityProtectionAlgorithms_tags_1) + /sizeof(asn_DEF_IntegrityProtectionAlgorithms_tags_1[0]), /* 1 */ + asn_DEF_IntegrityProtectionAlgorithms_tags_1, /* Same as above */ + sizeof(asn_DEF_IntegrityProtectionAlgorithms_tags_1) + /sizeof(asn_DEF_IntegrityProtectionAlgorithms_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_IntegrityProtectionAlgorithms_constr_1, IntegrityProtectionAlgorithms_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/IntegrityProtectionAlgorithms.h b/asn1c_defs/all-defs/IntegrityProtectionAlgorithms.h new file mode 100755 index 0000000..16fb55d --- /dev/null +++ b/asn1c_defs/all-defs/IntegrityProtectionAlgorithms.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _IntegrityProtectionAlgorithms_H_ +#define _IntegrityProtectionAlgorithms_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IntegrityProtectionAlgorithms */ +typedef BIT_STRING_t IntegrityProtectionAlgorithms_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_IntegrityProtectionAlgorithms_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_IntegrityProtectionAlgorithms; +asn_struct_free_f IntegrityProtectionAlgorithms_free; +asn_struct_print_f IntegrityProtectionAlgorithms_print; +asn_constr_check_f IntegrityProtectionAlgorithms_constraint; +ber_type_decoder_f IntegrityProtectionAlgorithms_decode_ber; +der_type_encoder_f IntegrityProtectionAlgorithms_encode_der; +xer_type_decoder_f IntegrityProtectionAlgorithms_decode_xer; +xer_type_encoder_f IntegrityProtectionAlgorithms_encode_xer; +per_type_decoder_f IntegrityProtectionAlgorithms_decode_uper; +per_type_encoder_f IntegrityProtectionAlgorithms_encode_uper; +per_type_decoder_f IntegrityProtectionAlgorithms_decode_aper; +per_type_encoder_f IntegrityProtectionAlgorithms_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _IntegrityProtectionAlgorithms_H_ */ +#include diff --git a/asn1c_defs/all-defs/IntegrityProtectionAlgorithms.o b/asn1c_defs/all-defs/IntegrityProtectionAlgorithms.o new file mode 100644 index 0000000000000000000000000000000000000000..b078bdf37d02f82bfbce2d31d8ba00212bae1455 GIT binary patch literal 3000 zcmbVNO>7%g5FTftF->vYmP4c>b&)6}QnU3|ky-@_IXFLS$)r}2RuKrc8+-jz{8M?? zRl&rGE#`2q)@6F7c zH}l@x+Y6<|kyHwpQt&1WHAVq8M~8A=hO{Xf1YLxm_6A_a=YW3dzo zS*bJEroplw|!8~T;7+3n1=>Rm({?ZB$QxnS13 z<+b|0+3AL6y?M*;n3D*et4@izO1Be)J+Ijb&6?M2`PF##$jEwjhjqP|x_;Or8971l zQlT(wPF~&Ucf!7T$(pfp({^8I_DA+*D>q}=QxOg?$uOx8S0J^SO`SP0n*IV8pF#X( zIrk;;`Al|u#LY~UGUm0+#9Ss@IG#x_jjiM8j4caXnkO>a&vWoFvA0IzNd_?RmqZ3e zN+JWEPl7RuetIG^1C+}mJzqhdf*0aA>Pm)!#|9`EFs7=pY=G!Stdp=Tw8MF>3jA1H zbD`p}E^*dXZoqL>74myHo>J;5dWYC&_&=%aw;`+nzD1sNhrSo~!}^z{{iA2t!;$A7 zZx-H0cYa~fJ<`q%y?WruG-&G@Qh+F zVbN(i-Ln!%OHTJq#kt3XpOQAjCZtUG@YDlLJ_FAy_-QEbP)eAkaHi7`GUY8Uyx2?-ht9X!vk1#-qXThp; z+ikytf$*94t)=Cw(?RG}K9Kf)!>#qawjU?;{{<6Wxfg1byj1vp@|;>b!p`8I-k?1G zRk|ymkn0kpvq9@{|GBTPNql&dBZmhO1HRW%jr+p-c@!w7?w_N@5=e(_v>}YoJ-e{~ zB?ctt{5eh@@g)DcG>G2EVG#CXz9#+k{P(0mW9TX*Q`4`Yo>c!VT`r_OF#=Hi>1)FI zbN$~(jFx)pjH5m&0rmTW@S!hT4Kec1(WFA>r9bsYCEhplE>5zn+O6ve$w}SzQ|Ygp zv%h|Rc>lcCZ4{E~cTd)j>qPaVcaQxUr+oCa5rS_d_(Uc=ju_n?-Jjkxz4r*gSF-S9 W+J-e1znRJYzsvkTr(g={{{H}TfM6T| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Interface-ID.c b/asn1c_defs/all-defs/Interface-ID.c new file mode 100755 index 0000000..0440dde --- /dev/null +++ b/asn1c_defs/all-defs/Interface-ID.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Interface-ID.h" + +#include "GlobalENB-ID.h" +#include "GlobalGNB-ID.h" +asn_per_constraints_t asn_PER_type_Interface_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_Interface_ID_1[] = { + { ATF_POINTER, 0, offsetof(struct Interface_ID, choice.global_eNB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "global-eNB-ID" + }, + { ATF_POINTER, 0, offsetof(struct Interface_ID, choice.global_gNB_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "global-gNB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Interface_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-eNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global-gNB-ID */ +}; +asn_CHOICE_specifics_t asn_SPC_Interface_ID_specs_1 = { + sizeof(struct Interface_ID), + offsetof(struct Interface_ID, _asn_ctx), + offsetof(struct Interface_ID, present), + sizeof(((struct Interface_ID *)0)->present), + asn_MAP_Interface_ID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Interface_ID = { + "Interface-ID", + "Interface-ID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_Interface_ID_constr_1, CHOICE_constraint }, + asn_MBR_Interface_ID_1, + 2, /* Elements count */ + &asn_SPC_Interface_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Interface-ID.h b/asn1c_defs/all-defs/Interface-ID.h new file mode 100755 index 0000000..3c1ad79 --- /dev/null +++ b/asn1c_defs/all-defs/Interface-ID.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Interface_ID_H_ +#define _Interface_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Interface_ID_PR { + Interface_ID_PR_NOTHING, /* No components present */ + Interface_ID_PR_global_eNB_ID, + Interface_ID_PR_global_gNB_ID + /* Extensions may appear below */ + +} Interface_ID_PR; + +/* Forward declarations */ +struct GlobalENB_ID; +struct GlobalGNB_ID; + +/* Interface-ID */ +typedef struct Interface_ID { + Interface_ID_PR present; + union Interface_ID_u { + struct GlobalENB_ID *global_eNB_ID; + struct GlobalGNB_ID *global_gNB_ID; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Interface_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Interface_ID; +extern asn_CHOICE_specifics_t asn_SPC_Interface_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_Interface_ID_1[2]; +extern asn_per_constraints_t asn_PER_type_Interface_ID_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Interface_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/Interface-ID.o b/asn1c_defs/all-defs/Interface-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..684b1133eafe1f51c5d6faa3259e00255aa0b2be GIT binary patch literal 2744 zcmb_d%}x_h6uzaP_y?jJ6E}4wB=)8yBoa-`NGYX8p<+nf4bwUnV`&>^NMNI^T)ANB z#&>Y-$~VwQaNz^!&Yhm`&Ntc`pS6#R1ED=|k9Jidut>5KcTkb-_qy?3;jUiL zrDA!{Smih6MO|9Z<++4UQ?dZ|V_f~p+}r%f?Mo`;&54Xw%d7k-NlczPWJz94WYH9V zeuT$f=G29hFQf?d2fRfSf5|peoL3i9EI<>OvF5YQjtXfxM~Q`gO1~Lv9~$h8NoU2s zGw~DZkmEkF{%H8YdKa1hOggL1*JF5Pf8e^Mf~f01dD!q%+OIGBanPO*JAT=Cm#Zs7 zUPG=o{L1Qjy;3z+qq^b82mNp;&TsX)QM^l4l1R3LSKT=2y0kGIpR{|{s0`ClKWs(T zTx#Y~s;({3Ow$P_WGx|iYmCCZwQmpJ35d(f9)iDOB9g&l41S6+)GA}}(~O}SjKNDy zP+J&Cz|RsI_M3Xnh{{w53(nFIKt+pnX8oj7PJO=pzo zZ9#FkA1nPLhy$gYQKa;44+bL3x=d!+35*-aF?FZc3P73^rCYt7osdpkcYATDYipau zC=Ob$&D_p1V0~B<-aA`7+psWiPs-dP1kQblJdS9v7F7_y`Zj6YB{%=bi4)W9e}^34 z<|Tl&!h># z%Tp)s6NiuVe?*R~{#$&Y(g*$V>bd=W;?Upy|MQqAkk6KaZ4hqL5BVjB-{O3nk1dFW zi0)h1ICyyPPKbHQlUUeUp+`)9=LCHB*aLU{_?F$XCrb7CFZ2ftOWgi=gR=7XdH)Zs ITtGMfFEuB?-2eap literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InterfaceDirection.c b/asn1c_defs/all-defs/InterfaceDirection.c new file mode 100755 index 0000000..8deea42 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceDirection.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InterfaceDirection.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_InterfaceDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_InterfaceDirection_value2enum_1[] = { + { 0, 8, "incoming" }, + { 1, 8, "outgoing" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_InterfaceDirection_enum2value_1[] = { + 0, /* incoming(0) */ + 1 /* outgoing(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_InterfaceDirection_specs_1 = { + asn_MAP_InterfaceDirection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_InterfaceDirection_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_InterfaceDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceDirection = { + "InterfaceDirection", + "InterfaceDirection", + &asn_OP_NativeEnumerated, + asn_DEF_InterfaceDirection_tags_1, + sizeof(asn_DEF_InterfaceDirection_tags_1) + /sizeof(asn_DEF_InterfaceDirection_tags_1[0]), /* 1 */ + asn_DEF_InterfaceDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfaceDirection_tags_1) + /sizeof(asn_DEF_InterfaceDirection_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_InterfaceDirection_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_InterfaceDirection_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceDirection.h b/asn1c_defs/all-defs/InterfaceDirection.h new file mode 100755 index 0000000..782e6e9 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceDirection.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceDirection_H_ +#define _InterfaceDirection_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InterfaceDirection { + InterfaceDirection_incoming = 0, + InterfaceDirection_outgoing = 1 + /* + * Enumeration is extensible + */ +} e_InterfaceDirection; + +/* InterfaceDirection */ +typedef long InterfaceDirection_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_InterfaceDirection_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_InterfaceDirection; +extern const asn_INTEGER_specifics_t asn_SPC_InterfaceDirection_specs_1; +asn_struct_free_f InterfaceDirection_free; +asn_struct_print_f InterfaceDirection_print; +asn_constr_check_f InterfaceDirection_constraint; +ber_type_decoder_f InterfaceDirection_decode_ber; +der_type_encoder_f InterfaceDirection_encode_der; +xer_type_decoder_f InterfaceDirection_decode_xer; +xer_type_encoder_f InterfaceDirection_encode_xer; +per_type_decoder_f InterfaceDirection_decode_uper; +per_type_encoder_f InterfaceDirection_encode_uper; +per_type_decoder_f InterfaceDirection_decode_aper; +per_type_encoder_f InterfaceDirection_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceDirection_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceDirection.o b/asn1c_defs/all-defs/InterfaceDirection.o new file mode 100644 index 0000000000000000000000000000000000000000..315ddf227592a9c74cfa3472979e96df1623590e GIT binary patch literal 2616 zcmbtV%}x|S5UyoV@fXmm;sE!IUtz$Zj9|8u$ZvlO!pJ5y3e9m&9}QM*6lQbb`qzZcG7~hr&}o*e<5}s z6z2MWnrhM_9+hJVdEP(N8L{${DK%Ui7U$+}RVP>0dWr5;Z~8NSZK~cgUj1c#*00U@ z_3JtAWIXIr{$coja2U-!uV4M}st5FSMe)oRm*K-j5D^cK74VCQRNzD(w>k_V~DaOoNp|I#l=uZtt_k?#-qE2;3g5o6krnO9!X zlzQ9@mm=NXRt*eN-AJo-gEt$?q2Aq6WqrhHlIbqzZmC3d+i{qrVU9=bM4J>(nsa5* z*_MjwLmi>}ZQnB4Q5TmpBYf1#afxlhC6*vL4;K$;5ruHcN&Y>WPzWD4Rz9t=P561X zZAJJ=907yU1L0(gFZYRX`rZpTNH%h1>Jom1eekp0j*iw)>u#<$#L{X2>i7y z1HYS+L(IBgM^|k|W|=HmbzqF~H`6%6b$qou3J=duQmy>OrIo2nNAU}3V z0N2TO>+d5*BIlob097$q-$qSuY{0&#PyF!iGjIkq-5J z+n*&~fTw7b^&fEjmJnH29e)}9vi|p|S(H^X15p1|Tk1>y&k>_iH5|6Q=lXO$wlHjB z2+wc`X7fImfhAm`xqC->zHt0U)@Knrhr{ik-Uj#V5rTINPB?uyu6c{f;=l3!y{2TA HxbZ&$4d~fW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InterfaceMessage.c b/asn1c_defs/all-defs/InterfaceMessage.c new file mode 100755 index 0000000..61be5a6 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceMessage.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InterfaceMessage.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_InterfaceMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceMessage = { + "InterfaceMessage", + "InterfaceMessage", + &asn_OP_OCTET_STRING, + asn_DEF_InterfaceMessage_tags_1, + sizeof(asn_DEF_InterfaceMessage_tags_1) + /sizeof(asn_DEF_InterfaceMessage_tags_1[0]), /* 1 */ + asn_DEF_InterfaceMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfaceMessage_tags_1) + /sizeof(asn_DEF_InterfaceMessage_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceMessage.h b/asn1c_defs/all-defs/InterfaceMessage.h new file mode 100755 index 0000000..4c1f0b1 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceMessage.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceMessage_H_ +#define _InterfaceMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* InterfaceMessage */ +typedef OCTET_STRING_t InterfaceMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InterfaceMessage; +asn_struct_free_f InterfaceMessage_free; +asn_struct_print_f InterfaceMessage_print; +asn_constr_check_f InterfaceMessage_constraint; +ber_type_decoder_f InterfaceMessage_decode_ber; +der_type_encoder_f InterfaceMessage_encode_der; +xer_type_decoder_f InterfaceMessage_decode_xer; +xer_type_encoder_f InterfaceMessage_encode_xer; +per_type_decoder_f InterfaceMessage_decode_uper; +per_type_encoder_f InterfaceMessage_encode_uper; +per_type_decoder_f InterfaceMessage_decode_aper; +per_type_encoder_f InterfaceMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceMessage.o b/asn1c_defs/all-defs/InterfaceMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..45384c5ae3c621998c316bf776027e8cd3999ca8 GIT binary patch literal 1872 zcmbVMO>fgc5S`TJyG2yufW#%7C=y-8C=v)HWGSSfh<>O|PaHNIvrQ_9jj|gFgarSB zGe>?32mTDV-eAVwb%w>3s*YsOdv9iTyyLaM_Fr$Wv|8Y;1%JE=xoJ{g2i9rC!*68 z@qpV7#TOli@^SY-0uzh zLwPhj+}Rrx+C*o1ewxZGmua3EJ6ETfEh0w;y?@fB`Jhw7_C)WSPu))_)cq_-Ut{%m z946h@lC;^NzhwHl!{kN|(>gaDE}Sr*W>$?s;I>LX^~mav7Q|a+6^OAhAm%v{%8W&f zRKHh6n2?WxNb}iD<9tMxTP+5A$6Lm#^c`<{aeNm`X%Cl!C6a)9O1a$bAt5dNauS}z za9DpIWAq*_TK^DhY0XD?aZ4Q8;38t*-+Rg<9QGffMm8;7b#GUw1kcdXH=dNVx}UjU z%nzqrM^ERL_Dbf@;VZ<{Kl~&8q$D){|ES}KC{lfgg3Nw7O!ML9_wD@~40_D-&NyK> u%q1Q^JEi;jsVlgF8eQT3>CYF=9wivLMZXbY7WSw2TUY + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "TypeOfMessage.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* InterfaceMessageType */ +typedef struct InterfaceMessageType { + ProcedureCode_t procedureCode; + TypeOfMessage_t typeOfMessage; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InterfaceMessageType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InterfaceMessageType; +extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceMessageType_specs_1; +extern asn_TYPE_member_t asn_MBR_InterfaceMessageType_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceMessageType_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceMessageType.o b/asn1c_defs/all-defs/InterfaceMessageType.o new file mode 100644 index 0000000000000000000000000000000000000000..675ae056ab8d3a26a0fa13afd31395c2ae91e6fe GIT binary patch literal 2752 zcmcIl-A)rh6rQsF|A0tLOuShmiI~WwOGq?o%xW#55vU^9>vkEy2yN5dCUPTv18=?e z1$+eK6Zi<;d8-d#^nAN#=yWE-cCZ!W8#N%ZM~t2gK)28HlFYXPKM-B1s8eZ_y~NNkcv1he72a8 zo_W~WevkcGJ&1$uQ63k0;;aiM|1%?alaNWH&u#YDCvNVq4t!UFe;^!r`t10T`R5!T zT;eL@--x^N|180s7hWbJPFvBV`a{XU2PqEsF*6PpJ z>npXo&_a~7TWQvfU$wHL%){sIGDR0_jhfq>c2uHUMH7vomrPF*k6g)%hI4M7Hr#)Z zjq5cBKAw9NADl}NaGVmK1_<{YWaCQ(oZ}NLgEb6X*8=p?z$aM-dvD+u4g8CNV_uh7 z|8C$@EQ8IUK_W2tUxPwquEWsjm+9Va7B_{Y?JM}UmNNAw6LKTYVj-JpDrC0}1)hNn zNL4#=ZiZy3a;Kfd0P_$bllJbeqQfCu?M%tVmG#*)i<8$ybN}$YLa~@D-c6H2Q!!*- zo&)46Nx0jlJ@ALZik;EW7{x@bi(Zv7& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-ID.c b/asn1c_defs/all-defs/InterfaceProtocolIE-ID.c new file mode 100755 index 0000000..92f34cc --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-ID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InterfaceProtocolIE-ID.h" + +int +InterfaceProtocolIE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using ProtocolIE_ID, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_InterfaceProtocolIE_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_InterfaceProtocolIE_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_ID = { + "InterfaceProtocolIE-ID", + "InterfaceProtocolIE-ID", + &asn_OP_NativeInteger, + asn_DEF_InterfaceProtocolIE_ID_tags_1, + sizeof(asn_DEF_InterfaceProtocolIE_ID_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_ID_tags_1[0]), /* 1 */ + asn_DEF_InterfaceProtocolIE_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfaceProtocolIE_ID_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_InterfaceProtocolIE_ID_constr_1, InterfaceProtocolIE_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-ID.h b/asn1c_defs/all-defs/InterfaceProtocolIE-ID.h new file mode 100755 index 0000000..b78eb59 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceProtocolIE_ID_H_ +#define _InterfaceProtocolIE_ID_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-ID.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* InterfaceProtocolIE-ID */ +typedef ProtocolIE_ID_t InterfaceProtocolIE_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_InterfaceProtocolIE_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_ID; +asn_struct_free_f InterfaceProtocolIE_ID_free; +asn_struct_print_f InterfaceProtocolIE_ID_print; +asn_constr_check_f InterfaceProtocolIE_ID_constraint; +ber_type_decoder_f InterfaceProtocolIE_ID_decode_ber; +der_type_encoder_f InterfaceProtocolIE_ID_encode_der; +xer_type_decoder_f InterfaceProtocolIE_ID_decode_xer; +xer_type_encoder_f InterfaceProtocolIE_ID_encode_xer; +per_type_decoder_f InterfaceProtocolIE_ID_decode_uper; +per_type_encoder_f InterfaceProtocolIE_ID_encode_uper; +per_type_decoder_f InterfaceProtocolIE_ID_decode_aper; +per_type_encoder_f InterfaceProtocolIE_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceProtocolIE_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-ID.o b/asn1c_defs/all-defs/InterfaceProtocolIE-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..c29a83d5a4ce43a3f41c416c8abe9d9daf267ce8 GIT binary patch literal 2856 zcmbVN&um=YG;9W=1 zLjh3^7NX+FkqZ+4LoY~3z}crtTsT&0RjEDnRMosUJ8v@#6Dskn-S^%%@0)r1X6E^3 zrFLSZPym(!9D^;7QGnleZrQ#xeVBj}1b6@WuG$|2{g-LkdllS1HXH(MdcobnFGG~{ z%izu*W3_vuwfi3v>+bGd%@8bMW3j|Ky!!9t0Uu>U?S#E~dzd-ZTNZX`#dW^+aw)pic2t2vCxZqBoS?RUYp8K_!6SFg3PkP>u-n^Kd6W*Z=hka_2!VjmR zaJ^L6KR!D402luX@z2y)k94_Mx-$|Lr)ov_Y;o#%v9!3mI9A!SBoP&8QS==j!C%%r zbF3#6z`>tQ9GuA}4(zbOIE!}JwFn1BH7_$iMOA=ZIj*ndXm}ogh68(aH@6)a&uun* zX}p_fMdCa2T66q23TI!}4(!%lX`jOPq*hP4XNXolwKZe6TEfH{%2Y_d}=vdic-9)G}~I- zmEdyabeP__8gG|RwghIB$zi3b|In`eo3)tXoQ6}!V?5GuJ-(&kMJ-;za%bo?E+|0W zQ?%)R=s52Q;gc$s)ReLb-#VoL)7#*_hJT`LQh|o^S_HWYr#jG+i%4#?(r5()w!ciT zv(=58kx1j~DTvi5jXXFkJrOSH)_RsQXg)(NadRAv-ry4d&6UTjR@P15A_BgA6@3v)xM-aIs>#0?=$b; z7Ya8!+*8C!^81##`MxMu_GOyW|f@~L;3dyf!YQiUIoqlx+b6F6q$pHun&tZ~US`ELMfs4%<$ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Item.c b/asn1c_defs/all-defs/InterfaceProtocolIE-Item.c new file mode 100755 index 0000000..bdaa862 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-Item.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InterfaceProtocolIE-Item.h" + +asn_TYPE_member_t asn_MBR_InterfaceProtocolIE_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct InterfaceProtocolIE_Item, interfaceProtocolIE_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceProtocolIE_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceProtocolIE-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct InterfaceProtocolIE_Item, interfaceProtocolIE_Test), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfaceProtocolIE_Test, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceProtocolIE-Test" + }, + { ATF_NOFLAGS, 0, offsetof(struct InterfaceProtocolIE_Item, interfaceProtocolIE_Value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_InterfaceProtocolIE_Value, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfaceProtocolIE-Value" + }, +}; +static const ber_tlv_tag_t asn_DEF_InterfaceProtocolIE_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_InterfaceProtocolIE_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interfaceProtocolIE-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interfaceProtocolIE-Test */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* interfaceProtocolIE-Value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_InterfaceProtocolIE_Item_specs_1 = { + sizeof(struct InterfaceProtocolIE_Item), + offsetof(struct InterfaceProtocolIE_Item, _asn_ctx), + asn_MAP_InterfaceProtocolIE_Item_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Item = { + "InterfaceProtocolIE-Item", + "InterfaceProtocolIE-Item", + &asn_OP_SEQUENCE, + asn_DEF_InterfaceProtocolIE_Item_tags_1, + sizeof(asn_DEF_InterfaceProtocolIE_Item_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_Item_tags_1[0]), /* 1 */ + asn_DEF_InterfaceProtocolIE_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfaceProtocolIE_Item_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_InterfaceProtocolIE_Item_1, + 3, /* Elements count */ + &asn_SPC_InterfaceProtocolIE_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Item.h b/asn1c_defs/all-defs/InterfaceProtocolIE-Item.h new file mode 100755 index 0000000..911018d --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceProtocolIE_Item_H_ +#define _InterfaceProtocolIE_Item_H_ + + +#include + +/* Including external dependencies */ +#include "InterfaceProtocolIE-ID.h" +#include "InterfaceProtocolIE-Test.h" +#include "InterfaceProtocolIE-Value.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* InterfaceProtocolIE-Item */ +typedef struct InterfaceProtocolIE_Item { + InterfaceProtocolIE_ID_t interfaceProtocolIE_ID; + InterfaceProtocolIE_Test_t interfaceProtocolIE_Test; + InterfaceProtocolIE_Value_t interfaceProtocolIE_Value; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InterfaceProtocolIE_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceProtocolIE_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_InterfaceProtocolIE_Item_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceProtocolIE_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Item.o b/asn1c_defs/all-defs/InterfaceProtocolIE-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..c5e04b201cfb37d667c22f14af3aff1372736983 GIT binary patch literal 3080 zcmcIlJ8u&~5MJkagjYg<0t7;)B1mNAiz0zQf&<%0j36;2rafPdBSF}{$aj`P11aff z>EI_I@dqd=DGsYh{QB4tkRb!kDn*ZMemTM26%QopQw=?rx+2zQ1$k+^+z z4pgv_qYfW{F9A|e$5e?dGSX2;5BOKepA8&`x&wJ^Ie6~Hr9%}Y9lugt^euOrk9V7& z2AhfRW`2+E)kpfxM=kOkl`%`TTKCtgj~msMa#gY5hjAxKy8+y${c`u8WdgL$)h$%wHp$oZHa9 zQYWw4X|SO*9G5=dVkwPwQl*~-X`u8*k|^DcQ9(~vyP!s`ATy(6sJa!00fJeG(qY_g zM{pQ*Cr%^1w9=SM(ja_E-Hp#KLMSd7?{`U_RD?|9*+;H`gqV5Ldix&3f*F4m%sAU| z N; sorted by tag */ + asn_MAP_InterfaceProtocolIE_Test_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_InterfaceProtocolIE_Test_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Test = { + "InterfaceProtocolIE-Test", + "InterfaceProtocolIE-Test", + &asn_OP_NativeEnumerated, + asn_DEF_InterfaceProtocolIE_Test_tags_1, + sizeof(asn_DEF_InterfaceProtocolIE_Test_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_Test_tags_1[0]), /* 1 */ + asn_DEF_InterfaceProtocolIE_Test_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfaceProtocolIE_Test_tags_1) + /sizeof(asn_DEF_InterfaceProtocolIE_Test_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_InterfaceProtocolIE_Test_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_InterfaceProtocolIE_Test_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Test.h b/asn1c_defs/all-defs/InterfaceProtocolIE-Test.h new file mode 100755 index 0000000..44c4b53 --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-Test.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceProtocolIE_Test_H_ +#define _InterfaceProtocolIE_Test_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InterfaceProtocolIE_Test { + InterfaceProtocolIE_Test_equal = 0, + InterfaceProtocolIE_Test_greaterthan = 1, + InterfaceProtocolIE_Test_lessthan = 2, + InterfaceProtocolIE_Test_contains = 3, + InterfaceProtocolIE_Test_present = 4 + /* + * Enumeration is extensible + */ +} e_InterfaceProtocolIE_Test; + +/* InterfaceProtocolIE-Test */ +typedef long InterfaceProtocolIE_Test_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_InterfaceProtocolIE_Test_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Test; +extern const asn_INTEGER_specifics_t asn_SPC_InterfaceProtocolIE_Test_specs_1; +asn_struct_free_f InterfaceProtocolIE_Test_free; +asn_struct_print_f InterfaceProtocolIE_Test_print; +asn_constr_check_f InterfaceProtocolIE_Test_constraint; +ber_type_decoder_f InterfaceProtocolIE_Test_decode_ber; +der_type_encoder_f InterfaceProtocolIE_Test_encode_der; +xer_type_decoder_f InterfaceProtocolIE_Test_decode_xer; +xer_type_encoder_f InterfaceProtocolIE_Test_encode_xer; +per_type_decoder_f InterfaceProtocolIE_Test_decode_uper; +per_type_encoder_f InterfaceProtocolIE_Test_encode_uper; +per_type_decoder_f InterfaceProtocolIE_Test_decode_aper; +per_type_encoder_f InterfaceProtocolIE_Test_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceProtocolIE_Test_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Test.o b/asn1c_defs/all-defs/InterfaceProtocolIE-Test.o new file mode 100644 index 0000000000000000000000000000000000000000..ecc63e97a42f335481bce6e1365c8d06c99ff12f GIT binary patch literal 2864 zcmbtVy>8S%5Z;Re34cirQGh_=Ku82Zth*=@5eQ_ITtfH>Rv@A@jN?M*E%&cebHj5pB7|A>HeKWH=J8Q4sG#@MsRVsp|B5sQTVpfRm z$iVir>4|YMCJuw`(4%P@h7GVsVo;^#Qmkb9JdC8DCMt=N_EK}|iOiIcuX;4GPXX1drJl%cryIRBVQf{itxjOMC8a-BBM^%}>Y=Pb_6-Kb5juJvNot6g_z-1=0br%~f|W7e(D zxQ#10-(RE1z&eM;ue~ClQ_=;ezl;4@j(!vObBLUht~m)aRipkEMSKO#a}%Z2cNnWi z-+Xe8!T}V;Uj)8t?5qD?mwljaB*H8X=9>#aK}dk#aG=7CENJMshj;w)xUI0=lhZQp zb^azA0F>=eyU}8=MMI9;P9pe4xlz*T z;9tm%6D8fn<<+T7h0#kcC2$; zJnj5EruC z#BtC_;a*Yr`??1@@sZ-O zeyrWD{{?WkR2?2uW@$rsKBiDvItTd-9_Gxrb-N+tv||w$g|>+NMhPb%ZVVo~e!OGs evjpresent), + asn_MAP_InterfaceProtocolIE_Value_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, + 5 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Value = { + "InterfaceProtocolIE-Value", + "InterfaceProtocolIE-Value", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_InterfaceProtocolIE_Value_constr_1, CHOICE_constraint }, + asn_MBR_InterfaceProtocolIE_Value_1, + 5, /* Elements count */ + &asn_SPC_InterfaceProtocolIE_Value_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Value.h b/asn1c_defs/all-defs/InterfaceProtocolIE-Value.h new file mode 100755 index 0000000..34ea31d --- /dev/null +++ b/asn1c_defs/all-defs/InterfaceProtocolIE-Value.h @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfaceProtocolIE_Value_H_ +#define _InterfaceProtocolIE_Value_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InterfaceProtocolIE_Value_PR { + InterfaceProtocolIE_Value_PR_NOTHING, /* No components present */ + InterfaceProtocolIE_Value_PR_valueInt, + InterfaceProtocolIE_Value_PR_valueEnum, + InterfaceProtocolIE_Value_PR_valueBool, + InterfaceProtocolIE_Value_PR_valueBitS, + InterfaceProtocolIE_Value_PR_valueOctS + /* Extensions may appear below */ + +} InterfaceProtocolIE_Value_PR; + +/* InterfaceProtocolIE-Value */ +typedef struct InterfaceProtocolIE_Value { + InterfaceProtocolIE_Value_PR present; + union InterfaceProtocolIE_Value_u { + long valueInt; + long valueEnum; + BOOLEAN_t valueBool; + BIT_STRING_t valueBitS; + OCTET_STRING_t valueOctS; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InterfaceProtocolIE_Value_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InterfaceProtocolIE_Value; +extern asn_CHOICE_specifics_t asn_SPC_InterfaceProtocolIE_Value_specs_1; +extern asn_TYPE_member_t asn_MBR_InterfaceProtocolIE_Value_1[5]; +extern asn_per_constraints_t asn_PER_type_InterfaceProtocolIE_Value_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfaceProtocolIE_Value_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfaceProtocolIE-Value.o b/asn1c_defs/all-defs/InterfaceProtocolIE-Value.o new file mode 100644 index 0000000000000000000000000000000000000000..96260fa62aa26b3a4208be00b114ad4102de65db GIT binary patch literal 3384 zcmcIlOK;Oa5Z;giPJ{ALkQs#$AALHm{G2aR?Zg?`wqRrAYUvm2;Qj5Hk^ z)mC>swx+|d$<|u57+ZCptf9)$e_VZ(_($l$R{Ue=p>(W^GZ@CYCx^7|*&(faehBL} zXw4~lAo5P9oxhFa%%$M0-fs+wA^RqhMT}~brW_YZ}nc#bc>q$ zs5+BQ)r@+>t<2SHm8$j{)de@&-U!lzTt94eqBgA`hq3RiQQOzWO)nf099Om2s2sxS zYy^Hs)IaY1?k@-U{ic9qZS|ih`|3IWN7)Q_f1KqnvgK2h5^VBsXY!dK#AHI?d4c z0O}Cs_~H6`K)2Uvg;C(l&Ogt0BF}$|(*8@XQZ(KP{}U-C=?EKKDL2RgW_RuqlNzjz z${B<8Ez-E#cKip6XIwk~U77%P&k$If_$L-_;*BoRJZwAv9$}Cv`BNo72T;fZvhjB+ z2@K{O|AKZo(P_ePpUiiB86=WAJxTdiA)~kM@e>mmoVhF zUQ@l`{C_*YRgN!^mhze7aXwObJ9JLq8}t}V@_yI{!jm>PsdiBJIQ|^J7name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_InterfacesToTrace_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_InterfacesToTrace_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InterfacesToTrace = { + "InterfacesToTrace", + "InterfacesToTrace", + &asn_OP_BIT_STRING, + asn_DEF_InterfacesToTrace_tags_1, + sizeof(asn_DEF_InterfacesToTrace_tags_1) + /sizeof(asn_DEF_InterfacesToTrace_tags_1[0]), /* 1 */ + asn_DEF_InterfacesToTrace_tags_1, /* Same as above */ + sizeof(asn_DEF_InterfacesToTrace_tags_1) + /sizeof(asn_DEF_InterfacesToTrace_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_InterfacesToTrace_constr_1, InterfacesToTrace_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InterfacesToTrace.h b/asn1c_defs/all-defs/InterfacesToTrace.h new file mode 100755 index 0000000..9300b62 --- /dev/null +++ b/asn1c_defs/all-defs/InterfacesToTrace.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InterfacesToTrace_H_ +#define _InterfacesToTrace_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* InterfacesToTrace */ +typedef BIT_STRING_t InterfacesToTrace_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_InterfacesToTrace_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_InterfacesToTrace; +asn_struct_free_f InterfacesToTrace_free; +asn_struct_print_f InterfacesToTrace_print; +asn_constr_check_f InterfacesToTrace_constraint; +ber_type_decoder_f InterfacesToTrace_decode_ber; +der_type_encoder_f InterfacesToTrace_encode_der; +xer_type_decoder_f InterfacesToTrace_decode_xer; +xer_type_encoder_f InterfacesToTrace_encode_xer; +per_type_decoder_f InterfacesToTrace_decode_uper; +per_type_encoder_f InterfacesToTrace_encode_uper; +per_type_decoder_f InterfacesToTrace_decode_aper; +per_type_encoder_f InterfacesToTrace_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InterfacesToTrace_H_ */ +#include diff --git a/asn1c_defs/all-defs/InterfacesToTrace.o b/asn1c_defs/all-defs/InterfacesToTrace.o new file mode 100644 index 0000000000000000000000000000000000000000..825bc84c7aa0b66d63364e77749434f2131d500b GIT binary patch literal 2936 zcmbVNO>7fK6n@SY;u3HiC{iRUv4_$oDp|ZJDp8OsQ|D(bxxq>dii*@_W3Nf5V@KXK zf~qR5(j2S^#DzNt4jg;p!X>E3Rw~M=5{IH*;nE%|4pr0lX6LPk@kT;@*3NtHdp|St zX6E_!Y-w&Fl>(*|dc#qMsg`*T=xw&&8$)=uaA=Ucl^ z_K?DloXuD1()M8K&Jl{a{(%z-PWLaT`>(xI>i&LVZ+H2N?r&Fqst=!>0ocBrb)LR3 z?B|<*3_9b_oXywi&W~gsKKUJ`a5(iZB6XAwXSjY$rnYxqJ|stlXemSr6pI6~6bWgm zGuO;uS!cYUX;#wQ*sqwwgiM_STxAS@+f&el524Wz$#j_PTzSy8gDA4wK`2p)hTZU0Ufh!;X2* znzV8gc1LLTxAv5ko3!ll2#5D%;?&oRkh+;ooj5$0zK4@fBL2R#-6uYi$!-p~nbA_l zyqp=mkjWMfWzzFQ%Q!ki3j&w!iH!F14*Z#TwnpMj1~BlKL7AfRzTT^eUctJ#ra6pNzU{zb|>wXgxVaxWd`GrdpLFiS# zlK%dxTW@>oe!QsvFPIq0XQ5`vONHMT+tk_-b^<@@A$j~%+K?^ass!n7&^&zpe6Al# zTE;;%@Dk`~W# z%qucpU;mDDSk>Z9O}~hGQvILF`tL}8sy}r{UO(6WOT=iZH|{vQXR0Gc z@i{UobXvyK`KZMEX5K<0%c|e9z94DTeSeVgx;w|~_lNh-bKOQEsebpUIU#YKsD9M< zIG%A@k3Kg-@JNEM<${M1qqn2SQ%}>+9wB%j3;!!A3hDbFL0eM%Bf0*&N-T+b{C~-I BIxGMH literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/InvokeIndication.c b/asn1c_defs/all-defs/InvokeIndication.c new file mode 100755 index 0000000..1d80f3c --- /dev/null +++ b/asn1c_defs/all-defs/InvokeIndication.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "InvokeIndication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_InvokeIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_InvokeIndication_value2enum_1[] = { + { 0, 15, "abs-information" }, + { 1, 23, "naics-information-start" }, + { 2, 22, "naics-information-stop" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_InvokeIndication_enum2value_1[] = { + 0, /* abs-information(0) */ + 1, /* naics-information-start(1) */ + 2 /* naics-information-stop(2) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_InvokeIndication_specs_1 = { + asn_MAP_InvokeIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_InvokeIndication_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_InvokeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_InvokeIndication = { + "InvokeIndication", + "InvokeIndication", + &asn_OP_NativeEnumerated, + asn_DEF_InvokeIndication_tags_1, + sizeof(asn_DEF_InvokeIndication_tags_1) + /sizeof(asn_DEF_InvokeIndication_tags_1[0]), /* 1 */ + asn_DEF_InvokeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_InvokeIndication_tags_1) + /sizeof(asn_DEF_InvokeIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_InvokeIndication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_InvokeIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/InvokeIndication.h b/asn1c_defs/all-defs/InvokeIndication.h new file mode 100755 index 0000000..521d538 --- /dev/null +++ b/asn1c_defs/all-defs/InvokeIndication.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _InvokeIndication_H_ +#define _InvokeIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum InvokeIndication { + InvokeIndication_abs_information = 0, + /* + * Enumeration is extensible + */ + InvokeIndication_naics_information_start = 1, + InvokeIndication_naics_information_stop = 2 +} e_InvokeIndication; + +/* InvokeIndication */ +typedef long InvokeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InvokeIndication; +asn_struct_free_f InvokeIndication_free; +asn_struct_print_f InvokeIndication_print; +asn_constr_check_f InvokeIndication_constraint; +ber_type_decoder_f InvokeIndication_decode_ber; +der_type_encoder_f InvokeIndication_encode_der; +xer_type_decoder_f InvokeIndication_decode_xer; +xer_type_encoder_f InvokeIndication_encode_xer; +per_type_decoder_f InvokeIndication_decode_uper; +per_type_encoder_f InvokeIndication_encode_uper; +per_type_decoder_f InvokeIndication_decode_aper; +per_type_encoder_f InvokeIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _InvokeIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/InvokeIndication.o b/asn1c_defs/all-defs/InvokeIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..d51b1d749e0def32099b70c448cba0ab15cff867 GIT binary patch literal 2680 zcmbtVOK;Oa5T4XPdAEfMDsc%XibSoXs>Dk|MkRe9C{a68=T6FJ(El}4iaJ|XXg9no1O9Qdh?<7Y+vK=kQ8_h5<%_N4Pka2L3@n^ewy>E`1rz=3mfu3IYcj%Om_n25>`!(Z7yBQamC*!~c zg?g?7=X-#?BeWCheYcqZj&_`VZGI2o!TzA!5P~%JpVSt7JLH>SGxe)kyk1-N&B1Oo zC<>D}HEou?tj`ZB(%mSOd7eM64+{2zolZ0x#hn&UQ>dc&Y$jz@QO{YkFY5jZ-VS?F z4O60aV4{tT-;Cm@-3G$RkG7`&NVM2aY3FuJ zJQM93a5n-IfZIq@aN7w1QdZq6!e}SR!sJQRqA|zaNx}f*VbW?vxLxtDVm;K8Z`VIYj)t6z91ZsW5Ce4AdLm%^i!b1BjOqTP^Css|zL%%SQT-8o z^jP8s>0Z}E@`ZbaPEr5soc~#bY|9p2MO@VXA%FDytf&5|w$zvY-y%n)D){K}gX`1& z=)rWBLwt&la9THMF9-*1E#V^R6q84sa0zwe_}KlQL(blNq~Mszt5!h^X7@)?euY1% KPc)etcK#pdCFH&U literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Key-eNodeB-Star.c b/asn1c_defs/all-defs/Key-eNodeB-Star.c new file mode 100755 index 0000000..6bcff42 --- /dev/null +++ b/asn1c_defs/all-defs/Key-eNodeB-Star.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Key-eNodeB-Star.h" + +int +Key_eNodeB_Star_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Key_eNodeB_Star_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 256, 256 } /* (SIZE(256..256)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Key_eNodeB_Star_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Key_eNodeB_Star = { + "Key-eNodeB-Star", + "Key-eNodeB-Star", + &asn_OP_BIT_STRING, + asn_DEF_Key_eNodeB_Star_tags_1, + sizeof(asn_DEF_Key_eNodeB_Star_tags_1) + /sizeof(asn_DEF_Key_eNodeB_Star_tags_1[0]), /* 1 */ + asn_DEF_Key_eNodeB_Star_tags_1, /* Same as above */ + sizeof(asn_DEF_Key_eNodeB_Star_tags_1) + /sizeof(asn_DEF_Key_eNodeB_Star_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Key_eNodeB_Star_constr_1, Key_eNodeB_Star_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Key-eNodeB-Star.h b/asn1c_defs/all-defs/Key-eNodeB-Star.h new file mode 100755 index 0000000..05a296c --- /dev/null +++ b/asn1c_defs/all-defs/Key-eNodeB-Star.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Key_eNodeB_Star_H_ +#define _Key_eNodeB_Star_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Key-eNodeB-Star */ +typedef BIT_STRING_t Key_eNodeB_Star_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Key_eNodeB_Star_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Key_eNodeB_Star; +asn_struct_free_f Key_eNodeB_Star_free; +asn_struct_print_f Key_eNodeB_Star_print; +asn_constr_check_f Key_eNodeB_Star_constraint; +ber_type_decoder_f Key_eNodeB_Star_decode_ber; +der_type_encoder_f Key_eNodeB_Star_encode_der; +xer_type_decoder_f Key_eNodeB_Star_decode_xer; +xer_type_encoder_f Key_eNodeB_Star_encode_xer; +per_type_decoder_f Key_eNodeB_Star_decode_uper; +per_type_encoder_f Key_eNodeB_Star_encode_uper; +per_type_decoder_f Key_eNodeB_Star_decode_aper; +per_type_encoder_f Key_eNodeB_Star_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Key_eNodeB_Star_H_ */ +#include diff --git a/asn1c_defs/all-defs/Key-eNodeB-Star.o b/asn1c_defs/all-defs/Key-eNodeB-Star.o new file mode 100644 index 0000000000000000000000000000000000000000..6e0949d653a9329ecbd19e22516b4e6c2dbc2290 GIT binary patch literal 2928 zcmbVN&2Jl35FcluF->uumP4c>bq^F0sebiVky?chIdwiZVA3c_t5Oi#jlHf@9J}(a ztA<0XDos@@D&oSO1BV_e{sAsQ2nh)eC?_NiR9xW#2gCspX5PN>zPxNCV61&J^LsP% z=6%fg?sR2lAd>;647>q}#wb8>Fp*1AEWt43!QK30X|A_3*ZVfAxmzf4(; zU+f}9ueck(W-D8Rl}FE$&yAPdSa5s4yS=}i?Mm;b$=#hRS9?Fa`&Iqu$ti%X%X#<9 zrF*!H;${&&dx8N$^4RmQXxu^L>frMSmMny zH|B*neYgJc*buw3sQJ1ST6+g?OJf5uoU?nQH4|Cgni3zb_2WBj_m8Jw}O^E zir}f*n4GJ&TVd4kS6h)?_g9-itv_qTG7|WYs<{nQ|F_|ekl}2(JYkPsTIsf;u6<67 zi({5Q z=SC)T`SRghc6R70jx$5^5?AJ_jP~;k{FZvRR_aRzu<(~g7Dh@V3!Y7bG0LF>aIILB z#c|{rc&=}+uViU>-v9**hIF+rTOes0OSotUqsRdd9;UFRnR{ zYR-%N>!Ig>sFaH|oTb4b|2Zm{H#P4rWd_v{bsOl-8dqy zOo=Tmlr={$yctwO+TxhnC-ob;y}#m?v>V?W0O8al8NY`zk!k-Zh9#aune7!UZ-`#y zgaWdPQ=RBIpEcpflnt>FB@>>!R)En1@REkp8)tHrKyi32g09hkL^$^d(rp@$XutIJ zNrdZbk-q{0yJgH9EOmmWFQVXf1fu3gK8Tet1kq`eLgtP*zgNY_A$_C)N<0gq+Fn}= zS{MkMbs%QvFBQVbuYREHgN9e{_-jEwssAt7=t_GxJ4XpIBCe}g+k19|oxqQJM+rZj z8mjcKDUjXname, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_LAC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_LAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LAC = { + "LAC", + "LAC", + &asn_OP_OCTET_STRING, + asn_DEF_LAC_tags_1, + sizeof(asn_DEF_LAC_tags_1) + /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ + asn_DEF_LAC_tags_1, /* Same as above */ + sizeof(asn_DEF_LAC_tags_1) + /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_LAC_constr_1, LAC_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LAC.h b/asn1c_defs/all-defs/LAC.h new file mode 100755 index 0000000..71e0f20 --- /dev/null +++ b/asn1c_defs/all-defs/LAC.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LAC_H_ +#define _LAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LAC */ +typedef OCTET_STRING_t LAC_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_LAC_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_LAC; +asn_struct_free_f LAC_free; +asn_struct_print_f LAC_print; +asn_constr_check_f LAC_constraint; +ber_type_decoder_f LAC_decode_ber; +der_type_encoder_f LAC_encode_der; +xer_type_decoder_f LAC_decode_xer; +xer_type_encoder_f LAC_encode_xer; +per_type_decoder_f LAC_decode_uper; +per_type_encoder_f LAC_encode_uper; +per_type_decoder_f LAC_decode_aper; +per_type_encoder_f LAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LAC_H_ */ +#include diff --git a/asn1c_defs/all-defs/LAC.o b/asn1c_defs/all-defs/LAC.o new file mode 100644 index 0000000000000000000000000000000000000000..b727cea47495525c3be77ab071031bc827f2663b GIT binary patch literal 2696 zcmbVNOK%fN5H80+%wrt~I7GlIb66meNaI0BJPyc_Z8At!66FC14wH#9ApzToJYxhL z04YLRYlX!B*-NBdY4?b7LgKQ=l{SanJ#a#Vs-7yl=?oI0teN`i>-xHTsvmw)t=$~R zWI!wfH=rL03-I%yJ}zlkf&vVI_v*v^t?rK3{WGq(@4c<(xq;aAUhVw4hZdjrwsv#1 zUj}Qhe<01nQ7-{r_kXYZ$?N{%Zcpy*+`ZR*cmKE5q0tIpe=ObA(j*;wczA-P?#@5I z>+$<98j7sX^wB^cY9z6Es~MEK7(^|%?yrQa(Z!(An9!g$Sypv88(nuE2aQhXv^HYr z!TRH{<%}VDc4b_*)i+vE+z!@Tv9lViH^P-(E9&i$zAd)b!j8YK7r?bbn<|&DJ7bH> zomSj&uBgkZIN^454X<{ zLG&5O_43Ugvj*QwK#+waX4u17INHMkPHC`zKBLTElSKAEG5@2*Q<#Or``B@0jvIB; zYlGZXe1?thU1Mbhz1|ZXi@S?p*r@X?H?+~GP;UbKMo#5z6+{WF4F4~ zy#dNXH3pB_#uN|GWZh)?=YtCrKe{qdfJSGWl(s7C4Nm%J8T3h4xhxJ zR)RPHwH!sD+8Y#5x~p)tb&_TfNh_%OMza~VP>DBYsHUbDC!#p0KjQpw&0lQ?&9FC% z?*_)-#k7q12T!(F`Yw7EpofKUDi{5O=DVXh+o1-IEuwa>name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_LCID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 1, 32 } /* (1..32,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_LCID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LCID = { + "LCID", + "LCID", + &asn_OP_NativeInteger, + asn_DEF_LCID_tags_1, + sizeof(asn_DEF_LCID_tags_1) + /sizeof(asn_DEF_LCID_tags_1[0]), /* 1 */ + asn_DEF_LCID_tags_1, /* Same as above */ + sizeof(asn_DEF_LCID_tags_1) + /sizeof(asn_DEF_LCID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_LCID_constr_1, LCID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/LCID.h b/asn1c_defs/all-defs/LCID.h new file mode 100755 index 0000000..b1b5eda --- /dev/null +++ b/asn1c_defs/all-defs/LCID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LCID_H_ +#define _LCID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LCID */ +typedef long LCID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LCID; +asn_struct_free_f LCID_free; +asn_struct_print_f LCID_print; +asn_constr_check_f LCID_constraint; +ber_type_decoder_f LCID_decode_ber; +der_type_encoder_f LCID_encode_der; +xer_type_decoder_f LCID_decode_xer; +xer_type_encoder_f LCID_encode_xer; +per_type_decoder_f LCID_decode_uper; +per_type_encoder_f LCID_encode_uper; +per_type_decoder_f LCID_decode_aper; +per_type_encoder_f LCID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LCID_H_ */ +#include diff --git a/asn1c_defs/all-defs/LCID.o b/asn1c_defs/all-defs/LCID.o new file mode 100644 index 0000000000000000000000000000000000000000..4da41197b55a9d51603053aef6dffe721022303b GIT binary patch literal 2624 zcmbVN%}Z2K6u-}xX=c+XEd;~f#!|?uPl7@sM#hgP3@U~uMU2n!`PIxA^WKQI$Y5wO zM9`nmvj3rt&?ai}aHK~@$I|GgBY!1Ky8^N4(V29#{WPcq zD(3(~GL;;_*C4)Jp;*U{A`*+92Lexu`nGMqJ;8o>TCIhU;DJX*kb?kV81u z0iUYKa61?Ii$cQ1Q_-tz6@siUqhKo%a>j__?6EivKnoU}DX*--{Y6q25Apzmj{RH#;GKXEnhI zq~Fp3ULYTP1n1#><^8%&xV{HS*~J%#e%{e{@TCdfhd8FmkK<%@#DrbQL2S^-W&UFW zXFlsu;+ylopoCR}?-+gp{Cf4{tMeV@WBqWC%=%3MhEvt_B>4L@Ki{JODKY&AfMV)E zC0uPY5hAI7fqA@7Yname, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 32 && size <= 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_LHN_ID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 32, 256 } /* (SIZE(32..256)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_LHN_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LHN_ID = { + "LHN-ID", + "LHN-ID", + &asn_OP_OCTET_STRING, + asn_DEF_LHN_ID_tags_1, + sizeof(asn_DEF_LHN_ID_tags_1) + /sizeof(asn_DEF_LHN_ID_tags_1[0]), /* 1 */ + asn_DEF_LHN_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_LHN_ID_tags_1) + /sizeof(asn_DEF_LHN_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_LHN_ID_constr_1, LHN_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LHN-ID.h b/asn1c_defs/all-defs/LHN-ID.h new file mode 100755 index 0000000..5068c95 --- /dev/null +++ b/asn1c_defs/all-defs/LHN-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LHN_ID_H_ +#define _LHN_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LHN-ID */ +typedef OCTET_STRING_t LHN_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LHN_ID; +asn_struct_free_f LHN_ID_free; +asn_struct_print_f LHN_ID_print; +asn_constr_check_f LHN_ID_constraint; +ber_type_decoder_f LHN_ID_decode_ber; +der_type_encoder_f LHN_ID_encode_der; +xer_type_decoder_f LHN_ID_decode_xer; +xer_type_encoder_f LHN_ID_encode_xer; +per_type_decoder_f LHN_ID_decode_uper; +per_type_encoder_f LHN_ID_encode_uper; +per_type_decoder_f LHN_ID_decode_aper; +per_type_encoder_f LHN_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LHN_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/LHN-ID.o b/asn1c_defs/all-defs/LHN-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..cfa7c551815dc5f0737a952c6260ddf52f608b7b GIT binary patch literal 2816 zcmbVN&2JM|5Pyy-F&{Nf;a~|Q_Cgz^=HW$1pdgS_JIPvFB~cPk1X4E}XM+R&K-qN! zNR(EAgM~o+0sJSuM5=n~EvHI7v_~Z10Edc0MLP3#X8rtFOQj?2do#Z`zj^b%W*<$v zGb5RdV9AK9qHi%O#O}eqURG*ZjERD9p8UO3>+RKgzeTR|bS7v2;q1J!oGX8U&$jJ6 z+534PB>KkLd6RRWj=ImjMDp#^POLb+_fGGlz3cY=oZ8=8xzYRm<}b%iR|Ui+=3B*# zy&=Hu*cxm{z|7HyBNjF&X^R9{%5#3$w(H({uo0f~o6QNOxX#=} ztt#u{OgL$6`^|1(wL6h@YjZnjTjKzpSwE}B>Ya8NZTXw+$lCBXo56ZA8i!DGe@0`b zY1;oaQ~@1lE0sxW{MuT#9d)gX@`5Z)*j;7WKiHRK>4LP+#<(~^fin*lMdn^1bMokD z?gdQ#E#RkU>>>8md|_v#kuSP=>w3O8l`m8d=W{bh<`hDXDIKokfOwaBX4xT!lNH&N zNCMCUL+~$#;M!%@JhEa`vtsoybQy6d!FeW2;r)CT5)aI$@2|mtAJNT3&x)go&dL>~ ze477v3O|^f0sGGq&bHoX1+HRHTrj`V_F0`JVBfkTyfkRSNh^+W0F6h5tan=i&3`bN!ld{j89(iw%fgSJ1Yw(FE%;#x(f_oGe95*ajcO_&qR%`4$7z zbN(Es40sy9L=IC1pLyIb6W`4LM{;Nwe9N%s!A{%%6)K&(present), + asn_MAP_LastVisitedCell_Item_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_LastVisitedCell_Item = { + "LastVisitedCell-Item", + "LastVisitedCell-Item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_LastVisitedCell_Item_constr_1, CHOICE_constraint }, + asn_MBR_LastVisitedCell_Item_1, + 4, /* Elements count */ + &asn_SPC_LastVisitedCell_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LastVisitedCell-Item.h b/asn1c_defs/all-defs/LastVisitedCell-Item.h new file mode 100755 index 0000000..2d10adc --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedCell-Item.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LastVisitedCell_Item_H_ +#define _LastVisitedCell_Item_H_ + + +#include + +/* Including external dependencies */ +#include "LastVisitedUTRANCellInformation.h" +#include "LastVisitedNGRANCellInformation.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum LastVisitedCell_Item_PR { + LastVisitedCell_Item_PR_NOTHING, /* No components present */ + LastVisitedCell_Item_PR_e_UTRAN_Cell, + LastVisitedCell_Item_PR_uTRAN_Cell, + LastVisitedCell_Item_PR_gERAN_Cell, + /* Extensions may appear below */ + LastVisitedCell_Item_PR_nG_RAN_Cell +} LastVisitedCell_Item_PR; + +/* Forward declarations */ +struct LastVisitedEUTRANCellInformation; +struct LastVisitedGERANCellInformation; + +/* LastVisitedCell-Item */ +typedef struct LastVisitedCell_Item { + LastVisitedCell_Item_PR present; + union LastVisitedCell_Item_u { + struct LastVisitedEUTRANCellInformation *e_UTRAN_Cell; + LastVisitedUTRANCellInformation_t uTRAN_Cell; + struct LastVisitedGERANCellInformation *gERAN_Cell; + /* + * This type is extensible, + * possible extensions are below. + */ + LastVisitedNGRANCellInformation_t nG_RAN_Cell; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LastVisitedCell_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedCell_Item; +extern asn_CHOICE_specifics_t asn_SPC_LastVisitedCell_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_LastVisitedCell_Item_1[4]; +extern asn_per_constraints_t asn_PER_type_LastVisitedCell_Item_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _LastVisitedCell_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/LastVisitedCell-Item.o b/asn1c_defs/all-defs/LastVisitedCell-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..8cdcae905c00a374e35e45d59a01a24c904a7217 GIT binary patch literal 3280 zcmb_e%}*0S6dx$~Efmqj#7p%eCU(;j5{V>av6O;AXi&U(SeCLvW4mp-+XOD!yB7`~ zJbLo)@Z#O0N6wz~FVOd!ebb!|18E{J>Ad%T?{jBn-}Xa!ePwiHL?{{&iz3w&Dn#~b zD!Wp2#iW=Jmq;GvpM-ejS%a8Y^ney>qpr4QB25KicKf_@j( z?<(aga9#aObeYYPWpssP{hq>vz0{u>d!YNE_kkRhQt4@KW_!0A#@*Z#XU-|)i(RP| z-xued!kklll;9M3HlgO2_+z~rnSqYd9GQX6bbO%0z9B;uY?Kk>Hkh9C@+tf-AtNFk z2Cn9j(Qpl>JlA!#FJ}aHcaRoIoznU_VDlT|*+EyS)oGp5_Myr?pNQN1ze@jc(PO_I zKJ4!jPoH<5?Z1fI@=Q~l4PQ6|ubqJl+rV>b!jD4l#ZuKX%pT^U7yJ9OLBlIbujTTJ z)k_*Tt6ph!bFEaCTD838#YgSH>hINBVH9^LYZAe_Uk~G?n`c}0xTKAj)so#DwS!t@ z@3kz)I;Q$s__oz)`fH zP>5DF{B{D#wWs0m&$I1|hO3$|{nT*ytM^JhBh2YEA;pP~nz6r2Jnkg?KuK|M7z=05 zkA30nMv-tjEhz9TIz>{0hA+*K4Ap70YCb?2BAi;Q*$n7rJ7FshoXW;_K8pR?J8Izn z=pKdRneZLa$<-B2=I!Yt_ela~PH>k!s>~J3DS`Pz;<&43{ITJuRI~nLG60)Z4$M{j zvVp63#a*&PHtU}d20BrWi7Il;6 + +/* Including external dependencies */ +#include "ECGI.h" +#include "CellType.h" +#include "Time-UE-StayedInCell.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* LastVisitedEUTRANCellInformation */ +typedef struct LastVisitedEUTRANCellInformation { + ECGI_t global_Cell_ID; + CellType_t cellType; + Time_UE_StayedInCell_t time_UE_StayedInCell; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LastVisitedEUTRANCellInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedEUTRANCellInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_LastVisitedEUTRANCellInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_LastVisitedEUTRANCellInformation_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _LastVisitedEUTRANCellInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LastVisitedEUTRANCellInformation.o b/asn1c_defs/all-defs/LastVisitedEUTRANCellInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..4d9b55360d126e215a1d9a473a539b25dfa75ec8 GIT binary patch literal 3480 zcmcJROK;Oa5P-K0kMeGLOI(6LqDa`P3y2CNv+u0^%(;2Jzpqay=@VB)<|!(~ z`mW5j6Vn!h;()m6#qv%quE}7@saEF3XG%f6J{{hVnhj6ZqA;uaGfN+f?ssc-TerY3 zct6B`fczrmw?nH?vEx6qy8&(P{)g@2y5jR1p8fx@-S^Pe8+erH`=a(!=PDofgbS{v zszHuxz;kfy1q_hbpwVBhM~hzFz|(0=PY54$W$jTQWUUbxRmYf@-deCU9b$s0Ifk<; zgD{2z91Ag7DqSuPR~J`8xl+7jUNA=tYbEilr`DJ`a>2CDrkpy>Q8?yp;(PAdDs;>! zD=u`*jB`Fi&huBXAhu^oWSs`xCw2*&d|p`)JBenh0w(4wvB`K28uj5yCC*%hCm8p&nEsB$Pk;?1IqXWdT>*=5MR6Se%Kgnr$sdjbhwO!XX`LR@q57Y z+JD%EKk33>b>TfPRMQt;9J&+Eb+^~u>q>7qcC94;)_8eK`J+MocPgTW>R>AaN=7nU zcITbjRcEH;2xYiF{Ly67tA#Qh?X|hyqfI9^UoQ1djUNR*AE;BBoNg~8{^gUqK&@*9 z?gY2$xE*(b3YMFZjQptHz933bC}H41(;XWYA z{z9FATAU-kFS*##~Eb-reS<@LYNpEM&zQq}$~ zwyo5-0V=QmkJOQ>$Nq6hdjBpk?4P;=E0qlbQwoqSYW_0#Sg)`D7plkg;X=!i)F6Kh z4>C1QWGJWTK;Zsz(d(ZbdCabH~&&)!P)r??t?m^!39pm%OfC(x=or VtwYU)Z;Jf-0s16*0dX#R{ZBy5H~9bn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/LastVisitedGERANCellInformation.c b/asn1c_defs/all-defs/LastVisitedGERANCellInformation.c new file mode 100755 index 0000000..76cdf18 --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedGERANCellInformation.c @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "LastVisitedGERANCellInformation.h" + +asn_per_constraints_t asn_PER_type_LastVisitedGERANCellInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_LastVisitedGERANCellInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LastVisitedGERANCellInformation, choice.undefined), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "undefined" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_LastVisitedGERANCellInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* undefined */ +}; +asn_CHOICE_specifics_t asn_SPC_LastVisitedGERANCellInformation_specs_1 = { + sizeof(struct LastVisitedGERANCellInformation), + offsetof(struct LastVisitedGERANCellInformation, _asn_ctx), + offsetof(struct LastVisitedGERANCellInformation, present), + sizeof(((struct LastVisitedGERANCellInformation *)0)->present), + asn_MAP_LastVisitedGERANCellInformation_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_LastVisitedGERANCellInformation = { + "LastVisitedGERANCellInformation", + "LastVisitedGERANCellInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_LastVisitedGERANCellInformation_constr_1, CHOICE_constraint }, + asn_MBR_LastVisitedGERANCellInformation_1, + 1, /* Elements count */ + &asn_SPC_LastVisitedGERANCellInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LastVisitedGERANCellInformation.h b/asn1c_defs/all-defs/LastVisitedGERANCellInformation.h new file mode 100755 index 0000000..4683568 --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedGERANCellInformation.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LastVisitedGERANCellInformation_H_ +#define _LastVisitedGERANCellInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum LastVisitedGERANCellInformation_PR { + LastVisitedGERANCellInformation_PR_NOTHING, /* No components present */ + LastVisitedGERANCellInformation_PR_undefined + /* Extensions may appear below */ + +} LastVisitedGERANCellInformation_PR; + +/* LastVisitedGERANCellInformation */ +typedef struct LastVisitedGERANCellInformation { + LastVisitedGERANCellInformation_PR present; + union LastVisitedGERANCellInformation_u { + NULL_t undefined; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LastVisitedGERANCellInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedGERANCellInformation; +extern asn_CHOICE_specifics_t asn_SPC_LastVisitedGERANCellInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_LastVisitedGERANCellInformation_1[1]; +extern asn_per_constraints_t asn_PER_type_LastVisitedGERANCellInformation_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _LastVisitedGERANCellInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LastVisitedGERANCellInformation.o b/asn1c_defs/all-defs/LastVisitedGERANCellInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..fcdc8ce2c3c5ee083b155795b517a37d025871bd GIT binary patch literal 2760 zcmcIlOK;Oa5T4X6lxJJGAaOB5f+Dr6xT-_|3Au#yfkGPyeSWA^0%aw*3w=+i0H03u zxt~!V#$gOJxgTJ#Uu=eKb?ad&pS07qj9Lq|)w$(r)afk68_7;LlZbcjIIBEebRI9h$$+h)fEPL)vF)PZ` zUN7^!*Iq@GXN7ko*YyqzPW6W2yY-zN>rMi2vY9eELf65c%^a*?GY3X&GWK%vkbV`F z5}YdZ@q$s^zOKorpVr-iJ8-t(I&t8P?q>WkJ}0zsZgIpbM12e_!`m#rziJI`*hjR* zf63xU;0+?#(;VO@;)FI271pP4!EF7&fP*KR5Tr z#jP}g>f*{$wU&8}+G-$ox1&L+K{JU{xr4RxWcI^$Ec4;sTOHU%KF&vt>cGf!J8Gud zdo8ck>pZOm(0R~zr8>K&uGWC`^F=m*&z$rzO<&Y>l}l1X(f7*zf_Y#~Y2zr>L%h_?D4`9&)nr@&Q&@d2W(zRL@$>QH_9I+*nX z)TmVd=0ykXfa|MskgJF9&`oThP;>sjalU@0s1KG4e8F0o8a4aDfwaE5nfZIzs5Cw9 zn)yQ9XvUIn3!P-~fD`DhqB%6@kM0I@@1g{w{OP`B6f|7?R@w6_yngSfGtJEW-@9t( A#{d8T literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.c b/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.c new file mode 100755 index 0000000..f11ede9 --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "LastVisitedNGRANCellInformation.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_LastVisitedNGRANCellInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LastVisitedNGRANCellInformation = { + "LastVisitedNGRANCellInformation", + "LastVisitedNGRANCellInformation", + &asn_OP_OCTET_STRING, + asn_DEF_LastVisitedNGRANCellInformation_tags_1, + sizeof(asn_DEF_LastVisitedNGRANCellInformation_tags_1) + /sizeof(asn_DEF_LastVisitedNGRANCellInformation_tags_1[0]), /* 1 */ + asn_DEF_LastVisitedNGRANCellInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_LastVisitedNGRANCellInformation_tags_1) + /sizeof(asn_DEF_LastVisitedNGRANCellInformation_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.h b/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.h new file mode 100755 index 0000000..80f29d8 --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LastVisitedNGRANCellInformation_H_ +#define _LastVisitedNGRANCellInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LastVisitedNGRANCellInformation */ +typedef OCTET_STRING_t LastVisitedNGRANCellInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedNGRANCellInformation; +asn_struct_free_f LastVisitedNGRANCellInformation_free; +asn_struct_print_f LastVisitedNGRANCellInformation_print; +asn_constr_check_f LastVisitedNGRANCellInformation_constraint; +ber_type_decoder_f LastVisitedNGRANCellInformation_decode_ber; +der_type_encoder_f LastVisitedNGRANCellInformation_encode_der; +xer_type_decoder_f LastVisitedNGRANCellInformation_decode_xer; +xer_type_encoder_f LastVisitedNGRANCellInformation_encode_xer; +per_type_decoder_f LastVisitedNGRANCellInformation_decode_uper; +per_type_encoder_f LastVisitedNGRANCellInformation_encode_uper; +per_type_decoder_f LastVisitedNGRANCellInformation_decode_aper; +per_type_encoder_f LastVisitedNGRANCellInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LastVisitedNGRANCellInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.o b/asn1c_defs/all-defs/LastVisitedNGRANCellInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..888638f78c982cc9b80e761a876c59a99214eb4f GIT binary patch literal 1920 zcmbVM&2G~`5T4Y9^3x)EL*f#|fgsUUj4Dx42^pC*6jf=Jrd&8Uj_WoSiH))w2{^zT z@Em;)E*v=UD%`lijJ@klH@1p8l0Dz|&CHJX$NROjx3kn}fUyR=fOBS40B@P$9D1+@ ztFRYJ^)``-ijRBU{>z>pPbRzRNj95?D#_CGq8eoPvUyF}f_#^huJ1o@wvI;gRLz^u z#HMI(xbvL3U)(Lx-W2ZRLSLvi0`*^p-+v9~-l<#}00)+MT8SNuRGEVvs?33F3-Uu$ z8n9C8ywYKMnSj87o1B)|fg2?@ppRgk^&RWLXY~1+nndlt)#zt6`eg@1L=eg}c-7en zE;&kp3QuL={%?Aow|@}q`-9FPI2`nMd)-_+jnjCRL_wMbQI<+I3zJmkk;4Q3LV6%S z#F4zX0CYb1E}0dzb+dM)ud*TTX-vAQC8<@Tzh?TH#^iQlD&Yh5-rYanPz?l_( zY>^px=owv-_`O Otg8N(7VY1}uKx#JV3scc literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.c b/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.c new file mode 100755 index 0000000..cd8359f --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "LastVisitedUTRANCellInformation.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_LastVisitedUTRANCellInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LastVisitedUTRANCellInformation = { + "LastVisitedUTRANCellInformation", + "LastVisitedUTRANCellInformation", + &asn_OP_OCTET_STRING, + asn_DEF_LastVisitedUTRANCellInformation_tags_1, + sizeof(asn_DEF_LastVisitedUTRANCellInformation_tags_1) + /sizeof(asn_DEF_LastVisitedUTRANCellInformation_tags_1[0]), /* 1 */ + asn_DEF_LastVisitedUTRANCellInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_LastVisitedUTRANCellInformation_tags_1) + /sizeof(asn_DEF_LastVisitedUTRANCellInformation_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.h b/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.h new file mode 100755 index 0000000..7b3d2f1 --- /dev/null +++ b/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LastVisitedUTRANCellInformation_H_ +#define _LastVisitedUTRANCellInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LastVisitedUTRANCellInformation */ +typedef OCTET_STRING_t LastVisitedUTRANCellInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedUTRANCellInformation; +asn_struct_free_f LastVisitedUTRANCellInformation_free; +asn_struct_print_f LastVisitedUTRANCellInformation_print; +asn_constr_check_f LastVisitedUTRANCellInformation_constraint; +ber_type_decoder_f LastVisitedUTRANCellInformation_decode_ber; +der_type_encoder_f LastVisitedUTRANCellInformation_encode_der; +xer_type_decoder_f LastVisitedUTRANCellInformation_decode_xer; +xer_type_encoder_f LastVisitedUTRANCellInformation_encode_xer; +per_type_decoder_f LastVisitedUTRANCellInformation_decode_uper; +per_type_encoder_f LastVisitedUTRANCellInformation_encode_uper; +per_type_decoder_f LastVisitedUTRANCellInformation_decode_aper; +per_type_encoder_f LastVisitedUTRANCellInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LastVisitedUTRANCellInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.o b/asn1c_defs/all-defs/LastVisitedUTRANCellInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..d5060087d587313fba0067870b8dc0a8a88ba5e0 GIT binary patch literal 1920 zcmbVM&2G~`5T4ZKzeV(h#3hIWL87Y|RiXk38JRQ`RcVzbTsSz6>oyjNjj|gFIKUh5 z9DNTi960bQ+_=Gvz3Walwu(BEJ>U1u%#QcR`?a&Tv(jjQu?D<=GiFo(Z_ zuop`8Hj#;nkA{Q(%bp)kr@QHKHlKwm$}pe20{-?>}p{hT}!57R{$( zOSCuLMb6wW?zU)e3HMQm@dzk6?rKo#?=4^!b{aMD4%T=%+RMMF&Jg5Xv-o)!7Ly zI7)#EPh{Z!Z+f1$e-P~ZgU%p09Q1d4-CR3~(|DdlL7D|omP$1blT_uA!vp_ZdLTc< zkvzWubUyelnH9Blvv#Dfu_5kiOuDHhsa2!DX8O9u5C!5T3;irCe_Jk&tHpX&z5v*sgzwG1`aA)<4Et8uJN0+&oR1Ttsa4+2J>A8`P-3eS`f#jf~$nRh;e*s&7+} z*-wpWeYlx<8~+Z22J^f>oG@(X61Tsd(oOwD7u-UP9((?DQ`&ov5{&eq--$4@`)^>Z Ns{WT2?cc<%{|6J|mVW>M literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Limited-list.c b/asn1c_defs/all-defs/Limited-list.c new file mode 100755 index 0000000..9eed088 --- /dev/null +++ b/asn1c_defs/all-defs/Limited-list.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Limited-list.h" + +#include "ProtocolExtensionContainer.h" +asn_per_constraints_t asn_PER_type_Limited_list_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct Limited_list__Member, nrCellID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrCellID" + }, + { ATF_POINTER, 1, offsetof(struct Limited_list__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P98, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrCellID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct Limited_list__Member), + offsetof(struct Limited_list__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 2, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 2, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Limited_list_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Limited_list_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Limited_list_specs_1 = { + sizeof(struct Limited_list), + offsetof(struct Limited_list, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Limited_list = { + "Limited-list", + "Limited-list", + &asn_OP_SEQUENCE_OF, + asn_DEF_Limited_list_tags_1, + sizeof(asn_DEF_Limited_list_tags_1) + /sizeof(asn_DEF_Limited_list_tags_1[0]), /* 1 */ + asn_DEF_Limited_list_tags_1, /* Same as above */ + sizeof(asn_DEF_Limited_list_tags_1) + /sizeof(asn_DEF_Limited_list_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Limited_list_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_Limited_list_1, + 1, /* Single element */ + &asn_SPC_Limited_list_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Limited-list.h b/asn1c_defs/all-defs/Limited-list.h new file mode 100755 index 0000000..6317634 --- /dev/null +++ b/asn1c_defs/all-defs/Limited-list.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Limited_list_H_ +#define _Limited_list_H_ + + +#include + +/* Including external dependencies */ +#include +#include "NRCGI.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct Limited_list__Member { + NRCGI_t nrCellID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Limited_list__Member; + +/* Limited-list */ +typedef struct Limited_list { + A_SEQUENCE_OF(Limited_list__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Limited_list_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Limited_list; +extern asn_SET_OF_specifics_t asn_SPC_Limited_list_specs_1; +extern asn_TYPE_member_t asn_MBR_Limited_list_1[1]; +extern asn_per_constraints_t asn_PER_type_Limited_list_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Limited_list_H_ */ +#include diff --git a/asn1c_defs/all-defs/Limited-list.o b/asn1c_defs/all-defs/Limited-list.o new file mode 100644 index 0000000000000000000000000000000000000000..2e351da8ca6ebc4c1c5f5b9c0e1174d54b4acb76 GIT binary patch literal 3728 zcmb_ePjB2*5TC7ETK*MM3WPrgbE1_RD;p{`1%V73Ck<*+lQb%q%Ij>bX4T#GYVAm= zD#0E(MnXb8a?CLw03?na^AY+HKwNr*ndcer_^tO4)RCTNe!rP{Z{9qw-~JffT|L)m zfJg(rf(a59;PkbL?HkjFx8O1?qCG!x)ms0u)H%-~d6@_K%e8$%({i`l@8-$gLa&?U z0NcTLJHcivfWfGh^m^+n&Eqi9O8Hd$IF@*r>clwLDRtQ1J$B?NckGuGiV>hzHE7h6OPrScD=HG z$*;9qpS#y~b`J*mfqTol=`Aia4-9Jl&|LNwZ+gw^1+QkEHfi4T@OSN5J2N`sKv_j) zLI<1*7U19tb>hH8gQ}Xb*7{EG5`$+E@^1&8~AMC{A2d)v;NZX7r|#N^KTm- z>)}S9uz%0+m!QpZlZ%1PCmkIYzOx-GAeM~9pom7Dz0q0 z*e}&xp^NGZr&_zb>g;)`=*_Lx+IrcoaFph0C+(H@U@INuSO>OrdFiueczc=8o)jLN zdK;m9b8KGT5#ryWM3#Bh#Oq({wHdsx_^WJ_x}*4a6)*2Q&HtX_+iVm6zT(G_wG zw;=hcQ00DwKT^Exg{WtWr+xX1k7w|ID*gkuNu4U5?j}il=y&eX>V#Q$1tmb)PBzP3HGmQ#|#-Wqin5c=;}Zmp$p{ z@h<9oROo%N^5ifFZ!gYc@OHBdyirPkBAZ?lVbY6@n=J8KwAV{JF*-YGzn|bw%NwM5 z;;n7&EM$4ydCXP)e?>i%-so9;4U|o>T0TKQoPA^Z95iGt$`yn4r>LpVcK(SKC(vHM zxE}$QB!IQ#dloPGqJ8w&)&HFHP9%`A%UaYIXwcp03&HvYU;QsQpY9)e&uFhC@?L(6 zHib-XD)IvS%EX-lmQS~|3gZE)y85M|M^?OR;Vr~<_5VdbQk1rN0#N-_yIubyA2tQ7lNI3EMdEM6#56}OCRa?eFcYIKW(#askZre0sLYu UXhHn%QJ)|3U!gJjwb=Rp0k~TjL;wH) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Links-to-log.c b/asn1c_defs/all-defs/Links-to-log.c new file mode 100755 index 0000000..a3967db --- /dev/null +++ b/asn1c_defs/all-defs/Links-to-log.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Links-to-log.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Links_to_log_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Links_to_log_value2enum_1[] = { + { 0, 6, "uplink" }, + { 1, 8, "downlink" }, + { 2, 24, "both-uplink-and-downlink" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Links_to_log_enum2value_1[] = { + 2, /* both-uplink-and-downlink(2) */ + 1, /* downlink(1) */ + 0 /* uplink(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Links_to_log_specs_1 = { + asn_MAP_Links_to_log_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Links_to_log_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Links_to_log_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Links_to_log = { + "Links-to-log", + "Links-to-log", + &asn_OP_NativeEnumerated, + asn_DEF_Links_to_log_tags_1, + sizeof(asn_DEF_Links_to_log_tags_1) + /sizeof(asn_DEF_Links_to_log_tags_1[0]), /* 1 */ + asn_DEF_Links_to_log_tags_1, /* Same as above */ + sizeof(asn_DEF_Links_to_log_tags_1) + /sizeof(asn_DEF_Links_to_log_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Links_to_log_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Links_to_log_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Links-to-log.h b/asn1c_defs/all-defs/Links-to-log.h new file mode 100755 index 0000000..c45cb5d --- /dev/null +++ b/asn1c_defs/all-defs/Links-to-log.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Links_to_log_H_ +#define _Links_to_log_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Links_to_log { + Links_to_log_uplink = 0, + Links_to_log_downlink = 1, + Links_to_log_both_uplink_and_downlink = 2 + /* + * Enumeration is extensible + */ +} e_Links_to_log; + +/* Links-to-log */ +typedef long Links_to_log_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Links_to_log_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Links_to_log; +extern const asn_INTEGER_specifics_t asn_SPC_Links_to_log_specs_1; +asn_struct_free_f Links_to_log_free; +asn_struct_print_f Links_to_log_print; +asn_constr_check_f Links_to_log_constraint; +ber_type_decoder_f Links_to_log_decode_ber; +der_type_encoder_f Links_to_log_encode_der; +xer_type_decoder_f Links_to_log_decode_xer; +xer_type_encoder_f Links_to_log_encode_xer; +per_type_decoder_f Links_to_log_decode_uper; +per_type_encoder_f Links_to_log_encode_uper; +per_type_decoder_f Links_to_log_decode_aper; +per_type_encoder_f Links_to_log_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Links_to_log_H_ */ +#include diff --git a/asn1c_defs/all-defs/Links-to-log.o b/asn1c_defs/all-defs/Links-to-log.o new file mode 100644 index 0000000000000000000000000000000000000000..e77881800a04cb84e31ff65f4702da0af6d0189c GIT binary patch literal 2648 zcmbuAOK;Oa5P&Cjc|#wlhe`-3oG22u>Z$?+5;7`jD^yBURB?12$7(_oJBl}@y#NwI z;>fWV{!5Si1jMOFuADfQne|L;Z_{vKBxh#6nc3N0uQwlR8>|31^j!}=w|Ecq3mH-Q!55*742_Z;h|9NfI*VtEykKdWEg5A`2 zb?oJ{dO5ZqbOzB<6c4)RWl(HMr*Vckz8?5h-QNsUdq1jSdeje8)YQCQ+w#?6FDiEp zlQ>m<9&a~_qkcQ|{ZBjWk) z=KE`Mk86p`n1t2~e3oreJ8V<_O}2}Q_!WFShB61~E54i$;HJkUQch0bsTa-KK5HoKmkCSA-*@dbYtnZ?xcVpIn zHS)wY`)BtNz>*}emih+qDOpCBWVbCG!fRWVpUK}~n5$G)f^e8C + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* ListofEUTRACellsinEUTRACoordinationReq */ +typedef struct ListofEUTRACellsinEUTRACoordinationReq { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ListofEUTRACellsinEUTRACoordinationReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ListofEUTRACellsinEUTRACoordinationReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _ListofEUTRACellsinEUTRACoordinationReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationReq.o b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationReq.o new file mode 100644 index 0000000000000000000000000000000000000000..7504501ac2caa6d2d303be30bb92c3909597bc72 GIT binary patch literal 2600 zcmbtWy>HV%6o08HlyAy}#9}4_qNf;Dq5=sSj2l3u4QV66eZ4whl_&Y$@BQA#eP8m{Uzne$)j&xNZbM-y7U09t0=pS> z;S8LH2I32as}$`?DRWLBd0c+`{AGi{fQ4SllMTPK(!S$G{eIeu1x}LTdM^%nFNxdH z%YBvpYM9-a_PFH3#JS^&9fB9Nnx1#lu6Nc(F(27C*eq+zIHSyR-Z*otG0U7Qg8x?+ zG@m2zd#^0cDm@VZ7SQe;6bn6NVqp(uV!`AA`YJLtIF|D&b2Z~9z?Pnt)bBHX5_Y8h zMCz{@UySpV*c@@j91SD4DE zHvsiM zx;^0G8frcidQ%}Dz2d;uLmmQKOH*LOgba#w*c_TsKg`^OlvimH*0SqO(nu z>R+AvhsaS#@e-qfvMck{`z~0~m%^mm_)(}i|4%YsDhka+*-D4V5^e~0-hP$=w7$Bi zJf)wbQ(-;sXBk-%OJU~Rsm?E%|3zxLb7%20*N^@qnR|y6>`HRO7>8lvZ&7)EUH-3o KO~o`Z^Zx+yLg>T* literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.c b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.c new file mode 100755 index 0000000..3e995ee --- /dev/null +++ b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ListofEUTRACellsinEUTRACoordinationResp.h" + +#include "ECGI.h" +static asn_per_constraints_t asn_PER_type_ListofEUTRACellsinEUTRACoordinationResp_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ListofEUTRACellsinEUTRACoordinationResp_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ListofEUTRACellsinEUTRACoordinationResp_specs_1 = { + sizeof(struct ListofEUTRACellsinEUTRACoordinationResp), + offsetof(struct ListofEUTRACellsinEUTRACoordinationResp, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ListofEUTRACellsinEUTRACoordinationResp = { + "ListofEUTRACellsinEUTRACoordinationResp", + "ListofEUTRACellsinEUTRACoordinationResp", + &asn_OP_SEQUENCE_OF, + asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1, + sizeof(asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1) + /sizeof(asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1[0]), /* 1 */ + asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1, /* Same as above */ + sizeof(asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1) + /sizeof(asn_DEF_ListofEUTRACellsinEUTRACoordinationResp_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ListofEUTRACellsinEUTRACoordinationResp_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ListofEUTRACellsinEUTRACoordinationResp_1, + 1, /* Single element */ + &asn_SPC_ListofEUTRACellsinEUTRACoordinationResp_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.h b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.h new file mode 100755 index 0000000..0637686 --- /dev/null +++ b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ListofEUTRACellsinEUTRACoordinationResp_H_ +#define _ListofEUTRACellsinEUTRACoordinationResp_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* ListofEUTRACellsinEUTRACoordinationResp */ +typedef struct ListofEUTRACellsinEUTRACoordinationResp { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ListofEUTRACellsinEUTRACoordinationResp_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ListofEUTRACellsinEUTRACoordinationResp; + +#ifdef __cplusplus +} +#endif + +#endif /* _ListofEUTRACellsinEUTRACoordinationResp_H_ */ +#include diff --git a/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.o b/asn1c_defs/all-defs/ListofEUTRACellsinEUTRACoordinationResp.o new file mode 100644 index 0000000000000000000000000000000000000000..11cafda4a11f3bdea449ea8146d05ffe237f15da GIT binary patch literal 2608 zcmbtWOK;Oa5T4XLN_mzO5|?nI2)c?rRY#gnR5ckQ~De7mkj~~mb!saT;UpPscH>ZXleihB z{h?C7Gwg0`dsObf#CfBN{R6LRE!FD_)tOd%Czd4Nu0`o&R)6K96M3y&_|rsanbF$jJ%guPRn_(bgP+!z6yFD`Lr?Y|ek4z`mhK3h`$FCs{KbNX&jxSa z84&62whY^--uN?)nGt>#F9tElL8G53Hx z`_z<(-Tw`YA?~IX%lUkc*iC(ra2-!$yZ>*u>{;5I6Hi#=uL?TmiHCv``3 zwu$2Y`P@H3jzWqT84Z*JoyYIIVpU&^NjLGMP<#F#biP&;nhD#iLu3iplsj)f>Hu0_ zQ#g + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* ListofEUTRACellsinNRCoordinationReq */ +typedef struct ListofEUTRACellsinNRCoordinationReq { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ListofEUTRACellsinNRCoordinationReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ListofEUTRACellsinNRCoordinationReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _ListofEUTRACellsinNRCoordinationReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/ListofEUTRACellsinNRCoordinationReq.o b/asn1c_defs/all-defs/ListofEUTRACellsinNRCoordinationReq.o new file mode 100644 index 0000000000000000000000000000000000000000..b0416dd0fde9f7018643f0079bbd5b289edf2e55 GIT binary patch literal 2584 zcmbtWJ8#rL5T1((gm*#}iRM5^1c_K@6hs6PG8pFoh2*&8Bt&DJiy;Sz9nKqxP(XeJ zMSccl3TUV(DJf~`prH*j-dTII_K8y%$)1^SzM0vFckkZ&^K&D$8Yrp3Z74j20_+|w zY&SDqI0L7lf%aq(sWv!;?-KfXRli}+*o|ptEAyOp&aB;- zv7IXt|5po|&k^{&U&XVET{#f8fOfAe7FcBv5eqw1i3Ou2_%b3jIF{oo^J#{UK%FBk z)*mu_6n5Bu!um^w7vns|I4Mi3ufd4Z7g-hyPLx4JEI3}m{~$7<&1;Pr7jdD-OKgDa z1Mubm9ELaub{E1l4(|DL!4T{~gfG&-$x>Q=I}qEO(NKBaBu+)2Gaub;50xbQEVaC$ z*y(1}Rbv}+I@vrHTfvh5xZ^K)ey}(POa3ydKn^(U#UfuH-)lZNuq(Li+V06aiU=mI z_L6XA6HncVgr6jUWs0?lyBbcXr_TO;4WD3}l=|+e4qeSV_>ery-g2D!DcsfYb8M6P zrs4Y806X2@5a9}H(U*EnSt5EPz+MeS2=+>vg56KZA*N%`q8qJ;S(q#pRa&wfu)E2| zMub~n$BBsS=0ayW6=C<4Hn#sU&ttM$8@-OJJDN>gT`r(Qn7)P-cj<+)DOLWi=aw|+ z{-RsN%>QWclxz0CiUGo|DFSPif62h97m2FlvTgSNfjG%`sq%L{x1@0k72Ub6bo2K( zU)5vWh`w!tRDbo|KSYcu#m$Qj${y!YZCy;ijX|QC^Z&&8tnw1dS32bUM$VANXC~14 z>Z0%5;;U{yFV6qUn$Fx=e9ZNuUleoi5Q04hmyK~4F8=mZ=TGwg LxVKbH6EpuWvcBT; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.c b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.c new file mode 100755 index 0000000..293788e --- /dev/null +++ b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ListofNRCellsinNRCoordinationReq.h" + +#include "NRCGI.h" +static asn_per_constraints_t asn_PER_type_ListofNRCellsinNRCoordinationReq_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 0, 64 } /* (SIZE(0..64)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ListofNRCellsinNRCoordinationReq_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ListofNRCellsinNRCoordinationReq_specs_1 = { + sizeof(struct ListofNRCellsinNRCoordinationReq), + offsetof(struct ListofNRCellsinNRCoordinationReq, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ListofNRCellsinNRCoordinationReq = { + "ListofNRCellsinNRCoordinationReq", + "ListofNRCellsinNRCoordinationReq", + &asn_OP_SEQUENCE_OF, + asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1, + sizeof(asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1) + /sizeof(asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1[0]), /* 1 */ + asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1, /* Same as above */ + sizeof(asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1) + /sizeof(asn_DEF_ListofNRCellsinNRCoordinationReq_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ListofNRCellsinNRCoordinationReq_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ListofNRCellsinNRCoordinationReq_1, + 1, /* Single element */ + &asn_SPC_ListofNRCellsinNRCoordinationReq_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.h b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.h new file mode 100755 index 0000000..eb3a022 --- /dev/null +++ b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ListofNRCellsinNRCoordinationReq_H_ +#define _ListofNRCellsinNRCoordinationReq_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRCGI; + +/* ListofNRCellsinNRCoordinationReq */ +typedef struct ListofNRCellsinNRCoordinationReq { + A_SEQUENCE_OF(struct NRCGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ListofNRCellsinNRCoordinationReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ListofNRCellsinNRCoordinationReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _ListofNRCellsinNRCoordinationReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.o b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationReq.o new file mode 100644 index 0000000000000000000000000000000000000000..bce1b4db861bffd08900a6c914bd17cde4b64e2b GIT binary patch literal 2568 zcmbtWOK;Oa5T4W&%Dd%+#3cwMibPj2Dxv}jSp+wLN*mHf;^sQ3p@Gyc@m8W7phqPB z06&8h>H+Q?IdbHNxWO+dGu~Z$*g8s8M)J-#-#qrc$ynF@%Rv z7eRC(Oyl65KOc+=4P^K%4csig>9+#8y%~*8>Lzh22RiN1-PY&~)x&bLJ~}krjJjq> z2bn@P_N8X9>_2Y%i*-L(nule71y!KN8TMkCF9^OGjR*g30xmP#Eyz!R&6~X=-e9U^ z-az6{5}{>UYn%5NPq(G2?fZ5_LC*<271Exgfg9#zusjAmT(u zqOsVXNoCl5!N&GK@B${Awc&La*FA~AJ5jqUz_AW!mLsl2V`NP*j^=#BN1S+x3Tp3oi9*(S>L zZ_fQg + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRCGI; + +/* ListofNRCellsinNRCoordinationResp */ +typedef struct ListofNRCellsinNRCoordinationResp { + A_SEQUENCE_OF(struct NRCGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ListofNRCellsinNRCoordinationResp_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ListofNRCellsinNRCoordinationResp; + +#ifdef __cplusplus +} +#endif + +#endif /* _ListofNRCellsinNRCoordinationResp_H_ */ +#include diff --git a/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationResp.o b/asn1c_defs/all-defs/ListofNRCellsinNRCoordinationResp.o new file mode 100644 index 0000000000000000000000000000000000000000..9517a1415c1f027a1eb210847f2721dd7b8f74a7 GIT binary patch literal 2576 zcmbtW&1(}u6o2Vjjo+;Y5xhh}Y{3p$DOfDXV%*kBZDVT1+qy|t8*O((b^_Le_Ad~R z{uv&N=-s17k6r~2`WMvqc4l@T(+v&v!Or`=-}{*FN#6O(3uBcE7^%P=C@jMQd^lcU zFM}SOgR@Xae5r7iqJ1r8&M_oU=#Tq7ZZN#uO=a?YrPYYGw$g5lAW8Zg-8hupByL4% zkHwAx?YY|auo_2+^M(~W0ejIkS z{Z#AE8DEU^jOIx>tUjZWuW~cT4xGv{2M(O%W`=)bJIUs?sUt4pLQfos2ACeg&ky0@ z(2F2C5TE zs79JbHvZLSu;xEn_g5Nzu(|+i{$o^u8fw^$Wxgu-b}TO0TY<~Xb`A2AVDn}Vi8q*P znYWPm(?n>Q(%R-d#?!5-Y5P9oCp9Kz&O6niCwUh?l4n^%b#MY$k4$@X@H+aTgZ zMq+VgeI}J*=M@{<|G>+bY}SU?@wmY-#d5iVhP{U5_ozYXDV4Xi94T-e6}=vO56JV0 zni8@5zkxBt-Lzs&{#A>ozDP_RPh-3PpU9K^P%3Y0IZ|LA6}`2dGV`{opXjRYh|V@q zrhjwpA0S5|#fysu%AU?M@3>-BUj~zI;YXqN{J-dYttd1TV;dbJOSrDwdHYod(E4&Q zc}BlPr@=h#R~cCnOJVlhsm>pr|4nPUbLa81*N=Wl?7c$@_B6RW&*LjQkz KL&ccb`Tqcrh2R N; sorted by tag */ + asn_MAP_LoadIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_LoadIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LoadIndicator = { + "LoadIndicator", + "LoadIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_LoadIndicator_tags_1, + sizeof(asn_DEF_LoadIndicator_tags_1) + /sizeof(asn_DEF_LoadIndicator_tags_1[0]), /* 1 */ + asn_DEF_LoadIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_LoadIndicator_tags_1) + /sizeof(asn_DEF_LoadIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_LoadIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_LoadIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LoadIndicator.h b/asn1c_defs/all-defs/LoadIndicator.h new file mode 100755 index 0000000..00bbb88 --- /dev/null +++ b/asn1c_defs/all-defs/LoadIndicator.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LoadIndicator_H_ +#define _LoadIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum LoadIndicator { + LoadIndicator_lowLoad = 0, + LoadIndicator_mediumLoad = 1, + LoadIndicator_highLoad = 2, + LoadIndicator_overLoad = 3 + /* + * Enumeration is extensible + */ +} e_LoadIndicator; + +/* LoadIndicator */ +typedef long LoadIndicator_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_LoadIndicator_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_LoadIndicator; +extern const asn_INTEGER_specifics_t asn_SPC_LoadIndicator_specs_1; +asn_struct_free_f LoadIndicator_free; +asn_struct_print_f LoadIndicator_print; +asn_constr_check_f LoadIndicator_constraint; +ber_type_decoder_f LoadIndicator_decode_ber; +der_type_encoder_f LoadIndicator_encode_der; +xer_type_decoder_f LoadIndicator_decode_xer; +xer_type_encoder_f LoadIndicator_encode_xer; +per_type_decoder_f LoadIndicator_decode_uper; +per_type_encoder_f LoadIndicator_encode_uper; +per_type_decoder_f LoadIndicator_decode_aper; +per_type_encoder_f LoadIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LoadIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/LoadIndicator.o b/asn1c_defs/all-defs/LoadIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..d7c2028340f19bf602a1e59c62f0cb65efe1ecdb GIT binary patch literal 2736 zcmbtV&2G~`5T4Wp%3pstph{fAiGrxrlu96wkWonssFYAtadaKWY66K}#hXGeP>CBS zjvNtB!U^#R9Qz3H0+gA}Oud;VQV}EV&dfJIJ3H%Lzpt*XjFn0tRD%0ZXo3R#I$g+t z6$6-pNg#NPhlP3a9OaP7fkujJS=4x(Hd=9HvM#ihr(O)F%(N!JP^ zbDhMX_p0@iP+MaQtf>XH+hUKc{f1XF}mpo5o>vdHHU6 zZnNG?O|N|0U-B2`D?O`K-c|1S3rl|GdLLIA2UV(P9DW}TqJ7O9v0Lw`dxKHlh)#OA z!Z7k|M+Yr4sFtAUnj7gkxEtlcvF?Cx^Gra%j$6#1Bd7e+tP3aAgY%3IG7t1=0T^_d zaq4e!$VcREPRaDu`pYQ;)Y$NSg#Ur{FZMOZ{yP43WHCv5oslkNT(o}da%>5k`&lhqk4$SfsiJ?gkKWS;e?;X5ilk-5KgkJA>Rq%wBJb_M9n_4>k@vM z^?ik3W&N|lZ?F!2zSl8P9l7cDc~c~lyfxrAA`^jM&vWp*87bsh@hhk%?Z}!*603qS z#&2hFg!VY=bP_ybKg~?yudZ*-=O&6@OCkTquV6U!$oU=Ggn^xpPvq+o^@%WfZ^ag{ zAm<=>Sp??Skkh&8_)p4DRK5O9G!V8Z4$LL~mck`ocz|}2_4)^h5y|(`*8s{QFu#YK z-r9h5VY7V6zA&T)Zds}<99AzJAr&co{8=lCzmzpV5P z)Q8polk1m0QvFoBuKyKcwA2C)m&&{$Ive{jG> m^rJUG*H3SWK6`{ + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LoadInformation */ +typedef struct LoadInformation { + ProtocolIE_Container_8180P27_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LoadInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LoadInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_LoadInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_LoadInformation_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _LoadInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LoadInformation.o b/asn1c_defs/all-defs/LoadInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..7a2f2a2331af96a80bd275f32b4c51049fb142e2 GIT binary patch literal 2480 zcmbtV&2G~`5T4Zh|Fjf1Ai*J=C=y-8Ri#ECAwx(@QE3BJrQTfEHBCigNAXrFLV_N+ zbLADd@fdL9$Wx&51TbUIB-_mfAv#h#-+VjY%zC}MdEZ=FoTyYltO5^V7zqn-bb5$` z0tPSzldzISJIm>-tly3FUY0_ypXn^lI?K&`DEJGqd)e_g>A&Wg`UwnvqnX@E@lz~N zGm4Cxm+&+P(*g>X8jbtanT_rJRPR?8)V!+A`uj!Xzw_&=Hn04>49GglH&W@Cs<9rzq9mO8jahV4fT{Pxj z7~$8EnKtIx=8V_q&0ZpWJBI&=Jk>em#7*{}3x4=svM0VF@2YPf92G;9r{R<4VrU(y zP)ECY=oiD!AGKV=b4iC29Qs1I)(Y2~FE*O1jV1^P<1Ec}KiW%mS^V+Kk>X|B^;TnK zB=04$OpCg<1_wWEWU0ogNk6Rn^;&Cgf!Bx}?Nf8NoZ~T@mo+1Pl5@!2U`#xHWyzZv z!_)aBqx`7?m5&x<;-v;rTl7F9e!4*A;}c`zuNwS!gQxeBTIPEl+l?xJ)78;7C|vr| zw*~3sK!e(ebOdTU&q4Jw3MkW8K88srDuxMJq3UFDL}VcW6=&UUf*)3;nNHNw>c(uY zqnLL4$?PV|X${U;WdbXfkaA7CjRA4?4HKA22DbHgaE#XWfA#lJOEu}fF)iTWmPsO( z{^BW*u-$(PIkF$68$7E6RDuWS=q?P(aPVyN1$o5GCG@nPWFN`CUqjB-Ki~=0STC+B zfc-P{uKt^RD5Veer`yc#A0kJs?0=3P_rH!~rpb8_ZWjTi+VlLtdip-5F~D`095DHl0>kWS(VgPb_jvse4J|=i{|C`0 Bw~_z= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/LocationReportingInformation.c b/asn1c_defs/all-defs/LocationReportingInformation.c new file mode 100755 index 0000000..0265761 --- /dev/null +++ b/asn1c_defs/all-defs/LocationReportingInformation.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "LocationReportingInformation.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_LocationReportingInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LocationReportingInformation, eventType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EventType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eventType" + }, + { ATF_NOFLAGS, 0, offsetof(struct LocationReportingInformation, reportArea), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReportArea, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reportArea" + }, + { ATF_POINTER, 1, offsetof(struct LocationReportingInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P158, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_LocationReportingInformation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_LocationReportingInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LocationReportingInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportArea */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LocationReportingInformation_specs_1 = { + sizeof(struct LocationReportingInformation), + offsetof(struct LocationReportingInformation, _asn_ctx), + asn_MAP_LocationReportingInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_LocationReportingInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LocationReportingInformation = { + "LocationReportingInformation", + "LocationReportingInformation", + &asn_OP_SEQUENCE, + asn_DEF_LocationReportingInformation_tags_1, + sizeof(asn_DEF_LocationReportingInformation_tags_1) + /sizeof(asn_DEF_LocationReportingInformation_tags_1[0]), /* 1 */ + asn_DEF_LocationReportingInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_LocationReportingInformation_tags_1) + /sizeof(asn_DEF_LocationReportingInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_LocationReportingInformation_1, + 3, /* Elements count */ + &asn_SPC_LocationReportingInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/LocationReportingInformation.h b/asn1c_defs/all-defs/LocationReportingInformation.h new file mode 100755 index 0000000..e844af0 --- /dev/null +++ b/asn1c_defs/all-defs/LocationReportingInformation.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _LocationReportingInformation_H_ +#define _LocationReportingInformation_H_ + + +#include + +/* Including external dependencies */ +#include "EventType.h" +#include "ReportArea.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* LocationReportingInformation */ +typedef struct LocationReportingInformation { + EventType_t eventType; + ReportArea_t reportArea; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LocationReportingInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LocationReportingInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_LocationReportingInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_LocationReportingInformation_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _LocationReportingInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/LocationReportingInformation.o b/asn1c_defs/all-defs/LocationReportingInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..9e00dc3922ec2b23cc87d0269ec7d6bf45de1b98 GIT binary patch literal 3120 zcmb_eOK;Oa5S}zV%Bv5c5)wiRCyGR^xD*kAgxm(V1(i1RadzEc(ul;4>@8|JK#ttG z^bhbqIB-CmI3j)oD!%|`oS9_1I4M*eX*1t^J2SgGyV>lnZfVc&0*0WSaDMP)m4f_Z8E)W)!#Kf%11DpQKcUekKay2^f- zyo69qb)i~F4DqxE-NzAopvyW^cNcI z6#UBE)BK^C^m616%}D37SDD8VvLp|u|Dp@Xx@HPK;_tXN|84I6iki-zDL;_N;(sDfdD%$q-fdR$wt ztZNSWtUT*|_*x%+;KgKB!B0Z(u{-Y#y1zW-*AmZ8eV@%%j`W=l8vp7YH6`&;lSoHj zsd#Jd^9^^o?1BKViub3A{d%Z6Gn`u;Jj2dH)+*(}Zb>Vs>XUQ3m$=ldbJwSrxlolj zQc*Q(bZ_=@6e^rr5PPNRyLQFCSK$dDn7o_?;zzXB>R~B zqQ*;3qAD6c&Y09DW6E=xF{ypV#9v`d>KkL?>0f_??E{U!%9zw7IiiUFt&Rzc8b84t zskX*b{%P*h>!$y^&HBha0amitRQ?uf6?gQuAQkK?uwMAe2Wu-yz=|U>$kVoLG=qkp zb`vs8tAQT^M5ZBNRikDTAAhjINCnoy^2Su6{OT*7_3_np45d=gJEDuD8ye=ab(x!p zh%;|;r|WSTnDMkvRP*D;-@#bQDf@>o701wQroMz_9u8x3{5J9=@5QlWLV>lYhY0Ac zaD-sp;(}H<{vz^p&g6W_d0Ih^T+Hzc{D>E^PnUvjAbyH1Yy40A^hrF8Pn0>nha8Qs ze>0#7n@p6*(4?SYf;DUuFXIqLvd{6fKe})^y7g~ir*OL8XLCZ_Y5J0#<@$xmG1iyR kZv>mUetOx>+9L(u`2*mCF`!}Mo0}bf!1ZraGEL0*Kb + +/* Including external dependencies */ +#include "ReportIntervalMDT.h" +#include "ReportAmountMDT.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M1PeriodicReporting */ +typedef struct M1PeriodicReporting { + ReportIntervalMDT_t reportInterval; + ReportAmountMDT_t reportAmount; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M1PeriodicReporting_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M1PeriodicReporting; +extern asn_SEQUENCE_specifics_t asn_SPC_M1PeriodicReporting_specs_1; +extern asn_TYPE_member_t asn_MBR_M1PeriodicReporting_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _M1PeriodicReporting_H_ */ +#include diff --git a/asn1c_defs/all-defs/M1PeriodicReporting.o b/asn1c_defs/all-defs/M1PeriodicReporting.o new file mode 100644 index 0000000000000000000000000000000000000000..036e1621a0978c259f07e9f87518ab1a0e8aadce GIT binary patch literal 3072 zcmb_e%}>-&5PwVkz)!%BXktv(cn}k5wg?e1A;o0@jSCgzTuNzR<8DjZhrx@kH;*2< z_$T;3XyU=6M{oWM`WNU-JJWspXfYBdDKqn%ulMG?oyXh8v-yEaMKD#wjOb~M3Skc_ zaw^(lNL&<6%L(FEwAu1kf}JRqt#C`ksq`e2LHx>VlRDdpc0(yzjj_g_48o)pg-I`E zsidz(*UJKpGQ%PG0NDNj9pdueCT!cOW6X>D$8Q+Ev&WbhQWa7S(Cdmt?<=2&j&lh1 zR3+>M#~_Y-Pgd`AT$?X1%ed%-V!$-OX@_C?~9SLi{c~ zQ=@Msy&Oj0id4LKmj+ZQB14=!0AB;7BF+fxE0P*%h|?LU{GA3F{h2tMheN-Cu#mK}Gs@qDeZ zRBs3tTpxy_jJ*~NN?d94@k-$`vPG^s^+Id16Zq;1vcb&bxH%@ zYUh)>9)%KC6~yk;_Aw`5F@#3Z5s3Y7XR26K@T-I&>nb?r zuaQmdoBC_z8H{0w^Y31m$?J~vHh{}G`?g`%om26c}WNKTE+yV(P zeKOm*N57!Q-vKlB{HXEwAQp3u!>5u>%8Uwv%=MY0AIf_DE?`LS*)dZ^l{m9UAmHq` z86a*`Lmi4g4>;a4zF&NwmH{iOU!_Nx? N; sorted by tag */ + asn_MAP_M1ReportingTrigger_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M1ReportingTrigger_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M1ReportingTrigger = { + "M1ReportingTrigger", + "M1ReportingTrigger", + &asn_OP_NativeEnumerated, + asn_DEF_M1ReportingTrigger_tags_1, + sizeof(asn_DEF_M1ReportingTrigger_tags_1) + /sizeof(asn_DEF_M1ReportingTrigger_tags_1[0]), /* 1 */ + asn_DEF_M1ReportingTrigger_tags_1, /* Same as above */ + sizeof(asn_DEF_M1ReportingTrigger_tags_1) + /sizeof(asn_DEF_M1ReportingTrigger_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M1ReportingTrigger_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M1ReportingTrigger_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M1ReportingTrigger.h b/asn1c_defs/all-defs/M1ReportingTrigger.h new file mode 100755 index 0000000..77f89a2 --- /dev/null +++ b/asn1c_defs/all-defs/M1ReportingTrigger.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M1ReportingTrigger_H_ +#define _M1ReportingTrigger_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M1ReportingTrigger { + M1ReportingTrigger_periodic = 0, + M1ReportingTrigger_a2eventtriggered = 1, + /* + * Enumeration is extensible + */ + M1ReportingTrigger_a2eventtriggered_periodic = 2 +} e_M1ReportingTrigger; + +/* M1ReportingTrigger */ +typedef long M1ReportingTrigger_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M1ReportingTrigger_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M1ReportingTrigger; +extern const asn_INTEGER_specifics_t asn_SPC_M1ReportingTrigger_specs_1; +asn_struct_free_f M1ReportingTrigger_free; +asn_struct_print_f M1ReportingTrigger_print; +asn_constr_check_f M1ReportingTrigger_constraint; +ber_type_decoder_f M1ReportingTrigger_decode_ber; +der_type_encoder_f M1ReportingTrigger_encode_der; +xer_type_decoder_f M1ReportingTrigger_decode_xer; +xer_type_encoder_f M1ReportingTrigger_encode_xer; +per_type_decoder_f M1ReportingTrigger_decode_uper; +per_type_encoder_f M1ReportingTrigger_encode_uper; +per_type_decoder_f M1ReportingTrigger_decode_aper; +per_type_encoder_f M1ReportingTrigger_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M1ReportingTrigger_H_ */ +#include diff --git a/asn1c_defs/all-defs/M1ReportingTrigger.o b/asn1c_defs/all-defs/M1ReportingTrigger.o new file mode 100644 index 0000000000000000000000000000000000000000..26075487ccc0ba34741af38342c299fd98b1556d GIT binary patch literal 2696 zcmbuA%}x|S5P)kLfA9}nB?hC1HVgxQctG%;h4pBTXnN<0q3(pgs7naxZufs2}W z;pjW~7+yT`7#uu!^##PL-m2ZEcYqix>8Yx(tGa5tXL>&^yjmP7l|ZBf&tTvQ1vtDk zutQ^pFb-otnBv_W+dpP8Y3Dpvf;H7iGu=v>Z?jgjsWRxOtd(xH8W7jiu1d7-akVuB zs{PP&stl&>K8d>iAo6T$nx`p$ z4w4dF?sGfSvv@xM4G-Mi1ei1Hj6%qP%d9t0)B2KeojEBFu36r|^x*2iVe0^O+3J6r z`8U+=8Pe2u9A#_Y>I6}K;wXy$gS_1D5@4EwNrpctAHSqLiC!!$M#Gblj+=QDn243< z^`eN~c&DpsD(SY*j-!a03Ff%sil)@-dbAqr)~;H>B$dUQzHV%?zOWYQ{f;W?qmd@L z&Uo#nO7NO!L`fR;c-%^~S>jE7z9>8Is0RH|N9g^w-!eIOm&+LtAGg++WSh9;5|Z<9 zc}SBe#AQwLm+65*ylkxAV}ottx7fB7@hdn&hSCFZvc;G8i8%e<+c-$Jd&<-$exLo% z4zIEge!kz<@g{1W_4Kw_TJ34@w_+WGznSOYXDK-p8TbLZY9}_+WXY_9F~{FY8!^r| z(smoKfAEu3D}QNqy_)N|@j)8-KYb6=X)mn5IkRABp2H7{wPgw&Vsy9L60#%vEprty zSU*5bXXEC7b>hTz>p#K?Vl@e1E%{3hmweG7&XeudKSD+#??ul8sEEP(DQdcVL-s|D z^2hXp0o|X3HBCj_vTe8KO~DC&QM^A9ADb;a@5&@bx$ko(`` zc + +/* Including external dependencies */ +#include "MeasurementThresholdA2.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M1ThresholdEventA2 */ +typedef struct M1ThresholdEventA2 { + MeasurementThresholdA2_t measurementThreshold; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M1ThresholdEventA2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M1ThresholdEventA2; +extern asn_SEQUENCE_specifics_t asn_SPC_M1ThresholdEventA2_specs_1; +extern asn_TYPE_member_t asn_MBR_M1ThresholdEventA2_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _M1ThresholdEventA2_H_ */ +#include diff --git a/asn1c_defs/all-defs/M1ThresholdEventA2.o b/asn1c_defs/all-defs/M1ThresholdEventA2.o new file mode 100644 index 0000000000000000000000000000000000000000..bc47a27fccde30fcd7374057a3f7eb0f493ee432 GIT binary patch literal 2856 zcmb_d&2G~`5T0QE%1=uHA*5c6ghY_26^E)+AR(9FwnDTGw3Rp@88@|>io~ws4Jrqq zkI_fq$dLmF9)T-wz!7d7kYL81Nj4j&AYi2ReDlrU?s~m`<3C(DQYwK+3GPDQ5*DC& zqK~}{dN2Xwuj%Tx%_mugo>=>*wCgB6xg3|-G7#5ro*we2N zO=|ORvgZKxxn5KsydA-RK%VOCbLczPpEJI{UO7`gkT0q~g)g#*FSrn#283xG-1irP z;oBlm;dUChS;X>ueMCexY8@Vvw53RKo2>q7Jy`P}ZTKrS9|QyqypL2T+=*2_hkK8U z=8#WttzIi~rn^yNpnbswi1(swLcNoyq>;3G_hBuG6;2@P1asA!Zrz=g&Bwi`??peg zC($M`d3hJaPh=7K<1%C7>9pBwmsy+qlEzC-qUsty$(YnL##HA#V^VZ3Nr=CYq5ScQ zG4Zr6@qN|!i;PK?DG){CW#0Ne=wFe!UiluuNnf^AxQSYIa@`c9qCEx9R;WU7Hq#WG zPC^Dnx{ixx)Cw~ROBbU*9j z>4t`R+j`6uM8uglrq_!Y1ZMsLg<6FPh>AoBj8ZBdJJW zZi3BP)ExwLCwoG$KH!hb=KM3r6D8+M&eJM#Mg2c=UWMz4vIVeyfV!yvdw!vkPyOi@ zHv0$2QLCXpArocv>0;{!;%yw1FMY&a=6rfTy702H9O8Fz2&c!b4^1fdnz3XTg+5{O qJ13mQxN#ij`soj9zI&vgPMeCdXf!lT{O1+tf8qV#ry`n|`M&^!ap5Nb literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/M3Configuration.c b/asn1c_defs/all-defs/M3Configuration.c new file mode 100755 index 0000000..75fbf3e --- /dev/null +++ b/asn1c_defs/all-defs/M3Configuration.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "M3Configuration.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_M3Configuration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct M3Configuration, m3period), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_M3period, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "m3period" + }, + { ATF_POINTER, 1, offsetof(struct M3Configuration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P161, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_M3Configuration_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_M3Configuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M3Configuration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m3period */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_M3Configuration_specs_1 = { + sizeof(struct M3Configuration), + offsetof(struct M3Configuration, _asn_ctx), + asn_MAP_M3Configuration_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_M3Configuration_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M3Configuration = { + "M3Configuration", + "M3Configuration", + &asn_OP_SEQUENCE, + asn_DEF_M3Configuration_tags_1, + sizeof(asn_DEF_M3Configuration_tags_1) + /sizeof(asn_DEF_M3Configuration_tags_1[0]), /* 1 */ + asn_DEF_M3Configuration_tags_1, /* Same as above */ + sizeof(asn_DEF_M3Configuration_tags_1) + /sizeof(asn_DEF_M3Configuration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M3Configuration_1, + 2, /* Elements count */ + &asn_SPC_M3Configuration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M3Configuration.h b/asn1c_defs/all-defs/M3Configuration.h new file mode 100755 index 0000000..570d2a4 --- /dev/null +++ b/asn1c_defs/all-defs/M3Configuration.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M3Configuration_H_ +#define _M3Configuration_H_ + + +#include + +/* Including external dependencies */ +#include "M3period.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M3Configuration */ +typedef struct M3Configuration { + M3period_t m3period; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M3Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M3Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _M3Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/M3Configuration.o b/asn1c_defs/all-defs/M3Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..f0550c6021a86510720e05262ab612df8a6f215a GIT binary patch literal 2824 zcmb_dOK;Oa5T4YO_oD?4ATCC#M3ATzw-r<%Awx)8p*{ko5;xfPbkv8+qH;;XIck;fryf9WOfk+7+LT(8QuyiWN zfrbHGf{U;+TTMEzo7=r^q?$AZQ*kFnHqCSY71?XC?NRl{Mmdh) zDd#uJ5g~u=qIJ?ZjpHPa|5X=D9g;Fy69!}NTh7boCB^1xt&&4Af!K@H>V3DovDxdW zo_o)m^D5JRPh0*wf8MLidH(H;r?inmwNJpW!ZUUb&77BTz+PqMbHK@i4CLSpMdHBt z5Pb!i5}W~-J(4-2`Elqo|B3ao=JUr;VV;x&IWKez0o50A8GJxZ{1n?VFPV-J&u*<8 zIA@vz?7-Op7Vr_lq_N)}c6>o?-WQ4gK7#)-ft?50Ox03n=iOtJ5BYsjx zWIxv!6Mq4R%Qp1|5}RMjXw6?{Osa11)C2l#zhX^w%v-i^@brd6zA>P9+Lx^Rr@>!k zOsY(QC=!1?Gj-n-p7teT?^oUrcJ;!ANxL261@JnFioM0vjpyzmFVAMFKMuT-Kr< zAfO%^2*G-fAD7Gd=aDB$-kIE|HROus|IB$6t|!VB!1^ibqWSmvgGxTlPyZ73{2_8Q z)zCj36J_+7;+h8HZ5)&@^N735`Sg8E;ce+0;&*WfXU4r4T2SV-W63TGeaYkjC(v7- lz+vy7{vqvej}+ADP*J9=2`y9i#G?GKeExl1CI7MW{{U^R)7=07 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/M3period.c b/asn1c_defs/all-defs/M3period.c new file mode 100755 index 0000000..b18dc59 --- /dev/null +++ b/asn1c_defs/all-defs/M3period.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "M3period.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_M3period_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_M3period_value2enum_1[] = { + { 0, 5, "ms100" }, + { 1, 6, "ms1000" }, + { 2, 7, "ms10000" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_M3period_enum2value_1[] = { + 0, /* ms100(0) */ + 1, /* ms1000(1) */ + 2 /* ms10000(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_M3period_specs_1 = { + asn_MAP_M3period_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_M3period_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M3period_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M3period = { + "M3period", + "M3period", + &asn_OP_NativeEnumerated, + asn_DEF_M3period_tags_1, + sizeof(asn_DEF_M3period_tags_1) + /sizeof(asn_DEF_M3period_tags_1[0]), /* 1 */ + asn_DEF_M3period_tags_1, /* Same as above */ + sizeof(asn_DEF_M3period_tags_1) + /sizeof(asn_DEF_M3period_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M3period_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M3period_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M3period.h b/asn1c_defs/all-defs/M3period.h new file mode 100755 index 0000000..b642510 --- /dev/null +++ b/asn1c_defs/all-defs/M3period.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M3period_H_ +#define _M3period_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M3period { + M3period_ms100 = 0, + M3period_ms1000 = 1, + M3period_ms10000 = 2 + /* + * Enumeration is extensible + */ +} e_M3period; + +/* M3period */ +typedef long M3period_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M3period_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M3period; +extern const asn_INTEGER_specifics_t asn_SPC_M3period_specs_1; +asn_struct_free_f M3period_free; +asn_struct_print_f M3period_print; +asn_constr_check_f M3period_constraint; +ber_type_decoder_f M3period_decode_ber; +der_type_encoder_f M3period_encode_der; +xer_type_decoder_f M3period_decode_xer; +xer_type_encoder_f M3period_encode_xer; +per_type_decoder_f M3period_decode_uper; +per_type_encoder_f M3period_encode_uper; +per_type_decoder_f M3period_decode_aper; +per_type_encoder_f M3period_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M3period_H_ */ +#include diff --git a/asn1c_defs/all-defs/M3period.o b/asn1c_defs/all-defs/M3period.o new file mode 100644 index 0000000000000000000000000000000000000000..0ba4782121776e48c63ffe15b3e45f55bef5a480 GIT binary patch literal 2592 zcmbu9Uu)Dr5Wwe}YW>?<5fKDALGT2-T+V``Aklhl5nGQ+@iCXCp{?E}^|Dvm7ZrTb zH$Q@pevIOiA3^X_2tN2$XZB{Ay=|@_4s2%Tw==u5lVsmDpUsa|Dj-sUhfsJz0oo@E zJ1}MdQ!ojH$9Ndb4`Lz*EaD%hm+ovQy{&8=y18Gk51yjx$0d%KbI;=XBhrrGnnh?0 z`+U|Ec<7Ad_}6_-*o#>CR@+U4>^tGa!@}I${c3G>t)J?C^{$##^%=i!JpZkKPt|9Y ze`~Vh(8!&J6kFv~f&BQU4}Els7mo7;E_P3EgR{Z!Mnw zin=WRn~5*ZRpWS&A4bIx zC*MwDDtk!iyDYj3hwsbf(mUc))(ThHCSG(AK>FzNz>1eO2`yTDnr%{TwrQPv$nI=nS9gI1ulf@Cv$62?V;EPmgrW3WWygHNXD1I%4{GYyx>C_AN z9t=h-OR=_GM~4{Q%eDmUNWW#SDhBJDsOjCf`JbIQaozoI;{>sW1hAI;YYvxu(E-kr z?e4#ij6}YRfd^0(gY^T{bY}+ai~7PB={^Ix_vpKl?@<1ir^smkF&wtkxWG#`L|gI& zzeJ;~{($p8N+9d1gI$iN`e|?3U+RB_jJB%du;n}NPw&ST#wLe&jzgFo z_qz<1#8Q~sJ6h)t=Sv;ukxk-o>!<(UefNl9pW#n(EOE=CJE|=I2lwxTl}o0Z{})Xm BwjBTf literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/M4Configuration.c b/asn1c_defs/all-defs/M4Configuration.c new file mode 100755 index 0000000..bfdd34e --- /dev/null +++ b/asn1c_defs/all-defs/M4Configuration.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "M4Configuration.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_M4Configuration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct M4Configuration, m4period), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_M4period, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "m4period" + }, + { ATF_NOFLAGS, 0, offsetof(struct M4Configuration, m4_links_to_log), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Links_to_log, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "m4-links-to-log" + }, + { ATF_POINTER, 1, offsetof(struct M4Configuration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P162, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_M4Configuration_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_M4Configuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M4Configuration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m4period */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m4-links-to-log */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_M4Configuration_specs_1 = { + sizeof(struct M4Configuration), + offsetof(struct M4Configuration, _asn_ctx), + asn_MAP_M4Configuration_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_M4Configuration_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M4Configuration = { + "M4Configuration", + "M4Configuration", + &asn_OP_SEQUENCE, + asn_DEF_M4Configuration_tags_1, + sizeof(asn_DEF_M4Configuration_tags_1) + /sizeof(asn_DEF_M4Configuration_tags_1[0]), /* 1 */ + asn_DEF_M4Configuration_tags_1, /* Same as above */ + sizeof(asn_DEF_M4Configuration_tags_1) + /sizeof(asn_DEF_M4Configuration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M4Configuration_1, + 3, /* Elements count */ + &asn_SPC_M4Configuration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M4Configuration.h b/asn1c_defs/all-defs/M4Configuration.h new file mode 100755 index 0000000..5ef3be5 --- /dev/null +++ b/asn1c_defs/all-defs/M4Configuration.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M4Configuration_H_ +#define _M4Configuration_H_ + + +#include + +/* Including external dependencies */ +#include "M4period.h" +#include "Links-to-log.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M4Configuration */ +typedef struct M4Configuration { + M4period_t m4period; + Links_to_log_t m4_links_to_log; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M4Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M4Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _M4Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/M4Configuration.o b/asn1c_defs/all-defs/M4Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..faa7341732194b2ac1a82fb6c285bc8b111f3ea9 GIT binary patch literal 3032 zcmb_dJ8u&~5MJkaghwFZAqCNxibTREU$9632^|QXw?kczTdG;wi`w;gi-ba>-r7wHIxaNgZB?%nDhE1hCFGU# zbNx%Q*JA6#;+=V#rLTP%3{sph@)=GTl zJX2?2CH)-Ez=}*fdzTK)kVTFLpoBjABYh`~{qC^&6Y+7DP4;aF z{$mLKdk8*8b;`R%*jzr>rtE;L-1HZ`_ zSjWJTf0}J(-B1T1yFT)NDmQu4)Zr#^-R|-ok#uyRmAe({P`R5)qTF^21)iSkks39^ z)C|c|-9}ss0j43!t;Nk|L>I|z#X52qR@MuN4r{xzyc6@=6p2#ctW5Gv#gMsdJ>(8a z!0e9e_dEs#JN_=2QS+0=-=kRMw0{VnFwkt5^}aH{aGxxY?fE-|f!>Q_S5k;G$uK=%9rVVK{1 z+euX$49r0>C~wFRw`m|=<^cveWgW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/M4period.c b/asn1c_defs/all-defs/M4period.c new file mode 100755 index 0000000..1d04024 --- /dev/null +++ b/asn1c_defs/all-defs/M4period.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "M4period.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_M4period_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_M4period_value2enum_1[] = { + { 0, 6, "ms1024" }, + { 1, 6, "ms2048" }, + { 2, 6, "ms5120" }, + { 3, 7, "ms10240" }, + { 4, 4, "min1" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_M4period_enum2value_1[] = { + 4, /* min1(4) */ + 0, /* ms1024(0) */ + 3, /* ms10240(3) */ + 1, /* ms2048(1) */ + 2 /* ms5120(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_M4period_specs_1 = { + asn_MAP_M4period_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_M4period_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M4period_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M4period = { + "M4period", + "M4period", + &asn_OP_NativeEnumerated, + asn_DEF_M4period_tags_1, + sizeof(asn_DEF_M4period_tags_1) + /sizeof(asn_DEF_M4period_tags_1[0]), /* 1 */ + asn_DEF_M4period_tags_1, /* Same as above */ + sizeof(asn_DEF_M4period_tags_1) + /sizeof(asn_DEF_M4period_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M4period_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M4period_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M4period.h b/asn1c_defs/all-defs/M4period.h new file mode 100755 index 0000000..5f826a6 --- /dev/null +++ b/asn1c_defs/all-defs/M4period.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M4period_H_ +#define _M4period_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M4period { + M4period_ms1024 = 0, + M4period_ms2048 = 1, + M4period_ms5120 = 2, + M4period_ms10240 = 3, + M4period_min1 = 4 + /* + * Enumeration is extensible + */ +} e_M4period; + +/* M4period */ +typedef long M4period_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M4period_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M4period; +extern const asn_INTEGER_specifics_t asn_SPC_M4period_specs_1; +asn_struct_free_f M4period_free; +asn_struct_print_f M4period_print; +asn_constr_check_f M4period_constraint; +ber_type_decoder_f M4period_decode_ber; +der_type_encoder_f M4period_encode_der; +xer_type_decoder_f M4period_decode_xer; +xer_type_encoder_f M4period_encode_xer; +per_type_decoder_f M4period_decode_uper; +per_type_encoder_f M4period_encode_uper; +per_type_decoder_f M4period_decode_aper; +per_type_encoder_f M4period_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M4period_H_ */ +#include diff --git a/asn1c_defs/all-defs/M4period.o b/asn1c_defs/all-defs/M4period.o new file mode 100644 index 0000000000000000000000000000000000000000..05365216ef7ac47a428f89b042cee76e0aaaee2a GIT binary patch literal 2720 zcmbtU&1w`u5bn)H6aVrff&oER5RGVton^(KAfw49K}=jCL2t8@&5*2SXXDOnNG>XP z^5)S;$T3Hc!ISUc#YfO5i1qbWWqR9LP%P-F`o8+5Y;UMm;+4u3Qsq)*megIZTw;=RGxi3S z=yTZbV&lHxzW~!#jJzjifZ9Wr--f4%z|8)&4`ckgq~zPY>~Hhv4>HnICr{~L^oe6} zZti|@dTqTMr`_T`x8jy&ysk#xTW{7aRb1~@k3UJtGtlR-`gNS=a|TSo88Aghe`$YK za%hJ|Nu&QQ=HHN(+DvKnk)D&r+-mGRAe|TgRmW%VHO=u#en7XO!Xysns|$fpK^kr* zfv5T9N41RK4Y#{dIf}cjJTLgN4q>lZQx|(y3s%Ckxf@j}H0p$Dw4wQ0bu~!$ccN^k zMmtW@4%gX?V!A6DLEH{{eAtXro%p;qm*pfoQ3GxF3BF77>ySy#xKUw>ZSax{ zO6F+uKAa@rr6%wa9wgu=wbgsn*#>`+ZBv0iL(6AUdH@ew_NcKRJl+>MkgcB5`+}GF z_ZEMd@n?&_%J|UYZ!lJFvfoO>b<%04r? + +/* Including external dependencies */ +#include "M5period.h" +#include "Links-to-log.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M5Configuration */ +typedef struct M5Configuration { + M5period_t m5period; + Links_to_log_t m5_links_to_log; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M5Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M5Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _M5Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/M5Configuration.o b/asn1c_defs/all-defs/M5Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..a77dac1b88e6f9f3836f220164ddb3e2aea0d30f GIT binary patch literal 3032 zcmb_dJ8u&~5MFaU!Xx1Dkb-DTMIzyoFAowxLI&d`LU|aX)R&8MI96<5A7@@b*WUU6o?%+Ja%8@K5Sl6 z&{I>;3&{bGGng?&u@_6FN4bfOtxijKa&zvCTgZEz#PZ&H^KN0r^(K2fWegXrbyodK zy;JANP7Z50M|NcL>8EsPg*0*0xdHkHF&TAHp|23hoFbf|_%2A25pL2l;f%VFaQKlt zV8`HLLmKp;zKFzsV19-jvMx-=h-Y`A9Cg_=``Aftt#2maBmIsU=iOoVC(>EQrusI7 z|1pIBJ%k^nKBd*S2a{V>LEQ46mlu3%WcfO%#lDxgSDw8ZaQ8gxmC}GG-V3Y!%%_zB zKNX$|8&WzYAZki_%D$2ftyTQ>^2?3#YN@OQ_*I&qx*gP8+Bg%BT{+}3X0NX!AG24; zN;}d~HEQ$+G0kpGb;7nkKQ--Dya&_f9RcGtG~Z(R4A{Kf0r)W_vdHWJKT40hj}z>- z`6YwD&KRm<@R%W8wl`U$4rYnS0R!;(&xw3x03PR(eg8E0n~b3*5J)2Nw|k~qGWc7} zL3Irt^(Wb9_6>ayvHK(cPvypMnmX7bt=m1lBS?q)TDjYS4wSnU$I5L-Fc9gv9+_by zNZde{={BNj05VBYZZ&E)Lwb?iR-{9Badjgf>!7+T+dHwoLz!p=?#h&+X&9K>)@SY# z0%uR$Vn5<2u=DSc8$Ca1{(Z_tP0VFeifqi8Bw<-!G~$5m^}EDD-b-N5R5{k79uvTf zE(*bVoEuu<{42!cJ(KrK-lsL<($>%M$F{)rMCAmqenC2I{T==kNj}yGWv}lOhxN^G zJDF;eiFp`?be&W!tPZ-||CEbO$ N; sorted by tag */ + asn_MAP_M5period_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M5period_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M5period = { + "M5period", + "M5period", + &asn_OP_NativeEnumerated, + asn_DEF_M5period_tags_1, + sizeof(asn_DEF_M5period_tags_1) + /sizeof(asn_DEF_M5period_tags_1[0]), /* 1 */ + asn_DEF_M5period_tags_1, /* Same as above */ + sizeof(asn_DEF_M5period_tags_1) + /sizeof(asn_DEF_M5period_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M5period_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M5period_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M5period.h b/asn1c_defs/all-defs/M5period.h new file mode 100755 index 0000000..946ddef --- /dev/null +++ b/asn1c_defs/all-defs/M5period.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M5period_H_ +#define _M5period_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M5period { + M5period_ms1024 = 0, + M5period_ms2048 = 1, + M5period_ms5120 = 2, + M5period_ms10240 = 3, + M5period_min1 = 4 + /* + * Enumeration is extensible + */ +} e_M5period; + +/* M5period */ +typedef long M5period_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M5period_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M5period; +extern const asn_INTEGER_specifics_t asn_SPC_M5period_specs_1; +asn_struct_free_f M5period_free; +asn_struct_print_f M5period_print; +asn_constr_check_f M5period_constraint; +ber_type_decoder_f M5period_decode_ber; +der_type_encoder_f M5period_encode_der; +xer_type_decoder_f M5period_decode_xer; +xer_type_encoder_f M5period_encode_xer; +per_type_decoder_f M5period_decode_uper; +per_type_encoder_f M5period_encode_uper; +per_type_decoder_f M5period_decode_aper; +per_type_encoder_f M5period_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M5period_H_ */ +#include diff --git a/asn1c_defs/all-defs/M5period.o b/asn1c_defs/all-defs/M5period.o new file mode 100644 index 0000000000000000000000000000000000000000..7c40acf2b1cd42a81194a892869d5284d76254c4 GIT binary patch literal 2720 zcmbtU%}x|S5bkAA@Q)v3B8iDv6QdYqva?wt(Zr0x0x^Oc48hwlEE8B|XK`niz(q|w zdGqKaaOCKbc=8>*_z3z0SYK}y)7#D_8Y}6k`o8+~Hhv4>HtMr%&l$^r>TE zcJ@JWa&@B!^&sRKIPnCv>_*v6 z^;VpuZLYHw#dKHHgSZuR`LGeEI`KtqHp@wNqdMB|5qy{C*CCUzd6^yfQKP~H+u$V^ zl+4lQeK<+LOHJTKJV?NgYpeTMXB+%wwoL{894((o=>a@!*`vmO@OWS3K(@O|?+aey z-&_1u#-AH%O=LuHF_ajrLRJZiZ>7+>InrZo375NYC{MMmwQ) z!xFDWQ;xgSs)yvSx0=m}4&IGhY2+>}uTCXtSbr^z{GYx?>6o2;pZa~uBG!}}1i;Dt zD?XnMIUnJRVz9nV8s}-}f3o5P+WX%l2e`5Xu$KJ07BBgtee%P$_dg~MBHvLLDOD7M z^+VFQV|~V=e)7e8%mnUbe1~{fi2Pqq$;SQzAPp&TgSdxH88ZRdYqawEU+4TUR(#RI zD}?jdkmJ!mdbj(3MI5#&(K2O%UkK-83b& + +/* Including external dependencies */ +#include "M6report-interval.h" +#include "M6delay-threshold.h" +#include "Links-to-log.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M6Configuration */ +typedef struct M6Configuration { + M6report_interval_t m6report_interval; + M6delay_threshold_t *m6delay_threshold; /* OPTIONAL */ + Links_to_log_t m6_links_to_log; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M6Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M6Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _M6Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/M6Configuration.o b/asn1c_defs/all-defs/M6Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..bf4c1924b542cb8ee50256d10eebe66a0727d4c9 GIT binary patch literal 3256 zcmb_eOK;Oa5Z*K`P#&e_C8S;g7lK5rxKyPAgbZog2=x(K^@ilSsY#+bab<5%dx87` z?i_pPPatvOh{S~>H?DBw1~c}Iz1ccdRduBG%zX3Oo!#u_eRX+pB$pFRIq^)S8lyt| zy^zXQBwFICm=G&-6~FtY-RuR9Z2Mi&nG4)KKaiz%SGvJl#{*=?^_+u}Yz1!E^1U5E zN?yCW8>2^a%5T<2LB(711PoFTyyhygc9AkaOY;^Ug!A0t_a7U$Ey$Iv%4!u$^`6CC-%zd!YK@-1BS% zZjp>J5x!KZJT4SBw|iaLD?Bo0jdIECMVk4}oHxp|hIv26DKeX3zESZf^Q`0tW|+q3 z2WG0`>Wo!9yDNDymO7Di9e7TRC+p?NnFt>fee&C)<}F9~c|wIKCldB4#ToV@|8Z86 zIv)tHkwv*iAW!O_1cHzkmsB;8^U;Y;)JXUQ-zjCiEi!)rj=uq&z5|ej{~Chh)tKc! zJp?Zg!S##MXb30l+6&c1Tf0JS=`=&zjLa)9){mHD%SOFihgjU@7U{fHeB&$u3^ z&T#NM9G)?+XhLgsd!zblv$|TT3Kr}JT-!2m;Ko=9m5%{Q}r)ij=!vBfLjFP4rp5K5!9TXyrhTrM9a4?OoFI{74b+Z&or?Jb^ zJ2jt%NNfe}txA@vC^EGzLGFNrn0~WciN~Oz$KL}p_WZQ*4 N; sorted by tag */ + asn_MAP_M6delay_threshold_enum2value_1, /* N => "tag"; sorted by N */ + 12, /* Number of elements in the maps */ + 13, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M6delay_threshold_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M6delay_threshold = { + "M6delay-threshold", + "M6delay-threshold", + &asn_OP_NativeEnumerated, + asn_DEF_M6delay_threshold_tags_1, + sizeof(asn_DEF_M6delay_threshold_tags_1) + /sizeof(asn_DEF_M6delay_threshold_tags_1[0]), /* 1 */ + asn_DEF_M6delay_threshold_tags_1, /* Same as above */ + sizeof(asn_DEF_M6delay_threshold_tags_1) + /sizeof(asn_DEF_M6delay_threshold_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M6delay_threshold_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M6delay_threshold_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M6delay-threshold.h b/asn1c_defs/all-defs/M6delay-threshold.h new file mode 100755 index 0000000..be50579 --- /dev/null +++ b/asn1c_defs/all-defs/M6delay-threshold.h @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M6delay_threshold_H_ +#define _M6delay_threshold_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M6delay_threshold { + M6delay_threshold_ms30 = 0, + M6delay_threshold_ms40 = 1, + M6delay_threshold_ms50 = 2, + M6delay_threshold_ms60 = 3, + M6delay_threshold_ms70 = 4, + M6delay_threshold_ms80 = 5, + M6delay_threshold_ms90 = 6, + M6delay_threshold_ms100 = 7, + M6delay_threshold_ms150 = 8, + M6delay_threshold_ms300 = 9, + M6delay_threshold_ms500 = 10, + M6delay_threshold_ms750 = 11 + /* + * Enumeration is extensible + */ +} e_M6delay_threshold; + +/* M6delay-threshold */ +typedef long M6delay_threshold_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M6delay_threshold_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M6delay_threshold; +extern const asn_INTEGER_specifics_t asn_SPC_M6delay_threshold_specs_1; +asn_struct_free_f M6delay_threshold_free; +asn_struct_print_f M6delay_threshold_print; +asn_constr_check_f M6delay_threshold_constraint; +ber_type_decoder_f M6delay_threshold_decode_ber; +der_type_encoder_f M6delay_threshold_encode_der; +xer_type_decoder_f M6delay_threshold_decode_xer; +xer_type_encoder_f M6delay_threshold_encode_xer; +per_type_decoder_f M6delay_threshold_decode_uper; +per_type_encoder_f M6delay_threshold_encode_uper; +per_type_decoder_f M6delay_threshold_decode_aper; +per_type_encoder_f M6delay_threshold_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M6delay_threshold_H_ */ +#include diff --git a/asn1c_defs/all-defs/M6delay-threshold.o b/asn1c_defs/all-defs/M6delay-threshold.o new file mode 100644 index 0000000000000000000000000000000000000000..bf5395bccb88aa2e2062ed7063c08a5b590b037a GIT binary patch literal 3248 zcmbtWOK%fF44$y%{b-AXsDMMbKoE45l)eB7Eh?c1(Gr0wdO^!JS&>2>Rd$2u1(4te zaOA{q;KZ3DzXI_S;KmL7&D!nM*-)Wcnz8-ap7D6Rk2lr(clH$uMyOzJnr%%`V}2gm zmIEsWX4IT82S^^_VPT$*I?5j=2O26a%{Jmzv^kkJdvVh2wi>3LTrJZyjcEqcET%b3 z^O&w-s+8?)?N_ZlW9K51CQV5%cR$p4l66Tb}KN z!3fWGMjo!Kmic%Cr#0pjnF>a#y7S&V2X}YzwmNkiowe&6G66$HZk#6;KWK`KyN{`7 zJDLp+^K92U0EzEuj63-^+5Cz47|SmELdv*Pw;CJ26VLPiZT+Q-oac4mMdjB`lyt(| z)jJ{E!mXEBm`2Z%uwosSZq;%eUPi5cJQa8P?SHz#VaoclTkdvtp9i&YIZD@G##M@m zdr=xUEMBWV4AaexI46mEx09qjUin$viF@nyu+t4QJX-Ihc7;c^g`D7IBd+6&I|*%&ZW{ZG%PW&f8r5G&B75U!DI7oE0SRfqNulfBDaV4fK{1+^v3($u}?m9~}Rbxm}c|q6o|% z63@$jfHk&itPHe1}-GCYG3HOcJSQb_-`D5 jf5a0sbpCi3=5004FZnZSL#5KUH$T3~8@(gDOFI59Kpo{3 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/M6report-interval.c b/asn1c_defs/all-defs/M6report-interval.c new file mode 100755 index 0000000..5d72dba --- /dev/null +++ b/asn1c_defs/all-defs/M6report-interval.c @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "M6report-interval.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_M6report_interval_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_M6report_interval_value2enum_1[] = { + { 0, 6, "ms1024" }, + { 1, 6, "ms2048" }, + { 2, 6, "ms5120" }, + { 3, 7, "ms10240" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_M6report_interval_enum2value_1[] = { + 0, /* ms1024(0) */ + 3, /* ms10240(3) */ + 1, /* ms2048(1) */ + 2 /* ms5120(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_M6report_interval_specs_1 = { + asn_MAP_M6report_interval_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_M6report_interval_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_M6report_interval_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M6report_interval = { + "M6report-interval", + "M6report-interval", + &asn_OP_NativeEnumerated, + asn_DEF_M6report_interval_tags_1, + sizeof(asn_DEF_M6report_interval_tags_1) + /sizeof(asn_DEF_M6report_interval_tags_1[0]), /* 1 */ + asn_DEF_M6report_interval_tags_1, /* Same as above */ + sizeof(asn_DEF_M6report_interval_tags_1) + /sizeof(asn_DEF_M6report_interval_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M6report_interval_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_M6report_interval_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/M6report-interval.h b/asn1c_defs/all-defs/M6report-interval.h new file mode 100755 index 0000000..bfe68ac --- /dev/null +++ b/asn1c_defs/all-defs/M6report-interval.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M6report_interval_H_ +#define _M6report_interval_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum M6report_interval { + M6report_interval_ms1024 = 0, + M6report_interval_ms2048 = 1, + M6report_interval_ms5120 = 2, + M6report_interval_ms10240 = 3 + /* + * Enumeration is extensible + */ +} e_M6report_interval; + +/* M6report-interval */ +typedef long M6report_interval_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M6report_interval_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M6report_interval; +extern const asn_INTEGER_specifics_t asn_SPC_M6report_interval_specs_1; +asn_struct_free_f M6report_interval_free; +asn_struct_print_f M6report_interval_print; +asn_constr_check_f M6report_interval_constraint; +ber_type_decoder_f M6report_interval_decode_ber; +der_type_encoder_f M6report_interval_encode_der; +xer_type_decoder_f M6report_interval_decode_xer; +xer_type_encoder_f M6report_interval_encode_xer; +per_type_decoder_f M6report_interval_decode_uper; +per_type_encoder_f M6report_interval_encode_uper; +per_type_decoder_f M6report_interval_decode_aper; +per_type_encoder_f M6report_interval_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M6report_interval_H_ */ +#include diff --git a/asn1c_defs/all-defs/M6report-interval.o b/asn1c_defs/all-defs/M6report-interval.o new file mode 100644 index 0000000000000000000000000000000000000000..e6f3d2ace56c4cbfc5e16c6b658a3d3692f1c2db GIT binary patch literal 2736 zcmbtVOK;Oa5T4Wp%Bv3~qym?4qDZZ=qfjc4kWopC5G_$r#R)mCyJ`xJQ`wt}UH}Px z07p)UU%|OYegY?c1KfHmGn<*lUK}1`r1i}A&0}YGvzynAM@u7>3W!wTE)0;c0N+mz z?7)}-Ou#r0J;KA#{Bd&Nh$Tl2HCN_SwcAbg+;*Z>x)<$0C-c2p9aYV%FQB^V*E}Y@ zp=FL8_F8Ow9Qc>UOi3KAmFm(y{7FVJ-~^6;?IXASW(vu-dFjFCl zJ6iNyL|B2rYV(;+j?ZT~FqVhLo;P*IAYf06^)u8|f0D6if)1Qzwx}F9QzQ_*!!ecX zzs(UJQRizi4WCWCoH9U@9p8q;ADZ~Vx{iOpzg#pohA2zI`;Dbge4$*zP)A!?=$n9* zd(Dynys14^Q%SG$+b{~KnOF`hozBejxEZcSdV5bbFh`}4R-1-zHr7JDzpF}`h`ULq zQ?9(F5|wVpVbTrze1xkp6`nK~OOmr)71J7vLceReuOhOOHZNyI{DcIfo@SeP$t6n8 z!R7;Uq7W}N2|u6@3h`6M>VH~n6Mup2ydwTIj(|z&fq1fI4*4AsPwSOhZL~>*zto5D zhPCij#vd&H8e?#?{f>?{Q0ug>+hS?;QiHo0=?L77ECV;~5}-)m^%1I_$hgT8uSH{y zyVH&F|H6&CosPnzc9X7F?(*vTT&AP=g*5Vi`U zL#T?un)Z{<&CY*s#R;_MpG608H3?uX`8O + +/* Including external dependencies */ +#include "M7period.h" +#include "Links-to-log.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* M7Configuration */ +typedef struct M7Configuration { + M7period_t m7period; + Links_to_log_t m7_links_to_log; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M7Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_M7Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _M7Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/M7Configuration.o b/asn1c_defs/all-defs/M7Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..31bd320322ff37a9f2002e3a17a342b56884c517 GIT binary patch literal 3032 zcmb_dJ8u&~5MFaU!Xx1Dkb-DTMIzyoF9aMwLI&d`LU|aX)R&8MI96<5x}q+t=-<3NRuAa7m@f6%+Inz)`jU9@$62Nqb{1}06WR84a@|5q~8hSyxZ*lL^{jZRNqGM zKSuDsNATm+r?mR^U~+3Jh}-`2%DiulEMEup*!L3m^0QY%?!ITOS|0MmyJ2mR`LsIZ zr@}K~Q%a`OcY;P+8)xFND~DXd?DcizWA+MJ z?L<1NMa{t=rrE8jPT2A1X6|`a@4|JS!8yAAE!s&$0_#P z{G!2MWeim{c+8L<+Z(J=2eU+Ep8M*-kIb+c zByJ$fbemBv0GXsHw-&WpA-za$JJO-Mu(Fname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 60)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_M7period_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 60 } /* (1..60,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_M7period_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_M7period = { + "M7period", + "M7period", + &asn_OP_NativeInteger, + asn_DEF_M7period_tags_1, + sizeof(asn_DEF_M7period_tags_1) + /sizeof(asn_DEF_M7period_tags_1[0]), /* 1 */ + asn_DEF_M7period_tags_1, /* Same as above */ + sizeof(asn_DEF_M7period_tags_1) + /sizeof(asn_DEF_M7period_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_M7period_constr_1, M7period_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/M7period.h b/asn1c_defs/all-defs/M7period.h new file mode 100755 index 0000000..4f8b10e --- /dev/null +++ b/asn1c_defs/all-defs/M7period.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _M7period_H_ +#define _M7period_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* M7period */ +typedef long M7period_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_M7period_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_M7period; +asn_struct_free_f M7period_free; +asn_struct_print_f M7period_print; +asn_constr_check_f M7period_constraint; +ber_type_decoder_f M7period_decode_ber; +der_type_encoder_f M7period_encode_der; +xer_type_decoder_f M7period_decode_xer; +xer_type_encoder_f M7period_encode_xer; +per_type_decoder_f M7period_decode_uper; +per_type_encoder_f M7period_encode_uper; +per_type_decoder_f M7period_decode_aper; +per_type_encoder_f M7period_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _M7period_H_ */ +#include diff --git a/asn1c_defs/all-defs/M7period.o b/asn1c_defs/all-defs/M7period.o new file mode 100644 index 0000000000000000000000000000000000000000..0ea6344601874f82dd92f8ec03396b218116ee09 GIT binary patch literal 2752 zcmbVM&1)1{5Py^2O|mhLlemX~vNVey37D7ZC?rIY36q!(j4|jcL1D+vOy@)ABTV;% zxCa%Yhrw0+GyEU+64;wwBqzax9tAz92ie22vFdeI&zon51q)tR)vxOJUUj{Xd$WZL zU8$5{Ns05K?J+9E{qDA%Q)W&Kh>UO_ez`K=+MRE`2xr_!-Og)w`(4W2{^#tb<38N| zYY!wm>281MEj;QeJU)obTfexG;kG`zt^b^zLhH@+-tN-%)~g$T$E44S6eR-p)*z9b z-S^Mc`q2l=;(-X)el7~DFBXBKLHn9gj(I`NDHY59N-*YCDx=D{II-b3*6U?i632rn zd(*2leY;i7zh(~uc)UEKVx@X52pisdEwop>^@?APqddvJizfv5e>i0NjQ^kR z#e}(he##!cy47nU#Cf}Ftoj$Oj5K2r?_#Z!rPl!C3-Y3GW$WL#7{AoB)O;4(M)dTLNe6lw->Mw$2fScgMYE zmL!~gU0b40ca?n_zJppn)t&)12V+3{-!+vj#1iNX*}AHNGobZm~JW`QfW2@m;JQ@01p^#-S z^n_dv0wEi9bTHkKlbtSXt>UNzusAAYsa~!6HJAwANMFt^TpbNUuXLO8{k7ss!>jsn zQQvRaK;@q6v*gI(^Ug87M~EGPfpCV z_k~>bp5mM)KZA=UhzaAVM{L~4W&W=Q&h_&=Ify6m$0;Fi@R`T@H{zT1-=~B%gKr!D zCGeB_pQR`98RcXD@pb0K`m~LJL}L0Y0Ap&F;;cRp{}cnH30540 z>M$6i6s3mDf+%R_J|MoC&U{y&6m0%~hVOxq)W28MKkgIu58pTDGmiC`YXc;168M%1 nJ_H!v9g~l5m$~- + +/* Including external dependencies */ +#include "MBMS-Service-Area-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MBMS-Service-Area-Identity-List */ +typedef struct MBMS_Service_Area_Identity_List { + A_SEQUENCE_OF(MBMS_Service_Area_Identity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MBMS_Service_Area_Identity_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MBMS_Service_Area_Identity_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _MBMS_Service_Area_Identity_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/MBMS-Service-Area-Identity-List.o b/asn1c_defs/all-defs/MBMS-Service-Area-Identity-List.o new file mode 100644 index 0000000000000000000000000000000000000000..16120f7325ad58e4e24c15674fbb2b280e0856e8 GIT binary patch literal 2584 zcmbtWOK;Oa5T4W&N_n-MDj_5z4it$jF{(rb5;6^L0re3QDsgk&)S>~JRPh#34$vb% zp+5t0>H+Q?IdVkYxWO+dGu~NySvyKqMzZIdZ)SGZ`s zyRP_QCFpxjz@NjiI49qgf7}kx?iIxWr${2>V1+VqV6;GAMWzC$GG1pkQ+@mk01S z2ki@|6kc%7psLgmh&>89h%zFAZ-5%~0-c$3t`4y>24=oV7I9 z9GalUZ#C*eBa`j8t><%u>8JBvX@srd$!f4%55kpsXa!GEg=&&frz?-J7S;~pvKzan zdK87&yxvRVHKsV-6Nx`V1j{sQoA(W#Zja0MLxZ1WOiG`78i!i*9zG;%>08ayyoLJ) ze~~e%Zw7DP4G_uhmW%f8Z^8p-&L1hEmx2*i4lfav$gph!>5q8Y!6Qa2&()mlY) zAlkjHE$rMNx;+_-h2_<1BBS<8V{ZQgFJZD?8*?1rGz?6!rd&aTICBlj@6!uqTdC~r zW=Mf+sHltB`5&z~ZQAv3po6$uI)Js#cP*Z3k?3)J#&-Q5$di0mDto&bQs6Es>bbr$ zv-bqI>M<@vXPYQpU!VKO$Wch%dC@>Q;5^;W6{~7#Oj`B%;`e{%d{$YCwzZDXL%5bj zDDZ^?Xnjr5d0M|fr^aU7uQIYEmcs0Br*VFB{#Vv?=Pux5uOI!Q*n5W*95C6m=3$xm S+f$xD#sA~p(qM+z`F{b^j^1+s literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MBMS-Service-Area-Identity.c b/asn1c_defs/all-defs/MBMS-Service-Area-Identity.c new file mode 100755 index 0000000..4d1608d --- /dev/null +++ b/asn1c_defs/all-defs/MBMS-Service-Area-Identity.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MBMS-Service-Area-Identity.h" + +int +MBMS_Service_Area_Identity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_MBMS_Service_Area_Identity_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MBMS_Service_Area_Identity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MBMS_Service_Area_Identity = { + "MBMS-Service-Area-Identity", + "MBMS-Service-Area-Identity", + &asn_OP_OCTET_STRING, + asn_DEF_MBMS_Service_Area_Identity_tags_1, + sizeof(asn_DEF_MBMS_Service_Area_Identity_tags_1) + /sizeof(asn_DEF_MBMS_Service_Area_Identity_tags_1[0]), /* 1 */ + asn_DEF_MBMS_Service_Area_Identity_tags_1, /* Same as above */ + sizeof(asn_DEF_MBMS_Service_Area_Identity_tags_1) + /sizeof(asn_DEF_MBMS_Service_Area_Identity_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MBMS_Service_Area_Identity_constr_1, MBMS_Service_Area_Identity_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MBMS-Service-Area-Identity.h b/asn1c_defs/all-defs/MBMS-Service-Area-Identity.h new file mode 100755 index 0000000..25ba247 --- /dev/null +++ b/asn1c_defs/all-defs/MBMS-Service-Area-Identity.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MBMS_Service_Area_Identity_H_ +#define _MBMS_Service_Area_Identity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MBMS-Service-Area-Identity */ +typedef OCTET_STRING_t MBMS_Service_Area_Identity_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MBMS_Service_Area_Identity_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MBMS_Service_Area_Identity; +asn_struct_free_f MBMS_Service_Area_Identity_free; +asn_struct_print_f MBMS_Service_Area_Identity_print; +asn_constr_check_f MBMS_Service_Area_Identity_constraint; +ber_type_decoder_f MBMS_Service_Area_Identity_decode_ber; +der_type_encoder_f MBMS_Service_Area_Identity_encode_der; +xer_type_decoder_f MBMS_Service_Area_Identity_decode_xer; +xer_type_encoder_f MBMS_Service_Area_Identity_encode_xer; +per_type_decoder_f MBMS_Service_Area_Identity_decode_uper; +per_type_encoder_f MBMS_Service_Area_Identity_encode_uper; +per_type_decoder_f MBMS_Service_Area_Identity_decode_aper; +per_type_encoder_f MBMS_Service_Area_Identity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MBMS_Service_Area_Identity_H_ */ +#include diff --git a/asn1c_defs/all-defs/MBMS-Service-Area-Identity.o b/asn1c_defs/all-defs/MBMS-Service-Area-Identity.o new file mode 100644 index 0000000000000000000000000000000000000000..2cbaa494049399a12c0ecbe847a8c7d25404f94e GIT binary patch literal 2944 zcmbtV&2Jl35Ff{-F>P?2mP4c>x|c#C;cd2xM3h72)K0UJoDaoGK_Ic+*z3l{AC-3< zC6#EALJt-Kapc%Pfde-#kwAiTPL()wq8B(I4u~-GcE)~wT_YsM@|&68o0&In-g~o8 zR?2rKQYjEh!7UhSf&vsKHCc%Tn1&pFIZ8NYUHw z@rz9P^U3lTuaVD#Yi=yK{omdG-){d$=VbZp^!*R|&p-UWe(72XFdnZBETqJMA#)`i*vE)%`{@s10Vv zhc)vWr<-SG>f`)OJV(H4vAAT-?(X&4QO|nUUa;r$PETphV`tHxU$C9I7>Cz6Kno)-d|-e=8ZPSUKu*KdKo-GO z!pnKCEBySR)?&ZSxac}h!v$Sc@_RU5*6OLw46#q}KMlkE?kj76XUNrEVO`j_C`@bh z-{Og1kSE#0_^XdE3ZI}?TDjwqk;l)@qi5&Iv-2YVe&{)1my7c>+@!%#QO7t8U*UfU zuS_<#yv^dy%8pmr*z3h5RNNK~JZUTud*t;pX48(V73_eJUkP2Y}!!wBq}ANgSK zg(2A84k={r*o&hoULWP73{a9;u&bR`3;R3R*wF)fbz?UlMt=2Uwh#8bde?6SD#QOb zSm;iBH#<%NF(P@7u{K&e!mi? zi|EwvDW>V4qs0=)gdMaYOzyq7i2s5B%q4$`Q$Re)zr+T+hQIg;-(i0<|7UElZ}?k= zzKMEL{hxFFPuQO7Pu*1Vm->H%7%eq&$H|TX{d + +/* Including external dependencies */ +#include "RadioframeAllocationPeriod.h" +#include "RadioframeAllocationOffset.h" +#include "SubframeAllocation.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* MBSFN-Subframe-Info */ +typedef struct MBSFN_Subframe_Info { + RadioframeAllocationPeriod_t radioframeAllocationPeriod; + RadioframeAllocationOffset_t radioframeAllocationOffset; + SubframeAllocation_t subframeAllocation; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MBSFN_Subframe_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MBSFN_Subframe_Info; +extern asn_SEQUENCE_specifics_t asn_SPC_MBSFN_Subframe_Info_specs_1; +extern asn_TYPE_member_t asn_MBR_MBSFN_Subframe_Info_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MBSFN_Subframe_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/MBSFN-Subframe-Info.o b/asn1c_defs/all-defs/MBSFN-Subframe-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..24b500d5af71d49cf58f1327f41467504a835ae6 GIT binary patch literal 3328 zcmcImOK;Oa5Z=_~Q67Epmbioq1c{iqR8SQOxlPjtqHSoY#09xd;A*tncG-cEpBvcP2cV~#bvkY3EytCyhxvIx4pU@wmi4$_${xIYFcYH11A&# zN!& z;Cd`!9$Z_nMq&M{IrJdc4lGIPzR3PnT>9glaKc&27{qY~+y{Ht&_HAYkMzZIc_v@j ztaaV6n}4KF>7}C4jWpw}F|C)TbmMM}%g|JgwTH!z)H9+Dbe4o`108alcgpefX=vh9 z;zZJQ;5jiOOwxIzCe9F=uo)21Uy@0J1sw5t(g*V-{$!4rCeCxUFKf}R^wmgs4}T|E z|ME!t2!v?d`xaBA1ofYL?5S)BcT<*O6&5Dn%vMs@6v3`DSIcToF>R>Tn;2 zzTI-exQ)5>)HdQKH>%}SYq0Coc?av+&xRaFnhQN2(nZdSJtNXo^}W!md+q+4Quf>s zeuU#&(~}R3s_}4|c0Il$_=Y(v1Mx9*Ai6;uaXjTF=>_5{zQk~T-l`0r zAQ{;f$(ZL7$;dvCjQC}ek$oWDUj>t3hhz;V}IFLd<9)y-lM+V$7e^~u>y2*pw0yTr-l3X^GU zedHEMh^a4u+4mR})c8AK#+jcq{vO0)&PiCDOj6Vd$@-F`AIfU|L%@)Zq+_g#JaNe$ zgMe?1DFNc+bd~og{sQ25&gA)$=V=YFwE741QBb0MlI5j99M5@L{e3DV6OAK^L3|gM#JJxJbwkLg`l3#)@^JBz o;tOQF2v+>IQhz^w8Kjl!;bsBtD+Lu5-tzSLLn_q6B#hMfU-{Y{+yDRo literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.c b/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.c new file mode 100755 index 0000000..8013fa7 --- /dev/null +++ b/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MBSFN-Subframe-Infolist.h" + +#include "MBSFN-Subframe-Info.h" +static asn_per_constraints_t asn_PER_type_MBSFN_Subframe_Infolist_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MBSFN_Subframe_Infolist_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MBSFN_Subframe_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MBSFN_Subframe_Infolist_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_MBSFN_Subframe_Infolist_specs_1 = { + sizeof(struct MBSFN_Subframe_Infolist), + offsetof(struct MBSFN_Subframe_Infolist, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MBSFN_Subframe_Infolist = { + "MBSFN-Subframe-Infolist", + "MBSFN-Subframe-Infolist", + &asn_OP_SEQUENCE_OF, + asn_DEF_MBSFN_Subframe_Infolist_tags_1, + sizeof(asn_DEF_MBSFN_Subframe_Infolist_tags_1) + /sizeof(asn_DEF_MBSFN_Subframe_Infolist_tags_1[0]), /* 1 */ + asn_DEF_MBSFN_Subframe_Infolist_tags_1, /* Same as above */ + sizeof(asn_DEF_MBSFN_Subframe_Infolist_tags_1) + /sizeof(asn_DEF_MBSFN_Subframe_Infolist_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MBSFN_Subframe_Infolist_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_MBSFN_Subframe_Infolist_1, + 1, /* Single element */ + &asn_SPC_MBSFN_Subframe_Infolist_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.h b/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.h new file mode 100755 index 0000000..15cd2a7 --- /dev/null +++ b/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MBSFN_Subframe_Infolist_H_ +#define _MBSFN_Subframe_Infolist_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct MBSFN_Subframe_Info; + +/* MBSFN-Subframe-Infolist */ +typedef struct MBSFN_Subframe_Infolist { + A_SEQUENCE_OF(struct MBSFN_Subframe_Info) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MBSFN_Subframe_Infolist_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MBSFN_Subframe_Infolist; + +#ifdef __cplusplus +} +#endif + +#endif /* _MBSFN_Subframe_Infolist_H_ */ +#include diff --git a/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.o b/asn1c_defs/all-defs/MBSFN-Subframe-Infolist.o new file mode 100644 index 0000000000000000000000000000000000000000..20fc7d46156e6c0ae98854cab41f78768adac313 GIT binary patch literal 2416 zcmbuA&2G~`5P&Cj3kAwgZ=hbni6W6zj4FXZLRNxPKr{^rk&rkTC%Ckt`BA))=mq)= zocb6&R)_P-fOU_Oh`nL`TZb%r`T;>;20I|7l~cR05U~Jb=t&3Q#?h z*`6{zxCl#7Mf++N%C(NQ)+S{6hgQ)U&xHa0{iDgda zzabuvvu&Tbt^X&_vpYG3ulicA*YA~AyS?d9PRn=1ny6OXsq)BSn&ne*ZvEw zKPsNhb4hbjj?uq?k)Jc&)OKL@G=9S9vN8W{o&6p4m9#Q5eid+9_`G~5IOw7eVLS{T z`i($k1bh_&z6ya1-^78d(pr8ykbC2(FtkzRVEySA)~{^1MOBdjlEvP|Hc8 zx7m`>I|<@-C_@mvI0i8pkwclTaM6u+Llq{AqagaD!63pt5W|s-#Co$^iDlS-YfR=8 zW^%s)jK34rn^({$t%E7o(XrQz;vO|9<3y!xIkghw1}Zuu=9*LFkeVE^$G?R+#BN); zTz}2tT+iCWINA32Kai1pOH|sHQ!6p N; sorted by tag */ + asn_MAP_MDT_Activation_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MDT_Activation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MDT_Activation = { + "MDT-Activation", + "MDT-Activation", + &asn_OP_NativeEnumerated, + asn_DEF_MDT_Activation_tags_1, + sizeof(asn_DEF_MDT_Activation_tags_1) + /sizeof(asn_DEF_MDT_Activation_tags_1[0]), /* 1 */ + asn_DEF_MDT_Activation_tags_1, /* Same as above */ + sizeof(asn_DEF_MDT_Activation_tags_1) + /sizeof(asn_DEF_MDT_Activation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MDT_Activation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MDT_Activation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MDT-Activation.h b/asn1c_defs/all-defs/MDT-Activation.h new file mode 100755 index 0000000..25b7575 --- /dev/null +++ b/asn1c_defs/all-defs/MDT-Activation.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MDT_Activation_H_ +#define _MDT_Activation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MDT_Activation { + MDT_Activation_immediate_MDT_only = 0, + MDT_Activation_immediate_MDT_and_Trace = 1 + /* + * Enumeration is extensible + */ +} e_MDT_Activation; + +/* MDT-Activation */ +typedef long MDT_Activation_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MDT_Activation_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MDT_Activation; +extern const asn_INTEGER_specifics_t asn_SPC_MDT_Activation_specs_1; +asn_struct_free_f MDT_Activation_free; +asn_struct_print_f MDT_Activation_print; +asn_constr_check_f MDT_Activation_constraint; +ber_type_decoder_f MDT_Activation_decode_ber; +der_type_encoder_f MDT_Activation_encode_der; +xer_type_decoder_f MDT_Activation_decode_xer; +xer_type_encoder_f MDT_Activation_encode_xer; +per_type_decoder_f MDT_Activation_decode_uper; +per_type_encoder_f MDT_Activation_encode_uper; +per_type_decoder_f MDT_Activation_decode_aper; +per_type_encoder_f MDT_Activation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MDT_Activation_H_ */ +#include diff --git a/asn1c_defs/all-defs/MDT-Activation.o b/asn1c_defs/all-defs/MDT-Activation.o new file mode 100644 index 0000000000000000000000000000000000000000..5ffa7bfd50670d21d116445a89bacaccb9c24b30 GIT binary patch literal 2616 zcmbtV&2G~`5T4X6|MZ6oNL&IJibSlWsst($a@D4-5G_$@#nE-0RTD_;D&AD>1r9s_ zeG6WLV-Fnq2%I>>9jVN$XPWIgQ4Wl>p83A{+1a&s{ki^TZK6~HkrKRu0TLGA_}ah@ zj2XZTOasvr@8;O}g2kkbd2FukRF-4iK8kcZO`zTFs%AUVszQ!5>6|!Jlr$?ly(m^= z>W*^TeNv2zN9DQvJQL&cCos;#F)q%nf6pN#|GvY+`pU{ud46}lpXh%1xxeUFE498s zwNJGdes$5WJx}tby#l!f?B8iL#Qw5&ZUxMqGyq)P; z{AB+gsQU&qgR)IT4X3pxr#Svdo&laKqzM1&J zzBM@J$B6h}CVtS}JjcV;gX6~#Wl6YNUklL@4o+04qk}B08SmzD!}T6ToxWO7NxwTf zhP(?VkYkFonDTEM;TE3aBUQ%))x$&FG<>7J9qN-q<<1?aNv3;T^FSr4*N(#^4Rbzf zC)%XHYpl4L*`bPQQI^p6Ykx(uV=gc6g!maN{{h>?OD<8e-!31J6NPxGNqB=ED8$bh zD}U^4A8%1%-e?QB>@1+DNvgX$is!n9wWQo_IF~{$uafJRj#mgICnxCXv`RiM|l}tzRM``5$ z^g~{o^;uq9L+ztxe%ai zaD%fsynIT&5bx0#*8d*oA4(wWvV*q~59|Mw5B(m;Q~xx#%rE_aK#r!W;;`kM=co5$ z3)3ct_zZ_|cHG}# + +/* Including external dependencies */ +#include "MDT-Activation.h" +#include "AreaScopeOfMDT.h" +#include "MeasurementsToActivate.h" +#include "M1ReportingTrigger.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct M1ThresholdEventA2; +struct M1PeriodicReporting; +struct ProtocolExtensionContainer; + +/* MDT-Configuration */ +typedef struct MDT_Configuration { + MDT_Activation_t mdt_Activation; + AreaScopeOfMDT_t areaScopeOfMDT; + MeasurementsToActivate_t measurementsToActivate; + M1ReportingTrigger_t m1reportingTrigger; + struct M1ThresholdEventA2 *m1thresholdeventA2; /* OPTIONAL */ + struct M1PeriodicReporting *m1periodicReporting; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MDT_Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MDT_Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _MDT_Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/MDT-Configuration.o b/asn1c_defs/all-defs/MDT-Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..6201cddddbf706d536bd6bef1e2b549ae8af4f77 GIT binary patch literal 3968 zcmb_eOOG2x5N^i_;SrJz@5jXv2No$Fc{WjqKtkR)&PIr2%|0%X&}4SDV~=9bSTpU& zT);>ixN$*(BL@!r1FrcA;l?rCIKlym8`L+`WtV4Xq9t-k-Btb7qu*WqW%rXCCu%jt zR8t?RMT=3T9=@=U+nLx_=hRts>-t`^6G!*L{v`2D7)NS!XquaW2_NK5Khgef5Rdit zJ+f6J?WdDOk91_xz1Z4mHF6U@juR6`{k=m{qOTlFk?JVWKU<34T&Ei!zb z%BshEmtvk>VO-3+PGvylr4`4;evPTTw&J)L^OVY4D~wB_O6dneXF^jvw^%z+5zkSj zum+NfXANgW+F)-vCj77`Cm~qETAtztajXGiGPSJ$AJ}EOtxo5I#`^xjBr=o6`_5&j z)pRFW%l*Q=>a;F9?t3|Iy^k`i`APLx>D{YW+@AW<%oZ{0OEZ+XoT@e;n=vOLhnY3K}UV;BzfuEs`EQ|9_1%9mp|EvO^R^Z=N;71dn z6DU88yzAW?9wj_)DLHz^@28%d8Qi+IQ(}puI3O0iAePH!it7_X=)XPPDz^)GCF%3M%4!_JE(y zEb{6ND+7O#3g5T&3jC(P@kTQBtbjOp`)0O%*K*)^bD8kIgMh!BNqP0i%E0mZa36mP z{1q#Mt;3Lr?Jwj_byMJYvzTTANBovm{3vj|^-RAB9QIpQ@sGe?XJg_m`|d#v`#VEEzpD z$~p9nubhK4RZbG40ZZ3$si}v4riN5#I>R{d0cI}B3E~m{%*u&kqn)kW`_0t&!F?XZ zQ}egU6LXR|7{S`8N(i=+E>HuQ%=yr_QI$~9|6Q`dnm?`oMe;?=4Jwk_w(+e5N#_2U z!wzz>|Hp)Z{;=mHZzYuDX_D2$ILCnWO z&J?zKWc?)unf(|?yEt~}*ne!5xU*|iiu1=d75APX)y85GJuGxsXl6N})ZecEEQ_+J HivIrr;>%S- literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MDT-Location-Info.c b/asn1c_defs/all-defs/MDT-Location-Info.c new file mode 100755 index 0000000..9d24ca6 --- /dev/null +++ b/asn1c_defs/all-defs/MDT-Location-Info.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MDT-Location-Info.h" + +int +MDT_Location_Info_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_MDT_Location_Info_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MDT_Location_Info_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MDT_Location_Info = { + "MDT-Location-Info", + "MDT-Location-Info", + &asn_OP_BIT_STRING, + asn_DEF_MDT_Location_Info_tags_1, + sizeof(asn_DEF_MDT_Location_Info_tags_1) + /sizeof(asn_DEF_MDT_Location_Info_tags_1[0]), /* 1 */ + asn_DEF_MDT_Location_Info_tags_1, /* Same as above */ + sizeof(asn_DEF_MDT_Location_Info_tags_1) + /sizeof(asn_DEF_MDT_Location_Info_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MDT_Location_Info_constr_1, MDT_Location_Info_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MDT-Location-Info.h b/asn1c_defs/all-defs/MDT-Location-Info.h new file mode 100755 index 0000000..8b5c120 --- /dev/null +++ b/asn1c_defs/all-defs/MDT-Location-Info.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MDT_Location_Info_H_ +#define _MDT_Location_Info_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MDT-Location-Info */ +typedef BIT_STRING_t MDT_Location_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MDT_Location_Info; +asn_struct_free_f MDT_Location_Info_free; +asn_struct_print_f MDT_Location_Info_print; +asn_constr_check_f MDT_Location_Info_constraint; +ber_type_decoder_f MDT_Location_Info_decode_ber; +der_type_encoder_f MDT_Location_Info_encode_der; +xer_type_decoder_f MDT_Location_Info_decode_xer; +xer_type_encoder_f MDT_Location_Info_encode_xer; +per_type_decoder_f MDT_Location_Info_decode_uper; +per_type_encoder_f MDT_Location_Info_encode_uper; +per_type_decoder_f MDT_Location_Info_decode_aper; +per_type_encoder_f MDT_Location_Info_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MDT_Location_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/MDT-Location-Info.o b/asn1c_defs/all-defs/MDT-Location-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..1bf0d68f2893e4e94b5a8a995e393402fb2a3c1f GIT binary patch literal 2936 zcmbtVO>7%g5FW?Sn5H-mEmEW+bq^F0QNMbts6;_RF3!(da?>bDtB6W$H}<+ovDZ;{ zU9}u2DCA(GqF%Uj;Lsx{E?j~*f<%=QQV&#I+Y1~}4~Q`H_Rad`Wg}H$EWbDNy_tFQ z-n^N;H&dG($Yg*i1Mfp$ViaIr}wYDTkHLPX@76!!`^S#e`*e&nFiRoR&aiN zlC>Xi{W0i_KXSI7=epm~^6;6@$c4kMf03?Zceul?lghQd_w-v*)QCbM(x8MLNVu5E zDVb+u8H70Rg@Ijn8-6o9@3mS*$y}aZF4j7AFIw*e#cI&(h&r4Nr>xsvtLs}qC$es? z-}VD*48gOFak*CS1Yxx4tp}0S^wwK`BUwG<&5Yv3Wiywi{Gy&tkm6jWGG&cjUF`-@ z*Lqh>h*Ht+O3D7zo)o1CVUNc+oKlW6pDaS=P9byp#9;0LZa#td8*1%qny2%HtpPVb zTFYD4@}rmXh05`KZf0-iXL1rnDiTOxMhvTnH{8*9;DdMoE zaF+Es3&(X)@@*Vn)9zX36tOSyKLY)Gi2VXkZ5Hrv()S3Y;c%!Hu(GfM-RYTG7uQ^_ zI+v=>jl7$oYfFWNnMF6cyWyv3#g&J8qE;!nSYxL+%<;s->_k-%PyR^Jm zou8A)(n3Xp+;GFMhXCX1;M8}hC;k(+ru_>Vp4aftHC)%fui?X*zJg^&=ygshfcqKM zi;nZ16Mj%N~cOnoCFY-XFh9QW}4hf`gi^+o`CSKY|1>|@YM7`5)`vE$_mhFqV z`K!e+^6DQeeSghuZhCEBM)>~*3(e{5W(O%FM#Oa#ONVRYG%ipNDYJr_H&m(LP%^zG z+K2Pcd3{UadalUi2@ObkA0pYJL8EiXlTXvWM4P3M3EQYc7{7ZqVf%L&P&3ERe#(fa z*3&4EYMmY4`s~-T$uAr~9Wa$no?2Q(va74!m)c#}vTd z2ZSVVBc@O?9?6-w&Uk_qvBn+WkFH z1;O`3_eWnfwr8B;G51CY9xCv;3YdB$^&QimzN}{M5rS{jMgK~IM&|j+XPW&(75`V7 IEwQHkf8SU)UjP6A literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MDTPLMNList.c b/asn1c_defs/all-defs/MDTPLMNList.c new file mode 100755 index 0000000..b2ef7b1 --- /dev/null +++ b/asn1c_defs/all-defs/MDTPLMNList.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MDTPLMNList.h" + +asn_per_constraints_t asn_PER_type_MDTPLMNList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_MDTPLMNList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MDTPLMNList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_MDTPLMNList_specs_1 = { + sizeof(struct MDTPLMNList), + offsetof(struct MDTPLMNList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MDTPLMNList = { + "MDTPLMNList", + "MDTPLMNList", + &asn_OP_SEQUENCE_OF, + asn_DEF_MDTPLMNList_tags_1, + sizeof(asn_DEF_MDTPLMNList_tags_1) + /sizeof(asn_DEF_MDTPLMNList_tags_1[0]), /* 1 */ + asn_DEF_MDTPLMNList_tags_1, /* Same as above */ + sizeof(asn_DEF_MDTPLMNList_tags_1) + /sizeof(asn_DEF_MDTPLMNList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MDTPLMNList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_MDTPLMNList_1, + 1, /* Single element */ + &asn_SPC_MDTPLMNList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MDTPLMNList.h b/asn1c_defs/all-defs/MDTPLMNList.h new file mode 100755 index 0000000..026a001 --- /dev/null +++ b/asn1c_defs/all-defs/MDTPLMNList.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MDTPLMNList_H_ +#define _MDTPLMNList_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MDTPLMNList */ +typedef struct MDTPLMNList { + A_SEQUENCE_OF(PLMN_Identity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MDTPLMNList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MDTPLMNList; +extern asn_SET_OF_specifics_t asn_SPC_MDTPLMNList_specs_1; +extern asn_TYPE_member_t asn_MBR_MDTPLMNList_1[1]; +extern asn_per_constraints_t asn_PER_type_MDTPLMNList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _MDTPLMNList_H_ */ +#include diff --git a/asn1c_defs/all-defs/MDTPLMNList.o b/asn1c_defs/all-defs/MDTPLMNList.o new file mode 100644 index 0000000000000000000000000000000000000000..9e5540ce7f73d7e24c5074139c3ad7c1d49a13ec GIT binary patch literal 2304 zcmbu9PiqrV5Wpwds#ROHH^EChS;aoGQcx7iV!COSBu$eB1P|*b4K`>tq5BHWMZNeP z3i=^>^V*{q!J}WpPf%xeXErY{TM!*cX6844-rs#6{aUqHD1b--Hel)r1vtAjwY|jj zU>TO6jP~tmDAzh?$qN<{F7S`yGWIQUa-_bw*R0hWwLz?NqVq`lNyPSr+xlPfE}FC5 z`)_=YlC~<9r=`_S_bAdwrN?SrmDk*(#B)EmPgHqbx%X3kVM|)a0{lMDOK`H?o{c&{ zr!p@NIP(yRlbqmu$N}ThaQG(b0$jFh-ug9{_=z*W=DYzG!ITZ{*2tQg}Sa9{&< z-udh%`9&ykUXyiHsFvEPsMKu>t7iK6>vp1Pcn&1FxB%U)3fc}s{(E%8uJrGtv;UR zi%Yqt+(n0&{W5r*G-fTTBnInysOg;T`co@UTzmY77$EjY5?D*Uc_%0&^`bpy_V{PW zNq(g&`!8iyYCJPb5HH^?bkvlE-{3S9`92c2{T4Dx zEmP2tuUt?2V+!MJA6{cnn3?xI59Z`jnmu>wBlV};=Q=X_+3Tm5-QIgdaLn)rIfmHN RqHi*name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_MME_Code_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MME_Code_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MME_Code = { + "MME-Code", + "MME-Code", + &asn_OP_OCTET_STRING, + asn_DEF_MME_Code_tags_1, + sizeof(asn_DEF_MME_Code_tags_1) + /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */ + asn_DEF_MME_Code_tags_1, /* Same as above */ + sizeof(asn_DEF_MME_Code_tags_1) + /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MME_Code_constr_1, MME_Code_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MME-Code.h b/asn1c_defs/all-defs/MME-Code.h new file mode 100755 index 0000000..4c33122 --- /dev/null +++ b/asn1c_defs/all-defs/MME-Code.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MME_Code_H_ +#define _MME_Code_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MME-Code */ +typedef OCTET_STRING_t MME_Code_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MME_Code_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MME_Code; +asn_struct_free_f MME_Code_free; +asn_struct_print_f MME_Code_print; +asn_constr_check_f MME_Code_constraint; +ber_type_decoder_f MME_Code_decode_ber; +der_type_encoder_f MME_Code_encode_der; +xer_type_decoder_f MME_Code_decode_xer; +xer_type_encoder_f MME_Code_encode_xer; +per_type_decoder_f MME_Code_decode_uper; +per_type_encoder_f MME_Code_encode_uper; +per_type_decoder_f MME_Code_decode_aper; +per_type_encoder_f MME_Code_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MME_Code_H_ */ +#include diff --git a/asn1c_defs/all-defs/MME-Code.o b/asn1c_defs/all-defs/MME-Code.o new file mode 100644 index 0000000000000000000000000000000000000000..7f37dc2a33ce81e8fcc007d92fc2c88ac2a72682 GIT binary patch literal 2824 zcmbVNPiq@j5FdHdSou>$PI@q;kfk)O4e`e725Ni=3bLXND7LVjVp`~WEv;gw`V+jX zkmQgQ+#Ez`>8I$I=*7@NbM~pwFHop2?Vdw5K*?oH6>~DDlVM z{!y{>lZ(DE?ij#oR6tTikgJu3=b|b z)jj;0=XwzJ-Im`DJJI!^+nrO!-Mh89>YyDuEw~yj z*^h$mFtq!F*uKB}DD2xa2wrW^sHbWAbZ= zzt3Ys(#xgt{)AteZj|iLO4GMWa=sQlqpSgQx<(@zQ3x9cH;Y@jA z!8>^{&Y~S=Ey99H%}dPls0wf<#q~^YhgKz zi?3@7&g!nRKf(7!t)6Pn5Ub-erG4*?iU!z3ti+L|9f zc^GC%l36efrC)DW$2flUFl1_zs6qIbmF3%h|6hmT`$+CdzEvmHg?>N|7^}dhriGQ39ViY=0gPI&MpY}%=h82hK0X~B1ant64c+iafhWTc=@I8G}wB`E+ zevU?7{cLJZC{ib?AN5J$3r_1Xb0Y*>4F1ClzJM6r9g|Nz&D?v0V3P~~138+Q-#>+8 PdHh9Q|92XfOq2gVgj@}( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MME-Group-ID.c b/asn1c_defs/all-defs/MME-Group-ID.c new file mode 100755 index 0000000..52b5f9e --- /dev/null +++ b/asn1c_defs/all-defs/MME-Group-ID.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MME-Group-ID.h" + +int +MME_Group_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MME_Group_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MME_Group_ID = { + "MME-Group-ID", + "MME-Group-ID", + &asn_OP_OCTET_STRING, + asn_DEF_MME_Group_ID_tags_1, + sizeof(asn_DEF_MME_Group_ID_tags_1) + /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */ + asn_DEF_MME_Group_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_MME_Group_ID_tags_1) + /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MME_Group_ID_constr_1, MME_Group_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MME-Group-ID.h b/asn1c_defs/all-defs/MME-Group-ID.h new file mode 100755 index 0000000..5b7cd92 --- /dev/null +++ b/asn1c_defs/all-defs/MME-Group-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MME_Group_ID_H_ +#define _MME_Group_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MME-Group-ID */ +typedef OCTET_STRING_t MME_Group_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MME_Group_ID; +asn_struct_free_f MME_Group_ID_free; +asn_struct_print_f MME_Group_ID_print; +asn_constr_check_f MME_Group_ID_constraint; +ber_type_decoder_f MME_Group_ID_decode_ber; +der_type_encoder_f MME_Group_ID_encode_der; +xer_type_decoder_f MME_Group_ID_decode_xer; +xer_type_encoder_f MME_Group_ID_encode_xer; +per_type_decoder_f MME_Group_ID_decode_uper; +per_type_encoder_f MME_Group_ID_encode_uper; +per_type_decoder_f MME_Group_ID_decode_aper; +per_type_encoder_f MME_Group_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MME_Group_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/MME-Group-ID.o b/asn1c_defs/all-defs/MME-Group-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..02967c6b2e7014e33edb8dab871ee6984536fe48 GIT binary patch literal 2848 zcmbtV&2Jl35FcluF>P_3mP4c>buWcP!mrt?Dp8P-E8F!(auX{_s|qAG8)x05_#^VJ zs}!LYDfD0=5dQ)H2V5e71m~QPxNt-w7dRjeh%obZ-tKr=PK>oXGr#$IJMX>m^G56L zOrZdV3h*wZnn3}6K9|Z>EmmO;%HY2EV{>(K;!b{u>dsH@(X--A=RQTc5v5F^{jgvEWXAcPD?llkc75J7*^k-<$mS{D&e9}b+3w;OcB8-A}>(ZaoZjY@Mg93NCx>#76S z!xj69-x~+^U>Mnt_MZd;djY}gyNlY^84ki|Dj%=>UlAF zSed|Pt+rw>+}{}wqOtw9x}}yX&RA>CGiO;X-BQkCjKgc3r0~%O6b{RUs~2aBUt;mM z5PzL*W8(Ev`Dn%~&9_SSgVOw+Qn_}%RBT>Y(+E4}F#3*{;J4g8vvN-$fQ7$2vM^H~ zS@3cmj9J8C79JMN3N03?Zv}WI!DS^&;E4kY7F>{OB3p1Vk&Qt8gq(Fc8b6oxTC4cF z&A8Dex8S@~wfqjgFN=QaJwt30pE>cpd)ga-xIQba8}=~@bE5xkHhhIV&mZJL#~Xu} z%Bwf-dI)>^B6+KIFY+ISo&%~?TcX!ZdN~xCx}-NLH-!e*+unL@tFh&6Zf&ftH8s|5 zYk@2s$Bu*CKP86SQl8#UtkIrod^Y8Qd4R^zRG2B>WlH zJ42^&g@Gb-x*rlZJtq7z`w*LFnegoQ!G|!`H zn?X7oRLAVU+1EE1&rZH$#EIH5OWt-O#RAP2%9)KXQ?VS%!Ze2nGw0rfn0Q*BB(r{# zr;5hB_}lEzl)>yvkcr=7IlKN(*kO;H1=&I-aUGw${vUGxkI4y%`cKo}tl#wi1H`D* z)EP(p7p^b=4-o#>KT#Jka$O>$pi_>I=YMKoIQjk|nhchD;l0l;h>cm_PdPs8ZsJ{; z6lL@M27Zo0UjLS9I3bxnQU7S}nRtWKda|_ N; sorted by tag */ + asn_MAP_MakeBeforeBreakIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MakeBeforeBreakIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MakeBeforeBreakIndicator = { + "MakeBeforeBreakIndicator", + "MakeBeforeBreakIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_MakeBeforeBreakIndicator_tags_1, + sizeof(asn_DEF_MakeBeforeBreakIndicator_tags_1) + /sizeof(asn_DEF_MakeBeforeBreakIndicator_tags_1[0]), /* 1 */ + asn_DEF_MakeBeforeBreakIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_MakeBeforeBreakIndicator_tags_1) + /sizeof(asn_DEF_MakeBeforeBreakIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MakeBeforeBreakIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MakeBeforeBreakIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MakeBeforeBreakIndicator.h b/asn1c_defs/all-defs/MakeBeforeBreakIndicator.h new file mode 100755 index 0000000..53764ec --- /dev/null +++ b/asn1c_defs/all-defs/MakeBeforeBreakIndicator.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MakeBeforeBreakIndicator_H_ +#define _MakeBeforeBreakIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MakeBeforeBreakIndicator { + MakeBeforeBreakIndicator_true = 0 + /* + * Enumeration is extensible + */ +} e_MakeBeforeBreakIndicator; + +/* MakeBeforeBreakIndicator */ +typedef long MakeBeforeBreakIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MakeBeforeBreakIndicator; +asn_struct_free_f MakeBeforeBreakIndicator_free; +asn_struct_print_f MakeBeforeBreakIndicator_print; +asn_constr_check_f MakeBeforeBreakIndicator_constraint; +ber_type_decoder_f MakeBeforeBreakIndicator_decode_ber; +der_type_encoder_f MakeBeforeBreakIndicator_encode_der; +xer_type_decoder_f MakeBeforeBreakIndicator_decode_xer; +xer_type_encoder_f MakeBeforeBreakIndicator_encode_xer; +per_type_decoder_f MakeBeforeBreakIndicator_decode_uper; +per_type_encoder_f MakeBeforeBreakIndicator_encode_uper; +per_type_decoder_f MakeBeforeBreakIndicator_decode_aper; +per_type_encoder_f MakeBeforeBreakIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MakeBeforeBreakIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/MakeBeforeBreakIndicator.o b/asn1c_defs/all-defs/MakeBeforeBreakIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..e8699e6cb3d95abcc99635f6006e217043d04893 GIT binary patch literal 2592 zcmbtV&rj4q6rQCh{uVq*G-f@Ci8PduXf!buSim3P217iSp^UJ?wxpdUa#0g69{B_O zGdy_YXgqoJ-|*%Q-)rA%XJ^~>;7i)~zHh!a^JeCC_e1N&(nzBr*c#%oC=s(lY@RJ+ zKMQ?vRa_AUT?(w|l+2yC=w zr+p*=r=}_=t9UTO5zZh9i~}oFnIp~&&^Li;h_Qm_%*Bkylgh14J_X+p=LiX5p1Whr zQwSh%3_bH-Ai#NMh`3JvN5+p8JK%b7*bx^=)$bf}p`QTs2c8LIzq_QEgbNrSPz&MJ z@S?8a-B8Fh3Km;SL7gPfawiSEOxJF$2m0th)r-S8N_9f=SM7y*WqP1Oo_F<0yIy!G z_j_tqMZGRfJ5-Ij*(`Sa4vle%-LT9B#|snvGI@2E&6oiK>vAm5ejM7sab z@jEcPkvq!f`L2+kFs9&sLEgN5?nj&VDHnP3t64GlYZRl~q!{&8UB^84uUS9V!+q-; z^Wc6b2@5wp>T03A0Q|BPQVEox1>4FEawPH^1E7g#%Y#k*NV zd2k0Dp1qxaZ0Q)<>)(R`6Jm<6bVH{(7{S)BOc5_#}n?;ldkHBHC_&F@z zKdFIEh`9tF`-l6C`~MkmxPJLd4FGJ43S@oGmVL?iH3U`l`;@=JLh?-uuLG{C|Cl~* z&d2((7Oscue+wKg#orNxnSG}9@qSDrI?F*m|35MndHj`y){spjw$BbzzLD@d`OCnK j!(-Qf9yt5%ff65yd~Pjh!R$A!D*qRq-zS{RFgyP*=+5F) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Makefile.am.libasncodec b/asn1c_defs/all-defs/Makefile.am.libasncodec new file mode 100755 index 0000000..5fd5336 --- /dev/null +++ b/asn1c_defs/all-defs/Makefile.am.libasncodec @@ -0,0 +1,1587 @@ +ASN_MODULE_SRCS= \ + E2AP-PDU.c \ + InitiatingMessage.c \ + SuccessfulOutcome.c \ + UnsuccessfulOutcome.c \ + RICsubscriptionRequest.c \ + RICsubscription.c \ + RICactions-ToBeSetup-List.c \ + RICaction-ToBeSetup-Item.c \ + RICsubscriptionResponse.c \ + RICaction-Admitted-List.c \ + RICaction-Admitted-Item.c \ + RICaction-NotAdmitted-List.c \ + RICaction-NotAdmitted-Item.c \ + RICsubscriptionFailure.c \ + RICsubscriptionDeleteRequest.c \ + RICsubscriptionDeleteResponse.c \ + RICsubscriptionDeleteFailure.c \ + RICindication.c \ + RICcontrolRequest.c \ + RICcontrolAcknowledge.c \ + RICcontrolFailure.c \ + RICserviceUpdate.c \ + RANfunctions-List.c \ + RANfunction-Item.c \ + RANfunctionsID-List.c \ + RANfunctionID-Item.c \ + RICserviceUpdateAcknowledge.c \ + RANfunctionsIDcause-List.c \ + RANfunctionIDcause-Item.c \ + RICserviceUpdateFailure.c \ + RICserviceQuery.c \ + CauseRIC.c \ + RANfunctionDefinition.c \ + RANfunctionID.c \ + RICactionDefinition.c \ + RICactionID.c \ + RICactionType.c \ + RICcallProcessID.c \ + RICcause.c \ + RICcontrolAckRequest.c \ + RICcontrolHeader.c \ + RICcontrolMessage.c \ + RICcontrolStatus.c \ + RICeventTriggerDefinition.c \ + RICindicationHeader.c \ + RICindicationMessage.c \ + RICindicationSN.c \ + RICindicationType.c \ + RICrequestID.c \ + RICsubsequentAction.c \ + RICsubsequentActionType.c \ + RICtimeToWait.c \ + X2AP-PDU.c \ + X2InitiatingMessage.c \ + X2SuccessfulOutcome.c \ + X2UnsuccessfulOutcome.c \ + HandoverRequest.c \ + UE-ContextInformation.c \ + E-RABs-ToBeSetup-List.c \ + E-RABs-ToBeSetup-Item.c \ + MobilityInformation.c \ + UE-ContextReferenceAtSeNB.c \ + UE-ContextReferenceAtWT.c \ + UE-ContextReferenceAtSgNB.c \ + HandoverRequestAcknowledge.c \ + E-RABs-Admitted-List.c \ + E-RABs-Admitted-Item.c \ + HandoverPreparationFailure.c \ + HandoverReport.c \ + SNStatusTransfer.c \ + E-RABs-SubjectToStatusTransfer-List.c \ + E-RABs-SubjectToStatusTransfer-Item.c \ + UEContextRelease.c \ + HandoverCancel.c \ + ErrorIndication.c \ + ResetRequest.c \ + ResetResponse.c \ + X2SetupRequest.c \ + X2SetupResponse.c \ + X2SetupFailure.c \ + LoadInformation.c \ + CellInformation-List.c \ + CellInformation-Item.c \ + ENBConfigurationUpdate.c \ + ServedCellsToModify.c \ + ServedCellsToModify-Item.c \ + Old-ECGIs.c \ + ENBConfigurationUpdateAcknowledge.c \ + ENBConfigurationUpdateFailure.c \ + ResourceStatusRequest.c \ + CuCpResourceStatus.c \ + CellToReport-List.c \ + CellToReport-Item.c \ + ReportingPeriodicity.c \ + PartialSuccessIndicator.c \ + ResourceStatusResponse.c \ + CuCpResourceStatusReport.c \ + MeasurementInitiationResult-List.c \ + MeasurementInitiationResult-Item.c \ + MeasurementFailureCause-List.c \ + MeasurementFailureCause-Item.c \ + ResourceStatusFailure.c \ + CompleteFailureCauseInformation-List.c \ + CompleteFailureCauseInformation-Item.c \ + ResourceStatusUpdate.c \ + CellMeasurementResult-List.c \ + CellMeasurementResult-Item.c \ + PrivateMessage.c \ + MobilityChangeRequest.c \ + MobilityChangeAcknowledge.c \ + MobilityChangeFailure.c \ + RLFIndication.c \ + CellActivationRequest.c \ + ServedCellsToActivate.c \ + ServedCellsToActivate-Item.c \ + CellActivationResponse.c \ + ActivatedCellList.c \ + ActivatedCellList-Item.c \ + CellActivationFailure.c \ + X2Release.c \ + X2APMessageTransfer.c \ + RNL-Header.c \ + X2AP-Message.c \ + SeNBAdditionRequest.c \ + E-RABs-ToBeAdded-List.c \ + E-RABs-ToBeAdded-Item.c \ + E-RABs-ToBeAdded-Item-SCG-Bearer.c \ + E-RABs-ToBeAdded-Item-Split-Bearer.c \ + SeNBAdditionRequestAcknowledge.c \ + E-RABs-Admitted-ToBeAdded-List.c \ + E-RABs-Admitted-ToBeAdded-Item.c \ + E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.c \ + E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.c \ + SeNBAdditionRequestReject.c \ + SeNBReconfigurationComplete.c \ + ResponseInformationSeNBReconfComp.c \ + ResponseInformationSeNBReconfComp-SuccessItem.c \ + ResponseInformationSeNBReconfComp-RejectByMeNBItem.c \ + SeNBModificationRequest.c \ + UE-ContextInformationSeNBModReq.c \ + E-RABs-ToBeAdded-List-ModReq.c \ + E-RABs-ToBeAdded-ModReqItem.c \ + E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.c \ + E-RABs-ToBeAdded-ModReqItem-Split-Bearer.c \ + E-RABs-ToBeModified-List-ModReq.c \ + E-RABs-ToBeModified-ModReqItem.c \ + E-RABs-ToBeModified-ModReqItem-SCG-Bearer.c \ + E-RABs-ToBeModified-ModReqItem-Split-Bearer.c \ + E-RABs-ToBeReleased-List-ModReq.c \ + E-RABs-ToBeReleased-ModReqItem.c \ + E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.c \ + E-RABs-ToBeReleased-ModReqItem-Split-Bearer.c \ + SeNBModificationRequestAcknowledge.c \ + E-RABs-Admitted-ToBeAdded-ModAckList.c \ + E-RABs-Admitted-ToBeAdded-ModAckItem.c \ + E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.c \ + E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.c \ + E-RABs-Admitted-ToBeModified-ModAckList.c \ + E-RABs-Admitted-ToBeModified-ModAckItem.c \ + E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.c \ + E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.c \ + E-RABs-Admitted-ToBeReleased-ModAckList.c \ + E-RABs-Admitted-ToReleased-ModAckItem.c \ + E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.c \ + E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.c \ + SeNBModificationRequestReject.c \ + SeNBModificationRequired.c \ + E-RABs-ToBeReleased-ModReqd.c \ + E-RABs-ToBeReleased-ModReqdItem.c \ + SeNBModificationConfirm.c \ + SeNBModificationRefuse.c \ + SeNBReleaseRequest.c \ + E-RABs-ToBeReleased-List-RelReq.c \ + E-RABs-ToBeReleased-RelReqItem.c \ + E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.c \ + E-RABs-ToBeReleased-RelReqItem-Split-Bearer.c \ + SeNBReleaseRequired.c \ + SeNBReleaseConfirm.c \ + E-RABs-ToBeReleased-List-RelConf.c \ + E-RABs-ToBeReleased-RelConfItem.c \ + E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.c \ + E-RABs-ToBeReleased-RelConfItem-Split-Bearer.c \ + SeNBCounterCheckRequest.c \ + E-RABs-SubjectToCounterCheck-List.c \ + E-RABs-SubjectToCounterCheckItem.c \ + X2RemovalRequest.c \ + X2RemovalResponse.c \ + X2RemovalFailure.c \ + RetrieveUEContextRequest.c \ + RetrieveUEContextResponse.c \ + UE-ContextInformationRetrieve.c \ + E-RABs-ToBeSetup-ListRetrieve.c \ + E-RABs-ToBeSetupRetrieve-Item.c \ + RetrieveUEContextFailure.c \ + SgNBAdditionRequest.c \ + E-RABs-ToBeAdded-SgNBAddReqList.c \ + E-RABs-ToBeAdded-SgNBAddReq-Item.c \ + E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.c \ + SgNBAdditionRequestAcknowledge.c \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.c \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.c \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.c \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.c \ + SgNBAdditionRequestReject.c \ + SgNBReconfigurationComplete.c \ + ResponseInformationSgNBReconfComp.c \ + ResponseInformationSgNBReconfComp-SuccessItem.c \ + ResponseInformationSgNBReconfComp-RejectByMeNBItem.c \ + SgNBModificationRequest.c \ + UE-ContextInformation-SgNBModReq.c \ + E-RABs-ToBeAdded-SgNBModReq-List.c \ + E-RABs-ToBeAdded-SgNBModReq-Item.c \ + E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.c \ + E-RABs-ToBeModified-SgNBModReq-List.c \ + E-RABs-ToBeModified-SgNBModReq-Item.c \ + E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.c \ + E-RABs-ToBeReleased-SgNBModReq-List.c \ + E-RABs-ToBeReleased-SgNBModReq-Item.c \ + E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.c \ + SgNBModificationRequestAcknowledge.c \ + E-RABs-Admitted-ToBeAdded-SgNBModAckList.c \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.c \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.c \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.c \ + E-RABs-Admitted-ToBeModified-SgNBModAckList.c \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item.c \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.c \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.c \ + E-RABs-Admitted-ToBeReleased-SgNBModAckList.c \ + E-RABs-Admitted-ToReleased-SgNBModAck-Item.c \ + E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.c \ + E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.c \ + SgNBModificationRequestReject.c \ + SgNBModificationRequired.c \ + E-RABs-ToBeReleased-SgNBModReqdList.c \ + E-RABs-ToBeReleased-SgNBModReqd-Item.c \ + E-RABs-ToBeModified-SgNBModReqdList.c \ + E-RABs-ToBeModified-SgNBModReqd-Item.c \ + E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.c \ + SgNBModificationConfirm.c \ + E-RABs-AdmittedToBeModified-SgNBModConfList.c \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item.c \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.c \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.c \ + SgNBModificationRefuse.c \ + SgNBReleaseRequest.c \ + E-RABs-ToBeReleased-SgNBRelReqList.c \ + E-RABs-ToBeReleased-SgNBRelReq-Item.c \ + E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.c \ + SgNBReleaseRequestAcknowledge.c \ + E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.c \ + E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.c \ + SgNBReleaseRequestReject.c \ + SgNBReleaseRequired.c \ + E-RABs-ToBeReleased-SgNBRelReqdList.c \ + E-RABs-ToBeReleased-SgNBRelReqd-Item.c \ + SgNBReleaseConfirm.c \ + E-RABs-ToBeReleased-SgNBRelConfList.c \ + E-RABs-ToBeReleased-SgNBRelConf-Item.c \ + E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.c \ + SgNBCounterCheckRequest.c \ + E-RABs-SubjectToSgNBCounterCheck-List.c \ + E-RABs-SubjectToSgNBCounterCheck-Item.c \ + SgNBChangeRequired.c \ + SgNBChangeConfirm.c \ + E-RABs-ToBeReleased-SgNBChaConfList.c \ + E-RABs-ToBeReleased-SgNBChaConf-Item.c \ + E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.c \ + E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.c \ + RRCTransfer.c \ + SgNBChangeRefuse.c \ + ENDCX2SetupRequest.c \ + InitiatingNodeType-EndcX2Setup.c \ + ServedEUTRAcellsENDCX2ManagementList.c \ + ServedNRcellsENDCX2ManagementList.c \ + ServedNRCell-Information.c \ + FDD-InfoServedNRCell-Information.c \ + FDD-InfoNeighbourServedNRCell-Information.c \ + TDD-InfoServedNRCell-Information.c \ + TDD-InfoNeighbourServedNRCell-Information.c \ + NRNeighbour-Information.c \ + CellAssistanceInformation.c \ + Limited-list.c \ + ENDCX2SetupResponse.c \ + RespondingNodeType-EndcX2Setup.c \ + ENDCX2SetupFailure.c \ + ENDCConfigurationUpdate.c \ + InitiatingNodeType-EndcConfigUpdate.c \ + ServedEUTRAcellsToModifyListENDCConfUpd.c \ + ServedEUTRAcellsToDeleteListENDCConfUpd.c \ + ServedNRcellsToModifyENDCConfUpdList.c \ + ServedNRCellsToModify-Item.c \ + ServedNRcellsToDeleteENDCConfUpdList.c \ + ENDCConfigurationUpdateAcknowledge.c \ + RespondingNodeType-EndcConfigUpdate.c \ + ENDCConfigurationUpdateFailure.c \ + ENDCCellActivationRequest.c \ + ServedNRCellsToActivate.c \ + ServedNRCellsToActivate-Item.c \ + ENDCCellActivationResponse.c \ + ActivatedNRCellList.c \ + ActivatedNRCellList-Item.c \ + ENDCCellActivationFailure.c \ + SecondaryRATDataUsageReport.c \ + SgNBActivityNotification.c \ + ENDCPartialResetRequired.c \ + ENDCPartialResetConfirm.c \ + EUTRANRCellResourceCoordinationRequest.c \ + InitiatingNodeType-EutranrCellResourceCoordination.c \ + ListofEUTRACellsinEUTRACoordinationReq.c \ + ListofEUTRACellsinNRCoordinationReq.c \ + ListofNRCellsinNRCoordinationReq.c \ + EUTRANRCellResourceCoordinationResponse.c \ + RespondingNodeType-EutranrCellResourceCoordination.c \ + ListofEUTRACellsinEUTRACoordinationResp.c \ + ListofNRCellsinNRCoordinationResp.c \ + ENDCX2RemovalRequest.c \ + InitiatingNodeType-EndcX2Removal.c \ + ENDCX2RemovalResponse.c \ + RespondingNodeType-EndcX2Removal.c \ + ENDCX2RemovalFailure.c \ + DataForwardingAddressIndication.c \ + E-RABs-DataForwardingAddress-List.c \ + E-RABs-DataForwardingAddress-Item.c \ + GNBStatusIndication.c \ + ABSInformation.c \ + ABSInformationFDD.c \ + ABSInformationTDD.c \ + ABS-Status.c \ + ActivationID.c \ + AdditionalSpecialSubframe-Info.c \ + AdditionalSpecialSubframePatterns.c \ + AdditionalSpecialSubframeExtension-Info.c \ + AdditionalSpecialSubframePatternsExtension.c \ + AerialUEsubscriptionInformation.c \ + AllocationAndRetentionPriority.c \ + AreaScopeOfMDT.c \ + AreaScopeOfQMC.c \ + AS-SecurityInformation.c \ + BandwidthReducedSI.c \ + BearerType.c \ + BenefitMetric.c \ + BitRate.c \ + BroadcastPLMNs-Item.c \ + BluetoothMeasurementConfiguration.c \ + BluetoothMeasConfigNameList.c \ + BluetoothMeasConfig.c \ + BluetoothName.c \ + CapacityValue.c \ + Cause.c \ + CauseMisc.c \ + CauseProtocol.c \ + CauseRadioNetwork.c \ + CauseTransport.c \ + CellBasedMDT.c \ + CellBasedQMC.c \ + CellCapacityClassValue.c \ + CellDeploymentStatusIndicator.c \ + CellIdListforMDT.c \ + CellIdListforQMC.c \ + CellReplacingInfo.c \ + CellReportingIndicator.c \ + Cell-Size.c \ + CellType.c \ + CNTypeRestrictions.c \ + CNTypeRestrictionsItem.c \ + CoMPHypothesisSet.c \ + CoMPHypothesisSetItem.c \ + CoMPInformation.c \ + CoMPInformationItem.c \ + CoMPInformationStartTime.c \ + CompositeAvailableCapacity.c \ + CompositeAvailableCapacityGroup.c \ + Correlation-ID.c \ + COUNTvalue.c \ + COUNTValueExtended.c \ + COUNTvaluePDCP-SNlength18.c \ + CoverageModificationList.c \ + CoverageModification-Item.c \ + CriticalityDiagnostics.c \ + CriticalityDiagnostics-IE-List.c \ + CRNTI.c \ + CSGMembershipStatus.c \ + CSG-Id.c \ + CSIReportList.c \ + CSIReportPerCSIProcess.c \ + CSIReportPerCSIProcessItem.c \ + CyclicPrefixDL.c \ + CyclicPrefixUL.c \ + DataTrafficResources.c \ + DataTrafficResourceIndication.c \ + DeactivationIndication.c \ + DeliveryStatus.c \ + DL-ABS-status.c \ + DL-Forwarding.c \ + DL-GBR-PRB-usage.c \ + DL-non-GBR-PRB-usage.c \ + DLResourceBitmapULandDLSharing.c \ + DLResourcesULandDLSharing.c \ + DL-scheduling-PDCCH-CCE-usage.c \ + DL-Total-PRB-usage.c \ + DRB-ID.c \ + DuplicationActivation.c \ + DynamicDLTransmissionInformation.c \ + DynamicNAICSInformation.c \ + EARFCN.c \ + EARFCNExtension.c \ + ECGI.c \ + EnhancedRNTP.c \ + EnhancedRNTPStartTime.c \ + ENB-ID.c \ + EncryptionAlgorithms.c \ + EN-DC-ResourceConfiguration.c \ + EPLMNs.c \ + ERABActivityNotifyItemList.c \ + ERABActivityNotifyItem.c \ + E-RAB-ID.c \ + E-RAB-Level-QoS-Parameters.c \ + E-RAB-List.c \ + E-RAB-Item.c \ + E-RABUsageReportList.c \ + E-RABUsageReport-Item.c \ + EUTRA-Mode-Info.c \ + EUTRANCellIdentifier.c \ + EUTRANTraceID.c \ + EventType.c \ + ExpectedUEBehaviour.c \ + ExpectedUEActivityBehaviour.c \ + ExpectedActivityPeriod.c \ + ExpectedIdlePeriod.c \ + ExpectedHOInterval.c \ + ExtendedULInterferenceOverloadInfo.c \ + ExtendedBitRate.c \ + FDD-Info.c \ + ForbiddenInterRATs.c \ + ForbiddenTAs.c \ + ForbiddenTAs-Item.c \ + ForbiddenTACs.c \ + ForbiddenLAs.c \ + ForbiddenLAs-Item.c \ + ForbiddenLACs.c \ + Fourframes.c \ + FreqBandIndicator.c \ + FreqBandIndicatorPriority.c \ + FreqBandNrItem.c \ + GBR-QosInformation.c \ + GlobalENB-ID.c \ + GlobalGNB-ID.c \ + GNBOverloadInformation.c \ + GTPtunnelEndpoint.c \ + GTP-TEI.c \ + GUGroupIDList.c \ + GU-Group-ID.c \ + GUMMEI.c \ + GNB-ID.c \ + HandoverReportType.c \ + HandoverRestrictionList.c \ + HFN.c \ + HFNModified.c \ + HFNforPDCP-SNlength18.c \ + HWLoadIndicator.c \ + IntegrityProtectionAlgorithms.c \ + InterfacesToTrace.c \ + InvokeIndication.c \ + Key-eNodeB-Star.c \ + LAC.c \ + LastVisitedCell-Item.c \ + LastVisitedEUTRANCellInformation.c \ + LastVisitedGERANCellInformation.c \ + LastVisitedNGRANCellInformation.c \ + LastVisitedUTRANCellInformation.c \ + LCID.c \ + LHN-ID.c \ + Links-to-log.c \ + LoadIndicator.c \ + LocationReportingInformation.c \ + M1PeriodicReporting.c \ + M1ReportingTrigger.c \ + M1ThresholdEventA2.c \ + M3Configuration.c \ + M3period.c \ + M4Configuration.c \ + M4period.c \ + M5Configuration.c \ + M5period.c \ + M6Configuration.c \ + M6report-interval.c \ + M6delay-threshold.c \ + M7Configuration.c \ + M7period.c \ + MakeBeforeBreakIndicator.c \ + ManagementBasedMDTallowed.c \ + Masked-IMEISV.c \ + MDT-Activation.c \ + MDT-Configuration.c \ + MDTPLMNList.c \ + MDT-Location-Info.c \ + Measurement-ID.c \ + MeasurementsToActivate.c \ + MeasurementThresholdA2.c \ + MeNBCoordinationAssistanceInformation.c \ + MeNBResourceCoordinationInformation.c \ + MeNBtoSeNBContainer.c \ + MME-Group-ID.c \ + MME-Code.c \ + MBMS-Service-Area-Identity-List.c \ + MBMS-Service-Area-Identity.c \ + MBSFN-Subframe-Infolist.c \ + MBSFN-Subframe-Info.c \ + MobilityParametersModificationRange.c \ + MobilityParametersInformation.c \ + MultibandInfoList.c \ + BandInfo.c \ + MeNBtoSgNBContainer.c \ + SplitSRBs.c \ + SplitSRB.c \ + UENRMeasurement.c \ + Neighbour-Information.c \ + NextHopChainingCount.c \ + NewDRBIDrequest.c \ + Number-of-Antennaports.c \ + NRFreqInfo.c \ + NRCellIdentifier.c \ + NRCGI.c \ + NRPCI.c \ + NRrestrictioninEPSasSecondaryRAT.c \ + NRrestrictionin5GS.c \ + NRencryptionAlgorithms.c \ + NRintegrityProtectionAlgorithms.c \ + NR-TxBW.c \ + NRNRB.c \ + NRSCS.c \ + NRS-NSSS-PowerOffset.c \ + FiveGS-TAC.c \ + NRUESecurityCapabilities.c \ + NSSS-NumOccasionDifferentPrecoder.c \ + OffsetOfNbiotChannelNumberToEARFCN.c \ + Oneframe.c \ + Packet-LossRate.c \ + PA-Values.c \ + PDCPChangeIndication.c \ + PDCP-SN.c \ + PDCP-SNExtended.c \ + PDCP-SNlength18.c \ + PDCPSnLength.c \ + PCI.c \ + PLMN-Identity.c \ + Port-Number.c \ + PRACH-Configuration.c \ + PLMNAreaBasedQMC.c \ + PLMNListforQMC.c \ + Pre-emptionCapability.c \ + Pre-emptionVulnerability.c \ + PriorityLevel.c \ + ProSeAuthorized.c \ + ProSeDirectDiscovery.c \ + ProSeDirectCommunication.c \ + ProSeUEtoNetworkRelaying.c \ + ProtectedEUTRAResourceIndication.c \ + ProtectedFootprintTimePattern.c \ + ProtectedResourceList.c \ + ProtectedResourceList-Item.c \ + QCI.c \ + RadioframeAllocationOffset.c \ + RadioframeAllocationPeriod.c \ + RadioResourceStatus.c \ + ReceiveStatusofULPDCPSDUs.c \ + ReceiveStatusOfULPDCPSDUsExtended.c \ + ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.c \ + Reestablishment-Indication.c \ + Registration-Request.c \ + RelativeNarrowbandTxPower.c \ + ReplacingCellsList.c \ + ReplacingCellsList-Item.c \ + ReportAmountMDT.c \ + ReportArea.c \ + ReportCharacteristics.c \ + ReportingPeriodicityCSIR.c \ + ReportingPeriodicityRSRPMR.c \ + ReportIntervalMDT.c \ + ReservedSubframePattern.c \ + ResourceType.c \ + ResumeID.c \ + RLCMode.c \ + RLC-Status.c \ + RNTP-Threshold.c \ + RRC-Config-Ind.c \ + RRC-Context.c \ + RRCConnReestabIndicator.c \ + RRCConnSetupIndicator.c \ + RSRPMeasurementResult.c \ + RSRPMRList.c \ + RRCContainer.c \ + S1TNLLoadIndicator.c \ + SCGChangeIndication.c \ + SecondaryRATUsageReportList.c \ + SecondaryRATUsageReport-Item.c \ + SeNBSecurityKey.c \ + SeNBtoMeNBContainer.c \ + ServedCells.c \ + ServedCell-Information.c \ + ServiceType.c \ + SgNBCoordinationAssistanceInformation.c \ + SgNBResourceCoordinationInformation.c \ + SgNB-UE-X2AP-ID.c \ + SIPTOBearerDeactivationIndication.c \ + SharedResourceType.c \ + ShortMAC-I.c \ + SGNB-Addition-Trigger-Ind.c \ + SourceOfUEActivityBehaviourInformation.c \ + SpecialSubframe-Info.c \ + SpecialSubframePatterns.c \ + SpectrumSharingGroupID.c \ + SubbandCQI.c \ + Subscription-Based-UE-DifferentiationInfo.c \ + ScheduledCommunicationTime.c \ + SRVCCOperationPossible.c \ + SubbandCQICodeword0.c \ + SubbandCQICodeword1.c \ + SubbandCQIList.c \ + SubbandCQIItem.c \ + SubbandSize.c \ + SubscriberProfileIDforRFP.c \ + SubframeAllocation.c \ + SubframeAssignment.c \ + SubframeType.c \ + SgNBSecurityKey.c \ + SgNBtoMeNBContainer.c \ + SRBType.c \ + SCGConfigurationQuery.c \ + SULInformation.c \ + SupportedSULFreqBandItem.c \ + TABasedMDT.c \ + TAC.c \ + TAIBasedMDT.c \ + TAIListforMDT.c \ + TAI-Item.c \ + TAListforMDT.c \ + TABasedQMC.c \ + TAListforQMC.c \ + TAIBasedQMC.c \ + TAIListforQMC.c \ + TargetCellInUTRAN.c \ + TargeteNBtoSource-eNBTransparentContainer.c \ + TDD-Info.c \ + Threshold-RSRP.c \ + Threshold-RSRQ.c \ + TimeToWait.c \ + Time-UE-StayedInCell.c \ + Time-UE-StayedInCell-EnhancedGranularity.c \ + TraceActivation.c \ + TraceCollectionEntityIPAddress.c \ + TraceDepth.c \ + Transmission-Bandwidth.c \ + TransportLayerAddress.c \ + TunnelInformation.c \ + TypeOfError.c \ + UEAggregateMaximumBitRate.c \ + UEAppLayerMeasConfig.c \ + UE-ContextKeptIndicator.c \ + UEID.c \ + UE-HistoryInformation.c \ + UE-HistoryInformationFromTheUE.c \ + UE-S1AP-ID.c \ + UE-X2AP-ID.c \ + UE-X2AP-ID-Extension.c \ + UE-RLF-Report-Container.c \ + UE-RLF-Report-Container-for-extended-bands.c \ + UESecurityCapabilities.c \ + UESidelinkAggregateMaximumBitRate.c \ + UEsToBeResetList.c \ + UEsToBeResetList-Item.c \ + ULandDLSharing.c \ + ULConfiguration.c \ + UL-UE-Configuration.c \ + UL-GBR-PRB-usage.c \ + UL-HighInterferenceIndicationInfo.c \ + UL-HighInterferenceIndicationInfo-Item.c \ + UL-HighInterferenceIndication.c \ + UL-InterferenceOverloadIndication.c \ + UL-InterferenceOverloadIndication-Item.c \ + UL-non-GBR-PRB-usage.c \ + ULOnlySharing.c \ + ULResourceBitmapULandDLSharing.c \ + ULResourcesULandDLSharing.c \ + UL-scheduling-PDCCH-CCE-usage.c \ + UL-Total-PRB-usage.c \ + UsableABSInformation.c \ + UsableABSInformationFDD.c \ + UsableABSInformationTDD.c \ + UserPlaneTrafficActivityReport.c \ + V2XServicesAuthorized.c \ + VehicleUE.c \ + PedestrianUE.c \ + WidebandCQI.c \ + WidebandCQICodeword1.c \ + WLANMeasurementConfiguration.c \ + WLANMeasConfigNameList.c \ + WLANMeasConfig.c \ + WLANName.c \ + WTID.c \ + WTID-Type1.c \ + WTID-Long-Type2.c \ + WT-UE-XwAP-ID.c \ + X2BenefitValue.c \ + Criticality.c \ + Presence.c \ + PrivateIE-ID.c \ + ProcedureCode.c \ + ProtocolIE-ID.c \ + TriggeringMessage.c \ + ProtocolIE-Container.c \ + ProtocolIE-Single-Container.c \ + ProtocolIE-Field.c \ + ProtocolIE-ContainerPair.c \ + ProtocolIE-FieldPair.c \ + ProtocolIE-ContainerList.c \ + ProtocolIE-ContainerPairList.c \ + ProtocolExtensionContainer.c \ + ProtocolExtensionField.c \ + PrivateIE-Container.c \ + PrivateIE-Field.c \ + E2SM-gNB-X2-eventTriggerDefinition.c \ + E2SM-gNB-X2-actionDefinition.c \ + E2SM-gNB-X2-indicationHeader.c \ + E2SM-gNB-X2-indicationMessage.c \ + E2SM-gNB-X2-callProcessID.c \ + E2SM-gNB-X2-controlHeader.c \ + E2SM-gNB-X2-controlMessage.c \ + ActionParameter-Item.c \ + ActionParameter-ID.c \ + ActionParameter-Value.c \ + CallProcess-ID.c \ + Interface-ID.c \ + InterfaceDirection.c \ + InterfaceMessage.c \ + InterfaceMessageType.c \ + TypeOfMessage.c \ + InterfaceProtocolIE-Item.c \ + InterfaceProtocolIE-ID.c \ + InterfaceProtocolIE-Test.c \ + InterfaceProtocolIE-Value.c \ + Style-ID.c \ + TimeStamp.c + +ASN_MODULE_HDRS= \ + E2AP-PDU.h \ + InitiatingMessage.h \ + SuccessfulOutcome.h \ + UnsuccessfulOutcome.h \ + RICsubscriptionRequest.h \ + RICsubscription.h \ + RICactions-ToBeSetup-List.h \ + RICaction-ToBeSetup-Item.h \ + RICsubscriptionResponse.h \ + RICaction-Admitted-List.h \ + RICaction-Admitted-Item.h \ + RICaction-NotAdmitted-List.h \ + RICaction-NotAdmitted-Item.h \ + RICsubscriptionFailure.h \ + RICsubscriptionDeleteRequest.h \ + RICsubscriptionDeleteResponse.h \ + RICsubscriptionDeleteFailure.h \ + RICindication.h \ + RICcontrolRequest.h \ + RICcontrolAcknowledge.h \ + RICcontrolFailure.h \ + RICserviceUpdate.h \ + RANfunctions-List.h \ + RANfunction-Item.h \ + RANfunctionsID-List.h \ + RANfunctionID-Item.h \ + RICserviceUpdateAcknowledge.h \ + RANfunctionsIDcause-List.h \ + RANfunctionIDcause-Item.h \ + RICserviceUpdateFailure.h \ + RICserviceQuery.h \ + CauseRIC.h \ + RANfunctionDefinition.h \ + RANfunctionID.h \ + RICactionDefinition.h \ + RICactionID.h \ + RICactionType.h \ + RICcallProcessID.h \ + RICcause.h \ + RICcontrolAckRequest.h \ + RICcontrolHeader.h \ + RICcontrolMessage.h \ + RICcontrolStatus.h \ + RICeventTriggerDefinition.h \ + RICindicationHeader.h \ + RICindicationMessage.h \ + RICindicationSN.h \ + RICindicationType.h \ + RICrequestID.h \ + RICsubsequentAction.h \ + RICsubsequentActionType.h \ + RICtimeToWait.h \ + X2AP-PDU.h \ + X2InitiatingMessage.h \ + X2SuccessfulOutcome.h \ + X2UnsuccessfulOutcome.h \ + HandoverRequest.h \ + UE-ContextInformation.h \ + E-RABs-ToBeSetup-List.h \ + E-RABs-ToBeSetup-Item.h \ + MobilityInformation.h \ + UE-ContextReferenceAtSeNB.h \ + UE-ContextReferenceAtWT.h \ + UE-ContextReferenceAtSgNB.h \ + HandoverRequestAcknowledge.h \ + E-RABs-Admitted-List.h \ + E-RABs-Admitted-Item.h \ + HandoverPreparationFailure.h \ + HandoverReport.h \ + SNStatusTransfer.h \ + E-RABs-SubjectToStatusTransfer-List.h \ + E-RABs-SubjectToStatusTransfer-Item.h \ + UEContextRelease.h \ + HandoverCancel.h \ + ErrorIndication.h \ + ResetRequest.h \ + ResetResponse.h \ + X2SetupRequest.h \ + X2SetupResponse.h \ + X2SetupFailure.h \ + LoadInformation.h \ + CellInformation-List.h \ + CellInformation-Item.h \ + ENBConfigurationUpdate.h \ + ServedCellsToModify.h \ + ServedCellsToModify-Item.h \ + Old-ECGIs.h \ + ENBConfigurationUpdateAcknowledge.h \ + ENBConfigurationUpdateFailure.h \ + ResourceStatusRequest.h \ + CuCpResourceStatus.h \ + CellToReport-List.h \ + CellToReport-Item.h \ + ReportingPeriodicity.h \ + PartialSuccessIndicator.h \ + ResourceStatusResponse.h \ + CuCpResourceStatusReport.h + MeasurementInitiationResult-List.h \ + MeasurementInitiationResult-Item.h \ + MeasurementFailureCause-List.h \ + MeasurementFailureCause-Item.h \ + ResourceStatusFailure.h \ + CompleteFailureCauseInformation-List.h \ + CompleteFailureCauseInformation-Item.h \ + ResourceStatusUpdate.h \ + CellMeasurementResult-List.h \ + CellMeasurementResult-Item.h \ + PrivateMessage.h \ + MobilityChangeRequest.h \ + MobilityChangeAcknowledge.h \ + MobilityChangeFailure.h \ + RLFIndication.h \ + CellActivationRequest.h \ + ServedCellsToActivate.h \ + ServedCellsToActivate-Item.h \ + CellActivationResponse.h \ + ActivatedCellList.h \ + ActivatedCellList-Item.h \ + CellActivationFailure.h \ + X2Release.h \ + X2APMessageTransfer.h \ + RNL-Header.h \ + X2AP-Message.h \ + SeNBAdditionRequest.h \ + E-RABs-ToBeAdded-List.h \ + E-RABs-ToBeAdded-Item.h \ + E-RABs-ToBeAdded-Item-SCG-Bearer.h \ + E-RABs-ToBeAdded-Item-Split-Bearer.h \ + SeNBAdditionRequestAcknowledge.h \ + E-RABs-Admitted-ToBeAdded-List.h \ + E-RABs-Admitted-ToBeAdded-Item.h \ + E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer.h \ + E-RABs-Admitted-ToBeAdded-Item-Split-Bearer.h \ + SeNBAdditionRequestReject.h \ + SeNBReconfigurationComplete.h \ + ResponseInformationSeNBReconfComp.h \ + ResponseInformationSeNBReconfComp-SuccessItem.h \ + ResponseInformationSeNBReconfComp-RejectByMeNBItem.h \ + SeNBModificationRequest.h \ + UE-ContextInformationSeNBModReq.h \ + E-RABs-ToBeAdded-List-ModReq.h \ + E-RABs-ToBeAdded-ModReqItem.h \ + E-RABs-ToBeAdded-ModReqItem-SCG-Bearer.h \ + E-RABs-ToBeAdded-ModReqItem-Split-Bearer.h \ + E-RABs-ToBeModified-List-ModReq.h \ + E-RABs-ToBeModified-ModReqItem.h \ + E-RABs-ToBeModified-ModReqItem-SCG-Bearer.h \ + E-RABs-ToBeModified-ModReqItem-Split-Bearer.h \ + E-RABs-ToBeReleased-List-ModReq.h \ + E-RABs-ToBeReleased-ModReqItem.h \ + E-RABs-ToBeReleased-ModReqItem-SCG-Bearer.h \ + E-RABs-ToBeReleased-ModReqItem-Split-Bearer.h \ + SeNBModificationRequestAcknowledge.h \ + E-RABs-Admitted-ToBeAdded-ModAckList.h \ + E-RABs-Admitted-ToBeAdded-ModAckItem.h \ + E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer.h \ + E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer.h \ + E-RABs-Admitted-ToBeModified-ModAckList.h \ + E-RABs-Admitted-ToBeModified-ModAckItem.h \ + E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer.h \ + E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer.h \ + E-RABs-Admitted-ToBeReleased-ModAckList.h \ + E-RABs-Admitted-ToReleased-ModAckItem.h \ + E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer.h \ + E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer.h \ + SeNBModificationRequestReject.h \ + SeNBModificationRequired.h \ + E-RABs-ToBeReleased-ModReqd.h \ + E-RABs-ToBeReleased-ModReqdItem.h \ + SeNBModificationConfirm.h \ + SeNBModificationRefuse.h \ + SeNBReleaseRequest.h \ + E-RABs-ToBeReleased-List-RelReq.h \ + E-RABs-ToBeReleased-RelReqItem.h \ + E-RABs-ToBeReleased-RelReqItem-SCG-Bearer.h \ + E-RABs-ToBeReleased-RelReqItem-Split-Bearer.h \ + SeNBReleaseRequired.h \ + SeNBReleaseConfirm.h \ + E-RABs-ToBeReleased-List-RelConf.h \ + E-RABs-ToBeReleased-RelConfItem.h \ + E-RABs-ToBeReleased-RelConfItem-SCG-Bearer.h \ + E-RABs-ToBeReleased-RelConfItem-Split-Bearer.h \ + SeNBCounterCheckRequest.h \ + E-RABs-SubjectToCounterCheck-List.h \ + E-RABs-SubjectToCounterCheckItem.h \ + X2RemovalRequest.h \ + X2RemovalResponse.h \ + X2RemovalFailure.h \ + RetrieveUEContextRequest.h \ + RetrieveUEContextResponse.h \ + UE-ContextInformationRetrieve.h \ + E-RABs-ToBeSetup-ListRetrieve.h \ + E-RABs-ToBeSetupRetrieve-Item.h \ + RetrieveUEContextFailure.h \ + SgNBAdditionRequest.h \ + E-RABs-ToBeAdded-SgNBAddReqList.h \ + E-RABs-ToBeAdded-SgNBAddReq-Item.h \ + E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent.h \ + SgNBAdditionRequestAcknowledge.h \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent.h \ + E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent.h \ + SgNBAdditionRequestReject.h \ + SgNBReconfigurationComplete.h \ + ResponseInformationSgNBReconfComp.h \ + ResponseInformationSgNBReconfComp-SuccessItem.h \ + ResponseInformationSgNBReconfComp-RejectByMeNBItem.h \ + SgNBModificationRequest.h \ + UE-ContextInformation-SgNBModReq.h \ + E-RABs-ToBeAdded-SgNBModReq-List.h \ + E-RABs-ToBeAdded-SgNBModReq-Item.h \ + E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent.h \ + E-RABs-ToBeModified-SgNBModReq-List.h \ + E-RABs-ToBeModified-SgNBModReq-Item.h \ + E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent.h \ + E-RABs-ToBeReleased-SgNBModReq-List.h \ + E-RABs-ToBeReleased-SgNBModReq-Item.h \ + E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent.h \ + SgNBModificationRequestAcknowledge.h \ + E-RABs-Admitted-ToBeAdded-SgNBModAckList.h \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent.h \ + E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent.h \ + E-RABs-Admitted-ToBeModified-SgNBModAckList.h \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent.h \ + E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent.h \ + E-RABs-Admitted-ToBeReleased-SgNBModAckList.h \ + E-RABs-Admitted-ToReleased-SgNBModAck-Item.h \ + E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent.h \ + E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent.h \ + SgNBModificationRequestReject.h \ + SgNBModificationRequired.h \ + E-RABs-ToBeReleased-SgNBModReqdList.h \ + E-RABs-ToBeReleased-SgNBModReqd-Item.h \ + E-RABs-ToBeModified-SgNBModReqdList.h \ + E-RABs-ToBeModified-SgNBModReqd-Item.h \ + E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent.h \ + SgNBModificationConfirm.h \ + E-RABs-AdmittedToBeModified-SgNBModConfList.h \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item.h \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent.h \ + E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent.h \ + SgNBModificationRefuse.h \ + SgNBReleaseRequest.h \ + E-RABs-ToBeReleased-SgNBRelReqList.h \ + E-RABs-ToBeReleased-SgNBRelReq-Item.h \ + E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent.h \ + SgNBReleaseRequestAcknowledge.h \ + E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.h \ + E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.h \ + SgNBReleaseRequestReject.h \ + SgNBReleaseRequired.h \ + E-RABs-ToBeReleased-SgNBRelReqdList.h \ + E-RABs-ToBeReleased-SgNBRelReqd-Item.h \ + SgNBReleaseConfirm.h \ + E-RABs-ToBeReleased-SgNBRelConfList.h \ + E-RABs-ToBeReleased-SgNBRelConf-Item.h \ + E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent.h \ + SgNBCounterCheckRequest.h \ + E-RABs-SubjectToSgNBCounterCheck-List.h \ + E-RABs-SubjectToSgNBCounterCheck-Item.h \ + SgNBChangeRequired.h \ + SgNBChangeConfirm.h \ + E-RABs-ToBeReleased-SgNBChaConfList.h \ + E-RABs-ToBeReleased-SgNBChaConf-Item.h \ + E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent.h \ + E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent.h \ + RRCTransfer.h \ + SgNBChangeRefuse.h \ + ENDCX2SetupRequest.h \ + InitiatingNodeType-EndcX2Setup.h \ + ServedEUTRAcellsENDCX2ManagementList.h \ + ServedNRcellsENDCX2ManagementList.h \ + ServedNRCell-Information.h \ + FDD-InfoServedNRCell-Information.h \ + FDD-InfoNeighbourServedNRCell-Information.h \ + TDD-InfoServedNRCell-Information.h \ + TDD-InfoNeighbourServedNRCell-Information.h \ + NRNeighbour-Information.h \ + CellAssistanceInformation.h \ + Limited-list.h \ + ENDCX2SetupResponse.h \ + RespondingNodeType-EndcX2Setup.h \ + ENDCX2SetupFailure.h \ + ENDCConfigurationUpdate.h \ + InitiatingNodeType-EndcConfigUpdate.h \ + ServedEUTRAcellsToModifyListENDCConfUpd.h \ + ServedEUTRAcellsToDeleteListENDCConfUpd.h \ + ServedNRcellsToModifyENDCConfUpdList.h \ + ServedNRCellsToModify-Item.h \ + ServedNRcellsToDeleteENDCConfUpdList.h \ + ENDCConfigurationUpdateAcknowledge.h \ + RespondingNodeType-EndcConfigUpdate.h \ + ENDCConfigurationUpdateFailure.h \ + ENDCCellActivationRequest.h \ + ServedNRCellsToActivate.h \ + ServedNRCellsToActivate-Item.h \ + ENDCCellActivationResponse.h \ + ActivatedNRCellList.h \ + ActivatedNRCellList-Item.h \ + ENDCCellActivationFailure.h \ + SecondaryRATDataUsageReport.h \ + SgNBActivityNotification.h \ + ENDCPartialResetRequired.h \ + ENDCPartialResetConfirm.h \ + EUTRANRCellResourceCoordinationRequest.h \ + InitiatingNodeType-EutranrCellResourceCoordination.h \ + ListofEUTRACellsinEUTRACoordinationReq.h \ + ListofEUTRACellsinNRCoordinationReq.h \ + ListofNRCellsinNRCoordinationReq.h \ + EUTRANRCellResourceCoordinationResponse.h \ + RespondingNodeType-EutranrCellResourceCoordination.h \ + ListofEUTRACellsinEUTRACoordinationResp.h \ + ListofNRCellsinNRCoordinationResp.h \ + ENDCX2RemovalRequest.h \ + InitiatingNodeType-EndcX2Removal.h \ + ENDCX2RemovalResponse.h \ + RespondingNodeType-EndcX2Removal.h \ + ENDCX2RemovalFailure.h \ + DataForwardingAddressIndication.h \ + E-RABs-DataForwardingAddress-List.h \ + E-RABs-DataForwardingAddress-Item.h \ + GNBStatusIndication.h \ + ABSInformation.h \ + ABSInformationFDD.h \ + ABSInformationTDD.h \ + ABS-Status.h \ + ActivationID.h \ + AdditionalSpecialSubframe-Info.h \ + AdditionalSpecialSubframePatterns.h \ + AdditionalSpecialSubframeExtension-Info.h \ + AdditionalSpecialSubframePatternsExtension.h \ + AerialUEsubscriptionInformation.h \ + AllocationAndRetentionPriority.h \ + AreaScopeOfMDT.h \ + AreaScopeOfQMC.h \ + AS-SecurityInformation.h \ + BandwidthReducedSI.h \ + BearerType.h \ + BenefitMetric.h \ + BitRate.h \ + BroadcastPLMNs-Item.h \ + BluetoothMeasurementConfiguration.h \ + BluetoothMeasConfigNameList.h \ + BluetoothMeasConfig.h \ + BluetoothName.h \ + CapacityValue.h \ + Cause.h \ + CauseMisc.h \ + CauseProtocol.h \ + CauseRadioNetwork.h \ + CauseTransport.h \ + CellBasedMDT.h \ + CellBasedQMC.h \ + CellCapacityClassValue.h \ + CellDeploymentStatusIndicator.h \ + CellIdListforMDT.h \ + CellIdListforQMC.h \ + CellReplacingInfo.h \ + CellReportingIndicator.h \ + Cell-Size.h \ + CellType.h \ + CNTypeRestrictions.h \ + CNTypeRestrictionsItem.h \ + CoMPHypothesisSet.h \ + CoMPHypothesisSetItem.h \ + CoMPInformation.h \ + CoMPInformationItem.h \ + CoMPInformationStartTime.h \ + CompositeAvailableCapacity.h \ + CompositeAvailableCapacityGroup.h \ + Correlation-ID.h \ + COUNTvalue.h \ + COUNTValueExtended.h \ + COUNTvaluePDCP-SNlength18.h \ + CoverageModificationList.h \ + CoverageModification-Item.h \ + CriticalityDiagnostics.h \ + CriticalityDiagnostics-IE-List.h \ + CRNTI.h \ + CSGMembershipStatus.h \ + CSG-Id.h \ + CSIReportList.h \ + CSIReportPerCSIProcess.h \ + CSIReportPerCSIProcessItem.h \ + CyclicPrefixDL.h \ + CyclicPrefixUL.h \ + DataTrafficResources.h \ + DataTrafficResourceIndication.h \ + DeactivationIndication.h \ + DeliveryStatus.h \ + DL-ABS-status.h \ + DL-Forwarding.h \ + DL-GBR-PRB-usage.h \ + DL-non-GBR-PRB-usage.h \ + DLResourceBitmapULandDLSharing.h \ + DLResourcesULandDLSharing.h \ + DL-scheduling-PDCCH-CCE-usage.h \ + DL-Total-PRB-usage.h \ + DRB-ID.h \ + DuplicationActivation.h \ + DynamicDLTransmissionInformation.h \ + DynamicNAICSInformation.h \ + EARFCN.h \ + EARFCNExtension.h \ + ECGI.h \ + EnhancedRNTP.h \ + EnhancedRNTPStartTime.h \ + ENB-ID.h \ + EncryptionAlgorithms.h \ + EN-DC-ResourceConfiguration.h \ + EPLMNs.h \ + ERABActivityNotifyItemList.h \ + ERABActivityNotifyItem.h \ + E-RAB-ID.h \ + E-RAB-Level-QoS-Parameters.h \ + E-RAB-List.h \ + E-RAB-Item.h \ + E-RABUsageReportList.h \ + E-RABUsageReport-Item.h \ + EUTRA-Mode-Info.h \ + EUTRANCellIdentifier.h \ + EUTRANTraceID.h \ + EventType.h \ + ExpectedUEBehaviour.h \ + ExpectedUEActivityBehaviour.h \ + ExpectedActivityPeriod.h \ + ExpectedIdlePeriod.h \ + ExpectedHOInterval.h \ + ExtendedULInterferenceOverloadInfo.h \ + ExtendedBitRate.h \ + FDD-Info.h \ + ForbiddenInterRATs.h \ + ForbiddenTAs.h \ + ForbiddenTAs-Item.h \ + ForbiddenTACs.h \ + ForbiddenLAs.h \ + ForbiddenLAs-Item.h \ + ForbiddenLACs.h \ + Fourframes.h \ + FreqBandIndicator.h \ + FreqBandIndicatorPriority.h \ + FreqBandNrItem.h \ + GBR-QosInformation.h \ + GlobalENB-ID.h \ + GlobalGNB-ID.h \ + GNBOverloadInformation.h \ + GTPtunnelEndpoint.h \ + GTP-TEI.h \ + GUGroupIDList.h \ + GU-Group-ID.h \ + GUMMEI.h \ + GNB-ID.h \ + HandoverReportType.h \ + HandoverRestrictionList.h \ + HFN.h \ + HFNModified.h \ + HFNforPDCP-SNlength18.h \ + HWLoadIndicator.h \ + IntegrityProtectionAlgorithms.h \ + InterfacesToTrace.h \ + InvokeIndication.h \ + Key-eNodeB-Star.h \ + LAC.h \ + LastVisitedCell-Item.h \ + LastVisitedEUTRANCellInformation.h \ + LastVisitedGERANCellInformation.h \ + LastVisitedNGRANCellInformation.h \ + LastVisitedUTRANCellInformation.h \ + LCID.h \ + LHN-ID.h \ + Links-to-log.h \ + LoadIndicator.h \ + LocationReportingInformation.h \ + M1PeriodicReporting.h \ + M1ReportingTrigger.h \ + M1ThresholdEventA2.h \ + M3Configuration.h \ + M3period.h \ + M4Configuration.h \ + M4period.h \ + M5Configuration.h \ + M5period.h \ + M6Configuration.h \ + M6report-interval.h \ + M6delay-threshold.h \ + M7Configuration.h \ + M7period.h \ + MakeBeforeBreakIndicator.h \ + ManagementBasedMDTallowed.h \ + Masked-IMEISV.h \ + MDT-Activation.h \ + MDT-Configuration.h \ + MDTPLMNList.h \ + MDT-Location-Info.h \ + Measurement-ID.h \ + MeasurementsToActivate.h \ + MeasurementThresholdA2.h \ + MeNBCoordinationAssistanceInformation.h \ + MeNBResourceCoordinationInformation.h \ + MeNBtoSeNBContainer.h \ + MME-Group-ID.h \ + MME-Code.h \ + MBMS-Service-Area-Identity-List.h \ + MBMS-Service-Area-Identity.h \ + MBSFN-Subframe-Infolist.h \ + MBSFN-Subframe-Info.h \ + MobilityParametersModificationRange.h \ + MobilityParametersInformation.h \ + MultibandInfoList.h \ + BandInfo.h \ + MeNBtoSgNBContainer.h \ + SplitSRBs.h \ + SplitSRB.h \ + UENRMeasurement.h \ + Neighbour-Information.h \ + NextHopChainingCount.h \ + NewDRBIDrequest.h \ + Number-of-Antennaports.h \ + NRFreqInfo.h \ + NRCellIdentifier.h \ + NRCGI.h \ + NRPCI.h \ + NRrestrictioninEPSasSecondaryRAT.h \ + NRrestrictionin5GS.h \ + NRencryptionAlgorithms.h \ + NRintegrityProtectionAlgorithms.h \ + NR-TxBW.h \ + NRNRB.h \ + NRSCS.h \ + NRS-NSSS-PowerOffset.h \ + FiveGS-TAC.h \ + NRUESecurityCapabilities.h \ + NSSS-NumOccasionDifferentPrecoder.h \ + OffsetOfNbiotChannelNumberToEARFCN.h \ + Oneframe.h \ + Packet-LossRate.h \ + PA-Values.h \ + PDCPChangeIndication.h \ + PDCP-SN.h \ + PDCP-SNExtended.h \ + PDCP-SNlength18.h \ + PDCPSnLength.h \ + PCI.h \ + PLMN-Identity.h \ + Port-Number.h \ + PRACH-Configuration.h \ + PLMNAreaBasedQMC.h \ + PLMNListforQMC.h \ + Pre-emptionCapability.h \ + Pre-emptionVulnerability.h \ + PriorityLevel.h \ + ProSeAuthorized.h \ + ProSeDirectDiscovery.h \ + ProSeDirectCommunication.h \ + ProSeUEtoNetworkRelaying.h \ + ProtectedEUTRAResourceIndication.h \ + ProtectedFootprintTimePattern.h \ + ProtectedResourceList.h \ + ProtectedResourceList-Item.h \ + QCI.h \ + RadioframeAllocationOffset.h \ + RadioframeAllocationPeriod.h \ + RadioResourceStatus.h \ + ReceiveStatusofULPDCPSDUs.h \ + ReceiveStatusOfULPDCPSDUsExtended.h \ + ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h \ + Reestablishment-Indication.h \ + Registration-Request.h \ + RelativeNarrowbandTxPower.h \ + ReplacingCellsList.h \ + ReplacingCellsList-Item.h \ + ReportAmountMDT.h \ + ReportArea.h \ + ReportCharacteristics.h \ + ReportingPeriodicityCSIR.h \ + ReportingPeriodicityRSRPMR.h \ + ReportIntervalMDT.h \ + ReservedSubframePattern.h \ + ResourceType.h \ + ResumeID.h \ + RLCMode.h \ + RLC-Status.h \ + RNTP-Threshold.h \ + RRC-Config-Ind.h \ + RRC-Context.h \ + RRCConnReestabIndicator.h \ + RRCConnSetupIndicator.h \ + RSRPMeasurementResult.h \ + RSRPMRList.h \ + RRCContainer.h \ + S1TNLLoadIndicator.h \ + SCGChangeIndication.h \ + SecondaryRATUsageReportList.h \ + SecondaryRATUsageReport-Item.h \ + SeNBSecurityKey.h \ + SeNBtoMeNBContainer.h \ + ServedCells.h \ + ServedCell-Information.h \ + ServiceType.h \ + SgNBCoordinationAssistanceInformation.h \ + SgNBResourceCoordinationInformation.h \ + SgNB-UE-X2AP-ID.h \ + SIPTOBearerDeactivationIndication.h \ + SharedResourceType.h \ + ShortMAC-I.h \ + SGNB-Addition-Trigger-Ind.h \ + SourceOfUEActivityBehaviourInformation.h \ + SpecialSubframe-Info.h \ + SpecialSubframePatterns.h \ + SpectrumSharingGroupID.h \ + SubbandCQI.h \ + Subscription-Based-UE-DifferentiationInfo.h \ + ScheduledCommunicationTime.h \ + SRVCCOperationPossible.h \ + SubbandCQICodeword0.h \ + SubbandCQICodeword1.h \ + SubbandCQIList.h \ + SubbandCQIItem.h \ + SubbandSize.h \ + SubscriberProfileIDforRFP.h \ + SubframeAllocation.h \ + SubframeAssignment.h \ + SubframeType.h \ + SgNBSecurityKey.h \ + SgNBtoMeNBContainer.h \ + SRBType.h \ + SCGConfigurationQuery.h \ + SULInformation.h \ + SupportedSULFreqBandItem.h \ + TABasedMDT.h \ + TAC.h \ + TAIBasedMDT.h \ + TAIListforMDT.h \ + TAI-Item.h \ + TAListforMDT.h \ + TABasedQMC.h \ + TAListforQMC.h \ + TAIBasedQMC.h \ + TAIListforQMC.h \ + TargetCellInUTRAN.h \ + TargeteNBtoSource-eNBTransparentContainer.h \ + TDD-Info.h \ + Threshold-RSRP.h \ + Threshold-RSRQ.h \ + TimeToWait.h \ + Time-UE-StayedInCell.h \ + Time-UE-StayedInCell-EnhancedGranularity.h \ + TraceActivation.h \ + TraceCollectionEntityIPAddress.h \ + TraceDepth.h \ + Transmission-Bandwidth.h \ + TransportLayerAddress.h \ + TunnelInformation.h \ + TypeOfError.h \ + UEAggregateMaximumBitRate.h \ + UEAppLayerMeasConfig.h \ + UE-ContextKeptIndicator.h \ + UEID.h \ + UE-HistoryInformation.h \ + UE-HistoryInformationFromTheUE.h \ + UE-S1AP-ID.h \ + UE-X2AP-ID.h \ + UE-X2AP-ID-Extension.h \ + UE-RLF-Report-Container.h \ + UE-RLF-Report-Container-for-extended-bands.h \ + UESecurityCapabilities.h \ + UESidelinkAggregateMaximumBitRate.h \ + UEsToBeResetList.h \ + UEsToBeResetList-Item.h \ + ULandDLSharing.h \ + ULConfiguration.h \ + UL-UE-Configuration.h \ + UL-GBR-PRB-usage.h \ + UL-HighInterferenceIndicationInfo.h \ + UL-HighInterferenceIndicationInfo-Item.h \ + UL-HighInterferenceIndication.h \ + UL-InterferenceOverloadIndication.h \ + UL-InterferenceOverloadIndication-Item.h \ + UL-non-GBR-PRB-usage.h \ + ULOnlySharing.h \ + ULResourceBitmapULandDLSharing.h \ + ULResourcesULandDLSharing.h \ + UL-scheduling-PDCCH-CCE-usage.h \ + UL-Total-PRB-usage.h \ + UsableABSInformation.h \ + UsableABSInformationFDD.h \ + UsableABSInformationTDD.h \ + UserPlaneTrafficActivityReport.h \ + V2XServicesAuthorized.h \ + VehicleUE.h \ + PedestrianUE.h \ + WidebandCQI.h \ + WidebandCQICodeword1.h \ + WLANMeasurementConfiguration.h \ + WLANMeasConfigNameList.h \ + WLANMeasConfig.h \ + WLANName.h \ + WTID.h \ + WTID-Type1.h \ + WTID-Long-Type2.h \ + WT-UE-XwAP-ID.h \ + X2BenefitValue.h \ + Criticality.h \ + Presence.h \ + PrivateIE-ID.h \ + ProcedureCode.h \ + ProtocolIE-ID.h \ + TriggeringMessage.h \ + ProtocolIE-Container.h \ + ProtocolIE-Single-Container.h \ + ProtocolIE-Field.h \ + ProtocolIE-ContainerPair.h \ + ProtocolIE-FieldPair.h \ + ProtocolIE-ContainerList.h \ + ProtocolIE-ContainerPairList.h \ + ProtocolExtensionContainer.h \ + ProtocolExtensionField.h \ + PrivateIE-Container.h \ + PrivateIE-Field.h \ + E2SM-gNB-X2-eventTriggerDefinition.h \ + E2SM-gNB-X2-actionDefinition.h \ + E2SM-gNB-X2-indicationHeader.h \ + E2SM-gNB-X2-indicationMessage.h \ + E2SM-gNB-X2-callProcessID.h \ + E2SM-gNB-X2-controlHeader.h \ + E2SM-gNB-X2-controlMessage.h \ + ActionParameter-Item.h \ + ActionParameter-ID.h \ + ActionParameter-Value.h \ + CallProcess-ID.h \ + Interface-ID.h \ + InterfaceDirection.h \ + InterfaceMessage.h \ + InterfaceMessageType.h \ + TypeOfMessage.h \ + InterfaceProtocolIE-Item.h \ + InterfaceProtocolIE-ID.h \ + InterfaceProtocolIE-Test.h \ + InterfaceProtocolIE-Value.h \ + Style-ID.h \ + TimeStamp.h + +ASN_MODULE_HDRS+=ANY.h +ASN_MODULE_SRCS+=ANY.c +ASN_MODULE_HDRS+=OCTET_STRING.h +ASN_MODULE_HDRS+=OPEN_TYPE.h +ASN_MODULE_SRCS+=OPEN_TYPE.c +ASN_MODULE_HDRS+=constr_CHOICE.h +ASN_MODULE_HDRS+=BOOLEAN.h +ASN_MODULE_SRCS+=BOOLEAN.c +ASN_MODULE_HDRS+=INTEGER.h +ASN_MODULE_SRCS+=INTEGER.c +ASN_MODULE_HDRS+=NULL.h +ASN_MODULE_SRCS+=NULL.c +ASN_MODULE_HDRS+=NativeEnumerated.h +ASN_MODULE_SRCS+=NativeEnumerated.c +ASN_MODULE_HDRS+=NativeInteger.h +ASN_MODULE_SRCS+=NativeInteger.c +ASN_MODULE_HDRS+=OBJECT_IDENTIFIER.h +ASN_MODULE_SRCS+=OBJECT_IDENTIFIER.c +ASN_MODULE_HDRS+=PrintableString.h +ASN_MODULE_SRCS+=PrintableString.c +ASN_MODULE_HDRS+=asn_SEQUENCE_OF.h +ASN_MODULE_SRCS+=asn_SEQUENCE_OF.c +ASN_MODULE_HDRS+=asn_SET_OF.h +ASN_MODULE_SRCS+=asn_SET_OF.c +ASN_MODULE_SRCS+=constr_CHOICE.c +ASN_MODULE_HDRS+=constr_SEQUENCE.h +ASN_MODULE_SRCS+=constr_SEQUENCE.c +ASN_MODULE_HDRS+=constr_SEQUENCE_OF.h +ASN_MODULE_SRCS+=constr_SEQUENCE_OF.c +ASN_MODULE_HDRS+=constr_SET_OF.h +ASN_MODULE_SRCS+=constr_SET_OF.c +ASN_MODULE_HDRS+=asn_application.h +ASN_MODULE_SRCS+=asn_application.c +ASN_MODULE_HDRS+=asn_ioc.h +ASN_MODULE_HDRS+=asn_system.h +ASN_MODULE_HDRS+=asn_codecs.h +ASN_MODULE_HDRS+=asn_internal.h +ASN_MODULE_SRCS+=asn_internal.c +ASN_MODULE_HDRS+=asn_random_fill.h +ASN_MODULE_SRCS+=asn_random_fill.c +ASN_MODULE_HDRS+=asn_bit_data.h +ASN_MODULE_SRCS+=asn_bit_data.c +ASN_MODULE_SRCS+=OCTET_STRING.c +ASN_MODULE_HDRS+=BIT_STRING.h +ASN_MODULE_SRCS+=BIT_STRING.c +ASN_MODULE_SRCS+=asn_codecs_prim.c +ASN_MODULE_HDRS+=asn_codecs_prim.h +ASN_MODULE_HDRS+=ber_tlv_length.h +ASN_MODULE_SRCS+=ber_tlv_length.c +ASN_MODULE_HDRS+=ber_tlv_tag.h +ASN_MODULE_SRCS+=ber_tlv_tag.c +ASN_MODULE_HDRS+=ber_decoder.h +ASN_MODULE_SRCS+=ber_decoder.c +ASN_MODULE_HDRS+=der_encoder.h +ASN_MODULE_SRCS+=der_encoder.c +ASN_MODULE_HDRS+=constr_TYPE.h +ASN_MODULE_SRCS+=constr_TYPE.c +ASN_MODULE_HDRS+=constraints.h +ASN_MODULE_SRCS+=constraints.c +ASN_MODULE_HDRS+=xer_support.h +ASN_MODULE_SRCS+=xer_support.c +ASN_MODULE_HDRS+=xer_decoder.h +ASN_MODULE_SRCS+=xer_decoder.c +ASN_MODULE_HDRS+=xer_encoder.h +ASN_MODULE_SRCS+=xer_encoder.c +ASN_MODULE_HDRS+=per_support.h +ASN_MODULE_SRCS+=per_support.c +ASN_MODULE_HDRS+=per_decoder.h +ASN_MODULE_SRCS+=per_decoder.c +ASN_MODULE_HDRS+=per_encoder.h +ASN_MODULE_SRCS+=per_encoder.c +ASN_MODULE_HDRS+=per_opentype.h +ASN_MODULE_SRCS+=per_opentype.c + +ASN_MODULE_CFLAGS=-DASN_DISABLE_OER_SUPPORT + +lib_LTLIBRARIES+=libasncodec.la +libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS) +libasncodec_la_CPPFLAGS=-I$(top_srcdir)/ +libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS) +libasncodec_la_LDFLAGS=-lm diff --git a/asn1c_defs/all-defs/ManagementBasedMDTallowed.c b/asn1c_defs/all-defs/ManagementBasedMDTallowed.c new file mode 100755 index 0000000..48bc6d9 --- /dev/null +++ b/asn1c_defs/all-defs/ManagementBasedMDTallowed.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ManagementBasedMDTallowed.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ManagementBasedMDTallowed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ManagementBasedMDTallowed_value2enum_1[] = { + { 0, 7, "allowed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ManagementBasedMDTallowed_enum2value_1[] = { + 0 /* allowed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ManagementBasedMDTallowed_specs_1 = { + asn_MAP_ManagementBasedMDTallowed_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ManagementBasedMDTallowed_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ManagementBasedMDTallowed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ManagementBasedMDTallowed = { + "ManagementBasedMDTallowed", + "ManagementBasedMDTallowed", + &asn_OP_NativeEnumerated, + asn_DEF_ManagementBasedMDTallowed_tags_1, + sizeof(asn_DEF_ManagementBasedMDTallowed_tags_1) + /sizeof(asn_DEF_ManagementBasedMDTallowed_tags_1[0]), /* 1 */ + asn_DEF_ManagementBasedMDTallowed_tags_1, /* Same as above */ + sizeof(asn_DEF_ManagementBasedMDTallowed_tags_1) + /sizeof(asn_DEF_ManagementBasedMDTallowed_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ManagementBasedMDTallowed_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ManagementBasedMDTallowed_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ManagementBasedMDTallowed.h b/asn1c_defs/all-defs/ManagementBasedMDTallowed.h new file mode 100755 index 0000000..41ebb80 --- /dev/null +++ b/asn1c_defs/all-defs/ManagementBasedMDTallowed.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ManagementBasedMDTallowed_H_ +#define _ManagementBasedMDTallowed_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ManagementBasedMDTallowed { + ManagementBasedMDTallowed_allowed = 0 + /* + * Enumeration is extensible + */ +} e_ManagementBasedMDTallowed; + +/* ManagementBasedMDTallowed */ +typedef long ManagementBasedMDTallowed_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ManagementBasedMDTallowed_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ManagementBasedMDTallowed; +extern const asn_INTEGER_specifics_t asn_SPC_ManagementBasedMDTallowed_specs_1; +asn_struct_free_f ManagementBasedMDTallowed_free; +asn_struct_print_f ManagementBasedMDTallowed_print; +asn_constr_check_f ManagementBasedMDTallowed_constraint; +ber_type_decoder_f ManagementBasedMDTallowed_decode_ber; +der_type_encoder_f ManagementBasedMDTallowed_encode_der; +xer_type_decoder_f ManagementBasedMDTallowed_decode_xer; +xer_type_encoder_f ManagementBasedMDTallowed_encode_xer; +per_type_decoder_f ManagementBasedMDTallowed_decode_uper; +per_type_encoder_f ManagementBasedMDTallowed_encode_uper; +per_type_decoder_f ManagementBasedMDTallowed_decode_aper; +per_type_encoder_f ManagementBasedMDTallowed_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ManagementBasedMDTallowed_H_ */ +#include diff --git a/asn1c_defs/all-defs/ManagementBasedMDTallowed.o b/asn1c_defs/all-defs/ManagementBasedMDTallowed.o new file mode 100644 index 0000000000000000000000000000000000000000..6010f7730d6be1b8089cfe447d222cb9517710fd GIT binary patch literal 2600 zcmbtV&2G~`5Z=^4%U|1YLLj8Tg(6Wat}1~*LWVYNg=mQi6-TpiS4|He_LnLEwH+@bf-4A)#@j@U%TZm`t|vsZ&2_ixb4>${oqEx*F7PA zAB~U%yppaw)A8{PPk6^kU_4l%NIY@!7<~npiWu(J&h#waPV~f-4UN5G>P(3`c`lOf z8-8-o(P;g%6g8?mab}bN^ck+I)qk5JzJZ=4+g3jTRITUMBmyXX}Oa{feBo{-y9RTFFSp;ppt&~pTaS4!Q@c**fz}ikDJkk)Vuqt z0lBItHNLa3fo5Yf(g%BLOmlIXWV%Ny?WjcccH<~Xqnww!i8hsY zeXysJC(Gse%#fe4O7NT^&$;O4^K13|uOto-(zY~(MHZ7bwY!&N7e zdq5s-p7)Ua$m4!55f*-S(ABa9TK96@W=pHrTKL;iOX0V&O!&PN0Y(OX08n+Laihgv zhlU)#lg1MKaoWZ2w(yfwD}QxkYd+I5e#wpepS}#~xHtEI6PA?4SX-_FK+gT5g%s2z z&8o%*>Fc2JdAs=^oj8W>`ZvLW+yV!X=KO08&-tuF@T2Xne+V2(J6D5yZD8fbT~IhH zVGalPA2dLR#GC_-^TTt-^ZyVyTp#~!w%~USh2wKHoJ+>fz$ofJr2I7wBwcgxCg7s} zKhew0`Pe`9!u@dnFMz|P_&oyC$Ol><&&L*`O%C!IT+G>VUy8_rSPXNY9oG3u`QJ&O l2W}cJw}1QwxMvTPct_->(}x4iH>W877d^lCSj-YP{|}8H=3M{) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Masked-IMEISV.c b/asn1c_defs/all-defs/Masked-IMEISV.c new file mode 100755 index 0000000..c69abc1 --- /dev/null +++ b/asn1c_defs/all-defs/Masked-IMEISV.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Masked-IMEISV.h" + +int +Masked_IMEISV_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 64)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_Masked_IMEISV_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Masked_IMEISV_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Masked_IMEISV = { + "Masked-IMEISV", + "Masked-IMEISV", + &asn_OP_BIT_STRING, + asn_DEF_Masked_IMEISV_tags_1, + sizeof(asn_DEF_Masked_IMEISV_tags_1) + /sizeof(asn_DEF_Masked_IMEISV_tags_1[0]), /* 1 */ + asn_DEF_Masked_IMEISV_tags_1, /* Same as above */ + sizeof(asn_DEF_Masked_IMEISV_tags_1) + /sizeof(asn_DEF_Masked_IMEISV_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Masked_IMEISV_constr_1, Masked_IMEISV_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Masked-IMEISV.h b/asn1c_defs/all-defs/Masked-IMEISV.h new file mode 100755 index 0000000..7cb21d2 --- /dev/null +++ b/asn1c_defs/all-defs/Masked-IMEISV.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Masked_IMEISV_H_ +#define _Masked_IMEISV_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Masked-IMEISV */ +typedef BIT_STRING_t Masked_IMEISV_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Masked_IMEISV; +asn_struct_free_f Masked_IMEISV_free; +asn_struct_print_f Masked_IMEISV_print; +asn_constr_check_f Masked_IMEISV_constraint; +ber_type_decoder_f Masked_IMEISV_decode_ber; +der_type_encoder_f Masked_IMEISV_encode_der; +xer_type_decoder_f Masked_IMEISV_decode_xer; +xer_type_encoder_f Masked_IMEISV_encode_xer; +per_type_decoder_f Masked_IMEISV_decode_uper; +per_type_encoder_f Masked_IMEISV_encode_uper; +per_type_decoder_f Masked_IMEISV_decode_aper; +per_type_encoder_f Masked_IMEISV_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Masked_IMEISV_H_ */ +#include diff --git a/asn1c_defs/all-defs/Masked-IMEISV.o b/asn1c_defs/all-defs/Masked-IMEISV.o new file mode 100644 index 0000000000000000000000000000000000000000..01922024a94de8516808d28a0c0d8a4ba770a134 GIT binary patch literal 2888 zcmbtV&2Jl35Py!LF->qB${|vbx(7-ViM)ENNJK$GTbz%zU74^csLi_>TdkNwQ2b2>M2dZA-0*9)HiZJtbX8ruSJ~5Wx%>3TWy!U3_ zo4r3*nIFhx1XD(QB)S@-LgWU!vZF*tjEaJA51y}+FE8ILoq3z>8zehuja4Sd}l!ya~6blaN z%t=j{lo$Q5X;-~kP!BKqjmD%B7X9#6P@60-&Xrf!WmTLHXRJGZqa9eyR%G4Sz7sU9 zaRATPCe&QD)eNIuf4do3b$`1N)RNhrNXfE&1+!MB-q+EX7)E`eRGP8IuWq)RQQP`J zPRZh=-Bz0Yg*`2cQ_`M@aq%|!XYQ?t%w8dLc6c!N2o|3L{2iM67Wr(xus`7C$0~Vi zJwJ9iUnrf<=N5*p!{`nzDV)qx8J_1g@po$NvZ*&!h%EflC<~F&C@Wr1gCWYPKDhQ6 z$YKO^GZ_T-Tf>l7P!x@y#@n5q^pUX6{<>!j>3x4UfusSg`Y}lp;QltUEb{6ycgqM{Gz?7FYUdFBFZib*2=XD4VvAZWvZTv)m~8Ag8f z7TE_|UVYc!3Dge%-(Z0|p55#i4q!<9Zes1#H*yvxuxB`IK-{6Hy+JzOC0vK=&vku| zaJ^RO@)QRkz3-rI;h@p`AY)9^zle*akO|vhgBag?c47Yu3=rr2a~ucoH2-U4!1s>B zupjd^@;CSYm<+bqk+@~(S3pn8|6|Jk5!qw@vFq{vIscynhD-I_akL|VzXt#*GW9y3 z=wFPdlW~~*u|7KSxtX_Ml4ad)+T0LLnzmn&ziH0?=KbOG^IG>oNXy>_JqXSd<`2JO z?9Vvv$6OmA@il=jXv5eWvG17v_$4)K50H33iGG5LM&|i3W}5#V?f)Ci7e&+mKaol( A=l}o! literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.c b/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.c new file mode 100755 index 0000000..f74994a --- /dev/null +++ b/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeNBCoordinationAssistanceInformation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_MeNBCoordinationAssistanceInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_MeNBCoordinationAssistanceInformation_value2enum_1[] = { + { 0, 25, "coordination-not-required" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_MeNBCoordinationAssistanceInformation_enum2value_1[] = { + 0 /* coordination-not-required(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_MeNBCoordinationAssistanceInformation_specs_1 = { + asn_MAP_MeNBCoordinationAssistanceInformation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MeNBCoordinationAssistanceInformation_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MeNBCoordinationAssistanceInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MeNBCoordinationAssistanceInformation = { + "MeNBCoordinationAssistanceInformation", + "MeNBCoordinationAssistanceInformation", + &asn_OP_NativeEnumerated, + asn_DEF_MeNBCoordinationAssistanceInformation_tags_1, + sizeof(asn_DEF_MeNBCoordinationAssistanceInformation_tags_1) + /sizeof(asn_DEF_MeNBCoordinationAssistanceInformation_tags_1[0]), /* 1 */ + asn_DEF_MeNBCoordinationAssistanceInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_MeNBCoordinationAssistanceInformation_tags_1) + /sizeof(asn_DEF_MeNBCoordinationAssistanceInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MeNBCoordinationAssistanceInformation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MeNBCoordinationAssistanceInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.h b/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.h new file mode 100755 index 0000000..28248ec --- /dev/null +++ b/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeNBCoordinationAssistanceInformation_H_ +#define _MeNBCoordinationAssistanceInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MeNBCoordinationAssistanceInformation { + MeNBCoordinationAssistanceInformation_coordination_not_required = 0 + /* + * Enumeration is extensible + */ +} e_MeNBCoordinationAssistanceInformation; + +/* MeNBCoordinationAssistanceInformation */ +typedef long MeNBCoordinationAssistanceInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeNBCoordinationAssistanceInformation; +asn_struct_free_f MeNBCoordinationAssistanceInformation_free; +asn_struct_print_f MeNBCoordinationAssistanceInformation_print; +asn_constr_check_f MeNBCoordinationAssistanceInformation_constraint; +ber_type_decoder_f MeNBCoordinationAssistanceInformation_decode_ber; +der_type_encoder_f MeNBCoordinationAssistanceInformation_encode_der; +xer_type_decoder_f MeNBCoordinationAssistanceInformation_decode_xer; +xer_type_encoder_f MeNBCoordinationAssistanceInformation_encode_xer; +per_type_decoder_f MeNBCoordinationAssistanceInformation_decode_uper; +per_type_encoder_f MeNBCoordinationAssistanceInformation_encode_uper; +per_type_decoder_f MeNBCoordinationAssistanceInformation_decode_aper; +per_type_encoder_f MeNBCoordinationAssistanceInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeNBCoordinationAssistanceInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.o b/asn1c_defs/all-defs/MeNBCoordinationAssistanceInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..b9422e5ee91b20f110c9ec1e04e8b87bed4e2599 GIT binary patch literal 2808 zcmbuA%}x|S5XWm7KT!Mty`Wy!i$dadSVAJv#0;(rXaqMHq9=!8XknF|!I@bi7fn2Q z@L)W8^x)Y?;0X+m;466ZhE+3FvrX?1H?fo1s`_>PyKDMm=Y8|>{7|I=(kgHddXZ3o zKc{-Wo4GEG!bLD}FTwH-xmmb0T+++;8&MQ*v_n5_N8wzOw3E~i1N|_38O5CpmMY7k z{VsM~uIi@~{iu}C_(S;oYo05XIxyb37Dj0;)^ED)SZ@FdmfS-ikgXX+9P`;P?n~7J?M6KqE zm+tN80hK`%CTYytr>(|-vSddGGUL)*Ye3bmzunc-I_!3M!oj5^n$Gkr9e8oFRe93# zmhr!5S2uAS9s4QXOj_bi9qPCpcwyw_E8(}p)YwnlMq}5ZIFUA&GeG>3p_lVX+&qPH z{%!8EmbiIK7Y%-yeKKq8Q-1%cr8|*xxi7;;KGh@l#5MQ@_A{fBy-w<{gThmi+b!`@ z{Wb-);io>R^&|lmM-)(IUCm;sxBaY}Jn6MCYSeZV_(gxNu7e7qPDkTjDEv3oYGHY` zhToCkwOQML_}5TNYh!=^++)V1T(e!rfS9>Q)bG*{wpMP6-)iCI&P_D57qw+BZ(5{WY7d|A3vs%)Fmvuq2n#?6s$H4p{$-E&Uga i;bXu58D#d^MFc+>ez)qd!febk{Ti?T7aGiHw*D`)F&tz7 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.c b/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.c new file mode 100755 index 0000000..9f4014b --- /dev/null +++ b/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.c @@ -0,0 +1,155 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeNBResourceCoordinationInformation.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_uLCoordinationInformation_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 4400)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_dLCoordinationInformation_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 4400)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_uLCoordinationInformation_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 13, 13, 6, 4400 } /* (SIZE(6..4400,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_dLCoordinationInformation_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 13, 13, 6, 4400 } /* (SIZE(6..4400,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MeNBResourceCoordinationInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformation, eUTRA_Cell_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eUTRA-Cell-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformation, uLCoordinationInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_uLCoordinationInformation_constr_3, memb_uLCoordinationInformation_constraint_1 }, + 0, 0, /* No default value */ + "uLCoordinationInformation" + }, + { ATF_POINTER, 2, offsetof(struct MeNBResourceCoordinationInformation, dLCoordinationInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_dLCoordinationInformation_constr_4, memb_dLCoordinationInformation_constraint_1 }, + 0, 0, /* No default value */ + "dLCoordinationInformation" + }, + { ATF_POINTER, 1, offsetof(struct MeNBResourceCoordinationInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P167, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_MeNBResourceCoordinationInformation_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_MeNBResourceCoordinationInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeNBResourceCoordinationInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eUTRA-Cell-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uLCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dLCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MeNBResourceCoordinationInformation_specs_1 = { + sizeof(struct MeNBResourceCoordinationInformation), + offsetof(struct MeNBResourceCoordinationInformation, _asn_ctx), + asn_MAP_MeNBResourceCoordinationInformation_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_MeNBResourceCoordinationInformation_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeNBResourceCoordinationInformation = { + "MeNBResourceCoordinationInformation", + "MeNBResourceCoordinationInformation", + &asn_OP_SEQUENCE, + asn_DEF_MeNBResourceCoordinationInformation_tags_1, + sizeof(asn_DEF_MeNBResourceCoordinationInformation_tags_1) + /sizeof(asn_DEF_MeNBResourceCoordinationInformation_tags_1[0]), /* 1 */ + asn_DEF_MeNBResourceCoordinationInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_MeNBResourceCoordinationInformation_tags_1) + /sizeof(asn_DEF_MeNBResourceCoordinationInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeNBResourceCoordinationInformation_1, + 4, /* Elements count */ + &asn_SPC_MeNBResourceCoordinationInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.h b/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.h new file mode 100755 index 0000000..a793878 --- /dev/null +++ b/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeNBResourceCoordinationInformation_H_ +#define _MeNBResourceCoordinationInformation_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* MeNBResourceCoordinationInformation */ +typedef struct MeNBResourceCoordinationInformation { + ECGI_t eUTRA_Cell_ID; + BIT_STRING_t uLCoordinationInformation; + BIT_STRING_t *dLCoordinationInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeNBResourceCoordinationInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeNBResourceCoordinationInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeNBResourceCoordinationInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.o b/asn1c_defs/all-defs/MeNBResourceCoordinationInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..c7d753d9b8f1ed9bbffcaf09c9204845a4000c27 GIT binary patch literal 5144 zcmcIoO>7%g5PptJ6WZdY5K5symqXhGk*zl^vo>u{TYM?XB!} z2^7(wwn(9>ltYo=76}drE)gdrI7C7m5FDzUD)m5xgoJj_Ms?^EtbvfaS3H6YAP?=Z$7)vj#rWd~P^5)f} z9p;sl>hs60tbTq6$lGsT`lTatwLNp~0gO4j*9-)6;dgW4Z(}91@ZG?j)sv?dZod5G z^!7bNN?kqCX>I6(CZ7woRPs%r{Y%2IVb75<@{{P_GaBux-{*Ui@vDmu-+CN)!s_KcHS;j z9j)Yg+L_t&PD$$qaBsfHx8>YY#VgyhB~P2SXA4fgW_2dUM+bV74wRK1Qq@e8QdGXF zWj58Dn)94e1&Xh<(BSZIC9F3~v8kD19lQ-}&GyMUVe6Xaz>0fnqw?bWW1Szt*s{TS zG50cz*aqgk0l7Yd!4zH>d>5oJ9-zUyvWy&iDfa;OfODW7YmcHplpu~iK0cgG_G{e} zQ`M4J)eh^2^mwmP^)=&7^#w}#)e=$a1IL!)at zBk{)FkE;9XPC|;-zLIrtKZtE&UcV=RjS;>C9Eow1qpBU*8oCHtL~T_GLbu)g%GDuAdOjevG3Y zt(`J#4S3YwwQI3kkViG>|7{=NT-$pb^#kFoOCD9*r0UB*f&UKC{~7Yw2|tw1yS$a! z*97lxf)6*rPc^|?Ik@12D>}s~tLeF8)lV+V2z;BKL~DKF%(aG6N39l)Ps_8MDJ1Y7%O+d$uAFmnwHXGoEyX}leNKVPYB9(y@-*4hsMS($t%LrH*Zlvjzt$n8 zXOeMz^x-4uM2oHVr#has#!@d$q(+h{#e!Ho-v{%hlEdkmGMFB>#>Pj}Bf~W)TXsD+ z=N4+$kEC1j;F9B%ts{L0jjZw9Vc7RQwD)0~s)u3xMVGrif$tRfTLPE<*988E@c&xi z(tlOpGXGQl?>ac+q<^o#WqwKn-?-rGksyG-XJMRw>xe%_zQ}fwj5zuvNbe>d#!Z3m zCK(xj|Ii=5#`7?cCjDn{mh;^kq4xyN=PN=t1dexre$syx_!A@}>%a+tkm0#M2?ME9 z;JC(2-2%t_{640@W&TNlV}7O?fn)w9GRzAc^G^}JB=9E*Lv~Z(=>G=U(|HuYmx6e9>SMMS9;~OqGwM5_sRjEVX5pCY~6F_Jf-Jt&sO?WrK0q*iwe3M`jNG& z0V>A$4j_e8z2N3-1pN$3&$-2-Q-bX9XNjW^k4*GdJUjOaML9FpblEOCTEq&!RgXPfLbVz|fgZjyi@X_>ATD+FR3rs8$ub=pU`+&dV;`(zmvL7I?JdzwfBu;khw)f_~6Hk`e!n^C*mPJg!N2?*XK`(E#*zD0%q( SF>j;zWvc%JKTG`)j{gV9owp?b literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeNBtoSeNBContainer.c b/asn1c_defs/all-defs/MeNBtoSeNBContainer.c new file mode 100755 index 0000000..bc228a2 --- /dev/null +++ b/asn1c_defs/all-defs/MeNBtoSeNBContainer.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeNBtoSeNBContainer.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_MeNBtoSeNBContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MeNBtoSeNBContainer = { + "MeNBtoSeNBContainer", + "MeNBtoSeNBContainer", + &asn_OP_OCTET_STRING, + asn_DEF_MeNBtoSeNBContainer_tags_1, + sizeof(asn_DEF_MeNBtoSeNBContainer_tags_1) + /sizeof(asn_DEF_MeNBtoSeNBContainer_tags_1[0]), /* 1 */ + asn_DEF_MeNBtoSeNBContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_MeNBtoSeNBContainer_tags_1) + /sizeof(asn_DEF_MeNBtoSeNBContainer_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeNBtoSeNBContainer.h b/asn1c_defs/all-defs/MeNBtoSeNBContainer.h new file mode 100755 index 0000000..76a2d05 --- /dev/null +++ b/asn1c_defs/all-defs/MeNBtoSeNBContainer.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeNBtoSeNBContainer_H_ +#define _MeNBtoSeNBContainer_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MeNBtoSeNBContainer */ +typedef OCTET_STRING_t MeNBtoSeNBContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeNBtoSeNBContainer; +asn_struct_free_f MeNBtoSeNBContainer_free; +asn_struct_print_f MeNBtoSeNBContainer_print; +asn_constr_check_f MeNBtoSeNBContainer_constraint; +ber_type_decoder_f MeNBtoSeNBContainer_decode_ber; +der_type_encoder_f MeNBtoSeNBContainer_encode_der; +xer_type_decoder_f MeNBtoSeNBContainer_decode_xer; +xer_type_encoder_f MeNBtoSeNBContainer_encode_xer; +per_type_decoder_f MeNBtoSeNBContainer_decode_uper; +per_type_encoder_f MeNBtoSeNBContainer_encode_uper; +per_type_decoder_f MeNBtoSeNBContainer_decode_aper; +per_type_encoder_f MeNBtoSeNBContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeNBtoSeNBContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeNBtoSeNBContainer.o b/asn1c_defs/all-defs/MeNBtoSeNBContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..2bbfef544d1059416338f381302b566be9aca367 GIT binary patch literal 1880 zcmbVM!EVz)5S`Qo3bcqyNUg*roG21q#i$afNR@?2(;`T#CgsAxaa^k@5WC85B)GtZ z|KQqB;lR&u;|4S9U3*yBsOm`BdGqGYPIkQZ*Y4}xg;oo!wO|LT$g%+Iixmzu3}6M8 z;Z53qq4EK)VV5sNfs7rT&ZX>rb7)tDOvh2Mcv_^0uOHT zu*4oLmDqx91gos?#3bIL*E6+3#2N)3N zzCi&OG3?eq#2h_`tJXipTH5mo{ + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MeNBtoSgNBContainer */ +typedef OCTET_STRING_t MeNBtoSgNBContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeNBtoSgNBContainer; +asn_struct_free_f MeNBtoSgNBContainer_free; +asn_struct_print_f MeNBtoSgNBContainer_print; +asn_constr_check_f MeNBtoSgNBContainer_constraint; +ber_type_decoder_f MeNBtoSgNBContainer_decode_ber; +der_type_encoder_f MeNBtoSgNBContainer_encode_der; +xer_type_decoder_f MeNBtoSgNBContainer_decode_xer; +xer_type_encoder_f MeNBtoSgNBContainer_encode_xer; +per_type_decoder_f MeNBtoSgNBContainer_decode_uper; +per_type_encoder_f MeNBtoSgNBContainer_encode_uper; +per_type_decoder_f MeNBtoSgNBContainer_decode_aper; +per_type_encoder_f MeNBtoSgNBContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeNBtoSgNBContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeNBtoSgNBContainer.o b/asn1c_defs/all-defs/MeNBtoSgNBContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..ae8e925d6b21fd04a2360d19d6316a556a982878 GIT binary patch literal 1880 zcmbVMO>fgc5S`TJyG2y0)Jj~!i6YTej4FYOR9Q7?06|(cDHjeK$5=^$*j2od-~t!^ z2iN`-4*VHz++b$CYY!_MRUOHmH*enTc*kph?Y=r#YPG;x3-+LjEDNx?T;V{&09IiI zUMKy1l?^8S{V+>abebmfN_YX}_HyG3ETJWL=-vy%-S*bWc#*0_`?1&&oo#=iBmay4 zM09q9|DfO-m!Vz^k1MfCo!;a^$@Ro(+>JJh;N50&bvd!L^d-l^)|u0Rj(h z@UX-lTraT&y9m};->FHwL9b_Og~q>c;J-ESbq7Sm5ap?S);*9l$49DYl1u-85}i9d zl8522JCuXr@r!;>bCU$m-)Str89%0@E^I%&yqN=Hb?KBPv1_;y8cc3vFs*ajVC_Wyd8VQ<2;5cSrxvN?lLGNBQW1!8o`aZY z6p+#vK8DH1NT&(eEQmOp%@Q1sNHdj)UjJk}S5f?dH@!T*i>0)OtIiUE6Wfrq-0opO zocjd@T*Rname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_Measurement_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 12, 12, 1, 4095 } /* (1..4095,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Measurement_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Measurement_ID = { + "Measurement-ID", + "Measurement-ID", + &asn_OP_NativeInteger, + asn_DEF_Measurement_ID_tags_1, + sizeof(asn_DEF_Measurement_ID_tags_1) + /sizeof(asn_DEF_Measurement_ID_tags_1[0]), /* 1 */ + asn_DEF_Measurement_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_Measurement_ID_tags_1) + /sizeof(asn_DEF_Measurement_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Measurement_ID_constr_1, Measurement_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Measurement-ID.h b/asn1c_defs/all-defs/Measurement-ID.h new file mode 100755 index 0000000..7c4b1e3 --- /dev/null +++ b/asn1c_defs/all-defs/Measurement-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Measurement_ID_H_ +#define _Measurement_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Measurement-ID */ +typedef long Measurement_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Measurement_ID; +asn_struct_free_f Measurement_ID_free; +asn_struct_print_f Measurement_ID_print; +asn_constr_check_f Measurement_ID_constraint; +ber_type_decoder_f Measurement_ID_decode_ber; +der_type_encoder_f Measurement_ID_encode_der; +xer_type_decoder_f Measurement_ID_decode_xer; +xer_type_encoder_f Measurement_ID_encode_xer; +per_type_decoder_f Measurement_ID_decode_uper; +per_type_encoder_f Measurement_ID_encode_uper; +per_type_decoder_f Measurement_ID_decode_aper; +per_type_encoder_f Measurement_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Measurement_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/Measurement-ID.o b/asn1c_defs/all-defs/Measurement-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..3b88c84a40158206044ca91b5f8ff12217a050d9 GIT binary patch literal 2816 zcmbVO&2JM|5Ff{o1PI1SIYa`Ly#PUK9$tjhC=$ph4p~bkM3kV4N?kVgItg`b7J~kN^Iz+}$a6U&R&g$*}vz+xj!(o%?tQVAJ&; z?>yf{icfl5??x+6Mk+raB;T7~dp*JHe(<^<-R(;E?S-8qO;yV^Tqle=>s}&uAHQ*<4r|&P z;3@Jv%L8oiy5q~i=jE5?FZ#xYUoQD^up0TU-d&o%;>UMxg|eA3{#E>Yv`|*qt@-oPnBn57)0}yV%q+BIxK~3nC?4aXDnOsm-{5!lE1_$;zpYP3>%ci zk-7K@zsml0{=c!on&t0U`eoG9>VJ#t|2x}L{b_nj{!;%R5u>99?l{>oAoCm{O}1V~ zl>7_5?PMKef9j7(^1Fq%a8qQ{ZpKcCH*MQT>~EWkzh?$TS$@C34^T*}-y{toB&ieC zkN(dRf59mq`)q{ZA%lN#!ZZVEzS#csm(cD#LU4l%{frcY?B7o@)BFpZ|1X9wiMId0 DwI>`3 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-Item.c b/asn1c_defs/all-defs/MeasurementFailureCause-Item.c new file mode 100755 index 0000000..ad39de1 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementFailureCause-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeasurementFailureCause-Item.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_MeasurementFailureCause_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_Item, measurementFailedReportCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReportCharacteristics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "measurementFailedReportCharacteristics" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_Item, cause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 1, offsetof(struct MeasurementFailureCause_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P11, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_MeasurementFailureCause_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_MeasurementFailureCause_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementFailureCause_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementFailedReportCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MeasurementFailureCause_Item_specs_1 = { + sizeof(struct MeasurementFailureCause_Item), + offsetof(struct MeasurementFailureCause_Item, _asn_ctx), + asn_MAP_MeasurementFailureCause_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_MeasurementFailureCause_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_Item = { + "MeasurementFailureCause-Item", + "MeasurementFailureCause-Item", + &asn_OP_SEQUENCE, + asn_DEF_MeasurementFailureCause_Item_tags_1, + sizeof(asn_DEF_MeasurementFailureCause_Item_tags_1) + /sizeof(asn_DEF_MeasurementFailureCause_Item_tags_1[0]), /* 1 */ + asn_DEF_MeasurementFailureCause_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_MeasurementFailureCause_Item_tags_1) + /sizeof(asn_DEF_MeasurementFailureCause_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementFailureCause_Item_1, + 3, /* Elements count */ + &asn_SPC_MeasurementFailureCause_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-Item.h b/asn1c_defs/all-defs/MeasurementFailureCause-Item.h new file mode 100755 index 0000000..011b424 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementFailureCause-Item.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeasurementFailureCause_Item_H_ +#define _MeasurementFailureCause_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ReportCharacteristics.h" +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* MeasurementFailureCause-Item */ +typedef struct MeasurementFailureCause_Item { + ReportCharacteristics_t measurementFailedReportCharacteristics; + Cause_t cause; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementFailureCause_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementFailureCause_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-Item.o b/asn1c_defs/all-defs/MeasurementFailureCause-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..11dd677296ce286429381686547b59a65df4eedc GIT binary patch literal 3272 zcmb_eOK;Oa5T4XL%Dd&IN(dChfglm9E|rKtLZQKJL4AZ)mAE;sYqb%HUD+E{E;L7O zT+5B0!Hp{?#Q)$@j+|h|-bpqaJ1vNj)-&_%Ja%WtYwz1j^J9eqFcshl^fg8SzK-|h zY9dx)0xrR_@5Y_TZ~K9mcbhE~Yi=j@%g=@129HE&+GTrB_(9wZgSa2%c#^&rUC)bR z5ko|;CFQ#g*h?xPY=92&21oW=3K*NY(sXb-i9g6MVSed##6P)$|R zYe9QZZK_gl5B8P6wdU`Jk*Mvsk?RRRYR01JVK*(*YLAMgjm=IVI>m?PtT|n_I*Dez zvnuBFtZCg#adj2LGVS98{LDOiBj@ytftB}T8jxKL12bfi0VjvxA|eGi1Jpl6?74(; z0qwg4B8|%fpcktErxT1G>_@Vp;G`3M!a?zw*#4WuXXOOvCDl;u<#fV~q!U#nl?^yQ z3?gE{xgq=)B9lrTcBI8E+~35IHGr9e&*k8a96ZRuM_z2E2W}iV&+K_8=l*l({&R%8 z9XnQHyF9lx+BP*?uh&MK#k;=Oi}|!Z+8FcC_$^++QPyFb10S`qWJjxYXWf3eVXxF| zV8QY5iWiaF3`DO&*)J~FFZo*ZZ0k`dLN9Ffz8AGH5E#vmoXX4tt8Q6(E8y`dU4!p~ zG|+MGA;K>!L8cV@3n=q@P|Cp<75s{niPaUH?zpbh8!a$TB!OhH<>0$Q_WWBxdbLI%v0A2m|obXUkxyWQ26G;%0@XB zuJ@W(`|tb)x>9NA>{P0%iXzK0_K@2s5vJe#)t<$mp!?s&X*z>{^}mn46mtfLN>!=o zFAnEtPIe^g`MZb_y=TKzg`(ul9-~0tiYfz=f0hNUOMmJu>O1Z??yptEvho+@&jG)e zGVDPv@%==O-Vc zH#kVFWG_i>VC)$WJBAvvkrlAdLHD8Z8CbSF*X;PvzQ(Vv9gI|#uP Z9X8TOEup3+F|+(DGSP=LOz)}t{{dPgA9nx% literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-List.c b/asn1c_defs/all-defs/MeasurementFailureCause-List.c new file mode 100755 index 0000000..21dac9d --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementFailureCause-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeasurementFailureCause-List.h" + +#include "ProtocolIE-Single-Container.h" +asn_per_constraints_t asn_PER_type_MeasurementFailureCause_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_MeasurementFailureCause_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P12, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeasurementFailureCause_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_MeasurementFailureCause_List_specs_1 = { + sizeof(struct MeasurementFailureCause_List), + offsetof(struct MeasurementFailureCause_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_List = { + "MeasurementFailureCause-List", + "MeasurementFailureCause-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_MeasurementFailureCause_List_tags_1, + sizeof(asn_DEF_MeasurementFailureCause_List_tags_1) + /sizeof(asn_DEF_MeasurementFailureCause_List_tags_1[0]), /* 1 */ + asn_DEF_MeasurementFailureCause_List_tags_1, /* Same as above */ + sizeof(asn_DEF_MeasurementFailureCause_List_tags_1) + /sizeof(asn_DEF_MeasurementFailureCause_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MeasurementFailureCause_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_MeasurementFailureCause_List_1, + 1, /* Single element */ + &asn_SPC_MeasurementFailureCause_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-List.h b/asn1c_defs/all-defs/MeasurementFailureCause-List.h new file mode 100755 index 0000000..59cc140 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementFailureCause-List.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeasurementFailureCause_List_H_ +#define _MeasurementFailureCause_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* MeasurementFailureCause-List */ +typedef struct MeasurementFailureCause_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementFailureCause_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_List; +extern asn_SET_OF_specifics_t asn_SPC_MeasurementFailureCause_List_specs_1; +extern asn_TYPE_member_t asn_MBR_MeasurementFailureCause_List_1[1]; +extern asn_per_constraints_t asn_PER_type_MeasurementFailureCause_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementFailureCause_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementFailureCause-List.o b/asn1c_defs/all-defs/MeasurementFailureCause-List.o new file mode 100644 index 0000000000000000000000000000000000000000..c9fe5c95e8f8aeef78fcb6c2d337cb90ece801d4 GIT binary patch literal 2464 zcmbuA&rj4q6vt<&KTtvCW@0e)BqlQ1B8fy3)3|mK!;i{JV&b8cwSkRGi`&^mF6zNQ zfW-t@ihFqGBEB%Sx(XTEP<+nG*328+#+T1{}PiN|6PF%@F{ z!oc^n>x*$QChFkd7z|Zg-o}Ve!U9yy zBZh5s*%oo0Mo)ugbc!s(?;%q0W*&L}q}8I8Flq%a)`I0m5Un&d3WL>1?d~MQ3$?Q} zS3M}z3SL5HRK#&7ReF-8C#%Eri+gN^jp4F)(R`WcEhn{9Bwzmh;*Az|pts{{n{XXJN|TExp2d z1P0GgzX;3zfDYDCDs&k}aG&s==6(Jg7)k~w7X;A0QXWlHK + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct MeasurementFailureCause_List; +struct ProtocolExtensionContainer; + +/* MeasurementInitiationResult-Item */ +typedef struct MeasurementInitiationResult_Item { + ECGI_t cell_ID; + struct MeasurementFailureCause_List *measurementFailureCause_List; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementInitiationResult_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementInitiationResult_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementInitiationResult-Item.o b/asn1c_defs/all-defs/MeasurementInitiationResult-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..a6022615e34e1cc4538ab0e3aeabcafda242c682 GIT binary patch literal 3320 zcmb_eOK;Oa5T4W&%Dd$yBrZV$5hP;OZ6%^2Aw!zBsrm>lz2dsTYNIALiZ`fSXpX(X zkz;=Xcm4zt|9}%mxN$2p>z#PJb(*STr1i{v^Vr?-?Am*k#o3`;4w!QA98!%@fWITD z>`KvvQMe9Efgg9;K`RJFHEf86FB(y}8pNHZC{{(#N~6vunQJliep#)4h7<51v>hUy z;Bsmct&{TY;y91vf99p!T^yJGV_r;^Ne77TYZkMvv_~QnPtc?WEEA_%=R}Y%aVs!>uX`jvdjV88S+3&}EDPVi)|tS8NX4*q2Jf^}pEX|#1@Cpw;89Sdj3A`6C(!4DA0 z!9^HX7LI%^@nP8yWExS$-IMqQf+TSqDHf!7Vg>k$0_A67|DOskDT8(mV4l>UV2G;bXXuF|7{U%3~Vw(PQ2K3w`i6eej(=_~$ChVgCB?9Ol8(P z;ZF4EPV|Jo6?=~KUwXMZ*gtVytCa`4#_xi9FZYYu-~e39M9}2boF*b_@dT&YtlZ^F z&0DLyTCXgZE5L$R$HOYxej^mU%2mp9)t;i2Q9tsYJn~%YT00U^J!n;T<_y|i zX=2i;Io!yqXYloEU4`eR56(SC{x_5lvAaqp{3;GkU+9C+Yxqqi6RT-B-HBbLZzxXr z>275Dq6ETkF^K%ThF{b0-x_{f!wZxEi5U6w{^vFP4ml|5YB>2nR5-_xnd-n~)`#y6 zu;ULc;cp@r?SyZ$B!XQ5_FG^0U~k4T*zJfE@^tJHszKA2W|9omZbo&VKpDb333b4( zM=km_0XvLDV9zbD7h~bqcX+jD=l3v__D=6kCs$WAS(UMe+((Hp^UL7&JdO%x{3A5e zJ2-3n6O5&t6F78ol|t*&Nq^sjyEwAe-$k5g-&k;7qUqxqiu4V0Q%Fj`R6%Pho_dSE zhCDy_*9u};^XG?Tn%=ogG=Mw{iZ39~n!ltb;&V;&)7R3R-$RV%SJR=C(1rqB1{BX5 z`WEUGZ`S`n#ZMak + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* MeasurementInitiationResult-List */ +typedef struct MeasurementInitiationResult_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementInitiationResult_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementInitiationResult_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementInitiationResult-List.o b/asn1c_defs/all-defs/MeasurementInitiationResult-List.o new file mode 100644 index 0000000000000000000000000000000000000000..6f8e37a5881528fe3654b9ce6ec4e5aeae602a7d GIT binary patch literal 2600 zcmbtWO>fgc5S`Q%%6H2NiHi|P1c|OHf^&=#$#Labs)do^KiZ>GF0KM}E z_z4_2p&sDQkt0WLh#UNZGUMH~m$gHxGLm=Rym_;`-t}(s##@@7s8m2%1@1#0DHh=U z@f^D;bm1JFg&N|Ed8!m0NGnTDAUP!;%4cI|fY{uY!yp+B!ksYUi&2+%1Ky3JR+tQX ze0Hgu@LYK~WDaA-qk1`t&K=d+5qQzpLZflluC8wmBR;h6usK$nb%tr=ymsoWHpiUn zf*&^oz0WcDeNd*e@?H5WZ2|3G(JZivBr+C`P-YfP7U-+URNzF$tID;Mp8#8Cn$o{b z`AOK5@l)wPrhGonGm zIN~S?2Y%hD-)cIJxkb1Q+HQ(Fi!>&$_Lg{sNvG~e;!hJHtt!3AyBbfY$(HdWjh~U2 zoH_^84_(!J_>gU+t(d2ND&J}R1&PUh)p-4^084gvc(93{4}{-Vh=(sZux9}efNdrT zut7`#DIHeFFzf|snvlvWFH{b&PP{|6I`*3OUs_t4QD?20gJZFzN1$${wGCQ6O3zWc|>ktDx~F+kgwb?SZ>tQbpS z@-2KwYQFy`SuY()Q&X|>0kVW^BAvCLrGVB~H&v(nb4)6%>wcDzC0df1?@s;vlJ#Gt nr!#jRA9MZa7slK>q+nl?fiVvw#NVRw`l|e2_li2x%&h+dC6Vic literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeasurementThresholdA2.c b/asn1c_defs/all-defs/MeasurementThresholdA2.c new file mode 100755 index 0000000..82567b0 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementThresholdA2.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeasurementThresholdA2.h" + +asn_per_constraints_t asn_PER_type_MeasurementThresholdA2_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_MeasurementThresholdA2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementThresholdA2, choice.threshold_RSRP), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Threshold_RSRP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "threshold-RSRP" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementThresholdA2, choice.threshold_RSRQ), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Threshold_RSRQ, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "threshold-RSRQ" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementThresholdA2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* threshold-RSRP */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* threshold-RSRQ */ +}; +asn_CHOICE_specifics_t asn_SPC_MeasurementThresholdA2_specs_1 = { + sizeof(struct MeasurementThresholdA2), + offsetof(struct MeasurementThresholdA2, _asn_ctx), + offsetof(struct MeasurementThresholdA2, present), + sizeof(((struct MeasurementThresholdA2 *)0)->present), + asn_MAP_MeasurementThresholdA2_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementThresholdA2 = { + "MeasurementThresholdA2", + "MeasurementThresholdA2", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_MeasurementThresholdA2_constr_1, CHOICE_constraint }, + asn_MBR_MeasurementThresholdA2_1, + 2, /* Elements count */ + &asn_SPC_MeasurementThresholdA2_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeasurementThresholdA2.h b/asn1c_defs/all-defs/MeasurementThresholdA2.h new file mode 100755 index 0000000..575910e --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementThresholdA2.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeasurementThresholdA2_H_ +#define _MeasurementThresholdA2_H_ + + +#include + +/* Including external dependencies */ +#include "Threshold-RSRP.h" +#include "Threshold-RSRQ.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MeasurementThresholdA2_PR { + MeasurementThresholdA2_PR_NOTHING, /* No components present */ + MeasurementThresholdA2_PR_threshold_RSRP, + MeasurementThresholdA2_PR_threshold_RSRQ + /* Extensions may appear below */ + +} MeasurementThresholdA2_PR; + +/* MeasurementThresholdA2 */ +typedef struct MeasurementThresholdA2 { + MeasurementThresholdA2_PR present; + union MeasurementThresholdA2_u { + Threshold_RSRP_t threshold_RSRP; + Threshold_RSRQ_t threshold_RSRQ; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementThresholdA2_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MeasurementThresholdA2; +extern asn_CHOICE_specifics_t asn_SPC_MeasurementThresholdA2_specs_1; +extern asn_TYPE_member_t asn_MBR_MeasurementThresholdA2_1[2]; +extern asn_per_constraints_t asn_PER_type_MeasurementThresholdA2_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementThresholdA2_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementThresholdA2.o b/asn1c_defs/all-defs/MeasurementThresholdA2.o new file mode 100644 index 0000000000000000000000000000000000000000..d025e439e9674000b351aa74f5f3eea2659faffa GIT binary patch literal 2840 zcmcIl%}x|S5bk9_@dpq+X!J5BMlq4j4#7w?F$3!Y8j*2<#M>||6V|xwke%K{F3KZt z^xz{H!_lK}phu59f?m98RZrDyZ!;?)Y9%xE)z@Ej_22Zotv;O}D3t_TNjwzYh*=?C zobF;@Ltl)EQE>_|>g^me{zazKj(IJ`QQB$8+i^>+HrjF8NSd3oQ$jJGtgY07-thS` zUH+HmffM#R40_DLr8r^gALZCD?!mwAmy1pSxIn=mli>T!-{$R@&r9CbLZx!womkuG zv{c8vC#Pk3((CBRd*jW>^0f4BXMCPg1n|5KiXVk*>l`_qSr1O1SvbNeDgmsy0$qtC zhPr`)9ASJk#9swp5@&Linv?6=?gpnU5jBb%I@?(V2 z1%#33K9O3-7Z~#68fC9{gpt2!@Lvrc$A6jP?*@N~FuDos01O@KZ(;z(V?e&=>yhd1 zwu&}{guTmrgOQ3~D1IS$D4R(=LQg{UnOKK zQL$WjwlOX;oqWYg{L%9yt$6M2`9|DKUG5iYcu=9&TEEqE}$ zZ1H=PkNaa9YSGy57+5#Z>w`TY;yI7C7#B$oh&-eOyo+!R?D^xjZ0|i#VxNA&H>`qI SsPCYn{BN}Wd)S#_cK&bQqvPNJ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MeasurementsToActivate.c b/asn1c_defs/all-defs/MeasurementsToActivate.c new file mode 100755 index 0000000..1f6cfa9 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementsToActivate.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MeasurementsToActivate.h" + +int +MeasurementsToActivate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_MeasurementsToActivate_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MeasurementsToActivate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementsToActivate = { + "MeasurementsToActivate", + "MeasurementsToActivate", + &asn_OP_BIT_STRING, + asn_DEF_MeasurementsToActivate_tags_1, + sizeof(asn_DEF_MeasurementsToActivate_tags_1) + /sizeof(asn_DEF_MeasurementsToActivate_tags_1[0]), /* 1 */ + asn_DEF_MeasurementsToActivate_tags_1, /* Same as above */ + sizeof(asn_DEF_MeasurementsToActivate_tags_1) + /sizeof(asn_DEF_MeasurementsToActivate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MeasurementsToActivate_constr_1, MeasurementsToActivate_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MeasurementsToActivate.h b/asn1c_defs/all-defs/MeasurementsToActivate.h new file mode 100755 index 0000000..44870e3 --- /dev/null +++ b/asn1c_defs/all-defs/MeasurementsToActivate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MeasurementsToActivate_H_ +#define _MeasurementsToActivate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MeasurementsToActivate */ +typedef BIT_STRING_t MeasurementsToActivate_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_MeasurementsToActivate_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_MeasurementsToActivate; +asn_struct_free_f MeasurementsToActivate_free; +asn_struct_print_f MeasurementsToActivate_print; +asn_constr_check_f MeasurementsToActivate_constraint; +ber_type_decoder_f MeasurementsToActivate_decode_ber; +der_type_encoder_f MeasurementsToActivate_encode_der; +xer_type_decoder_f MeasurementsToActivate_decode_xer; +xer_type_encoder_f MeasurementsToActivate_encode_xer; +per_type_decoder_f MeasurementsToActivate_decode_uper; +per_type_encoder_f MeasurementsToActivate_encode_uper; +per_type_decoder_f MeasurementsToActivate_decode_aper; +per_type_encoder_f MeasurementsToActivate_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MeasurementsToActivate_H_ */ +#include diff --git a/asn1c_defs/all-defs/MeasurementsToActivate.o b/asn1c_defs/all-defs/MeasurementsToActivate.o new file mode 100644 index 0000000000000000000000000000000000000000..3259dc4be01f87491dbbc2fb188166643f48b2aa GIT binary patch literal 2960 zcmbVNO>7%g5FTftF->utmP165x(5o0)VzADNK`>W4$jX8xv5FgDxy+18++ZPICk-_ zqm}~&g-BRYQ7_yP;?N^^E=C+d0_9YR0~M!AaDfBr0TE{2zFEJ%ZWM{Jc4y|BpEo=2 zz46`I^4vfs156os3;G(P0F}YMT$ExFMj#LF?%&G`-Tj5`4^hqCo6EYpz0RALcK5$M zK#E>>cmBwh_Xf-NUZj|tue!0|cK>p_|2n;L_t)uz{nhun53hY+A3ie!uy-}@e)q_7 ze%bkL&>jET-FcGjd_(5pGapk5ms9^JQ^)CWg`1~TYG?oVugOs(Duqac5^*4rVj-(^ z=7t%BIPZr|r|Q*$dU)P%G$y2QDe%KiJJ<@EQMl5Yu11^NeiVo*oDHY!ZNJe8>}D&n zZ)|P{O?wQ%v$b()tG1e9)b=-IUhL}MPX7n<1r2|sld#KOOUyp&zwFnn7xmSPa^(`vVB2(CYRqC z@N%Q&oP9MnI-Sdxj_0!TL#z09hZZHS+*28S&vWo+>fTzZCmF!PUm97MDUB?6J`Kh! z#}2`@%c4A9MxKEe5`TRqOT!Zf6f79h)kL;H?na`MP?XxUbqLwW<;N1j)*&b~rrMC*S=8Gk~a<`3!D0B;svLvLnw z&P#XjBL7C{IUvfV0=+KK%Q+;Q*T02Fq?P8&74PkZ6>oWEX<>0*B9+-CFS>IpIINgB zKbAv9FIP%hycgaIsv(T4KF~a(-TfyXSqB$1oMtHFpJ=%5e^0}6n!keO4$`TeQUK36 zx<@+BdqMa~YZ}fogdkht)E{~h65*Y#$X^G6 zV>IR)EVYA%FQVXf1fu3gK8W=&1krAhLhg>Z__T`0MaD=6l-LTQ+S;Po4g#lmAm$gZ zOoWkNeP8(p8(zKbZv{zF|6i~%l=ni4`F=nIfUa23@Fa^bDkpNY4K~y z;awx1G z|5$azDBkSTITcU)qZ5BO^A;Le*8Nt^f|Swp{Zz%9?i_EPAO3z`>n;ju{d+*e35oke z{iC_Z@r+YF=Gq9s0|h=&1rH;Z$H$DPnP%=iLhz+({9{ryGQWQWZE5j6RsZK&EQx0P Ef10dH$^ZZW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MobilityChangeAcknowledge.c b/asn1c_defs/all-defs/MobilityChangeAcknowledge.c new file mode 100755 index 0000000..83591ae --- /dev/null +++ b/asn1c_defs/all-defs/MobilityChangeAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MobilityChangeAcknowledge.h" + +asn_TYPE_member_t asn_MBR_MobilityChangeAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P36, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityChangeAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityChangeAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeAcknowledge_specs_1 = { + sizeof(struct MobilityChangeAcknowledge), + offsetof(struct MobilityChangeAcknowledge, _asn_ctx), + asn_MAP_MobilityChangeAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityChangeAcknowledge = { + "MobilityChangeAcknowledge", + "MobilityChangeAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_MobilityChangeAcknowledge_tags_1, + sizeof(asn_DEF_MobilityChangeAcknowledge_tags_1) + /sizeof(asn_DEF_MobilityChangeAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_MobilityChangeAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityChangeAcknowledge_tags_1) + /sizeof(asn_DEF_MobilityChangeAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityChangeAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_MobilityChangeAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MobilityChangeAcknowledge.h b/asn1c_defs/all-defs/MobilityChangeAcknowledge.h new file mode 100755 index 0000000..7fafde1 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityChangeAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MobilityChangeAcknowledge_H_ +#define _MobilityChangeAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityChangeAcknowledge */ +typedef struct MobilityChangeAcknowledge { + ProtocolIE_Container_8180P36_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityChangeAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityChangeAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityChangeAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityChangeAcknowledge.o b/asn1c_defs/all-defs/MobilityChangeAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..d813d43c837e3d48f29172fb3b38184467f84318 GIT binary patch literal 2576 zcmbtV&2G~`5T4YOe_Dz-AP`cxKtb&)E)_%|A(xO85N!=rC2p?cT4~kPF7Z~-3-l3? zxbzP10FTgPk4U@(JORwCca!PHiJ*++otbaH`LXxMAL=g}Bc&1;DZwM?c?JdWPxfq2 znI4S87%ZgCjrNAzt*wViE1ruslk{ynUTej$-AQE{rR`_+tQY#vmfef(4@&sAJRU!S z&TkZs{jdEL6I57|L46sVdf?)bGheGcC{M05cM`c%zAt7)W!l|Qp8MXdips2TZ|67< zJz`V-6Y#6>-JHS|2XMgdCQs?$Op!QPp-3DU?Sro)Qi3yZQP1#52Tt|z8=7w>OdR)APZM8j{X^ls_cD886c?r_|KNiq zA_%i2cv5c!0}o#y!&Vl!inuW64=2vVZA~4TQzcvSgXQ|mmHJ|>4#o(gG|6Nq+(=|z z@bRl51@oqs{n`*twjD>Ned@{YUL`>-O(a%|J3-a0R{Xp7^!GK2_Br2er}c!5n{Q6| zmZ7~bRnoX$51B``RY_62lJ}PVaS9`~1C* z>}HYeZpp9-0+%G$>&BAtI|*Vflp%;_mVxM``#rHM@{?5 z>?5=9mk=wezp5Lo=y;>b#?bmX>Z1DJ^r19$s6O3>cKrY`DrNt9KI;0HagGZ=TZFgp zA*$Wy7adRQ!$rd?hVX5C490nfMPLD!Xm; + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityChangeFailure */ +typedef struct MobilityChangeFailure { + ProtocolIE_Container_8180P37_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityChangeFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityChangeFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityChangeFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityChangeFailure.o b/asn1c_defs/all-defs/MobilityChangeFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..0bf5997bf8f2998049115f1015f4d846ee59772e GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7z3}jIVqw6LrCRq)E+$OW*kSuOy!cH%kiw67y zf|ndU2wpw<5A>L$e?rh-pjAEHyOrJ^kXSHXRbPMgnCZv7Z9ZEZt5m>91r}iF85E#? zYG?<_3}6DrVL5Aex*fUK*pAYzWHIV=`@IBqdzsAQtox*y55taS*}d3)S<-*y@%S-x z{-AK|f9=PZpvIDv^<{ACflENnQloLNI=$ZRr?Ow27jvRERUy+s{w8}}dNmtWKbEzb&t#GaRe7(8SXo4}qI7@Tci#n++3O#&L zQmANTt<@-*&v%p9v`c-o2G>T|$Wn$TS1dHo%YqW#Qw)fqiu3VV80cWC{W|*KwK_2&>_sei2_bywjF;9=jhuWH~tRB zQqEa?xCGj{$w9PDeWQs-wq1W8F_IsJ8jRI}RT%eC(VZC-?qK|)FVbHcxqzDXli5dR z->)L(s=uiltm$~8s>aazDQZ{!kNQxWI#i!-J-dF07?raBFz%&FEDu(b~d<@2Uhc3{;C7RtkuvE%;&`f + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityChangeRequest */ +typedef struct MobilityChangeRequest { + ProtocolIE_Container_8180P35_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityChangeRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_MobilityChangeRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityChangeRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityChangeRequest.o b/asn1c_defs/all-defs/MobilityChangeRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..64e356b8aa36370d79461729c4128f45b6e52c45 GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7zjJPO-(RC9QldK7W+$OW*kOVg~ai33r7B#Av{53ob|b>8ShZ@S|;#A3H}*z%Co15Yg&I(_~5?O5oTG1h)c9K% zOF5_U;Sy-)ItS4<^^GPT*>?Rs#7KS=sy|lyR$<&nMR#UUxc%{qzDR#*I@^Kk7qi>QH^U_3Zi~VpPih!@Sq^FX9{*ezpkTz=x=I zpPzI*tq&Iss~Ey}@G%(Y9k@UTmuPnHl*hz>*Llt(Mvwje^vAN-9wFG*;DptO<*GZy P75`O#|2;~^#E$<9!>q}V literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MobilityInformation.c b/asn1c_defs/all-defs/MobilityInformation.c new file mode 100755 index 0000000..379cee9 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityInformation.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MobilityInformation.h" + +int +MobilityInformation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_MobilityInformation_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MobilityInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobilityInformation = { + "MobilityInformation", + "MobilityInformation", + &asn_OP_BIT_STRING, + asn_DEF_MobilityInformation_tags_1, + sizeof(asn_DEF_MobilityInformation_tags_1) + /sizeof(asn_DEF_MobilityInformation_tags_1[0]), /* 1 */ + asn_DEF_MobilityInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityInformation_tags_1) + /sizeof(asn_DEF_MobilityInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MobilityInformation_constr_1, MobilityInformation_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MobilityInformation.h b/asn1c_defs/all-defs/MobilityInformation.h new file mode 100755 index 0000000..caf3926 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityInformation.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MobilityInformation_H_ +#define _MobilityInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityInformation */ +typedef BIT_STRING_t MobilityInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityInformation; +asn_struct_free_f MobilityInformation_free; +asn_struct_print_f MobilityInformation_print; +asn_constr_check_f MobilityInformation_constraint; +ber_type_decoder_f MobilityInformation_decode_ber; +der_type_encoder_f MobilityInformation_encode_der; +xer_type_decoder_f MobilityInformation_decode_xer; +xer_type_encoder_f MobilityInformation_encode_xer; +per_type_decoder_f MobilityInformation_decode_uper; +per_type_encoder_f MobilityInformation_encode_uper; +per_type_decoder_f MobilityInformation_decode_aper; +per_type_encoder_f MobilityInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityInformation.o b/asn1c_defs/all-defs/MobilityInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..9c9a1618c30aa5195dd3da90945fb9271c53005d GIT binary patch literal 2952 zcmbtVO=ufe5Pq`KSdCLzP6{!kkUcc54e>@B3<(YdrSi`T6vx<3FfGkyEv;fD(kf_I zA?~3`aeWXbr4)M4p@*JIkA+@TdTbBHr>f%&b*yjJwLBQOUC%k%=f;T zH~W4@4`#}<1F4i?Nr_9M?=dQbJ=nJk(kzG(krVdj^QBUEyVU(DtlC?%8GEzWxp-xB z`}9x^jJf@`9T|4_nce-z>Xo~HT;APYdB6MX2S3(^PfZK4bvia-*_@;kN;wCyf8Z7;`H#ThnT|V)IZDAQ94-R_HjyWZ9n}AiHcw;C<+vt1F;nu z2KlVXjg@Jhbpzk3I90C}oOK(G329tut=1d$aJ}T$TJ5GA)?2<=5vPMG1NjjYqh6lM<&sS`?}Kxzx#{gPG4^@kzknqPZ_oPiJ!* z15S3doHedzM=xh{#Ut6w+|UY)_RzeR&7Q8`cdS=#1 zm~}$;R^V8YvM{sggzI;`L|*jzfN7SCc^uB+U?r{S^k3@BmX>o@7o7J>%g)mBVrhO( zB1;QJ1#*JBUIn*J$~bB4L)at#j#}03IR(!u_$Lak@*gSqu)-%;o)F$vyl*I(NbSS< zZ17zjCl0DnvJqEr!Po(KLBadC8~V3`kC2V(CfS&udj~=W4j{NcdwR7QtT#h0((k<38Wv=)4xeR-X&az z&!5lr9m3VK!jK&tK-9j3zJY@xXTZjsdVC%iOAsBlfP)y{dk*3F2?j`W{hX%&cvAd_ zM3~p&Iga%*#q0I=h_I%`8=8L={G|Qgq5ba>ANL=-BG=FRe*-XFYR?@9e~bYBy#Ppx z?$-dt_^piq{?h7a50H3F8~qzPis;{uIg{eQqxwHnV$sy& F{{_nELp}fi literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MobilityParametersInformation.c b/asn1c_defs/all-defs/MobilityParametersInformation.c new file mode 100755 index 0000000..1364d36 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityParametersInformation.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MobilityParametersInformation.h" + +static int +memb_handoverTriggerChange_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -20 && value <= 20)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_handoverTriggerChange_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, -20, 20 } /* (-20..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MobilityParametersInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityParametersInformation, handoverTriggerChange), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_handoverTriggerChange_constr_2, memb_handoverTriggerChange_constraint_1 }, + 0, 0, /* No default value */ + "handoverTriggerChange" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityParametersInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityParametersInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* handoverTriggerChange */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MobilityParametersInformation_specs_1 = { + sizeof(struct MobilityParametersInformation), + offsetof(struct MobilityParametersInformation, _asn_ctx), + asn_MAP_MobilityParametersInformation_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityParametersInformation = { + "MobilityParametersInformation", + "MobilityParametersInformation", + &asn_OP_SEQUENCE, + asn_DEF_MobilityParametersInformation_tags_1, + sizeof(asn_DEF_MobilityParametersInformation_tags_1) + /sizeof(asn_DEF_MobilityParametersInformation_tags_1[0]), /* 1 */ + asn_DEF_MobilityParametersInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityParametersInformation_tags_1) + /sizeof(asn_DEF_MobilityParametersInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityParametersInformation_1, + 1, /* Elements count */ + &asn_SPC_MobilityParametersInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MobilityParametersInformation.h b/asn1c_defs/all-defs/MobilityParametersInformation.h new file mode 100755 index 0000000..61bff16 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityParametersInformation.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MobilityParametersInformation_H_ +#define _MobilityParametersInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityParametersInformation */ +typedef struct MobilityParametersInformation { + long handoverTriggerChange; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityParametersInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityParametersInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityParametersInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityParametersInformation.o b/asn1c_defs/all-defs/MobilityParametersInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..1b5f95b77f878ad6e8ab8a4233385611aaf451c6 GIT binary patch literal 3704 zcmbtW&2Jk;6d%Ws1X?UNtstlfEr-%nYBt`eqEQaW!Ev*e+|(ouiU6@$+Y`sdURS$o zs|5)ng&wR5i337#K}h@q94m3L#03F|DyK>u;J}Su=mAv%5#F1fXOE{Fr&8Z)cHaBV z`{+~aI_|a<&x^dYMxsMTnPN5(vLJkf{9@U%XoEvyn#i{b`V9sqc zW(9M(RjxPc;mwlkyGs*90 z+Bb<0)>z_3I&u2=#N=n-{5-gM34H;z@wJ>v?~U=)bTMVTm6~2krE|}wCYO$_3IrA6 z3Fr9~`ztm_$=H*}SQ4H%N`j|2O0uWpVDN$`Wtd(8aZHITzD=qm*~G9iNCjvKc8sOv z2+g1)@Cmjn@lDx(E$~6{$VeQ!Bpcua{{js9C!#ngCl#E={{beU}6&vW$yqy>Lcz^B5(2_XGYM*4sRZ;M-f&K|4pF2|HUBK0EB*Vrb`0gP%8(Bx7 zLN$4_?8KH6XHc9Ri$V2smh+dKk^Y>}tp!r~@*8VMC`V4$OSvQTg6q7}_qtR%LK~(q z&l_?QrTm(6g%q-?I_!8V>eym8zm6Efbe{&CGI1+X_y$2+{dNKRAb7Xh>V)jc1h&osKUR{6)!Q_nm^P)$fjitF`{Ff@782l(L!! z_0$`39DS&Mm>Jw`hHe@9(2x2Z;(Xq4&5+*+nOSv1mzm`tV5Z+f0o5&YVOX?4L>r+1 zoFeh7cwlCw)ogMPyu&{PH&<3SW`oeJyf3Zzji{m|f0hOYz|2Fzu#Nd65YpdI* zF<1=gumw7Z&1<@3e^JBLeS||IOufiDe`uuxR;htiPtf9$QK#t3Q zPv+l{elY(C(fld@6~N-+eqz^AqZ%%&+`vykNZOjX1`~LyI?XC3y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MobilityParametersModificationRange.c b/asn1c_defs/all-defs/MobilityParametersModificationRange.c new file mode 100755 index 0000000..dc941e8 --- /dev/null +++ b/asn1c_defs/all-defs/MobilityParametersModificationRange.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MobilityParametersModificationRange.h" + +static int +memb_handoverTriggerChangeLowerLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -20 && value <= 20)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_handoverTriggerChangeUpperLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -20 && value <= 20)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_handoverTriggerChangeLowerLimit_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, -20, 20 } /* (-20..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_handoverTriggerChangeUpperLimit_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, -20, 20 } /* (-20..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MobilityParametersModificationRange_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityParametersModificationRange, handoverTriggerChangeLowerLimit), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_handoverTriggerChangeLowerLimit_constr_2, memb_handoverTriggerChangeLowerLimit_constraint_1 }, + 0, 0, /* No default value */ + "handoverTriggerChangeLowerLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityParametersModificationRange, handoverTriggerChangeUpperLimit), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_handoverTriggerChangeUpperLimit_constr_3, memb_handoverTriggerChangeUpperLimit_constraint_1 }, + 0, 0, /* No default value */ + "handoverTriggerChangeUpperLimit" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityParametersModificationRange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityParametersModificationRange_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* handoverTriggerChangeLowerLimit */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* handoverTriggerChangeUpperLimit */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MobilityParametersModificationRange_specs_1 = { + sizeof(struct MobilityParametersModificationRange), + offsetof(struct MobilityParametersModificationRange, _asn_ctx), + asn_MAP_MobilityParametersModificationRange_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityParametersModificationRange = { + "MobilityParametersModificationRange", + "MobilityParametersModificationRange", + &asn_OP_SEQUENCE, + asn_DEF_MobilityParametersModificationRange_tags_1, + sizeof(asn_DEF_MobilityParametersModificationRange_tags_1) + /sizeof(asn_DEF_MobilityParametersModificationRange_tags_1[0]), /* 1 */ + asn_DEF_MobilityParametersModificationRange_tags_1, /* Same as above */ + sizeof(asn_DEF_MobilityParametersModificationRange_tags_1) + /sizeof(asn_DEF_MobilityParametersModificationRange_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityParametersModificationRange_1, + 2, /* Elements count */ + &asn_SPC_MobilityParametersModificationRange_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MobilityParametersModificationRange.h b/asn1c_defs/all-defs/MobilityParametersModificationRange.h new file mode 100755 index 0000000..1ebbf0a --- /dev/null +++ b/asn1c_defs/all-defs/MobilityParametersModificationRange.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MobilityParametersModificationRange_H_ +#define _MobilityParametersModificationRange_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MobilityParametersModificationRange */ +typedef struct MobilityParametersModificationRange { + long handoverTriggerChangeLowerLimit; + long handoverTriggerChangeUpperLimit; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MobilityParametersModificationRange_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MobilityParametersModificationRange; + +#ifdef __cplusplus +} +#endif + +#endif /* _MobilityParametersModificationRange_H_ */ +#include diff --git a/asn1c_defs/all-defs/MobilityParametersModificationRange.o b/asn1c_defs/all-defs/MobilityParametersModificationRange.o new file mode 100644 index 0000000000000000000000000000000000000000..724abf9d8ce9ec58db0cf4bb41f9649aaee35208 GIT binary patch literal 4592 zcmb_eO>7%Q6duQrm^Qd>DJW0`d!W=6WaAALjdDN^j$21^Qj;{OfW&5FZyXo@MBa5s zK>|xjrCJeE4;;!3i3>M!L_(^9kPxDmDkmfkz?mSGN+1pu;l0`S?8#;uIi*k9eeZqq zzBe;(W@q-}boN|NC?r@y;x*Cn7!@M%c*jmkGbx@B$3*7p-!l`ft%=qxcRaJ+Yy6y9 z-8`OI{U^R`WUg*~vjgIu%B*fjvg>`>Ph^tI&t*I#)4H2!{cCJyTfdC$Y+ZW0_0v1w zwMlm+$qNMTHjErAo;af$g(POWc0a8P%4pa>LfD zHCHQ^mhGw*2k>O!w7|A}t?IaSt5kKh1*=rH3+>i}R9EcT>p^=zC?l@RK?OOu7Y@qX zFFpc|xc?q@UhXpvMvNWM_nUXOIF41VaT0T%Po+k+`0RY6>Nd2q`WZbjXf&i}d}NI1 zi8H!!+QS8ZSD_E4MQ9}!I?>-3xef_mhBVJ&E|3Pk#-p*-9y>aajcRX32gahY)S+l( z?C_LCy!b4}fpin^Mecp$TpkgB2Civ%*GxOyun2b?#R@~FAPI{{gJ8&l)!Z$o!0l1` zm2(5^EyA0iQ5Z)%Ec#IGl6CMx;;_&N<&oW#c%NtzzCn6h;*XIB_eI;n{2iQO4GM?( zSu{34hZUURSs5P|a|Gl_uM^I3jH4eG%B95t5|1jLXMPKLL_nRtmw0b`Z!z%};q0qA zEc#Vf+P5M8s8Z)eins@OY)`Zh{qR8r;o5!hZVqNR!7FxU-V8i@J7=@mIa^I*A4cc2 z-pzpf#T-wcGrPDdOxG$p&4h(A8F4M4b>1p!- zRWpa>WcFw6shs(W(6gxozJ~GT&9TcO$__8&%$f8Xv+1c+TCkxki;Tg1Q*fa#+Y?pS zhFcl--4N|PJiqa5y+=PQBMSbcf?Eo%##a>lDJA|Z1y|$0R&X`{Zwju)|DoV&euCwR zho@wc0K6Ab;PaASbrKyA{-zLrS|Z+SfNaE%z@w3m_aBNM&v>xJpCKC+pFbFnr(P2t zlsWnK@~EfM4Fx|zHmVH;$J=6#e6Abj$2DWQO$Opv2R>i!D7czGf`K5YFh5I7!7+c6 z8sZ9$`L7WkA&t#gHx`Wy%%P5x>%(}H;)L#8skqiWXt(a^MYig8+0tEm#T9zNaxJ0H zJC4xnHFPlC&_{N=2Dr$P0bu!Dy+l)pUHe#hFDXW$y*U7YmX&ijyOZW4k#?1$Hf_xFp0t80#w zB(3iTI*MqDjVAtQVNO5)4)HNY6+di1BVxm95ZKKB(uec-IZqPWgZMXSla2cL%wv6# z`2O+#O8f)|QXb8h?*jNi_1~oWH;Iq+$G<8bKi5AG7>4-!*Dxta!c* zuVQHXV?QIzKYr$~_!98^8U7Ru>?+9s=}S~Uo)^{+{}P$cb;a@c`^FS;JQP7br^cgT kBgfCjHSw=KK;j4b1%K6-+&_QJ8^pgxHq)$ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/MultibandInfoList.c b/asn1c_defs/all-defs/MultibandInfoList.c new file mode 100755 index 0000000..a1023c8 --- /dev/null +++ b/asn1c_defs/all-defs/MultibandInfoList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "MultibandInfoList.h" + +#include "BandInfo.h" +static asn_per_constraints_t asn_PER_type_MultibandInfoList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MultibandInfoList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BandInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MultibandInfoList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_MultibandInfoList_specs_1 = { + sizeof(struct MultibandInfoList), + offsetof(struct MultibandInfoList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MultibandInfoList = { + "MultibandInfoList", + "MultibandInfoList", + &asn_OP_SEQUENCE_OF, + asn_DEF_MultibandInfoList_tags_1, + sizeof(asn_DEF_MultibandInfoList_tags_1) + /sizeof(asn_DEF_MultibandInfoList_tags_1[0]), /* 1 */ + asn_DEF_MultibandInfoList_tags_1, /* Same as above */ + sizeof(asn_DEF_MultibandInfoList_tags_1) + /sizeof(asn_DEF_MultibandInfoList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_MultibandInfoList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_MultibandInfoList_1, + 1, /* Single element */ + &asn_SPC_MultibandInfoList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/MultibandInfoList.h b/asn1c_defs/all-defs/MultibandInfoList.h new file mode 100755 index 0000000..11877d8 --- /dev/null +++ b/asn1c_defs/all-defs/MultibandInfoList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _MultibandInfoList_H_ +#define _MultibandInfoList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct BandInfo; + +/* MultibandInfoList */ +typedef struct MultibandInfoList { + A_SEQUENCE_OF(struct BandInfo) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MultibandInfoList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MultibandInfoList; + +#ifdef __cplusplus +} +#endif + +#endif /* _MultibandInfoList_H_ */ +#include diff --git a/asn1c_defs/all-defs/MultibandInfoList.o b/asn1c_defs/all-defs/MultibandInfoList.o new file mode 100644 index 0000000000000000000000000000000000000000..f12aeb2b8c9733f7e51aeb3d4d261b2e6fc81ac8 GIT binary patch literal 2368 zcmbtUy>HV%6hGGm3Y3q6kdRo+M3LwzMin5Ckk#N6P(MOKBqXF7Cp9#paiaJlQ3mM9 z$k>5Dq7!1^A7EodVqs)p;V&rf`R+N#`7%JCboYDj_rA{OyL%h1)TSJVkvQxw8(YKz z9v$mJt_JKBn`ITyFOFSS?LdjmIR)gj8tA9qXVI|8>S$YZ+i|-2Abs9n>1M(b^Dh+j zqa4#F-o*cj3(O*iu=85W)#`0;zSSP3V&vWAi@dVnk8;a@I;4m*HP4i_6?H35=Wn;j+tRM@r-cU>tU=;PGsr+<@UgUk?qCx&*cX=s=xa zWj|5)I_JmhoK-x6tJT+N;E(HOp}TCR&`J3K%AB_TE#>$KXgj-KCh*@U@T_#ud56VW z8r=(PQOOsH_(c}^c|bjEL}F)2dDKq@?Yzm;9wUE7t3YoN@+UQZUg;(u zXgr=?Pucf1o_Zlg=ML-Oleh~5J?7$5f0z(}9_U?$sf?naHgjCcCIUIP2h)4oXf@>**l6LIGyH9Q<% zf^^yoy;7hXnvSu$Tm}O`rHGKqXO)lpql=>R9OR$EAWo0_X(KJM7-p^=>rno_s)Kj=Gz|0m f@x?ax9w@e_$X{q^VlE5sq%HrwdW6htV&?w=%qOv1 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NR-TxBW.c b/asn1c_defs/all-defs/NR-TxBW.c new file mode 100755 index 0000000..f8da21b --- /dev/null +++ b/asn1c_defs/all-defs/NR-TxBW.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NR-TxBW.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_NR_TxBW_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NR_TxBW, nRSCS), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRSCS, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRSCS" + }, + { ATF_NOFLAGS, 0, offsetof(struct NR_TxBW, nRNRB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRNRB, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRNRB" + }, + { ATF_POINTER, 1, offsetof(struct NR_TxBW, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P175, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_NR_TxBW_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_NR_TxBW_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NR_TxBW_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRSCS */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nRNRB */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NR_TxBW_specs_1 = { + sizeof(struct NR_TxBW), + offsetof(struct NR_TxBW, _asn_ctx), + asn_MAP_NR_TxBW_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_NR_TxBW_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NR_TxBW = { + "NR-TxBW", + "NR-TxBW", + &asn_OP_SEQUENCE, + asn_DEF_NR_TxBW_tags_1, + sizeof(asn_DEF_NR_TxBW_tags_1) + /sizeof(asn_DEF_NR_TxBW_tags_1[0]), /* 1 */ + asn_DEF_NR_TxBW_tags_1, /* Same as above */ + sizeof(asn_DEF_NR_TxBW_tags_1) + /sizeof(asn_DEF_NR_TxBW_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NR_TxBW_1, + 3, /* Elements count */ + &asn_SPC_NR_TxBW_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NR-TxBW.h b/asn1c_defs/all-defs/NR-TxBW.h new file mode 100755 index 0000000..f208b09 --- /dev/null +++ b/asn1c_defs/all-defs/NR-TxBW.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NR_TxBW_H_ +#define _NR_TxBW_H_ + + +#include + +/* Including external dependencies */ +#include "NRSCS.h" +#include "NRNRB.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* NR-TxBW */ +typedef struct NR_TxBW { + NRSCS_t nRSCS; + NRNRB_t nRNRB; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NR_TxBW_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NR_TxBW; +extern asn_SEQUENCE_specifics_t asn_SPC_NR_TxBW_specs_1; +extern asn_TYPE_member_t asn_MBR_NR_TxBW_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _NR_TxBW_H_ */ +#include diff --git a/asn1c_defs/all-defs/NR-TxBW.o b/asn1c_defs/all-defs/NR-TxBW.o new file mode 100644 index 0000000000000000000000000000000000000000..aaf78fc7cb664f16f39f98e3e617c689948d268a GIT binary patch literal 2960 zcmb_dOK;Oa5Z=^0%Bv3^5)zldg(49vE=8?CLZ%^Yg&<8+DvqujthOStOYBPJ0=XdZ z59q((7jWZ%#HB}m2Anv;eD+MT**cXd9m$@VZ(h5z>+$>QvxSjDK?xPqBh}XgRqEhu zUv^W`RpV+*)f%N2d-E?<*jTNs(!17}SKHN6buS6RcsmN?e%P@jb1kMmEU7ija0EU= zwm(Eixcswelp@ZYU|#GW&jdZ^PcSc~%B3=)*ENgTS2+(8mk{(+C-g#MfMXB3k1P6O zrShOSwYISvCcDL1d&Vx8oZVD&-Z^u2dB%3`WH?0(C)7Hne&wF2HL#L?4r^dVI-b8v ziz?)irA{A$FA!2t=M?%1(jzUUePo$g-69TuA&Gm)_zW8c^Yr~C4%||xeweKE6bA7X zQYW?bZ?V}Yj=N{l8v^q14}>F6mjg!m@IR$^f4{P?&xGgY`7#9mJ_MJ+WH*%`hu)Lw zf>&#J7*$^4Z^oXJ!p|Sqb$B{xmvsE?Fv&{H zH+m(qqO0{v4~chz=3sV=(f*1tPDQJCq9kfYt=?>{L}5a8f{r&geb1>ov-hbPOlY%y z`!I(tB!AANdZI9lvcS{s!@+lkqK) zl3*`U_A5W}mAw(i%I-u^;OW>7sX@z6&5#V$ZbeNWU>c(AX4Gy6bj9p2N&6Bc+>|Z_gm_FgrPo{BPpYG2Id4{UNrPg(h)Cp#Jtb(I3Jz39cc{k9eM=Q z{l1zDVx#E`JdzksoG)xqtjQ&9f&+{oo($Zzvj>^)ch};_KZ1t`-Z?jQ + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include "NRCellIdentifier.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* NRCGI */ +typedef struct NRCGI { + PLMN_Identity_t pLMN_Identity; + NRCellIdentifier_t nRcellIdentifier; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRCGI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRCGI; +extern asn_SEQUENCE_specifics_t asn_SPC_NRCGI_specs_1; +extern asn_TYPE_member_t asn_MBR_NRCGI_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRCGI_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRCGI.o b/asn1c_defs/all-defs/NRCGI.o new file mode 100644 index 0000000000000000000000000000000000000000..af62f096b3b8d3d68d51b186285b15633f78b461 GIT binary patch literal 2968 zcmb_dTWb?h5I*U8X}$E~1q4CjgBZaavTdbBL839eNSm%L#lCH~+qDfQyCu7Y7D4kU z_y_vxuka7};A0>AGxS~1nX@y=$;qZ@>A=a%d~-Wz&dKbj>eAd$E+?3B;<@N*j0$mb zxht2ISQcYqRMb{0^NV6{X}MNh+z!H|o*asB)ejntRDD+uTB2SpRu7UOjO$Stck}#< zWbVb(2j#E^8BW26!1f2|6qo-t6(Hi$Ip)RlV&=E7{u`mx=)$)`AX$!zOcTvA13?x896OWMSEXq_D6eGmZqisD8(USFk!6=;#cOK zT0J}I=CFEpq~qDAw4g#3S>j?JJOW5gjEE9h^hir+e=@S)BY#pmaZd=JCPQx?tkO@G zxY`c_VyRo`H7$ZVq3wT{%x{5@_qr-=X8`^IaLm(IUP27h<$qCl_q^PXuYhOe|26zyHgtKGVz5JRygNG$kFf#l96qa zjCpR5jO>VH#BY*}?3iT4@mx4hkbb62)xAYBvI05+u|L}uH2ikzqJG;Nj`<&uP4Aoj zFEabn>As8)n~Aq2Bs`0h@3NEx2Z@l|Ug8P46~{uhB2>`RmNuwC!&7FI3{^HF-$PJ^ z21g8R!^$}AY1+SWnugM^qlG0Po~Ucroi z2xjd0S>qo=EaseqrBj)dDIElv>oZ3`l+F5Wz>q$(W2%Zgac0jzz?ocTfcOdh86Aqh z1~@|ezW6<@0G3rhPan$?B8s#+^ z#T{4}&vg((I-+>IADyTjDhBaASd8g@-^~q?(ey<<%k>9=name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 36)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NRCellIdentifier_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 36, 36 } /* (SIZE(36..36)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_NRCellIdentifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRCellIdentifier = { + "NRCellIdentifier", + "NRCellIdentifier", + &asn_OP_BIT_STRING, + asn_DEF_NRCellIdentifier_tags_1, + sizeof(asn_DEF_NRCellIdentifier_tags_1) + /sizeof(asn_DEF_NRCellIdentifier_tags_1[0]), /* 1 */ + asn_DEF_NRCellIdentifier_tags_1, /* Same as above */ + sizeof(asn_DEF_NRCellIdentifier_tags_1) + /sizeof(asn_DEF_NRCellIdentifier_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRCellIdentifier_constr_1, NRCellIdentifier_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRCellIdentifier.h b/asn1c_defs/all-defs/NRCellIdentifier.h new file mode 100755 index 0000000..9f130e6 --- /dev/null +++ b/asn1c_defs/all-defs/NRCellIdentifier.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRCellIdentifier_H_ +#define _NRCellIdentifier_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* NRCellIdentifier */ +typedef BIT_STRING_t NRCellIdentifier_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRCellIdentifier_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRCellIdentifier; +asn_struct_free_f NRCellIdentifier_free; +asn_struct_print_f NRCellIdentifier_print; +asn_constr_check_f NRCellIdentifier_constraint; +ber_type_decoder_f NRCellIdentifier_decode_ber; +der_type_encoder_f NRCellIdentifier_encode_der; +xer_type_decoder_f NRCellIdentifier_decode_xer; +xer_type_encoder_f NRCellIdentifier_encode_xer; +per_type_decoder_f NRCellIdentifier_decode_uper; +per_type_encoder_f NRCellIdentifier_encode_uper; +per_type_decoder_f NRCellIdentifier_decode_aper; +per_type_encoder_f NRCellIdentifier_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRCellIdentifier_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRCellIdentifier.o b/asn1c_defs/all-defs/NRCellIdentifier.o new file mode 100644 index 0000000000000000000000000000000000000000..138c22aa18e3a958243c20d29ce9de483303eaee GIT binary patch literal 2936 zcmbtVO>7fK6n@UO#1QH@z#$Tq*h6TOiVR*9sUb+n)cIMfZm^PoA}V#+*lS|y*pYXQ zLJy@VBzH@s?W)syLK_%FJCmb(6La~&tgxk6#e9KE*EX$Bqh zeK8?&<5nlstk11Uk(&_KScJnVPMrE|0a6>;)am2>=|?#E1mbVA?Q7!Gne1ktlNl~$ z%At@Bup0Gqa9vasv03 z?^qy8g&YkRXs`}saC$HA&{Uz}YT5aqxa2G@EfnYHLZm#i-~@Nqy@OLnIdO7Y++w+) zL^}SuSMhnDW6Y`V&?){EwWhrb3QoOJ;`bF?^?#_~8O5LB@TBN=PBD;XPVYsSth)9YXL?N!Sf1!l4WAHg3GxGx~br@R}f?}PW9Q>n}vUOEpS&rVAG8Fs+8JZ z!xe$I5rC+=feT{A_d&E#HMCikm&MZ%cS0VQb#QE9EMVGjp^J=+s=^Vi1xz^#1B z{@$unYrAV6ukrsd6NBYhsCn|N$oC~}YV8O+jUV-pJbo&zbE~?^Al(g`N1net*LN7# zJK=N0iOLa+M>Ccp;T$r`smJGNvINp$3w;Qa_g;p``1d5hT&`c{$s?W=e}f%9)Z%5F zzDQa1TmUw-yKJNlmYes0pSDxOf|$P zK1W7{&T%}Qk4kdilDE((Wz}z4Ul1F0-v=D8yUTd}{>c5yx$dEmRKG{moRDOlsD9M< zWW2;_J^I`T!D9wr^MVHvqqn2SQ%}>+9wGRK3;#1I3hDbFLR(V&V_yGPN-T+b{68bW BHd+7x literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRFreqInfo.c b/asn1c_defs/all-defs/NRFreqInfo.c new file mode 100755 index 0000000..7d1dc2c --- /dev/null +++ b/asn1c_defs/all-defs/NRFreqInfo.c @@ -0,0 +1,188 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRFreqInfo.h" + +#include "SULInformation.h" +#include "ProtocolExtensionContainer.h" +#include "FreqBandNrItem.h" +static int +memb_nRARFCN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3279165)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_freqBandListNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1 && size <= 32)) { + /* Perform validation of the inner elements */ + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_freqBandListNr_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_nRARFCN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 22, -1, 0, 3279165 } /* (0..3279165) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_freqBandListNr_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_freqBandListNr_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_FreqBandNrItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_freqBandListNr_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_freqBandListNr_specs_3 = { + sizeof(struct NRFreqInfo__freqBandListNr), + offsetof(struct NRFreqInfo__freqBandListNr, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_freqBandListNr_3 = { + "freqBandListNr", + "freqBandListNr", + &asn_OP_SEQUENCE_OF, + asn_DEF_freqBandListNr_tags_3, + sizeof(asn_DEF_freqBandListNr_tags_3) + /sizeof(asn_DEF_freqBandListNr_tags_3[0]) - 1, /* 1 */ + asn_DEF_freqBandListNr_tags_3, /* Same as above */ + sizeof(asn_DEF_freqBandListNr_tags_3) + /sizeof(asn_DEF_freqBandListNr_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_freqBandListNr_constr_3, SEQUENCE_OF_constraint }, + asn_MBR_freqBandListNr_3, + 1, /* Single element */ + &asn_SPC_freqBandListNr_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRFreqInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRFreqInfo, nRARFCN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_nRARFCN_constr_2, memb_nRARFCN_constraint_1 }, + 0, 0, /* No default value */ + "nRARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRFreqInfo, freqBandListNr), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_freqBandListNr_3, + 0, + { 0, &asn_PER_memb_freqBandListNr_constr_3, memb_freqBandListNr_constraint_1 }, + 0, 0, /* No default value */ + "freqBandListNr" + }, + { ATF_POINTER, 2, offsetof(struct NRFreqInfo, sULInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SULInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sULInformation" + }, + { ATF_POINTER, 1, offsetof(struct NRFreqInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P173, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_NRFreqInfo_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_NRFreqInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRFreqInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* freqBandListNr */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sULInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRFreqInfo_specs_1 = { + sizeof(struct NRFreqInfo), + offsetof(struct NRFreqInfo, _asn_ctx), + asn_MAP_NRFreqInfo_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_NRFreqInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRFreqInfo = { + "NRFreqInfo", + "NRFreqInfo", + &asn_OP_SEQUENCE, + asn_DEF_NRFreqInfo_tags_1, + sizeof(asn_DEF_NRFreqInfo_tags_1) + /sizeof(asn_DEF_NRFreqInfo_tags_1[0]), /* 1 */ + asn_DEF_NRFreqInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_NRFreqInfo_tags_1) + /sizeof(asn_DEF_NRFreqInfo_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRFreqInfo_1, + 4, /* Elements count */ + &asn_SPC_NRFreqInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRFreqInfo.h b/asn1c_defs/all-defs/NRFreqInfo.h new file mode 100755 index 0000000..9c37245 --- /dev/null +++ b/asn1c_defs/all-defs/NRFreqInfo.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRFreqInfo_H_ +#define _NRFreqInfo_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct SULInformation; +struct ProtocolExtensionContainer; +struct FreqBandNrItem; + +/* NRFreqInfo */ +typedef struct NRFreqInfo { + long nRARFCN; + struct NRFreqInfo__freqBandListNr { + A_SEQUENCE_OF(struct FreqBandNrItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } freqBandListNr; + struct SULInformation *sULInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRFreqInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRFreqInfo; +extern asn_SEQUENCE_specifics_t asn_SPC_NRFreqInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_NRFreqInfo_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRFreqInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRFreqInfo.o b/asn1c_defs/all-defs/NRFreqInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..fc35b14b817ff0012980258819c6a6a59ce8f210 GIT binary patch literal 5856 zcmb_gU2GIp6u!$MEq_a?KdFLtP{9)Iuv18AFp@20mua#sOG}lAaXZ~kp|C%=JFP7y zu%=+LAtspkfNvUKeB?n5#+N4k5q;3~iNpu{VnTv3V2mNrfalyfr*ro@TT9?1ch9-s z`Mu}foxQVXlj+ooNJKD2#9k517!|^34djFr6XIdfD(v%r4fWOL?b=muzxA{I_THCP zcZn&>K0p8ET_Eo{d-k{H^o6GMyX(>G#1`8Z?Ajl8?T%gh&YJ7FJAdTW+O?x!ZD>zG zJaYV9I{L=of8tScwB~PodvV;{(0)!tVkaVHMzd;~QB@=tmsTwopv~Vxy1(B#>5s z_z(?5d2bAyEQ8ShF&KJ$+$JWOyg`1pS&A>^f3NkM<_@P)v~t-ocf7L0$>%$zFff=Z zyKnRr$4h2TY_04urkwnwYZObKacpABEgBsFZXMe$b-7Zp;+36=qGyad6M1)RQ5%F2 z#lfDzRPTTohq(Kk;#hj3;tiBVWjKvl$_2-pC>6y-vNJjDxy1@hDogdCk&gF^_4=G~ zov+k^Wz4bH`aUniZAp`6(5_n2;@*_Feyp<_#u^w8s$PtXBLO1@<3YuRP)m}&pSZT= zknY#WN3}~dGP)0Z1bl79Uq5%e9vx>F*7F?Cidr-7v1)^R6J=xI36jwUar95X5C?jD z_ZS_+qmxB%(%5b8GUJ`rq?}o2tZp;D%e1!pI9iKG{Auj;F znRJuL_s3dhS2(e@bj)};*47hi>0J|RPOcr0h!DHLBu)13EZV;UHvMRmi5Z9Ly#OKe zP=>u&DQ<;6+oN@z3f!Z09a8b|U5LtGh`^4eXvjAg`@cfTD|-T12jNxVNOJAI2-P%^ z6tF%JBVz61{;8Ek#p=M2q#W6^B0<7g!ubs1^M)x3@pZZcKm;nPk|IO=bBQ;J1v-4k z3I9>zQDM-W?f;bcTETP9+Y0^|e?ha~E%7EXf(I4oh|ffZ>}e|2u>d?Oi|PCDJWtySsK;8Edz{TBX?R!4%Yc7?@ryE;2Ga zQqDn8Mi6GMR4BMbhz_sMu6bZ!xU=Fpxs&AO9*2jyQ*gP^`{M?<<6dKLRZ7rg6`d2- zwXi^Z6Y!NV5;SLaYP~Pb5rBReiuaB83HKUt^(??tj8NXVmft|7LiqlGF?Iio>Lx4p zS~y{W4zb|h7T=it)$a^yxPFe404&V^Q_6oDofKj}=7&LtvR;3JfGgTM3?&wd2VsQu zKTcnY>*SC9$F~HopZlK!EG$1Ch&bp~GSmskufqt--?q^=WPi+$&jCF@{%M2xwPlI~ z9mpe~Q^`;#Aio6z{W%Y-FOff<50%gsiTOE2mJ0g#TK_^2&VFqB0SJic^ N; sorted by tag */ + asn_MAP_NRNRB_enum2value_1, /* N => "tag"; sorted by N */ + 29, /* Number of elements in the maps */ + 30, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NRNRB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRNRB = { + "NRNRB", + "NRNRB", + &asn_OP_NativeEnumerated, + asn_DEF_NRNRB_tags_1, + sizeof(asn_DEF_NRNRB_tags_1) + /sizeof(asn_DEF_NRNRB_tags_1[0]), /* 1 */ + asn_DEF_NRNRB_tags_1, /* Same as above */ + sizeof(asn_DEF_NRNRB_tags_1) + /sizeof(asn_DEF_NRNRB_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRNRB_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NRNRB_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRNRB.h b/asn1c_defs/all-defs/NRNRB.h new file mode 100755 index 0000000..4820ab0 --- /dev/null +++ b/asn1c_defs/all-defs/NRNRB.h @@ -0,0 +1,81 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRNRB_H_ +#define _NRNRB_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRNRB { + NRNRB_nrb11 = 0, + NRNRB_nrb18 = 1, + NRNRB_nrb24 = 2, + NRNRB_nrb25 = 3, + NRNRB_nrb31 = 4, + NRNRB_nrb32 = 5, + NRNRB_nrb38 = 6, + NRNRB_nrb51 = 7, + NRNRB_nrb52 = 8, + NRNRB_nrb65 = 9, + NRNRB_nrb66 = 10, + NRNRB_nrb78 = 11, + NRNRB_nrb79 = 12, + NRNRB_nrb93 = 13, + NRNRB_nrb106 = 14, + NRNRB_nrb107 = 15, + NRNRB_nrb121 = 16, + NRNRB_nrb132 = 17, + NRNRB_nrb133 = 18, + NRNRB_nrb135 = 19, + NRNRB_nrb160 = 20, + NRNRB_nrb162 = 21, + NRNRB_nrb189 = 22, + NRNRB_nrb216 = 23, + NRNRB_nrb217 = 24, + NRNRB_nrb245 = 25, + NRNRB_nrb264 = 26, + NRNRB_nrb270 = 27, + NRNRB_nrb273 = 28 + /* + * Enumeration is extensible + */ +} e_NRNRB; + +/* NRNRB */ +typedef long NRNRB_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRNRB_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRNRB; +extern const asn_INTEGER_specifics_t asn_SPC_NRNRB_specs_1; +asn_struct_free_f NRNRB_free; +asn_struct_print_f NRNRB_print; +asn_constr_check_f NRNRB_constraint; +ber_type_decoder_f NRNRB_decode_ber; +der_type_encoder_f NRNRB_encode_der; +xer_type_decoder_f NRNRB_decode_xer; +xer_type_encoder_f NRNRB_encode_xer; +per_type_decoder_f NRNRB_decode_uper; +per_type_encoder_f NRNRB_encode_uper; +per_type_decoder_f NRNRB_decode_aper; +per_type_encoder_f NRNRB_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRNRB_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRNRB.o b/asn1c_defs/all-defs/NRNRB.o new file mode 100644 index 0000000000000000000000000000000000000000..80ec2281cdf69d8f8dfa9bf2883b0648b1e94fba GIT binary patch literal 4136 zcmbuCO>Ep$5XWEYLc>=-fR^&9MM5GVYOTG=ZUP9IhO`la5T#TgE*tOGY66KjT6?3k zQlSzYkhoL`A$sef55+DOapCDXGc(Pu@x4VDCPcY4WVWG*1!+oE`?89!_#(*en*;;)Jl(72cD1q)(H2q|cB(ON#fspA@x#nm9l@PWlk(!=#UpqJ$nJ z{Wp1@oG*~x?{mO)%cA*~W9<;jaW4?daZeD-)z-d?Vi$S5gZE~5yrZkQ?t*)L-kx1i?DsL={Y7j!(<|}vOdg*UWuj-m zxQhhel#M$>Hs-Gh&!tD_@hMXRGW7Tax|e@Q=8@9+SH#_+UTeCXagpQo^l)xboZpX# z|C!@;cRM#B@s2-me%HlW+J0y5RGaN~9-q(J0mJv-UKF?)uMLtgNeAnDT!10_#WkFY z=lFo8i1XFWWRBvJew-)gm@m#Pwet%biCm!DOS8N$Gn`M-q`%s2r@eN;1kofGyv8WM0ldtfi4ApzI3 zhk-QUIBO%Zbq(Mc*M#f)2FLyCeqIs3ay@S^8?M*>!En8Q)C)xC!8Z_cyXc1eC9$^+ ze^u-q!|P%n#>6B#f3q;%gyC-rj|@L4{A0uCg>M+XApC2?vF{+)4F9CS?xx|f@IMUK z=YGfVp2X`B2RGi=rtsskg_U0tUN`(J;q!)nBYfHLZ-s9eepUDt!>-1*@g8y?oglii+)8%d9sx||6H8M&hKQI^ZPv*hz$II%w#QQH%96; zm~#BJUNpresent), + asn_MAP_nRNeighbourModeInfo_tag2el_8, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_nRNeighbourModeInfo_8 = { + "nRNeighbourModeInfo", + "nRNeighbourModeInfo", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_nRNeighbourModeInfo_constr_8, CHOICE_constraint }, + asn_MBR_nRNeighbourModeInfo_8, + 2, /* Elements count */ + &asn_SPC_nRNeighbourModeInfo_specs_8 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nrpCI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRPCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrpCI" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nrCellID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrCellID" + }, + { ATF_POINTER, 2, offsetof(struct NRNeighbour_Information__Member, fiveGS_TAC), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FiveGS_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fiveGS-TAC" + }, + { ATF_POINTER, 1, offsetof(struct NRNeighbour_Information__Member, configured_TAC), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "configured-TAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, measurementTimingConfiguration), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "measurementTimingConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information__Member, nRNeighbourModeInfo), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_nRNeighbourModeInfo_8, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRNeighbourModeInfo" + }, + { ATF_POINTER, 1, offsetof(struct NRNeighbour_Information__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P97, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2, 3, 6 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrpCI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrCellID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* configured-TAC */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* measurementTimingConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* nRNeighbourModeInfo */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct NRNeighbour_Information__Member), + offsetof(struct NRNeighbour_Information__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 7, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 3, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 7, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRNeighbour_Information_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NRNeighbour_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_NRNeighbour_Information_specs_1 = { + sizeof(struct NRNeighbour_Information), + offsetof(struct NRNeighbour_Information, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information = { + "NRNeighbour-Information", + "NRNeighbour-Information", + &asn_OP_SEQUENCE_OF, + asn_DEF_NRNeighbour_Information_tags_1, + sizeof(asn_DEF_NRNeighbour_Information_tags_1) + /sizeof(asn_DEF_NRNeighbour_Information_tags_1[0]), /* 1 */ + asn_DEF_NRNeighbour_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_NRNeighbour_Information_tags_1) + /sizeof(asn_DEF_NRNeighbour_Information_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRNeighbour_Information_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_NRNeighbour_Information_1, + 1, /* Single element */ + &asn_SPC_NRNeighbour_Information_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRNeighbour-Information.h b/asn1c_defs/all-defs/NRNeighbour-Information.h new file mode 100755 index 0000000..d9a7690 --- /dev/null +++ b/asn1c_defs/all-defs/NRNeighbour-Information.h @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRNeighbour_Information_H_ +#define _NRNeighbour_Information_H_ + + +#include + +/* Including external dependencies */ +#include +#include "NRPCI.h" +#include "NRCGI.h" +#include "FiveGS-TAC.h" +#include "TAC.h" +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRNeighbour_Information__Member__nRNeighbourModeInfo_PR { + NRNeighbour_Information__Member__nRNeighbourModeInfo_PR_NOTHING, /* No components present */ + NRNeighbour_Information__Member__nRNeighbourModeInfo_PR_fdd, + NRNeighbour_Information__Member__nRNeighbourModeInfo_PR_tdd + /* Extensions may appear below */ + +} NRNeighbour_Information__Member__nRNeighbourModeInfo_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct FDD_InfoNeighbourServedNRCell_Information; +struct TDD_InfoNeighbourServedNRCell_Information; + +/* Forward definitions */ +typedef struct NRNeighbour_Information__Member { + NRPCI_t nrpCI; + NRCGI_t nrCellID; + FiveGS_TAC_t *fiveGS_TAC; /* OPTIONAL */ + TAC_t *configured_TAC; /* OPTIONAL */ + OCTET_STRING_t measurementTimingConfiguration; + struct NRNeighbour_Information__Member__nRNeighbourModeInfo { + NRNeighbour_Information__Member__nRNeighbourModeInfo_PR present; + union NRNeighbour_Information__Member__nRNeighbourModeInfo_u { + struct FDD_InfoNeighbourServedNRCell_Information *fdd; + struct TDD_InfoNeighbourServedNRCell_Information *tdd; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } nRNeighbourModeInfo; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRNeighbour_Information__Member; + +/* NRNeighbour-Information */ +typedef struct NRNeighbour_Information { + A_SEQUENCE_OF(NRNeighbour_Information__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRNeighbour_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information; +extern asn_SET_OF_specifics_t asn_SPC_NRNeighbour_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_NRNeighbour_Information_1[1]; +extern asn_per_constraints_t asn_PER_type_NRNeighbour_Information_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRNeighbour_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRNeighbour-Information.o b/asn1c_defs/all-defs/NRNeighbour-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..057e8ae7b7b77e27a5beb39bff359fbcc8a154e9 GIT binary patch literal 6304 zcmcgx&2Jl35PykF8$O!?LV@z(LV*;KRU9fc6olM5P8uMNNm9`R(#CN%i6ORwy{S?p zXpZH8D7T(aj^UOgC)8uPpx)rXAxF5uUjXxaJL4U{?iLFyMq1CzZ$5V3d$Vu%CD)7Z zPY(_Z7@-04j)^rvjoEuLmh)E3n_+X@jFUVPn-ZnJn39Zx1U|$U?45fbf%eaIlw1(g ziQ^Eh-|znJ9ZCzOptioT(%f#1%{JDWt$HP_H5X#NTxSPk-#n0u(T%ZRXy@Ivu!L?_XA@W2I^(!yNk2-hhLSOeYFLK|Y>#;uO zrBs$~((mJR^{d_}t1;h`@DyFW_Jzcyapb{uNY^uT^}Ak5`M(f)q!*HTL!b7u|8?Ge z_P;x(ybCzGI}fs-iyNLH?StOWh>dBTmzao72 z9&cmztpA|NvQ6s$DaHTL`p4^dh2sWk9ZslzlZsy>Jn6pYQ}9v>{!t44aSHx<3jSpZ z{%s2WV+#Ir3jTWvev#!&jf$epp#=`?-$WTu@<K_ZUj?Nu_HgcpN!8{47zB zAL*4^Bed}tSz2hcei&VvM>N97PZifWXt{Tb23V%ESKL5_nOK{)2QeQ9F>%oHd|`spkl_ztJ|Oc0tp5^SHP?lfa)=@gpn)k9Rv`MpN*-!tpI7 zbcqGz!8=n(_F3T13P^mJW#G@T47STMaJ-GB)*C7KO@%+tGMK#YkO$)uzkL{qT>MT1 zTl@uqqQUuxGD+-7I+icrW_-W;TpzvXZ-&Hu~XP5SW&=7N}=e-CvqY8hS zF|cKYqaL4alF!X^!||8=Hx>R0=K#B{aEQAAiS8);)d;e`cNK2eoxg7m6^?b^S1Mtc-V^ghDc$s6B=)|5>|}2(rz2C)r11ioR=dt*sNGHB(XZMx7n;#I>sn; z(s4~9(wFa&j9c-x0h6U=`;f)^s^D1>n14t-ss214(SC9KvyQ$%dQ$zj zo`@Xf`9S@s-K~F}Fx=mr{}Fc7?+$Y7#3KfDl`hERP!yfxc&x7`i4%UEj3R5lsuZfh z1Yg9ubB~Y>j+gbr-&L??l2+Cad!E}n1eq&*5Snw0ZmlO$;)nVF311_bA~*hToMj_d literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRPCI.c b/asn1c_defs/all-defs/NRPCI.c new file mode 100755 index 0000000..f9bf3fe --- /dev/null +++ b/asn1c_defs/all-defs/NRPCI.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRPCI.h" + +int +NRPCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1007)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NRPCI_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1007 } /* (0..1007) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_NRPCI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRPCI = { + "NRPCI", + "NRPCI", + &asn_OP_NativeInteger, + asn_DEF_NRPCI_tags_1, + sizeof(asn_DEF_NRPCI_tags_1) + /sizeof(asn_DEF_NRPCI_tags_1[0]), /* 1 */ + asn_DEF_NRPCI_tags_1, /* Same as above */ + sizeof(asn_DEF_NRPCI_tags_1) + /sizeof(asn_DEF_NRPCI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRPCI_constr_1, NRPCI_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/NRPCI.h b/asn1c_defs/all-defs/NRPCI.h new file mode 100755 index 0000000..be7498c --- /dev/null +++ b/asn1c_defs/all-defs/NRPCI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRPCI_H_ +#define _NRPCI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* NRPCI */ +typedef long NRPCI_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRPCI_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRPCI; +asn_struct_free_f NRPCI_free; +asn_struct_print_f NRPCI_print; +asn_constr_check_f NRPCI_constraint; +ber_type_decoder_f NRPCI_decode_ber; +der_type_encoder_f NRPCI_encode_der; +xer_type_decoder_f NRPCI_decode_xer; +xer_type_encoder_f NRPCI_encode_xer; +per_type_decoder_f NRPCI_decode_uper; +per_type_encoder_f NRPCI_encode_uper; +per_type_decoder_f NRPCI_decode_aper; +per_type_encoder_f NRPCI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRPCI_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRPCI.o b/asn1c_defs/all-defs/NRPCI.o new file mode 100644 index 0000000000000000000000000000000000000000..53113b2f3eb7042f6f7f7a60915c7f32b4070801 GIT binary patch literal 2736 zcmbVNOKTKC5U$OriLZ4NJp>dT5H+IdWI{m6A*^ho6If!14@ALrvYEWxhwRJ-6?~x{ z7E$~e{s%7sK|SXrc=0GGiXJ?Pv8tzP)9DNztfi-_zIt?Z^^YRjd>r^q2PV!KztqEl-s+dPdj90ofoum4 z0|qKXhzcPR{a;+Efgq}R<6=NstiY>5qCMLG()#mkKOsj<*?@V zA$Vl=xVDw+wJ2@`i?!ID3l=NkY}=|c{A=cPo4psdo*uOs?IP%0p)lh1U7Bgu;--5_ z4XeR^uc^|DO(`e_14_A|+2;(5b=FU!Py z1DCl7av7&}(P)#3?o{Jo1{A(a311MY5mo{fhqq%;vq2nynu#J%jXEjh?y1uoRoqY= zqa9EZE2wh4S`BNM2%p7JotwPWAH_lWCi{mArMX5>4ckTizu;o1^xVvnXGPAp*vuXg zwjT%G;XDqLR`_DyV35uL%_I9P`*)Oa`z2aIoTz;-61BZAtm^lZa@z4ZnkR#oN?4Y^Ze%fjPRy^hB?H@b&!k(edT!ie=~_;9Yc5>hhU~(uU!xuZQmyx zZ@WvpZze@q)-Uh_6w>)JwlM@ Z#@{2wAbb7YXiJO##Pz>0Vo9{){{k+x{@(xq literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.c b/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.c new file mode 100755 index 0000000..6a8e091 --- /dev/null +++ b/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRS-NSSS-PowerOffset.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_NRS_NSSS_PowerOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_NRS_NSSS_PowerOffset_value2enum_1[] = { + { 0, 10, "minusThree" }, + { 1, 4, "zero" }, + { 2, 5, "three" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NRS_NSSS_PowerOffset_enum2value_1[] = { + 0, /* minusThree(0) */ + 2, /* three(2) */ + 1 /* zero(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_NRS_NSSS_PowerOffset_specs_1 = { + asn_MAP_NRS_NSSS_PowerOffset_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NRS_NSSS_PowerOffset_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NRS_NSSS_PowerOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRS_NSSS_PowerOffset = { + "NRS-NSSS-PowerOffset", + "NRS-NSSS-PowerOffset", + &asn_OP_NativeEnumerated, + asn_DEF_NRS_NSSS_PowerOffset_tags_1, + sizeof(asn_DEF_NRS_NSSS_PowerOffset_tags_1) + /sizeof(asn_DEF_NRS_NSSS_PowerOffset_tags_1[0]), /* 1 */ + asn_DEF_NRS_NSSS_PowerOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_NRS_NSSS_PowerOffset_tags_1) + /sizeof(asn_DEF_NRS_NSSS_PowerOffset_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRS_NSSS_PowerOffset_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NRS_NSSS_PowerOffset_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.h b/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.h new file mode 100755 index 0000000..cd2cba1 --- /dev/null +++ b/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRS_NSSS_PowerOffset_H_ +#define _NRS_NSSS_PowerOffset_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRS_NSSS_PowerOffset { + NRS_NSSS_PowerOffset_minusThree = 0, + NRS_NSSS_PowerOffset_zero = 1, + NRS_NSSS_PowerOffset_three = 2 + /* + * Enumeration is extensible + */ +} e_NRS_NSSS_PowerOffset; + +/* NRS-NSSS-PowerOffset */ +typedef long NRS_NSSS_PowerOffset_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRS_NSSS_PowerOffset; +asn_struct_free_f NRS_NSSS_PowerOffset_free; +asn_struct_print_f NRS_NSSS_PowerOffset_print; +asn_constr_check_f NRS_NSSS_PowerOffset_constraint; +ber_type_decoder_f NRS_NSSS_PowerOffset_decode_ber; +der_type_encoder_f NRS_NSSS_PowerOffset_encode_der; +xer_type_decoder_f NRS_NSSS_PowerOffset_decode_xer; +xer_type_encoder_f NRS_NSSS_PowerOffset_encode_xer; +per_type_decoder_f NRS_NSSS_PowerOffset_decode_uper; +per_type_encoder_f NRS_NSSS_PowerOffset_encode_uper; +per_type_decoder_f NRS_NSSS_PowerOffset_decode_aper; +per_type_encoder_f NRS_NSSS_PowerOffset_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRS_NSSS_PowerOffset_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.o b/asn1c_defs/all-defs/NRS-NSSS-PowerOffset.o new file mode 100644 index 0000000000000000000000000000000000000000..5551aa88327cce6963ac5877af00bbe17d73c201 GIT binary patch literal 2672 zcmbtVO>fgc5S`#c%Xf>Ygv2Er5J3>rRFy!0kWopC5VTQ4#nHIwwh1(LWjm$i07zUo zaNwu(#JNX)20sBL4qQ-~+059RjZ+ScWY4@eZ}!{k_w}a>$4Vs-E5QTEk+1;!C-T_S zp$F&T91wksA5HU%II%-E!AJR}m1cFR*=$xD(Hj*nZ)_wgg>EP8CC}TjQt(#A5u`di zs+lZj&&9@>@E<|N$kW_Lwc}uJ?1;S4%s_Z*0OjpdTc*jn9ydvf7w6~imMg1ky)f;S zZ@Y8uOtse2sP?XQ$DNsTYuEd{T{(bhUSsg{aDZgsjF`2fPrz`61GE~$=I9kF;)iAh zmrz!M@k}i1abNSY8UPJeY-)ZY)0_L|80};N3>?Vy!hgn~guKVZWAbVV;}= zrwx>c4%oX3@Ey}rkk7Zx@;~S&IX2xiZcGsmMIVgYf*=X~NA(3C(>{GqzVSWzX|S32 zHLYpXSNwEuTNMjiQJADLOPh`PVpX!OTGHOLhmB&n036jYqJ27o?~8PP4AfUidQO4;Fuw zF}TTIHx1U%r*Yr6B}&z93hsK42H>tG3Ak}YfRr`2hEQz!*)_?_tnJ^dbjk=C>;2#7QHkn$eA&}6;)2%szh z`)lZFZ|wRnmQJAE|4mE~H!A}6Qh&qZrCz*;d5Z1+50E31bJ0h`Zjq z^8sVJ7wNpoIi!1>>9e|~cl3sB(!UhKo{E%idYz@TXS9@l>oA^Wn0R}dGCf1fXd zUDnh1sc-3D#{UXA>S_ib)4p;4v_GaXt!s!+@Da|`{VF00v?R0Fj@tRn^)imL$W7v7 hkN+fc_TD1}2Tb0w#$iEy2Nu;=_=EaLjTvUw{{>=0+!+7> literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRSCS.c b/asn1c_defs/all-defs/NRSCS.c new file mode 100755 index 0000000..0fb932d --- /dev/null +++ b/asn1c_defs/all-defs/NRSCS.c @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRSCS.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NRSCS_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_NRSCS_value2enum_1[] = { + { 0, 5, "scs15" }, + { 1, 5, "scs30" }, + { 2, 5, "scs60" }, + { 3, 6, "scs120" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NRSCS_enum2value_1[] = { + 3, /* scs120(3) */ + 0, /* scs15(0) */ + 1, /* scs30(1) */ + 2 /* scs60(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NRSCS_specs_1 = { + asn_MAP_NRSCS_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NRSCS_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NRSCS_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRSCS = { + "NRSCS", + "NRSCS", + &asn_OP_NativeEnumerated, + asn_DEF_NRSCS_tags_1, + sizeof(asn_DEF_NRSCS_tags_1) + /sizeof(asn_DEF_NRSCS_tags_1[0]), /* 1 */ + asn_DEF_NRSCS_tags_1, /* Same as above */ + sizeof(asn_DEF_NRSCS_tags_1) + /sizeof(asn_DEF_NRSCS_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRSCS_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NRSCS_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRSCS.h b/asn1c_defs/all-defs/NRSCS.h new file mode 100755 index 0000000..2a43fae --- /dev/null +++ b/asn1c_defs/all-defs/NRSCS.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRSCS_H_ +#define _NRSCS_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRSCS { + NRSCS_scs15 = 0, + NRSCS_scs30 = 1, + NRSCS_scs60 = 2, + NRSCS_scs120 = 3 + /* + * Enumeration is extensible + */ +} e_NRSCS; + +/* NRSCS */ +typedef long NRSCS_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRSCS_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRSCS; +extern const asn_INTEGER_specifics_t asn_SPC_NRSCS_specs_1; +asn_struct_free_f NRSCS_free; +asn_struct_print_f NRSCS_print; +asn_constr_check_f NRSCS_constraint; +ber_type_decoder_f NRSCS_decode_ber; +der_type_encoder_f NRSCS_encode_der; +xer_type_decoder_f NRSCS_decode_xer; +xer_type_encoder_f NRSCS_encode_xer; +per_type_decoder_f NRSCS_decode_uper; +per_type_encoder_f NRSCS_encode_uper; +per_type_decoder_f NRSCS_decode_aper; +per_type_encoder_f NRSCS_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRSCS_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRSCS.o b/asn1c_defs/all-defs/NRSCS.o new file mode 100644 index 0000000000000000000000000000000000000000..4c4f6d3133d9d9ac535b2810c3b09be11a7efb7f GIT binary patch literal 2648 zcmbtUOK;Oa5T4ZK4SjGzLV|FjNUddu@|KWMNQ)4ZsHNiQIPR(~G)@(7D#`&W@dr4e z9{CCUgq{$8ha0ytvzduE+gJ!Ol6U6&=CQL6@2AF#rHM)fL@MwY3M4GR;pxJTj2Xc+ zOaajo{27`D&jQCR7FBAltghA9AW!q~4vn`18tI?deb0)XyaRIzHh*!Yf&=SF&RsW{eXLXBa1*+0jwYIfNBBGbHUy&*FyxXn1he zhQ_{zV+Hw$JuTJ`P*eRG#-a&&aDmxT<-z$;0?}*yX086WIHHZ(uE{ifF!6HA08Ms$ zEs6hb;)`_+@2~mM{1lQri=Q@@VuNFyZ02!j$d^x=OztH+eN|IgzjMMxWX<^5H7sRn zyuuQR-riFUj8nZts|~|98>_M2-&H(8+Rbv^;|iN9Q@!mp&bsk{Pqs5{veue)PRMsv zN_`eW_s_obvSOE)Jtcm+NQWzI6EC?$$$q(fL{1dqr6%ELG@uYaYplW0Vw?EOY}<-> zy0a0J(gX2i%N$Mi6Hn`v|9Q*dFET!Gc$xdq;br~c=ldOt|i9{N-Xw&?~OGRFQfE%nD zR17nPX{YsXd`+tiZO%>obBD^3vA6vLBlS6!t zpKx~Eyt^UnbYlsR3k{h3$qAP*ZVErQe|k&YvquVkGx>vnCGPz6c8$xQ;UDU=l}o0Z F{|7u8s=xpM literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRUESecurityCapabilities.c b/asn1c_defs/all-defs/NRUESecurityCapabilities.c new file mode 100755 index 0000000..c5acd02 --- /dev/null +++ b/asn1c_defs/all-defs/NRUESecurityCapabilities.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRUESecurityCapabilities.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRUESecurityCapabilities, nRencryptionAlgorithms), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRencryptionAlgorithms, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRencryptionAlgorithms" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRUESecurityCapabilities, nRintegrityProtectionAlgorithms), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRintegrityProtectionAlgorithms, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRintegrityProtectionAlgorithms" + }, + { ATF_POINTER, 1, offsetof(struct NRUESecurityCapabilities, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P176, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_NRUESecurityCapabilities_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_NRUESecurityCapabilities_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRUESecurityCapabilities_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRencryptionAlgorithms */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nRintegrityProtectionAlgorithms */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_specs_1 = { + sizeof(struct NRUESecurityCapabilities), + offsetof(struct NRUESecurityCapabilities, _asn_ctx), + asn_MAP_NRUESecurityCapabilities_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_NRUESecurityCapabilities_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities = { + "NRUESecurityCapabilities", + "NRUESecurityCapabilities", + &asn_OP_SEQUENCE, + asn_DEF_NRUESecurityCapabilities_tags_1, + sizeof(asn_DEF_NRUESecurityCapabilities_tags_1) + /sizeof(asn_DEF_NRUESecurityCapabilities_tags_1[0]), /* 1 */ + asn_DEF_NRUESecurityCapabilities_tags_1, /* Same as above */ + sizeof(asn_DEF_NRUESecurityCapabilities_tags_1) + /sizeof(asn_DEF_NRUESecurityCapabilities_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRUESecurityCapabilities_1, + 3, /* Elements count */ + &asn_SPC_NRUESecurityCapabilities_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRUESecurityCapabilities.h b/asn1c_defs/all-defs/NRUESecurityCapabilities.h new file mode 100755 index 0000000..9e94929 --- /dev/null +++ b/asn1c_defs/all-defs/NRUESecurityCapabilities.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRUESecurityCapabilities_H_ +#define _NRUESecurityCapabilities_H_ + + +#include + +/* Including external dependencies */ +#include "NRencryptionAlgorithms.h" +#include "NRintegrityProtectionAlgorithms.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* NRUESecurityCapabilities */ +typedef struct NRUESecurityCapabilities { + NRencryptionAlgorithms_t nRencryptionAlgorithms; + NRintegrityProtectionAlgorithms_t nRintegrityProtectionAlgorithms; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRUESecurityCapabilities_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities; +extern asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_specs_1; +extern asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRUESecurityCapabilities_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRUESecurityCapabilities.o b/asn1c_defs/all-defs/NRUESecurityCapabilities.o new file mode 100644 index 0000000000000000000000000000000000000000..7637955619826c0bc4463223cacfd835312aa458 GIT binary patch literal 3264 zcmb_eOK;Oa5Z+)O<=K{(KyU~bC=#{eQqc&cDkXJWA!tLYoL$FQX+&aI@dmXQnj<$( zNabH}LL519=FFJ`NB98ds-if)pGe^ex_FM2C|!9Fz3y} ztksP*>$O!h3-hLRH^CudHeoHt#jn&eH-;)5#4v^`=6L!p7?2^23~^!vz6nT9oEF$O zNZiv9rxK7omqA8*BJv9qKCdQ*;|%P{54jPa21gRv5a&k0*#7JY{tl37wl3BgLNh(#MuD?zuQ*wEo+I5xLowesPQi`+2I==dSR>oWhjS%grfb9Q=GeRRjh>vstx)K+kwA5^m)>8>IuY2 z#vs@50fabqG4;_5fF-KmzHp^0%z6|F zvlF6%mX>LO>bKl@8YN9NTcPJ77`qTpT#Lf=!gkw-CN=~37MQE+wb@9z-b=Q?Ly9-R z54Q%tOPoqvVY1rBK5`2r#PplL)VCNGbpJarjc0IJ|9jwzG3Q`#Dk)`=gCJ9W;%JAm zp1%he(i<{NRFPMl*dq||+fpJx@egW4E6V>o;MjN6Z`5BKfTiWntDgeuQx$e3{}Y%< z%TI~OAM@i^L(lI3hWYtF2&iI90Yy|8<(Z6P0|xr*`+uPP^DxJW@}m#ZD;OwKorocQ zQvP_poXC&(K1`C#?Y`>^Qj@wZ>S?Aw6gZ>!1+bfhLG{!5;h%)wI{=9(bveJ+5^5^^ QE2R4uRHC;SjFImD7yXeXuK)l5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRencryptionAlgorithms.c b/asn1c_defs/all-defs/NRencryptionAlgorithms.c new file mode 100755 index 0000000..47ef862 --- /dev/null +++ b/asn1c_defs/all-defs/NRencryptionAlgorithms.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRencryptionAlgorithms.h" + +int +NRencryptionAlgorithms_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NRencryptionAlgorithms_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_NRencryptionAlgorithms_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRencryptionAlgorithms = { + "NRencryptionAlgorithms", + "NRencryptionAlgorithms", + &asn_OP_BIT_STRING, + asn_DEF_NRencryptionAlgorithms_tags_1, + sizeof(asn_DEF_NRencryptionAlgorithms_tags_1) + /sizeof(asn_DEF_NRencryptionAlgorithms_tags_1[0]), /* 1 */ + asn_DEF_NRencryptionAlgorithms_tags_1, /* Same as above */ + sizeof(asn_DEF_NRencryptionAlgorithms_tags_1) + /sizeof(asn_DEF_NRencryptionAlgorithms_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRencryptionAlgorithms_constr_1, NRencryptionAlgorithms_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRencryptionAlgorithms.h b/asn1c_defs/all-defs/NRencryptionAlgorithms.h new file mode 100755 index 0000000..99020cd --- /dev/null +++ b/asn1c_defs/all-defs/NRencryptionAlgorithms.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRencryptionAlgorithms_H_ +#define _NRencryptionAlgorithms_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* NRencryptionAlgorithms */ +typedef BIT_STRING_t NRencryptionAlgorithms_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRencryptionAlgorithms_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRencryptionAlgorithms; +asn_struct_free_f NRencryptionAlgorithms_free; +asn_struct_print_f NRencryptionAlgorithms_print; +asn_constr_check_f NRencryptionAlgorithms_constraint; +ber_type_decoder_f NRencryptionAlgorithms_decode_ber; +der_type_encoder_f NRencryptionAlgorithms_encode_der; +xer_type_decoder_f NRencryptionAlgorithms_decode_xer; +xer_type_encoder_f NRencryptionAlgorithms_encode_xer; +per_type_decoder_f NRencryptionAlgorithms_decode_uper; +per_type_encoder_f NRencryptionAlgorithms_encode_uper; +per_type_decoder_f NRencryptionAlgorithms_decode_aper; +per_type_encoder_f NRencryptionAlgorithms_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRencryptionAlgorithms_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRencryptionAlgorithms.o b/asn1c_defs/all-defs/NRencryptionAlgorithms.o new file mode 100644 index 0000000000000000000000000000000000000000..295bb25865f0be01ee57591a8b030551ac4fd13f GIT binary patch literal 2960 zcmbVNO>7%g5FTftF->utmP165x(5o0)NH*~B&r}G2j^#lOlp#}ia_dSW3OWu{{-*4 zYB*3(h=dgt^}-z?4n1<`V#E<7P)`R2{e zy!U*2zPK=yN&$})yafY`QGn9$K+g*`4`Yx8XYZfYrQX3(@29Zh>@TF9y?*!2clQpy zKg1Ef?(F`VF76K(@4QHy8?QQ%;`IJ@djHw|V(W*b}WPCcwO1FH<@gBkOt*Xa6Y zs~wtK^_zanoIvn=Wm3$Q+pQq%c=c9jR=s+|uf(&-A@zKYv-Mu;_HlfkKSj!7p)g}k zT;1%p!mjy-HErdl?5?ovPwdN9ZrZXZBOG3m#MH+tkh+ykojo<2zKe@bBmRn<`-
pF7?(QXgWU`;aRi=M@H0{;;V3w-MbL(V^BqEvDRHU~J@K%Doo485 zf`!*;Bx|g7{DxF4rXMHu?23t0?u8m9FAY9-Jg3%skUcu(UqkL8-=>-qPkLrvqGnoaj)QvDyv`uC+j)t~+)IDfAHb;M|?C-ykn6B1DW zHxPd6AFGNO@%1`gkbLToI{3R;wsDem)o)!-NKWd$pG&^(&U}6U@b~jtw^2!|-#xmV zaB!Wdesu3KpK;1ZUmGE~C&9-u;Zel0_~?AP)AZgW1YgU-KO#dJ`uC6FToS)8^Z!!e IlB)Cn2eIo*jsO4v literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.c b/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.c new file mode 100755 index 0000000..7b2e20a --- /dev/null +++ b/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRintegrityProtectionAlgorithms.h" + +int +NRintegrityProtectionAlgorithms_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NRintegrityProtectionAlgorithms_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_NRintegrityProtectionAlgorithms_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRintegrityProtectionAlgorithms = { + "NRintegrityProtectionAlgorithms", + "NRintegrityProtectionAlgorithms", + &asn_OP_BIT_STRING, + asn_DEF_NRintegrityProtectionAlgorithms_tags_1, + sizeof(asn_DEF_NRintegrityProtectionAlgorithms_tags_1) + /sizeof(asn_DEF_NRintegrityProtectionAlgorithms_tags_1[0]), /* 1 */ + asn_DEF_NRintegrityProtectionAlgorithms_tags_1, /* Same as above */ + sizeof(asn_DEF_NRintegrityProtectionAlgorithms_tags_1) + /sizeof(asn_DEF_NRintegrityProtectionAlgorithms_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRintegrityProtectionAlgorithms_constr_1, NRintegrityProtectionAlgorithms_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.h b/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.h new file mode 100755 index 0000000..1288223 --- /dev/null +++ b/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRintegrityProtectionAlgorithms_H_ +#define _NRintegrityProtectionAlgorithms_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* NRintegrityProtectionAlgorithms */ +typedef BIT_STRING_t NRintegrityProtectionAlgorithms_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NRintegrityProtectionAlgorithms_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NRintegrityProtectionAlgorithms; +asn_struct_free_f NRintegrityProtectionAlgorithms_free; +asn_struct_print_f NRintegrityProtectionAlgorithms_print; +asn_constr_check_f NRintegrityProtectionAlgorithms_constraint; +ber_type_decoder_f NRintegrityProtectionAlgorithms_decode_ber; +der_type_encoder_f NRintegrityProtectionAlgorithms_encode_der; +xer_type_decoder_f NRintegrityProtectionAlgorithms_decode_xer; +xer_type_encoder_f NRintegrityProtectionAlgorithms_encode_xer; +per_type_decoder_f NRintegrityProtectionAlgorithms_decode_uper; +per_type_encoder_f NRintegrityProtectionAlgorithms_encode_uper; +per_type_decoder_f NRintegrityProtectionAlgorithms_decode_aper; +per_type_encoder_f NRintegrityProtectionAlgorithms_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRintegrityProtectionAlgorithms_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.o b/asn1c_defs/all-defs/NRintegrityProtectionAlgorithms.o new file mode 100644 index 0000000000000000000000000000000000000000..c8a61564c6c26a5c29e9d23281b804bb0958756a GIT binary patch literal 3040 zcmbVO&2Jl35FcluF->vY7Nkf;>Pk>ZB(lv`k%)qX9Gs7hWKzpXO9hC{#$LxR{;0g` zD&asuAqOiIapBH^KY#-_E_!5h%`Bnt4=aNo`eGY4lO3(oG}tINHE<=)R>#o1d-JG=Yc*WcPb z`0f}be8t)MD_z(dF5G>VVs5_VM26FQ;Pn2n_Y1w>=Z+6aEbaRhD@M z5aCiVYu@%6UEgfALvyo!+i#iU2wtj8h_Q0J6@(oRtC>}=-ta5&sI2hcw7%B5|D@T@ z5OFD=pEbv?ZFE~<*L=;Iwx%ZSuJG)S>=|on+Oj7i9G>IEsSit#+RCOboEc7kfyJj0 ze}TuoBt4(W?hLt^u|meYo*A3VWb>yp>7|hy_;f~A1kUtCMep+z+)rG4BXOq#82FbY z24+eU1D;NTF^j&tBANlpVdBUaQK#UUIFDM%Q1F<5h5;k08`}nm)rfsEO2Rui&$k7B zD(<;(@$nwx(pR+sr&U+j9zM@0{S<45*k|}VtGsVbumQeBopi>26#Rbwi_Cxc7(NU* zP1LpfRx7zWVemtrFZC5I*sRt0G46Q#7bZf#Yd?RN>bWF@(4ACoz?`rB8?lb?&De zuhV6`zJKKV%UXBPNb27a_fPhT`bYPkjF&jgN3V?#{KVi9Pk0nDx_9(=y3_QvM+o-0 Z@y}~7thxB@Oped;zYw2OGDY N; sorted by tag */ + asn_MAP_NRrestrictionin5GS_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NRrestrictionin5GS_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRrestrictionin5GS = { + "NRrestrictionin5GS", + "NRrestrictionin5GS", + &asn_OP_NativeEnumerated, + asn_DEF_NRrestrictionin5GS_tags_1, + sizeof(asn_DEF_NRrestrictionin5GS_tags_1) + /sizeof(asn_DEF_NRrestrictionin5GS_tags_1[0]), /* 1 */ + asn_DEF_NRrestrictionin5GS_tags_1, /* Same as above */ + sizeof(asn_DEF_NRrestrictionin5GS_tags_1) + /sizeof(asn_DEF_NRrestrictionin5GS_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRrestrictionin5GS_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NRrestrictionin5GS_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRrestrictionin5GS.h b/asn1c_defs/all-defs/NRrestrictionin5GS.h new file mode 100755 index 0000000..2f9d470 --- /dev/null +++ b/asn1c_defs/all-defs/NRrestrictionin5GS.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRrestrictionin5GS_H_ +#define _NRrestrictionin5GS_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRrestrictionin5GS { + NRrestrictionin5GS_nRrestrictedin5GS = 0 + /* + * Enumeration is extensible + */ +} e_NRrestrictionin5GS; + +/* NRrestrictionin5GS */ +typedef long NRrestrictionin5GS_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRrestrictionin5GS; +asn_struct_free_f NRrestrictionin5GS_free; +asn_struct_print_f NRrestrictionin5GS_print; +asn_constr_check_f NRrestrictionin5GS_constraint; +ber_type_decoder_f NRrestrictionin5GS_decode_ber; +der_type_encoder_f NRrestrictionin5GS_encode_der; +xer_type_decoder_f NRrestrictionin5GS_decode_xer; +xer_type_encoder_f NRrestrictionin5GS_encode_xer; +per_type_decoder_f NRrestrictionin5GS_decode_uper; +per_type_encoder_f NRrestrictionin5GS_encode_uper; +per_type_decoder_f NRrestrictionin5GS_decode_aper; +per_type_encoder_f NRrestrictionin5GS_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRrestrictionin5GS_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRrestrictionin5GS.o b/asn1c_defs/all-defs/NRrestrictionin5GS.o new file mode 100644 index 0000000000000000000000000000000000000000..6758fcf9a8189e72266887c3bbeb389acc882d38 GIT binary patch literal 2552 zcmbuA&2G~`5XUz)P`=xOgpjzT2SkzRs;-KtKte_(ZH1sjttyVjaaT>Cv8#Af(F-8K zfg_K>fddB)9DC#ecn`!Al$rI6vsrJ&ftBo;`R#vp$Ln$OuJv?vqR|jM8secCMNEZQ zJ~Q$o<3?giTox7{2^{a3hJ(G~#^yj3deBRCFVA|}-L)-|RY>iW#GC1d?z6bDKdVmX z>c~rQ{Rz1Kwa<*3y|%J)zd5(v8D@IeyeF6B!hAS1QTR4omJ3TVyj^lPb1cSvPl-Rr zV~~R2gsK8laXljtK^+1KU4H<{!bqbruL*C;Qd#$?6HX9-I!u1yYThK%5^35dDH{#(Lf^DSm^UCf_!b@M3&i z)Ei!=A}O-?acecMPsTdgE#lB9+O5r4AMPukEX_0cj7YfEUh!#)eUG3UOt>&JSyA0ulW zeBP@R3t1fYb@?IIsc}^IiGC=^XR+#9|6PBElqWAR$l2m0E4{}m0@-N zLJf38;M1& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.c b/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.c new file mode 100755 index 0000000..dcd87da --- /dev/null +++ b/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NRrestrictioninEPSasSecondaryRAT.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_NRrestrictioninEPSasSecondaryRAT_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_NRrestrictioninEPSasSecondaryRAT_value2enum_1[] = { + { 0, 31, "nRrestrictedinEPSasSecondaryRAT" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NRrestrictioninEPSasSecondaryRAT_enum2value_1[] = { + 0 /* nRrestrictedinEPSasSecondaryRAT(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_NRrestrictioninEPSasSecondaryRAT_specs_1 = { + asn_MAP_NRrestrictioninEPSasSecondaryRAT_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NRrestrictioninEPSasSecondaryRAT_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NRrestrictioninEPSasSecondaryRAT = { + "NRrestrictioninEPSasSecondaryRAT", + "NRrestrictioninEPSasSecondaryRAT", + &asn_OP_NativeEnumerated, + asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1, + sizeof(asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1) + /sizeof(asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1[0]), /* 1 */ + asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1, /* Same as above */ + sizeof(asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1) + /sizeof(asn_DEF_NRrestrictioninEPSasSecondaryRAT_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NRrestrictioninEPSasSecondaryRAT_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NRrestrictioninEPSasSecondaryRAT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.h b/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.h new file mode 100755 index 0000000..b0f54de --- /dev/null +++ b/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NRrestrictioninEPSasSecondaryRAT_H_ +#define _NRrestrictioninEPSasSecondaryRAT_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NRrestrictioninEPSasSecondaryRAT { + NRrestrictioninEPSasSecondaryRAT_nRrestrictedinEPSasSecondaryRAT = 0 + /* + * Enumeration is extensible + */ +} e_NRrestrictioninEPSasSecondaryRAT; + +/* NRrestrictioninEPSasSecondaryRAT */ +typedef long NRrestrictioninEPSasSecondaryRAT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NRrestrictioninEPSasSecondaryRAT; +asn_struct_free_f NRrestrictioninEPSasSecondaryRAT_free; +asn_struct_print_f NRrestrictioninEPSasSecondaryRAT_print; +asn_constr_check_f NRrestrictioninEPSasSecondaryRAT_constraint; +ber_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_ber; +der_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_der; +xer_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_xer; +xer_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_xer; +per_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_uper; +per_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_uper; +per_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_aper; +per_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NRrestrictioninEPSasSecondaryRAT_H_ */ +#include diff --git a/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.o b/asn1c_defs/all-defs/NRrestrictioninEPSasSecondaryRAT.o new file mode 100644 index 0000000000000000000000000000000000000000..10e03ef4e603759c3d357e94a8e27ee8c8ecfeb9 GIT binary patch literal 2680 zcmbtVy>1gh5MJki@J~X8M1hfzFcLZ0Q6wUe&_%(Cg&-J*i1M;IuM$Ii7x~r^ZlFj> z!y{1g2ow~QJOBkHB`v%_nAw{-uh(ZBiIwhV=G*VvncbVU-_@V2&6G-lM@c*s!-!EK zKA#!-fpG(IMO+pZJR~^YF%1VU3^!UmmFiw6(w!vk#P#N;OgB}O#BJFdv{qiQD9(AR z{SO+`Ct7!}Zah)wOjMkBQi$u%z%wn+4R?X{)z$mu%GORl*8TE5f61>d)cPi>y{#?# z)g`}nC&OLkNQ`+;iQmT~AO+rpsytKixWW_OI0%Rb8H$D{PLIL204a&t9A_nd=#rJU zNsRXfKb!OIbN8%uasoJ>81fna0!|6=DgoEX{xSG$z5}iYr#*3jSfj=h=SKmEDsa&A z)_(Vh@f`5EF}4t$3AmVcA^b?lG!7rt*TQMkP|MvktQmf@-U{{LKus6H-Gd8Bvd!k| zbVYigBF^)4r8!-2DEIqnQN{f(r8$ub`HMzMs*{|7+59u8N$Sp_s>2ehC$(xDd{@N^ zetN<<3A0_xPOL{i7TzDbi@CF0oWC*R^VSmFXNcQf!+q@H0cjDpZ(GB{uab{un|$OK zbt~iC_jdhQ5BGaut%LjJ`h=ejx?1jl)xFH_v8UA=E&R6BQusS*D*Rr80Wxd;GK6Yh znrZZS)`3Ce?_5$Q(BoOS|6jp`b&+e2n-Cyo ze-oS!@CBopnfzVOz0A1{2G8Ere{gsly7}+I1Y(O!Aj^9051zKaGhzWeMfLv#9LHW} z@^?A+GUovp?3Ex3^LK?V$5%owf<=h)bN@dE4D;iEp*E70FlO_<7l8#_q`7B@ s>--@7H?o%in}f%#{~Ta$?*Sw}5_sg);e_Tltw>*`3w4BxS;N);1-OL<+W-In literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.c b/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.c new file mode 100755 index 0000000..0ae87ff --- /dev/null +++ b/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NSSS-NumOccasionDifferentPrecoder.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_NSSS_NumOccasionDifferentPrecoder_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_NSSS_NumOccasionDifferentPrecoder_value2enum_1[] = { + { 0, 3, "two" }, + { 1, 4, "four" }, + { 2, 5, "eight" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NSSS_NumOccasionDifferentPrecoder_enum2value_1[] = { + 2, /* eight(2) */ + 1, /* four(1) */ + 0 /* two(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_NSSS_NumOccasionDifferentPrecoder_specs_1 = { + asn_MAP_NSSS_NumOccasionDifferentPrecoder_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NSSS_NumOccasionDifferentPrecoder_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NSSS_NumOccasionDifferentPrecoder = { + "NSSS-NumOccasionDifferentPrecoder", + "NSSS-NumOccasionDifferentPrecoder", + &asn_OP_NativeEnumerated, + asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1, + sizeof(asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1) + /sizeof(asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1[0]), /* 1 */ + asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1, /* Same as above */ + sizeof(asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1) + /sizeof(asn_DEF_NSSS_NumOccasionDifferentPrecoder_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NSSS_NumOccasionDifferentPrecoder_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NSSS_NumOccasionDifferentPrecoder_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.h b/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.h new file mode 100755 index 0000000..b7359eb --- /dev/null +++ b/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NSSS_NumOccasionDifferentPrecoder_H_ +#define _NSSS_NumOccasionDifferentPrecoder_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NSSS_NumOccasionDifferentPrecoder { + NSSS_NumOccasionDifferentPrecoder_two = 0, + NSSS_NumOccasionDifferentPrecoder_four = 1, + NSSS_NumOccasionDifferentPrecoder_eight = 2 + /* + * Enumeration is extensible + */ +} e_NSSS_NumOccasionDifferentPrecoder; + +/* NSSS-NumOccasionDifferentPrecoder */ +typedef long NSSS_NumOccasionDifferentPrecoder_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NSSS_NumOccasionDifferentPrecoder; +asn_struct_free_f NSSS_NumOccasionDifferentPrecoder_free; +asn_struct_print_f NSSS_NumOccasionDifferentPrecoder_print; +asn_constr_check_f NSSS_NumOccasionDifferentPrecoder_constraint; +ber_type_decoder_f NSSS_NumOccasionDifferentPrecoder_decode_ber; +der_type_encoder_f NSSS_NumOccasionDifferentPrecoder_encode_der; +xer_type_decoder_f NSSS_NumOccasionDifferentPrecoder_decode_xer; +xer_type_encoder_f NSSS_NumOccasionDifferentPrecoder_encode_xer; +per_type_decoder_f NSSS_NumOccasionDifferentPrecoder_decode_uper; +per_type_encoder_f NSSS_NumOccasionDifferentPrecoder_encode_uper; +per_type_decoder_f NSSS_NumOccasionDifferentPrecoder_decode_aper; +per_type_encoder_f NSSS_NumOccasionDifferentPrecoder_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NSSS_NumOccasionDifferentPrecoder_H_ */ +#include diff --git a/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.o b/asn1c_defs/all-defs/NSSS-NumOccasionDifferentPrecoder.o new file mode 100644 index 0000000000000000000000000000000000000000..22057f578a12f9b06f017b4e26d94fbaa46832fb GIT binary patch literal 2888 zcmbtVPfrt35TCLr_!m$QCSIzEu_m&ighZl=Spx-P6dD@TTV0k1tB3N{1R^DP1i2?Dz|u%= zd)oA19LC@*+C%(kn12WpIb;#PpI&Y>8k5W2&PovYNjnPX+nbvzR$*F?RS<2cxF5M7 zX1|N=7f=eJ3ZwL1{c1QEA3i0AOC3|hGevq(EmLH!XG{?7^lb#2Q8xzF-fE=)i*s`i z%9XYCZkTq<_uUzHYO>nZUiDpd)}5Mht9LWpDrC8|j$!z7Xu;ZbPMCzFPed=n0sAep z97j*ADBpfdfZLc>g8VSbe4cAurUOvta$ht)${v91BLR+4=O{trdA{HWXp~?SJO-9n z|JC>iMl!j`nv?_Q4KFtxFtbejLhi8T;s#7WK8F_LFA*Q_$p+Xt0f$pBmK%Vdgw6Td zLX&cv{VriM^|z8{RTJv9)n>ZCqXu9FQJADL^BVQJ0Vv6i3Z&Ds$MpdiyZ&}pO{=im z;YNeeh%l|WOdDtrdIBrBEI)1Usv6c%v7f39jc=(?#qFROM$PQa{dR~~^O(^6%6Auz z&XJAFUK4)BsBoQa!p+lGIRWT zBx=FPakrzuKZEQnmxM7qkcX4@bGD-d5jjZcG^$q0H4Cw#V6wh=Fn{rLL zi4I}ro>JVS9~7B?<^hz&V0{NQ?Ul{{YUPP*_rHe$!losGweW9QxSR{A<6)d^yZ-@V zByvtNuXp_qF+gX>lLXd#e7O$Tzl53~=`Z)^31ZZL2p>}_yufQFh_>(ret|~O`aR}< zl0?>J%U?ymX#KN%Aoe())=#~qzpVc?V${l>{}1jzhA~qZ)*Qn3@gZ!A97BF`BJHm! zHvc0A1vB#;d!QV&bIC7C9cAzr6X@G9fsg(E^nI|;4npvo!OvDh%hffD_}_W{->8@& GHvb>E83^S7 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NULL.c b/asn1c_defs/all-defs/NULL.c new file mode 100755 index 0000000..8c4246b --- /dev/null +++ b/asn1c_defs/all-defs/NULL.c @@ -0,0 +1,299 @@ +/*- + * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include /* Implemented in terms of BOOLEAN type */ + +/* + * NULL basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NULL_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_operation_t asn_OP_NULL = { + BOOLEAN_free, + NULL_print, + NULL_compare, + BOOLEAN_decode_ber, /* Implemented in terms of BOOLEAN */ + NULL_encode_der, /* Special handling of DER encoding */ + NULL_decode_xer, + NULL_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + NULL_decode_oer, + NULL_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + NULL_decode_uper, /* Unaligned PER decoder */ + NULL_encode_uper, /* Unaligned PER encoder */ + NULL_decode_aper, /* Aligned PER decoder */ + NULL_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + NULL_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NULL = { + "NULL", + "NULL", + &asn_OP_NULL, + asn_DEF_NULL_tags, + sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), + asn_DEF_NULL_tags, /* Same as above */ + sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +asn_enc_rval_t +NULL_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, + ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + + erval.encoded = der_write_tags(td, 0, tag_mode, 0, tag, cb, app_key); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = ptr; + } + + ASN__ENCODED_OK(erval); +} + +asn_enc_rval_t +NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)sptr; + (void)ilevel; + (void)flags; + (void)cb; + (void)app_key; + + /* XMLNullValue is empty */ + er.encoded = 0; + ASN__ENCODED_OK(er); +} + + +static enum xer_pbd_rval +NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + (void)td; + (void)sptr; + (void)chunk_buf; /* Going to be empty according to the rules below. */ + + /* + * There must be no content in self-terminating tag. + */ + if(chunk_size) + return XPBD_BROKEN_ENCODING; + else + return XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(NULL_t), opt_mname, buf_ptr, size, + NULL__xer_body_decode); +} + +int +NULL_compare(const asn_TYPE_descriptor_t *td, const void *a, const void *b) { + (void)td; + (void)a; + (void)b; + return 0; +} + +int +NULL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(sptr) { + return (cb("", 9, app_key) < 0) ? -1 : 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} + +#ifndef ASN_DISABLE_OER_SUPPORT + +asn_dec_rval_t +NULL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + asn_dec_rval_t rv = {RC_OK, 0}; + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)ptr; + (void)size; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + return rv; +} + +asn_enc_rval_t +NULL_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)sptr; + (void)constraints; + (void)cb; + (void)app_key; + + er.encoded = 0; /* Encoding in 0 bytes. */ + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_OER_SUPPORT */ + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +NULL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)pd; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + /* + * NULL type does not have content octets. + */ + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + +asn_enc_rval_t +NULL_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)constraints; + (void)sptr; + (void)po; + + er.encoded = 0; + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +NULL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)pd; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + /* + * NULL type does not have content octets. + */ + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + + +asn_enc_rval_t +NULL_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)constraints; + (void)sptr; + (void)po; + + er.encoded = 0; + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +asn_random_fill_result_t +NULL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + NULL_t *st = *sptr; + + (void)td; + (void)constr; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (NULL_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(st == NULL) { + return result_failed; + } + } + + return result_ok; +} + diff --git a/asn1c_defs/all-defs/NULL.h b/asn1c_defs/all-defs/NULL.h new file mode 100755 index 0000000..3076449 --- /dev/null +++ b/asn1c_defs/all-defs/NULL.h @@ -0,0 +1,45 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_TYPE_NULL_H +#define ASN_TYPE_NULL_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The value of the NULL type is meaningless: see BOOLEAN if you want to + * carry true/false semantics. + */ +typedef int NULL_t; + +extern asn_TYPE_descriptor_t asn_DEF_NULL; +extern asn_TYPE_operation_t asn_OP_NULL; + +asn_struct_print_f NULL_print; +asn_struct_compare_f NULL_compare; +der_type_encoder_f NULL_encode_der; +xer_type_decoder_f NULL_decode_xer; +xer_type_encoder_f NULL_encode_xer; +oer_type_decoder_f NULL_decode_oer; +oer_type_encoder_f NULL_encode_oer; +per_type_decoder_f NULL_decode_uper; +per_type_encoder_f NULL_encode_uper; +per_type_decoder_f NULL_decode_aper; +per_type_encoder_f NULL_encode_aper; +asn_random_fill_f NULL_random_fill; + +#define NULL_free BOOLEAN_free +#define NULL_decode_ber BOOLEAN_decode_ber +#define NULL_constraint asn_generic_no_constraint + +#ifdef __cplusplus +} +#endif + +#endif /* NULL_H */ diff --git a/asn1c_defs/all-defs/NULL.o b/asn1c_defs/all-defs/NULL.o new file mode 100644 index 0000000000000000000000000000000000000000..9e353503f15e6c7055df4a2c09ee2393b31a0e87 GIT binary patch literal 4392 zcmd5=O>9(E6u#2|8TpwO@TUmcQHiMuy!082NU)iUoQYG3z2PHHi!T2!;Ls`sq({bPK8^=qs8r+Lk){%+p2D!;_)-qzMzI&!|p zuUCy)^F6xc5vzLR=&{Q~(}Db_SDvib>xkUnb>Qvl#W$;0zgj`@evZnO)=)o{*Oj;0 zT+n?||NR%>Y*oMU{i~O(YIL><(A0t#n}=C)*TeN)%Gjb_cNbgJ{1 zs~5jR1(V8Ln1y<|{{om*y)*Zqsi_(j@z$9&9dS(i&(b35D5I+c)<+AortYSzm%J@= zk0aITH|VMA-&&O`v5WWGxUV_P>S5dT-|XM+v65SM3tp$%?PPsn-{Eu`*&m(4XDO^d zdZz!E=M!kBucv2MqWy4oyx@%|UNd$W9ox-ut(hO0JB^MVhWWCOEA3Aqkq-~5$V5wI z^V(IhX&MI3?H1%B+Uzrpb+9b29sKAxYKk%kc7$b#-Aei>V>`gR;w_b?{qfd4@x;4$ zwsggD6j1XF>_ji(@fIwt-SNaBZEq#$OW;Ji@Hl`x!`gJ=*XFQz}Y-jVMZ) z!h{($QJw@FWFMeL)k;Q}vZ#7&DL~qD^ob~B^C?&<8oY^M~YZhe@I<)X` zKd&<0C{tA7qF74U;|+ni$sX)w+^>V)e0qoRBQ1u1 zKHKCQXS~L^%%_d?^?`GOd4aYuKB+Z-UJ!Q@-e|oCm%;62aD}Ve$Z2NV6K=`Q76(t- zgKn-k=qjgNu=k{TZ8+JUbG)pKbWaB!rXS%J;DOs_oXx4 zU1>Yh+uNTyWFPA4PN!@|7W;$Ji0AsnbXmU@T>|Z~I#wFVk9Z>|xD=zhRNfgKE%J&O zcNSYHIfcPu-X0nm9aXu2Bjqc2OWM{k!2#%LWcKS}X!*EXa7!aOyHK=q#X{LDImpqS z$)rn=84DBljd2p5lKf^fA z@7e%SO&g{Ww4tp1Amrfuv;txe}-kS1k2c8xuXEdy()MDAd%%W?F(B6>+gl|BQy^E2Dfe?>SlGUdiXfB9+`x z$MD<&Ppinz%8~GsTzl}F37CB#`PmrX(^eHx}FFZvC$l>})?*E-fEdczGYicQ?mlzCn_83m+h($U(p1@IcrY z_8sT=aQ_mI-x)!Y^$Ui3qS5?j_$R5n&zK(|iI;sv`fzQ6)C>>G;&sFc!@V1h$2K)u f>Mi}h2c=4({zIz1n;XTS#g``0DW5Gq!|{IsVe!h` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NativeEnumerated.c b/asn1c_defs/all-defs/NativeEnumerated.c new file mode 100755 index 0000000..0e23578 --- /dev/null +++ b/asn1c_defs/all-defs/NativeEnumerated.c @@ -0,0 +1,367 @@ +/*- + * Copyright (c) 2004, 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Read the NativeInteger.h for the explanation wrt. differences between + * INTEGER and NativeInteger. + * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this + * implementation deals with the standard (machine-specific) representation + * of them instead of using the platform-independent buffer. + */ +#include +#include + +/* + * NativeEnumerated basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_operation_t asn_OP_NativeEnumerated = { + NativeInteger_free, + NativeInteger_print, + NativeInteger_compare, + NativeInteger_decode_ber, + NativeInteger_encode_der, + NativeInteger_decode_xer, + NativeEnumerated_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + NativeEnumerated_decode_oer, + NativeEnumerated_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + NativeEnumerated_decode_uper, + NativeEnumerated_encode_uper, + NativeEnumerated_decode_aper, + NativeEnumerated_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + NativeEnumerated_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = { + "ENUMERATED", /* The ASN.1 type is still ENUMERATED */ + "ENUMERATED", + &asn_OP_NativeEnumerated, + asn_DEF_NativeEnumerated_tags, + sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), + asn_DEF_NativeEnumerated_tags, /* Same as above */ + sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +asn_enc_rval_t +NativeEnumerated_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const long *native = (const long *)sptr; + const asn_INTEGER_enum_map_t *el; + + (void)ilevel; + (void)flags; + + if(!native) ASN__ENCODE_FAILED; + + el = INTEGER_map_value2enum(specs, *native); + if(el) { + er.encoded = + asn__format_to_callback(cb, app_key, "<%s/>", el->enum_name); + if(er.encoded < 0) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } else { + ASN_DEBUG( + "ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + ASN__ENCODE_FAILED; + } +} + +asn_dec_rval_t +NativeEnumerated_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + long *native = (long *)*sptr; + const asn_per_constraint_t *ct; + long value; + + (void)opt_codec_ctx; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__DECODE_FAILED; /* Mandatory! */ + if(!specs) ASN__DECODE_FAILED; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); + + if(ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + if(value >= (specs->extension + ? specs->extension - 1 : specs->map_count)) + ASN__DECODE_FAILED; + } else { + if(!specs->extension) + ASN__DECODE_FAILED; + /* + * X.691, #10.6: normally small non-negative whole number; + */ + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->extension - 1; + if(value >= specs->map_count) + ASN__DECODE_FAILED; + } + + *native = specs->value2enum[value].nat_value; + ASN_DEBUG("Decoded %s = %ld", td->name, *native); + + return rval; +} + +static int +NativeEnumerated__compar_value2enum(const void *ap, const void *bp) { + const asn_INTEGER_enum_map_t *a = ap; + const asn_INTEGER_enum_map_t *b = bp; + if(a->nat_value == b->nat_value) + return 0; + if(a->nat_value < b->nat_value) + return -1; + return 1; +} + +asn_enc_rval_t +NativeEnumerated_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native, value; + const asn_per_constraint_t *ct; + int inext = 0; + asn_INTEGER_enum_map_t key; + const asn_INTEGER_enum_map_t *kf; + + if(!sptr) ASN__ENCODE_FAILED; + if(!specs) ASN__ENCODE_FAILED; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__ENCODE_FAILED; /* Mandatory! */ + + ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); + + er.encoded = 0; + + native = *(const long *)sptr; + + key.nat_value = native; + kf = bsearch(&key, specs->value2enum, specs->map_count, + sizeof(key), NativeEnumerated__compar_value2enum); + if(!kf) { + ASN_DEBUG("No element corresponds to %ld", native); + ASN__ENCODE_FAILED; + } + value = kf - specs->value2enum; + + if(ct->range_bits >= 0) { + int cmpWith = specs->extension + ? specs->extension - 1 : specs->map_count; + if(value >= cmpWith) + inext = 1; + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, value, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(!specs->extension) + ASN__ENCODE_FAILED; + + /* + * X.691, #10.6: normally small non-negative whole number; + */ + ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", + value, specs->extension, inext, + value - (inext ? (specs->extension - 1) : 0)); + if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +NativeEnumerated_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + long *native = (long *)*sptr; + const asn_per_constraint_t *ct; + long value; + + (void)opt_codec_ctx; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__DECODE_FAILED; /* Mandatory! */ + if(!specs) ASN__DECODE_FAILED; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); + + if(ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + /* Deal with APER padding */ + if(ct && ct->upper_bound >= 255) { + int padding = 0; + padding = (8 - (pd->moved % 8)) % 8; + ASN_DEBUG("For NativeEnumerated %s,offset= %lu Padding bits = %d", td->name, pd->moved, padding); + ASN_DEBUG("For NativeEnumerated %s, upper bound = %lu", td->name, ct->upper_bound); + if(padding > 0) + per_get_few_bits(pd, padding); + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + if(value >= (specs->extension + ? specs->extension - 1 : specs->map_count)) + ASN__DECODE_FAILED; + } else { + if(!specs->extension) + ASN__DECODE_FAILED; + /* + * X.691, #10.6: normally small non-negative whole number; + */ + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->extension - 1; + if(value >= specs->map_count) + ASN__DECODE_FAILED; + } + + *native = specs->value2enum[value].nat_value; + ASN_DEBUG("Decoded %s = %ld", td->name, *native); + + return rval; +} + +asn_enc_rval_t +NativeEnumerated_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native, value; + const asn_per_constraint_t *ct; + int inext = 0; + asn_INTEGER_enum_map_t key; + asn_INTEGER_enum_map_t *kf; + + if(!sptr) ASN__ENCODE_FAILED; + if(!specs) ASN__ENCODE_FAILED; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__ENCODE_FAILED; /* Mandatory! */ + + ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); + + er.encoded = 0; + + native = *(const long *)sptr; + if(native < 0) ASN__ENCODE_FAILED; + + key.nat_value = native; + kf = bsearch(&key, specs->value2enum, specs->map_count, + sizeof(key), NativeEnumerated__compar_value2enum); + if(!kf) { + ASN_DEBUG("No element corresponds to %ld", native); + ASN__ENCODE_FAILED; + } + value = kf - specs->value2enum; + + if(ct->range_bits >= 0) { + int cmpWith = specs->extension + ? specs->extension - 1 : specs->map_count; + if(value >= cmpWith) + inext = 1; + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, value, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(!specs->extension) + ASN__ENCODE_FAILED; + + /* + * X.691, #10.6: normally small non-negative whole number; + */ + ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", + value, specs->extension, inext, + value - (inext ? (specs->extension - 1) : 0)); + if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/asn1c_defs/all-defs/NativeEnumerated.h b/asn1c_defs/all-defs/NativeEnumerated.h new file mode 100755 index 0000000..d1de01b --- /dev/null +++ b/asn1c_defs/all-defs/NativeEnumerated.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * This type differs from the standard ENUMERATED in that it is modelled using + * the fixed machine type (long, int, short), so it can hold only values of + * limited length. There is no type (i.e., NativeEnumerated_t, any integer type + * will do). + * This type may be used when integer range is limited by subtype constraints. + */ +#ifndef _NativeEnumerated_H_ +#define _NativeEnumerated_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern asn_TYPE_descriptor_t asn_DEF_NativeEnumerated; +extern asn_TYPE_operation_t asn_OP_NativeEnumerated; + +xer_type_encoder_f NativeEnumerated_encode_xer; +oer_type_decoder_f NativeEnumerated_decode_oer; +oer_type_encoder_f NativeEnumerated_encode_oer; +per_type_decoder_f NativeEnumerated_decode_uper; +per_type_encoder_f NativeEnumerated_encode_uper; +per_type_decoder_f NativeEnumerated_decode_aper; +per_type_encoder_f NativeEnumerated_encode_aper; + +#define NativeEnumerated_free NativeInteger_free +#define NativeEnumerated_print NativeInteger_print +#define NativeEnumerated_compare NativeInteger_compare +#define NativeEnumerated_random_fill NativeInteger_random_fill +#define NativeEnumerated_constraint asn_generic_no_constraint +#define NativeEnumerated_decode_ber NativeInteger_decode_ber +#define NativeEnumerated_encode_der NativeInteger_encode_der +#define NativeEnumerated_decode_xer NativeInteger_decode_xer + +#ifdef __cplusplus +} +#endif + +#endif /* _NativeEnumerated_H_ */ diff --git a/asn1c_defs/all-defs/NativeEnumerated.o b/asn1c_defs/all-defs/NativeEnumerated.o new file mode 100644 index 0000000000000000000000000000000000000000..cbadc2cc46e0fd6ce2055dd0cb2313717c9c593f GIT binary patch literal 6608 zcmdT|e{3699Y4qE8k*wEO17oyXbtm5Ix#OUmD+CA&9PvtMhyB^S-~o-}mm)W8r9PmCL0Faw!ifODlmY%EjB3=0R&3RO%E}(YmzG zi20AMJ9vMbHvT^Q$~mtSRE@Ez9v?*v<0T3=DT7$ zcQ-TLY`Ue!VmB{iT4zniU#$7cquPG$(HGQBK_zM?Ynb_19U~6+B8bTh3Y%VSfzxfa zG}z2c%`%>lqV)OIO%tTu@*mERztaHEqlLb1b>ioMWBI=@^LIvLw6Hm9z7)&}VlVoxghM9<31d)#qPP^WVb;3^e?#3X{N0$=NY16(%A)jTERSz6(ezbV6`O zofyYr{B0LY&afR9jy@MD)caVmI*8{&V1^Zxh#9sN2c}9omFKBALTP>~*P-S!2zdSg zekebzus4WE)cga4>iFqXHz8sn0xxnKw89ZzeR1C+S$18FBs+a|^M@=2b|7S<6o@VV zJk{lww(+R1#;zJNfPzm&%$JzyQuDLdVe&ovOx_^B#wgEiP|EE_D5l(M?CXacuEWw% zPa)gz!R+{3tJVA^tnHldF6I1Nz{=&^nIHAUGvLflFZ@v5G=|wyent@Q!gG_Qyx8>_ z1q-i_(XmvUr*5V;wti7>!XLNmFCRW%OGhdyI?3fvO zFjA~u$1csW;?`iKxb=PZ;6`KL=$Fy7880jDtYVkm#nv&gwR7}dW?sW?`p9b9O^(Uwt8BULfY;F4w|S)W4McYOPT1i*BA}zq;;bzj)?po0$5e z+3_pY=KBGaa_>iurD9)4o5qM zh1_Xi=Ip|2ga@ud)UwRXibfAuMv>_JOz!;r3|4TS--qSkI_FTm-P?3LI3;} zh0zMsKd2w()I3kVhY8+Nr$qifs&YLjhp50_%qv$ezYW_JyY60WF5Q>n{dLp*cNo>1 zf88!2?sufDNx zcIVxh`yW!m?On0(Zmly6Egzrg49VnN%X|M%^G0&Et)=AwZ(~TeGYO8u3Ty3>b*^TE7JVeYLLR-oI{dm5^bw@u^ z_czPxe!GHhsIEw4vRe5&y$M&4yX+UdqPX#|9J!&X9J!TMwIARDV}nAUao+@UIBj-IO+FNPl2qnfsy_SA^Z$4rPa^C?m$D7vrFG}UZDBK!%ZpDqnfsEphwluAfitDN5P_G`(>1ie27VT)( zqVbN_);;0Qc&FAJ4ab#8duO;UygNRa7>V zLb!!W(w6E<3A7yV*tH_DJfM`G?oY;3$ih%6W26)PDT8|%Ng4V9gxHtXbq6$@Udfgm z8XQifot!*_J*C)%RvvioiVZG7MYZD<66r*$cW5x)*FP}8&%<4OqGQ74Uj~&k(;}YH=@&7==Wj*u!mE_d3el>(agv)w2}r{RQz zZumzg5C7O8D&(ep$k$|8i8WNceh* ze@?>186?QdacXPc+7@!eflu-E6$dWfyCEtFNazvo-7^kcyhjy(=Fp&#=)q{D?eU

E3$uKO|u zy(esb{UEN!#Gr2b`oH{oAxxo({ua7|d~#=vK8u3>z(>Z5e}(6bdW5Dz zoj4cwaGYNwTpHimg0Y0y6Rxg=ei1Wb{iN~%$dXR`dlM5*!oJ+Yv?c6|G0ZWi{W0$U zHLgz#UNPZg5M#OgHPYn^I>!xB{-{PGEh2v%z=%cec`TJ2|3oI;GC9}#uu1YwG85)U zxIE=oCK0z7yRj+eGT+&ipXk=MlQ+xdo&F1X@m>?UMf_qtj7hotUFLs4=QtzfkKV^Z zUgVGbaoQ%4GyG4IZeCaqFw)_ar!bwh2V{Q~U}$zIcg9csRZe~vzYOWWIAwCm{}-J{ BU-JL} literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NativeInteger.c b/asn1c_defs/all-defs/NativeInteger.c new file mode 100755 index 0000000..ea2e1d3 --- /dev/null +++ b/asn1c_defs/all-defs/NativeInteger.c @@ -0,0 +1,550 @@ +/*- + * Copyright (c) 2004, 2005, 2006 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Read the NativeInteger.h for the explanation wrt. differences between + * INTEGER and NativeInteger. + * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this + * implementation deals with the standard (machine-specific) representation + * of them instead of using the platform-independent buffer. + */ +#include +#include + +/* + * NativeInteger basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NativeInteger_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_operation_t asn_OP_NativeInteger = { + NativeInteger_free, + NativeInteger_print, + NativeInteger_compare, + NativeInteger_decode_ber, + NativeInteger_encode_der, + NativeInteger_decode_xer, + NativeInteger_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + NativeInteger_decode_oer, /* OER decoder */ + NativeInteger_encode_oer, /* Canonical OER encoder */ +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + NativeInteger_decode_uper, /* Unaligned PER decoder */ + NativeInteger_encode_uper, /* Unaligned PER encoder */ + NativeInteger_decode_aper, /* Aligned PER decoder */ + NativeInteger_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + NativeInteger_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NativeInteger = { + "INTEGER", /* The ASN.1 type is still INTEGER */ + "INTEGER", + &asn_OP_NativeInteger, + asn_DEF_NativeInteger_tags, + sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), + asn_DEF_NativeInteger_tags, /* Same as above */ + sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +/* + * Decode INTEGER type. + */ +asn_dec_rval_t +NativeInteger_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **nint_ptr, + const void *buf_ptr, size_t size, int tag_mode) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + long *native = (long *)*nint_ptr; + asn_dec_rval_t rval; + ber_tlv_len_t length; + + /* + * If the structure is not there, allocate it. + */ + if(native == NULL) { + native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); + if(native == NULL) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + } + + ASN_DEBUG("Decoding %s as INTEGER (tm=%d)", + td->name, tag_mode); + + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("%s length is %d bytes", td->name, (int)length); + + /* + * Make sure we have this length. + */ + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + /* + * ASN.1 encoded INTEGER: buf_ptr, length + * Fill the native, at the same time checking for overflow. + * If overflow occured, return with RC_FAIL. + */ + { + INTEGER_t tmp; + union { + const void *constbuf; + void *nonconstbuf; + } unconst_buf; + long l; + + unconst_buf.constbuf = buf_ptr; + tmp.buf = (uint8_t *)unconst_buf.nonconstbuf; + tmp.size = length; + + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmp, (unsigned long *)&l) /* sic */ + : asn_INTEGER2long(&tmp, &l)) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + + *native = l; + } + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s (%ld)", + (long)rval.consumed, (long)length, td->name, (long)*native); + + return rval; +} + +/* + * Encode the NativeInteger using the standard INTEGER type DER encoder. + */ +asn_enc_rval_t +NativeInteger_encode_der(const asn_TYPE_descriptor_t *sd, const void *ptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + unsigned long native = *(const unsigned long *)ptr; /* Disable sign ext. */ + asn_enc_rval_t erval = {0,0,0}; + INTEGER_t tmp; + +#ifdef WORDS_BIGENDIAN /* Opportunistic optimization */ + + tmp.buf = (uint8_t *)&native; + tmp.size = sizeof(native); + +#else /* Works even if WORDS_BIGENDIAN is not set where should've been */ + uint8_t buf[sizeof(native)]; + uint8_t *p; + + /* Prepare a fake INTEGER */ + for(p = buf + sizeof(buf) - 1; p >= buf; p--, native >>= 8) + *p = (uint8_t)native; + + tmp.buf = buf; + tmp.size = sizeof(buf); +#endif /* WORDS_BIGENDIAN */ + + /* Encode fake INTEGER */ + erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key); + if(erval.structure_ptr == &tmp) { + erval.structure_ptr = ptr; + } + return erval; +} + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +asn_dec_rval_t +NativeInteger_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + INTEGER_t st; + void *st_ptr = (void *)&st; + long *native = (long *)*sptr; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&st, 0, sizeof(st)); + rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr, + opt_mname, buf_ptr, size); + if(rval.code == RC_OK) { + long l; + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&st, (unsigned long *)&l) /* sic */ + : asn_INTEGER2long(&st, &l)) { + rval.code = RC_FAIL; + rval.consumed = 0; + } else { + *native = l; + } + } else { + /* + * Cannot restart from the middle; + * there is no place to save state in the native type. + * Request a continuation from the very beginning. + */ + rval.consumed = 0; + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &st); + return rval; +} + + +asn_enc_rval_t +NativeInteger_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + char scratch[32]; /* Enough for 64-bit int */ + asn_enc_rval_t er = {0,0,0}; + const long *native = (const long *)sptr; + + (void)ilevel; + (void)flags; + + if(!native) ASN__ENCODE_FAILED; + + er.encoded = snprintf(scratch, sizeof(scratch), + (specs && specs->field_unsigned) + ? "%lu" : "%ld", *native); + if(er.encoded <= 0 || (size_t)er.encoded >= sizeof(scratch) + || cb(scratch, er.encoded, app_key) < 0) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +NativeInteger_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + long *native = (long *)*sptr; + INTEGER_t tmpint; + void *tmpintptr = &tmpint; + + (void)opt_codec_ctx; + ASN_DEBUG("Decoding NativeInteger %s (UPER)", td->name); + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&tmpint, 0, sizeof tmpint); + rval = INTEGER_decode_uper(opt_codec_ctx, td, constraints, + &tmpintptr, pd); + if(rval.code == RC_OK) { + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) + : asn_INTEGER2long(&tmpint, native)) + rval.code = RC_FAIL; + else + ASN_DEBUG("NativeInteger %s got value %ld", + td->name, *native); + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + + return rval; +} + +asn_enc_rval_t +NativeInteger_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native; + INTEGER_t tmpint; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + + ASN_DEBUG("Encoding NativeInteger %s %ld (UPER)", td->name, native); + + memset(&tmpint, 0, sizeof(tmpint)); + if((specs&&specs->field_unsigned) + ? asn_ulong2INTEGER(&tmpint, native) + : asn_long2INTEGER(&tmpint, native)) + ASN__ENCODE_FAILED; + er = INTEGER_encode_uper(td, constraints, &tmpint, po); + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return er; +} + +asn_dec_rval_t +NativeInteger_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + long *native = (long *)*sptr; + INTEGER_t tmpint; + void *tmpintptr = &tmpint; + + (void)opt_codec_ctx; + ASN_DEBUG("Decoding NativeInteger %s (APER)", td->name); + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&tmpint, 0, sizeof tmpint); + rval = INTEGER_decode_aper(opt_codec_ctx, td, constraints, + &tmpintptr, pd); + if(rval.code == RC_OK) { + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) + : asn_INTEGER2long(&tmpint, native)) + rval.code = RC_FAIL; + else + ASN_DEBUG("NativeInteger %s got value %ld", + td->name, *native); + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + + return rval; +} + +asn_enc_rval_t +NativeInteger_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native; + INTEGER_t tmpint; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + + ASN_DEBUG("Encoding NativeInteger %s %ld (APER)", td->name, native); + + memset(&tmpint, 0, sizeof(tmpint)); + if((specs&&specs->field_unsigned) + ? asn_ulong2INTEGER(&tmpint, (unsigned long)native) + : asn_long2INTEGER(&tmpint, native)) + ASN__ENCODE_FAILED; + er = INTEGER_encode_aper(td, constraints, &tmpint, po); + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return er; +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +/* + * INTEGER specific human-readable output. + */ +int +NativeInteger_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + const long *native = (const long *)sptr; + char scratch[32]; /* Enough for 64-bit int */ + int ret; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(native) { + long value = *native; + ret = snprintf(scratch, sizeof(scratch), + (specs && specs->field_unsigned) ? "%lu" : "%ld", value); + assert(ret > 0 && (size_t)ret < sizeof(scratch)); + if(cb(scratch, ret, app_key) < 0) return -1; + if(specs && (value >= 0 || !specs->field_unsigned)) { + const asn_INTEGER_enum_map_t *el = + INTEGER_map_value2enum(specs, value); + if(el) { + if(cb(" (", 2, app_key) < 0) return -1; + if(cb(el->enum_name, el->enum_len, app_key) < 0) return -1; + if(cb(")", 1, app_key) < 0) return -1; + } + } + return 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} + +void +NativeInteger_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(!td || !ptr) + return; + + ASN_DEBUG("Freeing %s as INTEGER (%d, %p, Native)", + td->name, method, ptr); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, sizeof(long)); + break; + } +} + +int +NativeInteger_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { + (void)td; + + if(aptr && bptr) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + if(specs && specs->field_unsigned) { + const unsigned long *a = aptr; + const unsigned long *b = bptr; + if(*a < *b) { + return -1; + } else if(*a > *b) { + return 1; + } else { + return 0; + } + } else { + const long *a = aptr; + const long *b = bptr; + if(*a < *b) { + return -1; + } else if(*a > *b) { + return 1; + } else { + return 0; + } + } + } else if(!aptr) { + return -1; + } else { + return 1; + } +} + +asn_random_fill_result_t +NativeInteger_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + long *st = *sptr; + const asn_INTEGER_enum_map_t *emap; + size_t emap_len; + intmax_t value; + int find_inside_map; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (long *)CALLOC(1, sizeof(*st)); + if(st == NULL) { + return result_failed; + } + } + + if(specs) { + emap = specs->value2enum; + emap_len = specs->map_count; + if(specs->strict_enumeration) { + find_inside_map = emap_len > 0; + } else { + find_inside_map = emap_len ? asn_random_between(0, 1) : 0; + } + } else { + emap = 0; + emap_len = 0; + find_inside_map = 0; + } + + if(find_inside_map) { + assert(emap_len > 0); + value = emap[asn_random_between(0, emap_len - 1)].nat_value; + } else { + const asn_per_constraints_t *ct; + + static const long variants[] = { + -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, + -16383, -257, -256, -255, -254, -129, -128, -127, + -126, -1, 0, 1, 126, 127, 128, 129, + 254, 255, 256, 257, 16383, 16384, 16385, 32767, + 32768, 32769, 65534, 65535, 65536, 65537}; + if(specs && specs->field_unsigned) { + assert(variants[18] == 0); + value = variants[asn_random_between( + 18, sizeof(variants) / sizeof(variants[0]) - 1)]; + } else { + value = variants[asn_random_between( + 0, sizeof(variants) / sizeof(variants[0]) - 1)]; + } + + if(!constraints) constraints = &td->encoding_constraints; + ct = constraints ? constraints->per_constraints : 0; + if(ct && (ct->value.flags & APC_CONSTRAINED)) { + if(value < ct->value.lower_bound || value > ct->value.upper_bound) { + value = asn_random_between(ct->value.lower_bound, + ct->value.upper_bound); + } + } + } + + *sptr = st; + *st = value; + return result_ok; +} diff --git a/asn1c_defs/all-defs/NativeInteger.h b/asn1c_defs/all-defs/NativeInteger.h new file mode 100755 index 0000000..3fe4885 --- /dev/null +++ b/asn1c_defs/all-defs/NativeInteger.h @@ -0,0 +1,46 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * This type differs from the standard INTEGER in that it is modelled using + * the fixed machine type (long, int, short), so it can hold only values of + * limited length. There is no type (i.e., NativeInteger_t, any integer type + * will do). + * This type may be used when integer range is limited by subtype constraints. + */ +#ifndef _NativeInteger_H_ +#define _NativeInteger_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern asn_TYPE_descriptor_t asn_DEF_NativeInteger; +extern asn_TYPE_operation_t asn_OP_NativeInteger; + +asn_struct_free_f NativeInteger_free; +asn_struct_print_f NativeInteger_print; +asn_struct_compare_f NativeInteger_compare; +ber_type_decoder_f NativeInteger_decode_ber; +der_type_encoder_f NativeInteger_encode_der; +xer_type_decoder_f NativeInteger_decode_xer; +xer_type_encoder_f NativeInteger_encode_xer; +oer_type_decoder_f NativeInteger_decode_oer; +oer_type_encoder_f NativeInteger_encode_oer; +per_type_decoder_f NativeInteger_decode_uper; +per_type_encoder_f NativeInteger_encode_uper; +per_type_decoder_f NativeInteger_decode_aper; +per_type_encoder_f NativeInteger_encode_aper; +asn_random_fill_f NativeInteger_random_fill; + +#define NativeInteger_constraint asn_generic_no_constraint + +#ifdef __cplusplus +} +#endif + +#endif /* _NativeInteger_H_ */ diff --git a/asn1c_defs/all-defs/NativeInteger.o b/asn1c_defs/all-defs/NativeInteger.o new file mode 100644 index 0000000000000000000000000000000000000000..d3db681a9ca6c809d7c17619e3351245fc69d3c7 GIT binary patch literal 10936 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 KuVp{h{{IHD5_+Ei literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Neighbour-Information.c b/asn1c_defs/all-defs/Neighbour-Information.c new file mode 100755 index 0000000..a9990ff --- /dev/null +++ b/asn1c_defs/all-defs/Neighbour-Information.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Neighbour-Information.h" + +#include "ProtocolExtensionContainer.h" +asn_per_constraints_t asn_PER_type_Neighbour_Information_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 10, 10, 0, 512 } /* (SIZE(0..512)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information__Member, eCGI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eCGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information__Member, pCI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pCI" + }, + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information__Member, eARFCN), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EARFCN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eARFCN" + }, + { ATF_POINTER, 1, offsetof(struct Neighbour_Information__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P172, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eCGI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pCI */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct Neighbour_Information__Member), + offsetof(struct Neighbour_Information__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 4, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 4, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Neighbour_Information_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Neighbour_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_Neighbour_Information_specs_1 = { + sizeof(struct Neighbour_Information), + offsetof(struct Neighbour_Information, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Neighbour_Information = { + "Neighbour-Information", + "Neighbour-Information", + &asn_OP_SEQUENCE_OF, + asn_DEF_Neighbour_Information_tags_1, + sizeof(asn_DEF_Neighbour_Information_tags_1) + /sizeof(asn_DEF_Neighbour_Information_tags_1[0]), /* 1 */ + asn_DEF_Neighbour_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_Neighbour_Information_tags_1) + /sizeof(asn_DEF_Neighbour_Information_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Neighbour_Information_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_Neighbour_Information_1, + 1, /* Single element */ + &asn_SPC_Neighbour_Information_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Neighbour-Information.h b/asn1c_defs/all-defs/Neighbour-Information.h new file mode 100755 index 0000000..1b1f382 --- /dev/null +++ b/asn1c_defs/all-defs/Neighbour-Information.h @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Neighbour_Information_H_ +#define _Neighbour_Information_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ECGI.h" +#include "PCI.h" +#include "EARFCN.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct Neighbour_Information__Member { + ECGI_t eCGI; + PCI_t pCI; + EARFCN_t eARFCN; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Neighbour_Information__Member; + +/* Neighbour-Information */ +typedef struct Neighbour_Information { + A_SEQUENCE_OF(Neighbour_Information__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Neighbour_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Neighbour_Information; +extern asn_SET_OF_specifics_t asn_SPC_Neighbour_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_Neighbour_Information_1[1]; +extern asn_per_constraints_t asn_PER_type_Neighbour_Information_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _Neighbour_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/Neighbour-Information.o b/asn1c_defs/all-defs/Neighbour-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..b21e73ca8a750769129ab7958bd06e5e1dfe28d6 GIT binary patch literal 4176 zcmcImy>A><5P#(R(%YH&&BxB0_jcdAAAY_t zQ>z)Fnz>~rnxMuUzBrKsD+cCebKW#azC1CNN`Enx8D|K5p2w6Oh7wvycDA;=>E38= zY4BA#>c{y`IxuEE{9+?qX@w?fEiRd1Ysn+R7u@^C+{!t#a8P>@7hLpZ; zM$Mcpa2;7!c;P@o-JH{^m2c6rM)?oevdw(e;%7~Vb;+Mtoa*65cbI=;@pFYg{?nlE zXrN9H3Q=I6#{5Ja_+8c|Kh(N;fzfGJw_o5i_6w;ORez-Z-w3}j?P|3@tp7|=Pn&%% z(LBohX9>Tk`nJjbOBSDeDRNw;6?yJg;NMr^4=eDWEAU?{a8r7K`8^Y7gXoiRAu8;V zI^d!_-pZn8;k2CeyU8e;cLD1*MwdTci>BPx+bsdIVbaSudii!+V2Ykkc8}v}Uz{ro zw1up;BRPko)ddT+!?h^CH%uy~)uTf>AJN3t!#flbjrDkEklSd?p}ZgCR$xly_VEnI zUaG9(p5VR-6AN*5kY#Ao6++~2e3cNjJxcSmm+lt#idH(vsb*S`oAVzu+szyEyeWy% zHc(%KDR!=l%U%cm>Lk3lTLIU9i)-xT;(@|nV;SsIg}<(F`QDJ{4TX1D27XE52MWhu zP;3t>@I!^`d*TlY$GkeMA64Lw6^?(c&=VF=C(cgWaAHp(69IpYMu!IIG5{j5x2!aN zv=xqdd2Aah{B6d-jua06_t^GW;qNeJ8ULDKhW{+vJcYl@7}%!5;oo4J^bmP4-vh?= zI>KMpa+~e&N1r{`_n8YW|9#_U_xgFd&LWbCE=enOwQKS=Y$UtHOk%ksGQHCOfD8P-U8qq78BQ8IirT_FWn zU4tYCtPdUBbM&jEqt9;qBgaov_x;Oq|sV7`fuh)DJ&&R6U+%oQa2@-ve0e&;o&!v)EHL=4EY&&lIU63gm;%JGL2 zS1WmrzD9ak{g3zx(_w$qkJ{b(w+O@g8#FWxk(3DQqY1ts;X@@`13!M`c#T1pIKiR2 vy@Tx`$3J1?ON6~b!>u37bZqSj8}ilkcjtwUN_VUB_zP$l(SdzV9&Y^KXnIE9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NewDRBIDrequest.c b/asn1c_defs/all-defs/NewDRBIDrequest.c new file mode 100755 index 0000000..afb30da --- /dev/null +++ b/asn1c_defs/all-defs/NewDRBIDrequest.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NewDRBIDrequest.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_NewDRBIDrequest_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_NewDRBIDrequest_value2enum_1[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NewDRBIDrequest_enum2value_1[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_NewDRBIDrequest_specs_1 = { + asn_MAP_NewDRBIDrequest_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NewDRBIDrequest_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NewDRBIDrequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NewDRBIDrequest = { + "NewDRBIDrequest", + "NewDRBIDrequest", + &asn_OP_NativeEnumerated, + asn_DEF_NewDRBIDrequest_tags_1, + sizeof(asn_DEF_NewDRBIDrequest_tags_1) + /sizeof(asn_DEF_NewDRBIDrequest_tags_1[0]), /* 1 */ + asn_DEF_NewDRBIDrequest_tags_1, /* Same as above */ + sizeof(asn_DEF_NewDRBIDrequest_tags_1) + /sizeof(asn_DEF_NewDRBIDrequest_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NewDRBIDrequest_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NewDRBIDrequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/NewDRBIDrequest.h b/asn1c_defs/all-defs/NewDRBIDrequest.h new file mode 100755 index 0000000..dd750e3 --- /dev/null +++ b/asn1c_defs/all-defs/NewDRBIDrequest.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NewDRBIDrequest_H_ +#define _NewDRBIDrequest_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NewDRBIDrequest { + NewDRBIDrequest_true = 0 + /* + * Enumeration is extensible + */ +} e_NewDRBIDrequest; + +/* NewDRBIDrequest */ +typedef long NewDRBIDrequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NewDRBIDrequest; +asn_struct_free_f NewDRBIDrequest_free; +asn_struct_print_f NewDRBIDrequest_print; +asn_constr_check_f NewDRBIDrequest_constraint; +ber_type_decoder_f NewDRBIDrequest_decode_ber; +der_type_encoder_f NewDRBIDrequest_encode_der; +xer_type_decoder_f NewDRBIDrequest_decode_xer; +xer_type_encoder_f NewDRBIDrequest_encode_xer; +per_type_decoder_f NewDRBIDrequest_decode_uper; +per_type_encoder_f NewDRBIDrequest_encode_uper; +per_type_decoder_f NewDRBIDrequest_decode_aper; +per_type_encoder_f NewDRBIDrequest_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NewDRBIDrequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/NewDRBIDrequest.o b/asn1c_defs/all-defs/NewDRBIDrequest.o new file mode 100644 index 0000000000000000000000000000000000000000..4f062f3df05766a7b90ae024a0e47ec692de09db GIT binary patch literal 2528 zcmbtV&2G~`5Z=^<@>6IFLPFvaP85l*;;Iq|BxGpQ76c_Ks^DfEchv?Gr`YS#UI2*; z#~!)x792QMoOlM_0$!lZtY@6f#ub$qX+1OFd^0<{o;V+xPnO4OHNjF7_r<_tREYZN zfgKn#5L4o!u;2l~v5rU_xYAuy@0QjdK3YoE+gxQ@=rmWA#1n$obiG(`Z%0l0STg~-Q@9(G)PTWs2of7MLYjK2-?WmZmJblm_iSI_;T+OQ_?@^H| z5{BmulSmcqnm(Vw29fUUswQNpG}3C*;9DwDX(tYoepqxIbrNk~mzh+1ns_2`zHOZE z8u1yc0>5v>?YGCjV;2u77jb*)S1tS!*{EKTjr^*qVVvjB?jQT%xeKg1crHGVklB7u zM{UqLE%Y{9TJ32eHzOSh+0HT{(>^-L^ra83>P9Av7DpWza%8t3M-Y$uy`F;Wmq}kM zxw5t~m+2^eLyi5Xx(4}p7w-Q=a74doBwcs>b?~eDZ_$sK^Ra*Ih5Oa(w6f1j|JC2sy-iDtv@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/NextHopChainingCount.c b/asn1c_defs/all-defs/NextHopChainingCount.c new file mode 100755 index 0000000..7cd62a2 --- /dev/null +++ b/asn1c_defs/all-defs/NextHopChainingCount.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "NextHopChainingCount.h" + +int +NextHopChainingCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_NextHopChainingCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_NextHopChainingCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NextHopChainingCount = { + "NextHopChainingCount", + "NextHopChainingCount", + &asn_OP_NativeInteger, + asn_DEF_NextHopChainingCount_tags_1, + sizeof(asn_DEF_NextHopChainingCount_tags_1) + /sizeof(asn_DEF_NextHopChainingCount_tags_1[0]), /* 1 */ + asn_DEF_NextHopChainingCount_tags_1, /* Same as above */ + sizeof(asn_DEF_NextHopChainingCount_tags_1) + /sizeof(asn_DEF_NextHopChainingCount_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_NextHopChainingCount_constr_1, NextHopChainingCount_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/NextHopChainingCount.h b/asn1c_defs/all-defs/NextHopChainingCount.h new file mode 100755 index 0000000..6430610 --- /dev/null +++ b/asn1c_defs/all-defs/NextHopChainingCount.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _NextHopChainingCount_H_ +#define _NextHopChainingCount_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* NextHopChainingCount */ +typedef long NextHopChainingCount_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_NextHopChainingCount_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_NextHopChainingCount; +asn_struct_free_f NextHopChainingCount_free; +asn_struct_print_f NextHopChainingCount_print; +asn_constr_check_f NextHopChainingCount_constraint; +ber_type_decoder_f NextHopChainingCount_decode_ber; +der_type_encoder_f NextHopChainingCount_encode_der; +xer_type_decoder_f NextHopChainingCount_decode_xer; +xer_type_encoder_f NextHopChainingCount_encode_xer; +per_type_decoder_f NextHopChainingCount_decode_uper; +per_type_encoder_f NextHopChainingCount_encode_uper; +per_type_decoder_f NextHopChainingCount_decode_aper; +per_type_encoder_f NextHopChainingCount_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _NextHopChainingCount_H_ */ +#include diff --git a/asn1c_defs/all-defs/NextHopChainingCount.o b/asn1c_defs/all-defs/NextHopChainingCount.o new file mode 100644 index 0000000000000000000000000000000000000000..32557468fa8558de4d7a170be20c97b1359883f1 GIT binary patch literal 2840 zcmbVO%}*0S6rZw6D_|+;fdr#_K_QW$OGqTdkdpGT#0Cg{#ArfU%0dh6mUOoSJO~Mr z&=`&XfQd){2QMTXj$asGO9>rUCzmkaB*qjv+?wb;Xaxw7MW6^QZlC96=h7XxqDgcl}ti9_8h)xIRO&J{yz zBAp)6yPqz=;;Q-sIzW@XMwMB{Yh#cm2dL5G@>{9J2G+oS-fK;o=7*vV`lRdLpU*Hz;#?9KSTFS3q7HD4)7$L7Y$|#6OCLA zgJBlwuuBZB?o|1X4j3ZjTELROq)B){07WCsvKirGJVzMb7}Q$u$2l%+ zdDKXgY%={3yxXOEvONQA6`nR}y?MqaWDmv!*X7|O7;RGhXM{8Cpu^39OO_oS8_$Nh zv!1o=W(`6!=_J1T@nw)u>e&subV}x&p2<#G9$eB%$FrC13Ik`xX0zVrnjM~rKRx8q z&DVqd26yR?-%?Hu3CAWUa7)5veo4aP5}(6tC-C$Qae&=R(D6RVxYz^4+c_5pJdY@d zpPfn)B!eJ+gK7TDL`q69{!TOP;krC^S5O%nPkz7cJ^R2PJgT z@+?9ZT$j*F84aWxbgnP{cj)t@;`v)(H>xf)qTmbn~k`&p|u`_#Ls&V*l=PTkH93gfv(tY6`Zc&gwce=$!A{9*CKoG`7#i#Rbp;qhwzpEx0} z#OsQU^M}=ckJtY*=VSfxzk|IE60r2GxYPQ{}$l@hV-!oARWfi}ee53zV?>CHaLAb;9~#e-rTn$9&Xp14Ont q_?;)*3K;emH6DAHy7vH)d0zNKG$c{i-v++0c$4S N; sorted by tag */ + asn_MAP_Number_of_Antennaports_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Number_of_Antennaports_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Number_of_Antennaports = { + "Number-of-Antennaports", + "Number-of-Antennaports", + &asn_OP_NativeEnumerated, + asn_DEF_Number_of_Antennaports_tags_1, + sizeof(asn_DEF_Number_of_Antennaports_tags_1) + /sizeof(asn_DEF_Number_of_Antennaports_tags_1[0]), /* 1 */ + asn_DEF_Number_of_Antennaports_tags_1, /* Same as above */ + sizeof(asn_DEF_Number_of_Antennaports_tags_1) + /sizeof(asn_DEF_Number_of_Antennaports_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Number_of_Antennaports_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Number_of_Antennaports_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Number-of-Antennaports.h b/asn1c_defs/all-defs/Number-of-Antennaports.h new file mode 100755 index 0000000..3af3f44 --- /dev/null +++ b/asn1c_defs/all-defs/Number-of-Antennaports.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Number_of_Antennaports_H_ +#define _Number_of_Antennaports_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Number_of_Antennaports { + Number_of_Antennaports_an1 = 0, + Number_of_Antennaports_an2 = 1, + Number_of_Antennaports_an4 = 2 + /* + * Enumeration is extensible + */ +} e_Number_of_Antennaports; + +/* Number-of-Antennaports */ +typedef long Number_of_Antennaports_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Number_of_Antennaports; +asn_struct_free_f Number_of_Antennaports_free; +asn_struct_print_f Number_of_Antennaports_print; +asn_constr_check_f Number_of_Antennaports_constraint; +ber_type_decoder_f Number_of_Antennaports_decode_ber; +der_type_encoder_f Number_of_Antennaports_encode_der; +xer_type_decoder_f Number_of_Antennaports_decode_xer; +xer_type_encoder_f Number_of_Antennaports_encode_xer; +per_type_decoder_f Number_of_Antennaports_decode_uper; +per_type_encoder_f Number_of_Antennaports_encode_uper; +per_type_decoder_f Number_of_Antennaports_decode_aper; +per_type_encoder_f Number_of_Antennaports_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Number_of_Antennaports_H_ */ +#include diff --git a/asn1c_defs/all-defs/Number-of-Antennaports.o b/asn1c_defs/all-defs/Number-of-Antennaports.o new file mode 100644 index 0000000000000000000000000000000000000000..abe76383431afa949fccdef5ec0245460d6fe38a GIT binary patch literal 2688 zcmbtVOKTKC5U$O{XM7|gD0*-u2P3#cW(gP+WkTFUMB@?(9>>{9=b_n|Fw+~7iwa&m zdhiGB(I4YQ@Zc?0^;Tt@o|%AH&{I`kf7Mmp)xGu z!d18e1W)iVFnwpvT6R%sgVXSpsQP6Hfm91EvKm*?EQxPCdJ z8kw_TTEpI-H3c3zlQ{l055?Ic@h&cTT^v@Immf9fHhP0p51J4C1%JL342&0i3>N+Q z1wXhy!tFFAoAOS=ujA4L0$$CoyqeSS%xRQY^2`ZU;b%(VEkqh{?gXc^B?)mfth`+U zQTjLzokK@GQRI-_f9TLI$3*9-^jtB*P`fNqI13d1KRqi(`kapQvYG zyx$$hr?3IjB{slp4Gz^0#!nzF(&$-dB^nW;Y%8)~RHWnWBEm<7tZrvL(ntHMj+$g? zp>rm`=`PptihY&Hny;3+b+m(cZ=l*L9rSt0Q@F%xn*iq4@5pTBHD-V5a-Eu^A8atk$W-n%Jo0S3HnVAg&>+A(~y1oog_%^p}dzDh*ACt9Jb7H zf!A#iZHX87EgDtzhaCS^h^(8Azm9%Y{X?$*koibQ*9G!D1^3y8VBM+k-tK5^=BT=N@P6~D+2>I*Gq Hi5veHB+%jn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/OBJECT_IDENTIFIER.c b/asn1c_defs/all-defs/OBJECT_IDENTIFIER.c new file mode 100755 index 0000000..2889d17 --- /dev/null +++ b/asn1c_defs/all-defs/OBJECT_IDENTIFIER.c @@ -0,0 +1,656 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include +#include /* for CHAR_BIT */ +#include + +/* + * OBJECT IDENTIFIER basic type description. + */ +static const ber_tlv_tag_t asn_DEF_OBJECT_IDENTIFIER_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)) +}; +asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER = { + ASN__PRIMITIVE_TYPE_free, + OBJECT_IDENTIFIER_print, + OCTET_STRING_compare, /* Implemented in terms of a string comparison */ + ber_decode_primitive, + der_encode_primitive, + OBJECT_IDENTIFIER_decode_xer, + OBJECT_IDENTIFIER_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + OBJECT_IDENTIFIER_decode_oer, + OBJECT_IDENTIFIER_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + OBJECT_IDENTIFIER_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = { + "OBJECT IDENTIFIER", + "OBJECT_IDENTIFIER", + &asn_OP_OBJECT_IDENTIFIER, + asn_DEF_OBJECT_IDENTIFIER_tags, + sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) + / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), + asn_DEF_OBJECT_IDENTIFIER_tags, /* Same as above */ + sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) + / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), + { 0, 0, OBJECT_IDENTIFIER_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +int +OBJECT_IDENTIFIER_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, + void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + + if(st && st->buf) { + if(st->size < 1) { + ASN__CTFAIL(app_key, td, sptr, + "%s: at least one numerical value " + "expected (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} + +static ssize_t +OBJECT_IDENTIFIER_get_first_arcs(const uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t *arc0, asn_oid_arc_t *arc1) { + asn_oid_arc_t value; + + ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(arcbuf, arcbuf_len, &value); + if(rd <= 0) return rd; + + if(value >= 80) { + *arc0 = 2; + *arc1 = value - 80; + } else if(value >= 40) { + *arc0 = 1; + *arc1 = value - 40; + } else { + *arc0 = 0; + *arc1 = value; + } + + return rd; +} + +ssize_t +OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t *ret_value) { + const uint8_t *b = arcbuf; + const uint8_t *arcend = arcbuf + arcbuf_len; /* End of arc */ + + if(arcbuf == arcend) { + return 0; + } else { + asn_oid_arc_t accum; + asn_oid_arc_t upper_limit = (ASN_OID_ARC_MAX >> 7); + /* When the value reaches "upper_limit", it can take */ + /* at most one more digit. If it exceeds "upper_limit" */ + /* but there are more digits - it's an Overflow condition */ + /* Gather all bits into the accumulator */ + for(accum = 0; b < arcend; b++) { + accum = (accum << 7) | (*b & ~0x80); + if((*b & 0x80) == 0) { // no more digits + if(accum <= ASN_OID_ARC_MAX) { + *ret_value = accum; + return 1 + (b - arcbuf); + } else { + errno = ERANGE; /* Overflow */ + return -1; + } + } else { // to make sure we aren't wrapping around + if(accum > upper_limit) { + errno = ERANGE; /* Overflow */ + return -1; + } + } + } + errno = EINVAL; + return -1; + } + +} + +static ssize_t +OBJECT_IDENTIFIER__dump_body(const OBJECT_IDENTIFIER_t *st, + asn_app_consume_bytes_f *cb, void *app_key) { + char scratch[32]; + asn_oid_arc_t arc0, arc1; + size_t produced = 0; + size_t off = 0; + ssize_t rd; + int ret; + + rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); + if(rd <= 0) { + return -1; + } + + ret = snprintf(scratch, sizeof(scratch), "%"PRIu32".%"PRIu32, arc0, arc1); + if(ret >= (ssize_t)sizeof(scratch)) { + return -1; + } + produced += ret; + if(cb(scratch, ret, app_key) < 0) + return -1; + + for(off = rd; ; ) { + asn_oid_arc_t arc; + rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, + &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + off += rd; + assert(off <= st->size); + ret = snprintf(scratch, sizeof(scratch), ".%" PRIu32, arc); + if(ret >= (ssize_t)sizeof(scratch)) { + return -1; + } + produced += ret; + if(cb(scratch, ret, app_key) < 0) return -1; + } + } + + if(off != st->size) { + ASN_DEBUG("Could not scan to the end of Object Identifier"); + return -1; + } + + return produced; +} + +static enum xer_pbd_rval +OBJECT_IDENTIFIER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + OBJECT_IDENTIFIER_t *st = (OBJECT_IDENTIFIER_t *)sptr; + const char *chunk_end = (const char *)chunk_buf + chunk_size; + const char *endptr; + asn_oid_arc_t s_arcs[10]; + asn_oid_arc_t *arcs = s_arcs; + ssize_t num_arcs; + ssize_t ret; + + (void)td; + + num_arcs = OBJECT_IDENTIFIER_parse_arcs( + (const char *)chunk_buf, chunk_size, arcs, + sizeof(s_arcs) / sizeof(s_arcs[0]), &endptr); + if(num_arcs < 0) { + /* Expecting more than zero arcs */ + return XPBD_BROKEN_ENCODING; + } else if(num_arcs == 0) { + return XPBD_NOT_BODY_IGNORE; + } + assert(endptr == chunk_end); + + if((size_t)num_arcs > sizeof(s_arcs)/sizeof(s_arcs[0])) { + arcs = (asn_oid_arc_t *)MALLOC(num_arcs * sizeof(asn_oid_arc_t)); + if(!arcs) return XPBD_SYSTEM_FAILURE; + ret = OBJECT_IDENTIFIER_parse_arcs((const char *)chunk_buf, chunk_size, + arcs, num_arcs, &endptr); + if(ret != num_arcs) + return XPBD_SYSTEM_FAILURE; /* assert?.. */ + } + + /* + * Convert arcs into BER representation. + */ + ret = OBJECT_IDENTIFIER_set_arcs(st, arcs, num_arcs); + if(arcs != s_arcs) FREEMEM(arcs); + + return ret ? XPBD_SYSTEM_FAILURE : XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +OBJECT_IDENTIFIER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(OBJECT_IDENTIFIER_t), opt_mname, + buf_ptr, size, OBJECT_IDENTIFIER__xer_body_decode); +} + +asn_enc_rval_t +OBJECT_IDENTIFIER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + asn_enc_rval_t er = {0,0,0}; + + (void)ilevel; + (void)flags; + + if(!st || !st->buf) { + ASN__ENCODE_FAILED; + } + + er.encoded = OBJECT_IDENTIFIER__dump_body(st, cb, app_key); + if(er.encoded < 0) ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +int +OBJECT_IDENTIFIER_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, + void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(!st || !st->buf) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb("{ ", 2, app_key) < 0) + return -1; + + if(OBJECT_IDENTIFIER__dump_body(st, cb, app_key) < 0) { + return -1; + } + + return (cb(" }", 2, app_key) < 0) ? -1 : 0; +} + +ssize_t +OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *st, asn_oid_arc_t *arcs, + size_t arc_slots) { + asn_oid_arc_t arc0, arc1; + size_t num_arcs = 0; + size_t off; + ssize_t rd; + + if(!st || !st->buf) { + errno = EINVAL; + return -1; + } + + rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); + if(rd <= 0) { + return -1; + } + num_arcs = 2; + switch(arc_slots) { + default: + case 2: + arcs[1] = arc1; + /* Fall through */ + case 1: + arcs[0] = arc0; + /* Fall through */ + case 0: + break; + } + + for(off = rd; ; ) { + asn_oid_arc_t arc; + rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, + &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + off += rd; + if(num_arcs < arc_slots) { + arcs[num_arcs] = arc; + } + num_arcs++; + } + } + + if(off != st->size) { + return -1; + } + + return num_arcs; +} + + +/* + * Save the single value as an object identifier arc. + */ +ssize_t +OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t value) { + /* + * The following conditions must hold: + * assert(arcbuf); + */ + uint8_t scratch[((sizeof(value) * CHAR_BIT + 6) / 7)]; + uint8_t *scratch_end = &scratch[sizeof(scratch)-1]; + uint8_t *b; + size_t result_len; + uint8_t mask; + + for(b = scratch_end, mask = 0; ; mask = 0x80, b--) { + *b = mask | (value & 0x7f); + value >>= 7; + if(!value) { + break; + } + } + + result_len = (scratch_end - b) + 1; + + if(result_len > arcbuf_len) { + return -1; + } + + memcpy(arcbuf, b, result_len); + + return result_len; +} + +int +OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *st, const asn_oid_arc_t *arcs, + size_t arc_slots) { + uint8_t *buf; + uint8_t *bp; + ssize_t wrote; + asn_oid_arc_t arc0; + asn_oid_arc_t arc1; + size_t size; + size_t i; + + if(!st || !arcs || arc_slots < 2) { + errno = EINVAL; + return -1; + } + + arc0 = arcs[0]; + arc1 = arcs[1]; + + if(arc0 <= 1) { + if(arc1 >= 40) { + /* 8.19.4: At most 39 subsequent values (including 0) */ + errno = ERANGE; + return -1; + } + } else if(arc0 == 2) { + if(arc1 > ASN_OID_ARC_MAX - 80) { + errno = ERANGE; + return -1; + } + } else if(arc0 > 2) { + /* 8.19.4: Only three values are allocated from the root node */ + errno = ERANGE; + return -1; + } + + /* + * After above tests it is known that the value of arc0 is completely + * trustworthy (0..2). However, the arc1's value is still meaningless. + */ + + /* + * Roughly estimate the maximum size necessary to encode these arcs. + * This estimation implicitly takes in account the following facts, + * that cancel each other: + * * the first two arcs are encoded in a single value. + * * the first value may require more space (+1 byte) + * * the value of the first arc which is in range (0..2) + */ + size = ((sizeof(asn_oid_arc_t) * CHAR_BIT + 6) / 7) * arc_slots; + bp = buf = (uint8_t *)MALLOC(size + 1); + if(!buf) { + /* ENOMEM */ + return -1; + } + + wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arc0 * 40 + arc1); + if(wrote <= 0) { + FREEMEM(buf); + return -1; + } + assert((size_t)wrote <= size); + bp += wrote; + size -= wrote; + + for(i = 2; i < arc_slots; i++) { + wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arcs[i]); + if(wrote <= 0) { + FREEMEM(buf); + return -1; + } + assert((size_t)wrote <= size); + bp += wrote; + size -= wrote; + } + + /* + * Replace buffer. + */ + st->size = bp - buf; + bp = st->buf; + st->buf = buf; + st->buf[st->size] = '\0'; + if(bp) FREEMEM(bp); + + return 0; +} + +ssize_t +OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, ssize_t oid_txt_length, + asn_oid_arc_t *arcs, size_t arcs_count, + const char **opt_oid_text_end) { + size_t num_arcs = 0; + const char *oid_end; + enum { + ST_LEADSPACE, + ST_TAILSPACE, + ST_AFTERVALUE, /* Next character ought to be '.' or a space */ + ST_WAITDIGITS /* Next character is expected to be a digit */ + } state = ST_LEADSPACE; + + if(!oid_text || oid_txt_length < -1 || (arcs_count && !arcs)) { + if(opt_oid_text_end) *opt_oid_text_end = oid_text; + errno = EINVAL; + return -1; + } + + if(oid_txt_length == -1) + oid_txt_length = strlen(oid_text); + +#define _OID_CAPTURE_ARC(oid_text, oid_end) \ + do { \ + const char *endp = oid_end; \ + unsigned long value; \ + switch(asn_strtoul_lim(oid_text, &endp, &value)) { \ + case ASN_STRTOX_EXTRA_DATA: \ + case ASN_STRTOX_OK: \ + if(value <= ASN_OID_ARC_MAX) { \ + if(num_arcs < arcs_count) arcs[num_arcs] = value; \ + num_arcs++; \ + oid_text = endp - 1; \ + break; \ + } \ + /* Fall through */ \ + case ASN_STRTOX_ERROR_RANGE: \ + if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ + errno = ERANGE; \ + return -1; \ + case ASN_STRTOX_ERROR_INVAL: \ + case ASN_STRTOX_EXPECT_MORE: \ + if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ + errno = EINVAL; \ + return -1; \ + } \ + } while(0) + + for(oid_end = oid_text + oid_txt_length; oid_text broken OID */ + return -1; + case ST_LEADSPACE: + case ST_WAITDIGITS: + _OID_CAPTURE_ARC(oid_text, oid_end); + state = ST_AFTERVALUE; + continue; + } + break; + default: + /* Unexpected symbols */ + state = ST_WAITDIGITS; + break; + } /* switch() */ + break; + } /* for() */ + + + if(opt_oid_text_end) *opt_oid_text_end = oid_text; + + /* Finalize last arc */ + switch(state) { + case ST_LEADSPACE: + return 0; /* No OID found in input data */ + case ST_WAITDIGITS: + errno = EINVAL; /* Broken OID */ + return -1; + case ST_AFTERVALUE: + case ST_TAILSPACE: + return num_arcs; + } + + errno = EINVAL; /* Broken OID */ + return -1; +} + +/* + * Generate values from the list of interesting values, or just a random + * value up to the upper limit. + */ +static asn_oid_arc_t +OBJECT_IDENTIFIER__biased_random_arc(asn_oid_arc_t upper_bound) { + const asn_oid_arc_t values[] = {0, 1, 127, 128, 129, 254, 255, 256}; + size_t idx; + + switch(asn_random_between(0, 2)) { + case 0: + idx = asn_random_between(0, sizeof(values) / sizeof(values[0]) - 1); + if(values[idx] < upper_bound) { + return values[idx]; + } + /* Fall through */ + case 1: + return asn_random_between(0, upper_bound); + case 2: + default: + return upper_bound; + } +} + +asn_random_fill_result_t +OBJECT_IDENTIFIER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + OBJECT_IDENTIFIER_t *st; + asn_oid_arc_t arcs[5]; + size_t arcs_len = asn_random_between(2, 5); + size_t i; + + (void)constraints; + + if(max_length < arcs_len) return result_skipped; + + if(*sptr) { + st = *sptr; + } else { + st = CALLOC(1, sizeof(*st)); + } + + arcs[0] = asn_random_between(0, 2); + arcs[1] = OBJECT_IDENTIFIER__biased_random_arc( + arcs[0] <= 1 ? 39 : (ASN_OID_ARC_MAX - 80)); + for(i = 2; i < arcs_len; i++) { + arcs[i] = OBJECT_IDENTIFIER__biased_random_arc(ASN_OID_ARC_MAX); + } + + if(OBJECT_IDENTIFIER_set_arcs(st, arcs, arcs_len)) { + if(st != *sptr) { + ASN_STRUCT_FREE(*td, st); + } + return result_failed; + } + + *sptr = st; + + result_ok.length = st->size; + return result_ok; +} diff --git a/asn1c_defs/all-defs/OBJECT_IDENTIFIER.h b/asn1c_defs/all-defs/OBJECT_IDENTIFIER.h new file mode 100755 index 0000000..8c2fdb5 --- /dev/null +++ b/asn1c_defs/all-defs/OBJECT_IDENTIFIER.h @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _OBJECT_IDENTIFIER_H_ +#define _OBJECT_IDENTIFIER_H_ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef uint32_t asn_oid_arc_t; +#define ASN_OID_ARC_MAX (~((asn_oid_arc_t)0)) + +typedef ASN__PRIMITIVE_TYPE_t OBJECT_IDENTIFIER_t; + +extern asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER; +extern asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER; + +asn_struct_print_f OBJECT_IDENTIFIER_print; +asn_constr_check_f OBJECT_IDENTIFIER_constraint; +der_type_encoder_f OBJECT_IDENTIFIER_encode_der; +xer_type_decoder_f OBJECT_IDENTIFIER_decode_xer; +xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer; +asn_random_fill_f OBJECT_IDENTIFIER_random_fill; + +#define OBJECT_IDENTIFIER_free ASN__PRIMITIVE_TYPE_free +#define OBJECT_IDENTIFIER_compare OCTET_STRING_compare +#define OBJECT_IDENTIFIER_decode_ber ber_decode_primitive +#define OBJECT_IDENTIFIER_encode_der der_encode_primitive +#define OBJECT_IDENTIFIER_decode_oer oer_decode_primitive +#define OBJECT_IDENTIFIER_encode_oer oer_encode_primitive +#define OBJECT_IDENTIFIER_decode_uper OCTET_STRING_decode_uper +#define OBJECT_IDENTIFIER_encode_uper OCTET_STRING_encode_uper +#define OBJECT_IDENTIFIER_decode_aper OCTET_STRING_decode_aper +#define OBJECT_IDENTIFIER_encode_aper OCTET_STRING_encode_aper + +/********************************** + * Some handy conversion routines * + **********************************/ + +/* + * This function fills an (arcs) array with OBJECT IDENTIFIER arcs + * up to specified (arc_slots) elements. + * + * EXAMPLE: + * void print_arcs(OBJECT_IDENTIFIER_t *oid) { + * asn_oid_arc_t fixed_arcs[10]; // Try with fixed space first + * asn_oid_arc_t *arcs = fixed_arcs; + * size_t arc_slots = sizeof(fixed_arcs)/sizeof(fixed_arcs[0]); // 10 + * ssize_t count; // Real number of arcs. + * int i; + * + * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); + * // If necessary, reallocate arcs array and try again. + * if(count > arc_slots) { + * arc_slots = count; + * arcs = malloc(sizeof(asn_oid_arc_t) * arc_slots); + * if(!arcs) return; + * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); + * assert(count == arc_slots); + * } + * + * // Print the contents of the arcs array. + * for(i = 0; i < count; i++) + * printf("%"PRIu32"\n", arcs[i]); + * + * // Avoid memory leak. + * if(arcs != fixed_arcs) free(arcs); + * } + * + * RETURN VALUES: + * -1/EINVAL: Invalid arguments (oid is missing) + * -1/ERANGE: One or more arcs have value out of array cell type range. + * >=0: Number of arcs contained in the OBJECT IDENTIFIER + * + * WARNING: The function always returns the actual number of arcs, + * even if there is no sufficient (arc_slots) provided. + */ +ssize_t OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *oid, + asn_oid_arc_t *arcs, size_t arc_slots); + +/* + * This functions initializes the OBJECT IDENTIFIER object with + * the given set of arcs. + * The minimum of two arcs must be present; some restrictions apply. + * RETURN VALUES: + * -1/EINVAL: Invalid arguments + * -1/ERANGE: The first two arcs do not conform to ASN.1 restrictions. + * -1/ENOMEM: Memory allocation failed + * 0: The object was initialized with new arcs. + */ +int OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *oid, + const asn_oid_arc_t *arcs, size_t arcs_count); + + +/* + * Parse the OBJECT IDENTIFIER textual representation ("1.3.6.1.4.1.9363"). + * No arc can exceed the (0..ASN_OID_ARC_MAX, which is the same as UINT32_MAX). + * This function is not specific to OBJECT IDENTIFIER, it may be used to parse + * the RELATIVE-OID data, or any other data consisting of dot-separated + * series of numeric values. + * + * If (oid_txt_length == -1), the strlen() will be invoked to determine the + * size of the (oid_text) string. + * + * After return, the optional (opt_oid_text_end) is set to the character after + * the last parsed one. (opt_oid_text_end) is never less than (oid_text). + * + * RETURN VALUES: + * -1: Parse error. + * >= 0: Number of arcs contained in the OBJECT IDENTIFIER. + * + * WARNING: The function always returns the real number of arcs, + * even if there is no sufficient (arc_slots) provided. + * This is useful for (arc_slots) value estimation. + */ +ssize_t OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, + ssize_t oid_txt_length, + asn_oid_arc_t *arcs, size_t arcs_count, + const char **opt_oid_text_end); + +/* + * Internal functions. + * Used by RELATIVE-OID implementation in particular. + */ + +/* + * Retrieve a single arc of size from the (arcbuf) buffer. + * RETURN VALUES: + * -1: Failed to retrieve the value from the (arcbuf). + * >0: Number of bytes consumed from the (arcbuf), <= (arcbuf_len). + */ +ssize_t OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, + size_t arcbuf_len, + asn_oid_arc_t *ret_value); + +/* + * Write the unterminated arc value into the (arcbuf) which has the size at + * least (arcbuf_len). + * RETURN VALUES: + * -1: (arcbuf_len) size is not sufficient to write the value. + * : Number of bytes appended to the arcbuf (<= arcbuf_len). + */ +ssize_t OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t arc_value); + +#ifdef __cplusplus +} +#endif + +#endif /* _OBJECT_IDENTIFIER_H_ */ diff --git a/asn1c_defs/all-defs/OBJECT_IDENTIFIER.o b/asn1c_defs/all-defs/OBJECT_IDENTIFIER.o new file mode 100644 index 0000000000000000000000000000000000000000..f24b7574e4d271f9fed75a278e22ee875a42085a GIT binary patch literal 11696 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. + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for .bits_unused member */ +#include + +/* + * OCTET STRING basic type description. + */ +static const ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs = { + sizeof(OCTET_STRING_t), + offsetof(OCTET_STRING_t, _asn_ctx), + ASN_OSUBV_STR +}; + +asn_TYPE_operation_t asn_OP_OCTET_STRING = { + OCTET_STRING_free, + OCTET_STRING_print, /* OCTET STRING generally means a non-ascii sequence */ + OCTET_STRING_compare, + OCTET_STRING_decode_ber, + OCTET_STRING_encode_der, + OCTET_STRING_decode_xer_hex, + OCTET_STRING_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + OCTET_STRING_decode_uper, /* Unaligned PER decoder */ + OCTET_STRING_encode_uper, /* Unaligned PER encoder */ + OCTET_STRING_decode_aper, /* Aligned PER decoder */ + OCTET_STRING_encode_aper, /* Aligned PER encoder */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + OCTET_STRING_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = { + "OCTET STRING", /* Canonical name */ + "OCTET_STRING", /* XML tag name */ + &asn_OP_OCTET_STRING, + asn_DEF_OCTET_STRING_tags, + sizeof(asn_DEF_OCTET_STRING_tags) + / sizeof(asn_DEF_OCTET_STRING_tags[0]), + asn_DEF_OCTET_STRING_tags, /* Same as above */ + sizeof(asn_DEF_OCTET_STRING_tags) + / sizeof(asn_DEF_OCTET_STRING_tags[0]), + { 0, 0, asn_generic_no_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs +}; + +#undef _CH_PHASE +#undef NEXT_PHASE +#undef PREV_PHASE +#define _CH_PHASE(ctx, inc) do { \ + if(ctx->phase == 0) \ + ctx->context = 0; \ + ctx->phase += inc; \ + } while(0) +#define NEXT_PHASE(ctx) _CH_PHASE(ctx, +1) +#define PREV_PHASE(ctx) _CH_PHASE(ctx, -1) + +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = (num_bytes); \ + buf_ptr = ((const char *)buf_ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +#undef RETURN +#define RETURN(_code) do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +#undef APPEND +#define APPEND(bufptr, bufsize) do { \ + size_t _bs = (bufsize); /* Append size */ \ + size_t _ns = ctx->context; /* Allocated now */ \ + size_t _es = st->size + _bs; /* Expected size */ \ + /* int is really a typeof(st->size): */ \ + if((int)_es < 0) RETURN(RC_FAIL); \ + if(_ns <= _es) { \ + void *ptr; \ + /* Be nice and round to the memory allocator */ \ + do { _ns = _ns ? _ns << 1 : 16; } \ + while(_ns <= _es); \ + /* int is really a typeof(st->size): */ \ + if((int)_ns < 0) RETURN(RC_FAIL); \ + ptr = REALLOC(st->buf, _ns); \ + if(ptr) { \ + st->buf = (uint8_t *)ptr; \ + ctx->context = _ns; \ + } else { \ + RETURN(RC_FAIL); \ + } \ + ASN_DEBUG("Reallocating into %ld", (long)_ns); \ + } \ + memcpy(st->buf + st->size, bufptr, _bs); \ + /* Convenient nul-termination */ \ + st->buf[_es] = '\0'; \ + st->size = _es; \ + } while(0) + +/* + * The main reason why ASN.1 is still alive is that too much time and effort + * is necessary for learning it more or less adequately, thus creating a gut + * necessity to demonstrate that aquired skill everywhere afterwards. + * No, I am not going to explain what the following stuff is. + */ +struct _stack_el { + ber_tlv_len_t left; /* What's left to read (or -1) */ + ber_tlv_len_t got; /* What was actually processed */ + unsigned cont_level; /* Depth of subcontainment */ + int want_nulls; /* Want null "end of content" octets? */ + int bits_chopped; /* Flag in BIT STRING mode */ + ber_tlv_tag_t tag; /* For debugging purposes */ + struct _stack_el *prev; + struct _stack_el *next; +}; +struct _stack { + struct _stack_el *tail; + struct _stack_el *cur_ptr; +}; + +static struct _stack_el * +OS__add_stack_el(struct _stack *st) { + struct _stack_el *nel; + + /* + * Reuse the old stack frame or allocate a new one. + */ + if(st->cur_ptr && st->cur_ptr->next) { + nel = st->cur_ptr->next; + nel->bits_chopped = 0; + nel->got = 0; + /* Retain the nel->cont_level, it's correct. */ + } else { + nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el)); + if(nel == NULL) + return NULL; + + if(st->tail) { + /* Increase a subcontainment depth */ + nel->cont_level = st->tail->cont_level + 1; + st->tail->next = nel; + } + nel->prev = st->tail; + st->tail = nel; + } + + st->cur_ptr = nel; + + return nel; +} + +static struct _stack * +_new_stack(void) { + return (struct _stack *)CALLOC(1, sizeof(struct _stack)); +} + +/* + * Decode OCTET STRING type. + */ +asn_dec_rval_t +OCTET_STRING_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buf_ptr, size_t size, int tag_mode) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + asn_dec_rval_t rval; + asn_struct_ctx_t *ctx; + ssize_t consumed_myself = 0; + struct _stack *stck; /* Expectations stack structure */ + struct _stack_el *sel = 0; /* Stack element */ + int tlv_constr; + enum asn_OS_Subvariant type_variant = specs->subvariant; + + ASN_DEBUG("Decoding %s as %s (frame %ld)", + td->name, + (type_variant == ASN_OSUBV_STR) ? + "OCTET STRING" : "OS-SpecialCase", + (long)size); + + /* + * Create the string if does not exist. + */ + if(st == NULL) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(st == NULL) RETURN(RC_FAIL); + } + + /* Restore parsing context */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + switch(ctx->phase) { + case 0: + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, ctx, + buf_ptr, size, tag_mode, -1, + &ctx->left, &tlv_constr); + if(rval.code != RC_OK) + return rval; + + if(tlv_constr) { + /* + * Complex operation, requires stack of expectations. + */ + ctx->ptr = _new_stack(); + if(!ctx->ptr) { + RETURN(RC_FAIL); + } + } else { + /* + * Jump into stackless primitive decoding. + */ + _CH_PHASE(ctx, 3); + if(type_variant == ASN_OSUBV_ANY && tag_mode != 1) + APPEND(buf_ptr, rval.consumed); + ADVANCE(rval.consumed); + goto phase3; + } + + NEXT_PHASE(ctx); + /* Fall through */ + case 1: + phase1: + /* + * Fill the stack with expectations. + */ + stck = (struct _stack *)ctx->ptr; + sel = stck->cur_ptr; + do { + ber_tlv_tag_t tlv_tag; + ber_tlv_len_t tlv_len; + ber_tlv_tag_t expected_tag; + ssize_t tl, ll, tlvl; + /* This one works even if (sel->left == -1) */ + size_t Left = ((!sel||(size_t)sel->left >= size) + ?size:(size_t)sel->left); + + + ASN_DEBUG("%p, s->l=%ld, s->wn=%ld, s->g=%ld\n", (void *)sel, + (long)(sel?sel->left:0), + (long)(sel?sel->want_nulls:0), + (long)(sel?sel->got:0) + ); + if(sel && sel->left <= 0 && sel->want_nulls == 0) { + if(sel->prev) { + struct _stack_el *prev = sel->prev; + if(prev->left != -1) { + if(prev->left < sel->got) + RETURN(RC_FAIL); + prev->left -= sel->got; + } + prev->got += sel->got; + sel = stck->cur_ptr = prev; + if(!sel) break; + tlv_constr = 1; + continue; + } else { + sel = stck->cur_ptr = 0; + break; /* Nothing to wait */ + } + } + + tl = ber_fetch_tag(buf_ptr, Left, &tlv_tag); + ASN_DEBUG("fetch tag(size=%ld,L=%ld), %sstack, left=%ld, wn=%ld, tl=%ld", + (long)size, (long)Left, sel?"":"!", + (long)(sel?sel->left:0), + (long)(sel?sel->want_nulls:0), + (long)tl); + switch(tl) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + tlv_constr = BER_TLV_CONSTRUCTED(buf_ptr); + + ll = ber_fetch_length(tlv_constr, + (const char *)buf_ptr + tl,Left - tl,&tlv_len); + ASN_DEBUG("Got tag=%s, tc=%d, left=%ld, tl=%ld, len=%ld, ll=%ld", + ber_tlv_tag_string(tlv_tag), tlv_constr, + (long)Left, (long)tl, (long)tlv_len, (long)ll); + switch(ll) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + if(sel && sel->want_nulls + && ((const uint8_t *)buf_ptr)[0] == 0 + && ((const uint8_t *)buf_ptr)[1] == 0) + { + + ASN_DEBUG("Eat EOC; wn=%d--", sel->want_nulls); + + if(type_variant == ASN_OSUBV_ANY + && (tag_mode != 1 || sel->cont_level)) + APPEND("\0\0", 2); + + ADVANCE(2); + sel->got += 2; + if(sel->left != -1) { + sel->left -= 2; /* assert(sel->left >= 2) */ + } + + sel->want_nulls--; + if(sel->want_nulls == 0) { + /* Move to the next expectation */ + sel->left = 0; + tlv_constr = 1; + } + + continue; + } + + /* + * Set up expected tags, + * depending on ASN.1 type being decoded. + */ + switch(type_variant) { + case ASN_OSUBV_BIT: + /* X.690: 8.6.4.1, NOTE 2 */ + /* Fall through */ + case ASN_OSUBV_STR: + default: + if(sel) { + unsigned level = sel->cont_level; + if(level < td->all_tags_count) { + expected_tag = td->all_tags[level]; + break; + } else if(td->all_tags_count) { + expected_tag = td->all_tags + [td->all_tags_count - 1]; + break; + } + /* else, Fall through */ + } + /* Fall through */ + case ASN_OSUBV_ANY: + expected_tag = tlv_tag; + break; + } + + + if(tlv_tag != expected_tag) { + char buf[2][32]; + ber_tlv_tag_snprint(tlv_tag, + buf[0], sizeof(buf[0])); + ber_tlv_tag_snprint(td->tags[td->tags_count-1], + buf[1], sizeof(buf[1])); + ASN_DEBUG("Tag does not match expectation: %s != %s", + buf[0], buf[1]); + RETURN(RC_FAIL); + } + + tlvl = tl + ll; /* Combined length of T and L encoding */ + if((tlv_len + tlvl) < 0) { + /* tlv_len value is too big */ + ASN_DEBUG("TLV encoding + length (%ld) is too big", + (long)tlv_len); + RETURN(RC_FAIL); + } + + /* + * Append a new expectation. + */ + sel = OS__add_stack_el(stck); + if(!sel) RETURN(RC_FAIL); + + sel->tag = tlv_tag; + + sel->want_nulls = (tlv_len==-1); + if(sel->prev && sel->prev->left != -1) { + /* Check that the parent frame is big enough */ + if(sel->prev->left < tlvl + (tlv_len==-1?0:tlv_len)) + RETURN(RC_FAIL); + if(tlv_len == -1) + sel->left = sel->prev->left - tlvl; + else + sel->left = tlv_len; + } else { + sel->left = tlv_len; + } + if(type_variant == ASN_OSUBV_ANY + && (tag_mode != 1 || sel->cont_level)) + APPEND(buf_ptr, tlvl); + sel->got += tlvl; + ADVANCE(tlvl); + + ASN_DEBUG("+EXPECT2 got=%ld left=%ld, wn=%d, clvl=%u", + (long)sel->got, (long)sel->left, + sel->want_nulls, sel->cont_level); + + } while(tlv_constr); + if(sel == NULL) { + /* Finished operation, "phase out" */ + ASN_DEBUG("Phase out"); + _CH_PHASE(ctx, +3); + break; + } + + NEXT_PHASE(ctx); + /* Fall through */ + case 2: + stck = (struct _stack *)ctx->ptr; + sel = stck->cur_ptr; + ASN_DEBUG("Phase 2: Need %ld bytes, size=%ld, alrg=%ld, wn=%d", + (long)sel->left, (long)size, (long)sel->got, + sel->want_nulls); + { + ber_tlv_len_t len; + + assert(sel->left >= 0); + + len = ((ber_tlv_len_t)size < sel->left) + ? (ber_tlv_len_t)size : sel->left; + if(len > 0) { + if(type_variant == ASN_OSUBV_BIT + && sel->bits_chopped == 0) { + /* Put the unused-bits-octet away */ + st->bits_unused = *(const uint8_t *)buf_ptr; + APPEND(((const char *)buf_ptr+1), (len - 1)); + sel->bits_chopped = 1; + } else { + APPEND(buf_ptr, len); + } + ADVANCE(len); + sel->left -= len; + sel->got += len; + } + + if(sel->left) { + ASN_DEBUG("OS left %ld, size = %ld, wn=%d\n", + (long)sel->left, (long)size, sel->want_nulls); + RETURN(RC_WMORE); + } + + PREV_PHASE(ctx); + goto phase1; + } + break; + case 3: + phase3: + /* + * Primitive form, no stack required. + */ + assert(ctx->left >= 0); + + if(size < (size_t)ctx->left) { + if(!size) RETURN(RC_WMORE); + if(type_variant == ASN_OSUBV_BIT && !ctx->context) { + st->bits_unused = *(const uint8_t *)buf_ptr; + ctx->left--; + ADVANCE(1); + } + APPEND(buf_ptr, size); + assert(ctx->context > 0); + ctx->left -= size; + ADVANCE(size); + RETURN(RC_WMORE); + } else { + if(type_variant == ASN_OSUBV_BIT + && !ctx->context && ctx->left) { + st->bits_unused = *(const uint8_t *)buf_ptr; + ctx->left--; + ADVANCE(1); + } + APPEND(buf_ptr, ctx->left); + ADVANCE(ctx->left); + ctx->left = 0; + + NEXT_PHASE(ctx); + } + break; + } + + if(sel) { + ASN_DEBUG("3sel p=%p, wn=%d, l=%ld, g=%ld, size=%ld", + (void *)sel->prev, sel->want_nulls, + (long)sel->left, (long)sel->got, (long)size); + if(sel->prev || sel->want_nulls > 1 || sel->left > 0) { + RETURN(RC_WMORE); + } + } + + /* + * BIT STRING-specific processing. + */ + if(type_variant == ASN_OSUBV_BIT) { + if(st->size) { + if(st->bits_unused < 0 || st->bits_unused > 7) { + RETURN(RC_FAIL); + } + /* Finalize BIT STRING: zero out unused bits. */ + st->buf[st->size-1] &= 0xff << st->bits_unused; + } else { + if(st->bits_unused) { + RETURN(RC_FAIL); + } + } + } + + ASN_DEBUG("Took %ld bytes to encode %s: [%s]:%ld", + (long)consumed_myself, td->name, + (type_variant == ASN_OSUBV_STR) ? (char *)st->buf : "", + (long)st->size); + + + RETURN(RC_OK); +} + +/* + * Encode OCTET STRING type using DER. + */ +asn_enc_rval_t +OCTET_STRING_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = { 0, 0, 0 }; + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + enum asn_OS_Subvariant type_variant = specs->subvariant; + int fix_last_byte = 0; + + ASN_DEBUG("%s %s as OCTET STRING", + cb?"Estimating":"Encoding", td->name); + + /* + * Write tags. + */ + if(type_variant != ASN_OSUBV_ANY || tag_mode == 1) { + er.encoded = der_write_tags(td, + (type_variant == ASN_OSUBV_BIT) + st->size, + tag_mode, type_variant == ASN_OSUBV_ANY, tag, + cb, app_key); + if(er.encoded == -1) { + er.failed_type = td; + er.structure_ptr = sptr; + return er; + } + } else { + /* Disallow: [] IMPLICIT ANY */ + assert(type_variant != ASN_OSUBV_ANY || tag_mode != -1); + er.encoded = 0; + } + + if(!cb) { + er.encoded += (type_variant == ASN_OSUBV_BIT) + st->size; + ASN__ENCODED_OK(er); + } + + /* + * Prepare to deal with the last octet of BIT STRING. + */ + if(type_variant == ASN_OSUBV_BIT) { + uint8_t b = st->bits_unused & 0x07; + if(b && st->size) fix_last_byte = 1; + ASN__CALLBACK(&b, 1); + } + + /* Invoke callback for the main part of the buffer */ + ASN__CALLBACK(st->buf, st->size - fix_last_byte); + + /* The last octet should be stripped off the unused bits */ + if(fix_last_byte) { + uint8_t b = st->buf[st->size-1] & (0xff << st->bits_unused); + ASN__CALLBACK(&b, 1); + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +asn_enc_rval_t +OCTET_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + char scratch[16 * 3 + 4]; + char *p = scratch; + uint8_t *buf; + uint8_t *end; + size_t i; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + /* + * Dump the contents of the buffer in hexadecimal. + */ + buf = st->buf; + end = buf + st->size; + if(flags & XER_F_CANONICAL) { + char *scend = scratch + (sizeof(scratch) - 2); + for(; buf < end; buf++) { + if(p >= scend) { + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + } + + ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ + } else { + for(i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + ASN__CALLBACK(scratch, p-scratch); + p = scratch; + ASN__TEXT_INDENT(1, ilevel); + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + if(p - scratch) { + p--; /* Remove the tail space */ + ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ + if(st->size > 16) + ASN__TEXT_INDENT(1, ilevel-1); + } + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +static const struct OCTET_STRING__xer_escape_table_s { + const char *string; + int size; +} OCTET_STRING__xer_escape_table[] = { +#define OSXET(s) { s, sizeof(s) - 1 } + OSXET("\074\156\165\154\057\076"), /* */ + OSXET("\074\163\157\150\057\076"), /* */ + OSXET("\074\163\164\170\057\076"), /* */ + OSXET("\074\145\164\170\057\076"), /* */ + OSXET("\074\145\157\164\057\076"), /* */ + OSXET("\074\145\156\161\057\076"), /* */ + OSXET("\074\141\143\153\057\076"), /* */ + OSXET("\074\142\145\154\057\076"), /* */ + OSXET("\074\142\163\057\076"), /* */ + OSXET("\011"), /* \t */ + OSXET("\012"), /* \n */ + OSXET("\074\166\164\057\076"), /* */ + OSXET("\074\146\146\057\076"), /* */ + OSXET("\015"), /* \r */ + OSXET("\074\163\157\057\076"), /* */ + OSXET("\074\163\151\057\076"), /* */ + OSXET("\074\144\154\145\057\076"), /* */ + OSXET("\074\144\143\061\057\076"), /* */ + OSXET("\074\144\143\062\057\076"), /* */ + OSXET("\074\144\143\063\057\076"), /* */ + OSXET("\074\144\143\064\057\076"), /* */ + OSXET("\074\156\141\153\057\076"), /* */ + OSXET("\074\163\171\156\057\076"), /* */ + OSXET("\074\145\164\142\057\076"), /* */ + OSXET("\074\143\141\156\057\076"), /* */ + OSXET("\074\145\155\057\076"), /* */ + OSXET("\074\163\165\142\057\076"), /* */ + OSXET("\074\145\163\143\057\076"), /* */ + OSXET("\074\151\163\064\057\076"), /* */ + OSXET("\074\151\163\063\057\076"), /* */ + OSXET("\074\151\163\062\057\076"), /* */ + OSXET("\074\151\163\061\057\076"), /* */ + { 0, 0 }, /* " " */ + { 0, 0 }, /* ! */ + { 0, 0 }, /* \" */ + { 0, 0 }, /* # */ + { 0, 0 }, /* $ */ + { 0, 0 }, /* % */ + OSXET("\046\141\155\160\073"), /* & */ + { 0, 0 }, /* ' */ + {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* ()*+,-./ */ + {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 01234567 */ + {0,0},{0,0},{0,0},{0,0}, /* 89:; */ + OSXET("\046\154\164\073"), /* < */ + { 0, 0 }, /* = */ + OSXET("\046\147\164\073"), /* > */ +}; + +static int +OS__check_escaped_control_char(const void *buf, int size) { + size_t i; + /* + * Inefficient algorithm which translates the escape sequences + * defined above into characters. Returns -1 if not found. + * TODO: replace by a faster algorithm (bsearch(), hash or + * nested table lookups). + */ + for(i = 0; i < 32 /* Don't spend time on the bottom half */; i++) { + const struct OCTET_STRING__xer_escape_table_s *el; + el = &OCTET_STRING__xer_escape_table[i]; + if(el->size == size && memcmp(buf, el->string, size) == 0) + return i; + } + return -1; +} + +static int +OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size_t chunk_size) { + /* + * This might be one of the escape sequences + * for control characters. Check it out. + * #11.15.5 + */ + int control_char = OS__check_escaped_control_char(chunk_buf,chunk_size); + if(control_char >= 0) { + OCTET_STRING_t *st = (OCTET_STRING_t *)struct_ptr; + void *p = REALLOC(st->buf, st->size + 2); + if(p) { + st->buf = (uint8_t *)p; + st->buf[st->size++] = control_char; + st->buf[st->size] = '\0'; /* nul-termination */ + return 0; + } + } + + return -1; /* No, it's not */ +} + +asn_enc_rval_t +OCTET_STRING_encode_xer_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + uint8_t *buf, *end; + uint8_t *ss; /* Sequence start */ + ssize_t encoded_len = 0; + + (void)ilevel; /* Unused argument */ + (void)flags; /* Unused argument */ + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + buf = st->buf; + end = buf + st->size; + for(ss = buf; buf < end; buf++) { + unsigned int ch = *buf; + int s_len; /* Special encoding sequence length */ + + /* + * Escape certain characters: X.680/11.15 + */ + if(ch < sizeof(OCTET_STRING__xer_escape_table) + /sizeof(OCTET_STRING__xer_escape_table[0]) + && (s_len = OCTET_STRING__xer_escape_table[ch].size)) { + if(((buf - ss) && cb(ss, buf - ss, app_key) < 0) + || cb(OCTET_STRING__xer_escape_table[ch].string, s_len, + app_key) < 0) + ASN__ENCODE_FAILED; + encoded_len += (buf - ss) + s_len; + ss = buf + 1; + } + } + + encoded_len += (buf - ss); + if((buf - ss) && cb(ss, buf - ss, app_key) < 0) + ASN__ENCODE_FAILED; + + er.encoded = encoded_len; + ASN__ENCODED_OK(er); +} + +/* + * Convert from hexadecimal format (cstring): "AB CD EF" + */ +static ssize_t OCTET_STRING__convert_hexadecimal(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + const char *chunk_stop = (const char *)chunk_buf; + const char *p = chunk_stop; + const char *pend = p + chunk_size; + unsigned int clv = 0; + int half = 0; /* Half bit */ + uint8_t *buf; + + /* Reallocate buffer according to high cap estimation */ + size_t new_size = st->size + (chunk_size + 1) / 2; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + /* + * If something like " a b c " appears here, the " a b":3 will be + * converted, and the rest skipped. That is, unless buf_size is greater + * than chunk_size, then it'll be equivalent to "ABC0". + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + switch(ch) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* Ignore whitespace */ + continue; + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + clv = (clv << 4) + (ch - 0x30); + break; + case 0x41: case 0x42: case 0x43: /* ABC */ + case 0x44: case 0x45: case 0x46: /* DEF */ + clv = (clv << 4) + (ch - 0x41 + 10); + break; + case 0x61: case 0x62: case 0x63: /* abc */ + case 0x64: case 0x65: case 0x66: /* def */ + clv = (clv << 4) + (ch - 0x61 + 10); + break; + default: + *buf = 0; /* JIC */ + return -1; + } + if(half++) { + half = 0; + *buf++ = clv; + chunk_stop = p + 1; + } + } + + /* + * Check partial decoding. + */ + if(half) { + if(have_more) { + /* + * Partial specification is fine, + * because no more more PXER_TEXT data is available. + */ + *buf++ = clv << 4; + chunk_stop = p; + } + } else { + chunk_stop = p; + } + + st->size = buf - st->buf; /* Adjust the buffer size */ + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return (chunk_stop - (const char *)chunk_buf); /* Converted size */ +} + +/* + * Convert from binary format: "00101011101" + */ +static ssize_t OCTET_STRING__convert_binary(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { + BIT_STRING_t *st = (BIT_STRING_t *)sptr; + const char *p = (const char *)chunk_buf; + const char *pend = p + chunk_size; + int bits_unused = st->bits_unused & 0x7; + uint8_t *buf; + + /* Reallocate buffer according to high cap estimation */ + size_t new_size = st->size + (chunk_size + 7) / 8; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + (void)have_more; + + if(bits_unused == 0) + bits_unused = 8; + else if(st->size) + buf--; + + /* + * Convert series of 0 and 1 into the octet string. + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + switch(ch) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* Ignore whitespace */ + break; + case 0x30: + case 0x31: + if(bits_unused-- <= 0) { + *++buf = 0; /* Clean the cell */ + bits_unused = 7; + } + *buf |= (ch&1) << bits_unused; + break; + default: + st->bits_unused = bits_unused; + return -1; + } + } + + if(bits_unused == 8) { + st->size = buf - st->buf; + st->bits_unused = 0; + } else { + st->size = buf - st->buf + 1; + st->bits_unused = bits_unused; + } + + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return chunk_size; /* Converted in full */ +} + +/* + * Something like strtod(), but with stricter rules. + */ +static int +OS__strtoent(int base, const char *buf, const char *end, int32_t *ret_value) { + const int32_t last_unicode_codepoint = 0x10ffff; + int32_t val = 0; + const char *p; + + for(p = buf; p < end; p++) { + int ch = *p; + + switch(ch) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + val = val * base + (ch - 0x30); + break; + case 0x41: case 0x42: case 0x43: /* ABC */ + case 0x44: case 0x45: case 0x46: /* DEF */ + val = val * base + (ch - 0x41 + 10); + break; + case 0x61: case 0x62: case 0x63: /* abc */ + case 0x64: case 0x65: case 0x66: /* def */ + val = val * base + (ch - 0x61 + 10); + break; + case 0x3b: /* ';' */ + *ret_value = val; + return (p - buf) + 1; + default: + return -1; /* Character set error */ + } + + /* Value exceeds the Unicode range. */ + if(val > last_unicode_codepoint) { + return -1; + } + } + + *ret_value = -1; + return (p - buf); +} + +/* + * Convert from the plain UTF-8 format, expanding entity references: "2 < 3" + */ +static ssize_t +OCTET_STRING__convert_entrefs(void *sptr, const void *chunk_buf, + size_t chunk_size, int have_more) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + const char *p = (const char *)chunk_buf; + const char *pend = p + chunk_size; + uint8_t *buf; + + /* Reallocate buffer */ + size_t new_size = st->size + chunk_size; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + /* + * Convert series of 0 and 1 into the octet string. + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + int len; /* Length of the rest of the chunk */ + + if(ch != 0x26 /* '&' */) { + *buf++ = ch; + continue; /* That was easy... */ + } + + /* + * Process entity reference. + */ + len = chunk_size - (p - (const char *)chunk_buf); + if(len == 1 /* "&" */) goto want_more; + if(p[1] == 0x23 /* '#' */) { + const char *pval; /* Pointer to start of digits */ + int32_t val = 0; /* Entity reference value */ + int base; + + if(len == 2 /* "&#" */) goto want_more; + if(p[2] == 0x78 /* 'x' */) + pval = p + 3, base = 16; + else + pval = p + 2, base = 10; + len = OS__strtoent(base, pval, p + len, &val); + if(len == -1) { + /* Invalid charset. Just copy verbatim. */ + *buf++ = ch; + continue; + } + if(!len || pval[len-1] != 0x3b) goto want_more; + assert(val > 0); + p += (pval - p) + len - 1; /* Advance past entref */ + + if(val < 0x80) { + *buf++ = (char)val; + } else if(val < 0x800) { + *buf++ = 0xc0 | ((val >> 6)); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x10000) { + *buf++ = 0xe0 | ((val >> 12)); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x200000) { + *buf++ = 0xf0 | ((val >> 18)); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x4000000) { + *buf++ = 0xf8 | ((val >> 24)); + *buf++ = 0x80 | ((val >> 18) & 0x3f); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else { + *buf++ = 0xfc | ((val >> 30) & 0x1); + *buf++ = 0x80 | ((val >> 24) & 0x3f); + *buf++ = 0x80 | ((val >> 18) & 0x3f); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } + } else { + /* + * Ugly, limited parsing of & > < + */ + char *sc = (char *)memchr(p, 0x3b, len > 5 ? 5 : len); + if(!sc) goto want_more; + if((sc - p) == 4 + && p[1] == 0x61 /* 'a' */ + && p[2] == 0x6d /* 'm' */ + && p[3] == 0x70 /* 'p' */) { + *buf++ = 0x26; + p = sc; + continue; + } + if((sc - p) == 3) { + if(p[1] == 0x6c) { + *buf = 0x3c; /* '<' */ + } else if(p[1] == 0x67) { + *buf = 0x3e; /* '>' */ + } else { + /* Unsupported entity reference */ + *buf++ = ch; + continue; + } + if(p[2] != 0x74) { + /* Unsupported entity reference */ + *buf++ = ch; + continue; + } + buf++; + p = sc; + continue; + } + /* Unsupported entity reference */ + *buf++ = ch; + } + + continue; + want_more: + if(have_more) { + /* + * We know that no more data (of the same type) + * is coming. Copy the rest verbatim. + */ + *buf++ = ch; + continue; + } + chunk_size = (p - (const char *)chunk_buf); + /* Processing stalled: need more data */ + break; + } + + st->size = buf - st->buf; + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return chunk_size; /* Converted in full */ +} + +/* + * Decode OCTET STRING from the XML element's body. + */ +static asn_dec_rval_t +OCTET_STRING__decode_xer( + const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, + void **sptr, const char *opt_mname, const void *buf_ptr, size_t size, + int (*opt_unexpected_tag_decoder)(void *struct_ptr, const void *chunk_buf, + size_t chunk_size), + ssize_t (*body_receiver)(void *struct_ptr, const void *chunk_buf, + size_t chunk_size, int have_more)) { + OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + asn_struct_ctx_t *ctx; /* Per-structure parser context */ + asn_dec_rval_t rval; /* Return value from the decoder */ + int st_allocated; + + /* + * Create the string if does not exist. + */ + if(!st) { + st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); + *sptr = (void *)st; + if(!st) goto sta_failed; + st_allocated = 1; + } else { + st_allocated = 0; + } + if(!st->buf) { + /* This is separate from above section */ + st->buf = (uint8_t *)CALLOC(1, 1); + if(!st->buf) { + if(st_allocated) { + *sptr = 0; + goto stb_failed; + } else { + goto sta_failed; + } + } + } + + /* Restore parsing context */ + ctx = (asn_struct_ctx_t *)(((char *)*sptr) + specs->ctx_offset); + + return xer_decode_general(opt_codec_ctx, ctx, *sptr, xml_tag, + buf_ptr, size, opt_unexpected_tag_decoder, body_receiver); + +stb_failed: + FREEMEM(st); +sta_failed: + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; +} + +/* + * Decode OCTET STRING from the hexadecimal data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_hex(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, 0, OCTET_STRING__convert_hexadecimal); +} + +/* + * Decode OCTET STRING from the binary (0/1) data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_binary(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, 0, OCTET_STRING__convert_binary); +} + +/* + * Decode OCTET STRING from the string (ASCII/UTF-8) data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_utf8(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, + OCTET_STRING__handle_control_chars, + OCTET_STRING__convert_entrefs); +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +static int +OCTET_STRING_per_get_characters(asn_per_data_t *po, uint8_t *buf, + size_t units, unsigned int bpc, unsigned int unit_bits, + long lb, long ub, const asn_per_constraints_t *pc) { + uint8_t *end = buf + units * bpc; + + ASN_DEBUG("Expanding %d characters into (%ld..%ld):%d", + (int)units, lb, ub, unit_bits); + + /* X.691: 27.5.4 */ + if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { + /* Decode without translation */ + lb = 0; + } else if(pc && pc->code2value) { + if(unit_bits > 16) + return 1; /* FATAL: can't have constrained + * UniversalString with more than + * 16 million code points */ + for(; buf < end; buf += bpc) { + int value; + int code = per_get_few_bits(po, unit_bits); + if(code < 0) return -1; /* WMORE */ + value = pc->code2value(code); + if(value < 0) { + ASN_DEBUG("Code %d (0x%02x) is" + " not in map (%ld..%ld)", + code, code, lb, ub); + return 1; /* FATAL */ + } + switch(bpc) { + case 1: *buf = value; break; + case 2: buf[0] = value >> 8; buf[1] = value; break; + case 4: buf[0] = value >> 24; buf[1] = value >> 16; + buf[2] = value >> 8; buf[3] = value; break; + } + } + return 0; + } + + /* Shortcut the no-op copying to the aligned structure */ + if(lb == 0 && (unit_bits == 8 * bpc)) { + return per_get_many_bits(po, buf, 0, unit_bits * units); + } + + for(; buf < end; buf += bpc) { + int32_t code = per_get_few_bits(po, unit_bits); + int32_t ch = code + lb; + if(code < 0) return -1; /* WMORE */ + if(ch > ub) { + ASN_DEBUG("Code %d is out of range (%ld..%ld)", + ch, lb, ub); + return 1; /* FATAL */ + } + switch(bpc) { + case 1: *buf = ch; break; + case 2: buf[0] = ch >> 8; buf[1] = ch; break; + case 4: buf[0] = ch >> 24; buf[1] = ch >> 16; + buf[2] = ch >> 8; buf[3] = ch; break; + } + } + + return 0; +} + +static int +OCTET_STRING_per_put_characters(asn_per_outp_t *po, const uint8_t *buf, + size_t units, unsigned int bpc, unsigned int unit_bits, + long lb, long ub, const asn_per_constraints_t *pc) { + const uint8_t *end = buf + units * bpc; + + ASN_DEBUG("Squeezing %d characters into (%ld..%ld):%d (%d bpc)", + (int)units, lb, ub, unit_bits, bpc); + + /* X.691: 27.5.4 */ + if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { + /* Encode as is */ + lb = 0; + } else if(pc && pc->value2code) { + for(; buf < end; buf += bpc) { + int code; + uint32_t value; + switch(bpc) { + case 1: value = *(const uint8_t *)buf; break; + case 2: value = (buf[0] << 8) | buf[1]; break; + case 4: value = (buf[0] << 24) | (buf[1] << 16) + | (buf[2] << 8) | buf[3]; break; + default: return -1; + } + code = pc->value2code(value); + if(code < 0) { + ASN_DEBUG("Character %d (0x%02x) is" + " not in map (%ld..%ld)", + *buf, *buf, lb, ub); + return -1; + } + if(per_put_few_bits(po, code, unit_bits)) + return -1; + } + } + + /* Shortcut the no-op copying to the aligned structure */ + if(lb == 0 && (unit_bits == 8 * bpc)) { + return per_put_many_bits(po, buf, unit_bits * units); + } + + for(ub -= lb; buf < end; buf += bpc) { + int ch; + uint32_t value; + switch(bpc) { + case 1: + value = *(const uint8_t *)buf; + break; + case 2: + value = (buf[0] << 8) | buf[1]; + break; + case 4: + value = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; + break; + default: + return -1; + } + ch = value - lb; + if(ch < 0 || ch > ub) { + ASN_DEBUG("Character %d (0x%02x) is out of range (%ld..%ld)", *buf, + value, lb, ub + lb); + return -1; + } + if(per_put_few_bits(po, ch, unit_bits)) return -1; + } + + return 0; +} + +static asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = { + { APC_CONSTRAINED, 8, 8, 0, 255 }, + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, + 0, 0 +}; + +asn_dec_rval_t +OCTET_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + enum { + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + + (void)opt_codec_ctx; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + case ASN_OSUBV_BIT: + ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); + RETURN(RC_FAIL); + break; + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_CHAR; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + break; + } + + /* + * Allocate the string. + */ + if(!st) { + st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + if(bpc) { + st->size = csiz->upper_bound * bpc; + } else { + st->size = (csiz->upper_bound + 7) >> 3; + } + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + if(bpc) { + ASN_DEBUG("Encoding OCTET STRING size %ld", + csiz->upper_bound); + ret = OCTET_STRING_per_get_characters(pd, st->buf, + csiz->upper_bound, bpc, unit_bits, + cval->lower_bound, cval->upper_bound, pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ASN_DEBUG("Encoding BIT STRING size %ld", + csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, + unit_bits * csiz->upper_bound); + } + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += unit_bits * csiz->upper_bound; + st->buf[st->size] = 0; + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, + &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len * bpc; + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = OCTET_STRING_per_get_characters(pd, &st->buf[st->size], raw_len, + bpc, unit_bits, cval->lower_bound, + cval->upper_bound, pc); + if(ret > 0) RETURN(RC_FAIL); + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +OCTET_STRING_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + size_t size_in_units; + const uint8_t *buf; + int ret; + enum { + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + case ASN_OSUBV_BIT: + ASN__ENCODE_FAILED; + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_CHAR; + size_in_units = st->size; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + size_in_units = st->size >> 1; + if(st->size & 1) { + ASN_DEBUG("%s string size is not modulo 2", td->name); + ASN__ENCODE_FAILED; + } + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + size_in_units = st->size >> 2; + if(st->size & 3) { + ASN_DEBUG("%s string size is not modulo 4", td->name); + ASN__ENCODE_FAILED; + } + break; + } + + ASN_DEBUG("Encoding %s into %" ASN_PRI_SIZE " units of %d bits" + " (%ld..%ld, effective %d)%s", + td->name, size_in_units, unit_bits, + csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out whether size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((ssize_t)size_in_units < csiz->lower_bound + || (ssize_t)size_in_units > csiz->upper_bound) { + if(ct_extensible) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + inext = 1; + } else { + ASN__ENCODE_FAILED; + } + } + } else { + inext = 0; + } + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + if(csiz->effective_bits >= 0 && !inext) { + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes (%ld), length in %d bits", st->size, + size_in_units - csiz->lower_bound, csiz->effective_bits); + ret = per_put_few_bits(po, size_in_units - csiz->lower_bound, + csiz->effective_bits); + if(ret) ASN__ENCODE_FAILED; + ret = OCTET_STRING_per_put_characters(po, st->buf, size_in_units, bpc, + unit_bits, cval->lower_bound, + cval->upper_bound, pc); + if(ret) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); + + buf = st->buf; + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " in units", size_in_units); + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size_in_units, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "%s", may_save, size_in_units, + need_eom ? ",+EOM" : ""); + + ret = OCTET_STRING_per_put_characters(po, buf, may_save, bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, pc); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save * bpc; + size_in_units -= may_save; + assert(!(may_save & 0x07) || !size_in_units); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size_in_units); + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +OCTET_STRING_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + enum { + OS__BPC_BIT = 0, + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + + (void)opt_codec_ctx; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + + switch(specs->subvariant) { + default: +/* case ASN_OSUBV_ANY: + ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); + RETURN(RC_FAIL); +*/ + case ASN_OSUBV_BIT: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + break; + case ASN_OSUBV_ANY: + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; +/* if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; +*/ + bpc = OS__BPC_CHAR; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + break; + } + + /* + * Allocate the string. + */ + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + cval = &asn_DEF_OCTET_STRING_constraints.value; + unit_bits = canonical_unit_bits; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + if(bpc) { + st->size = csiz->upper_bound * bpc; + } else { + st->size = (csiz->upper_bound + 7) >> 3; + } + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + if (st->size > 2) { /* X.691 #16 NOTE 1 */ + if (aper_get_align(pd) < 0) + RETURN(RC_FAIL); + } + if(bpc) { + ASN_DEBUG("Decoding OCTET STRING size %ld", + csiz->upper_bound); + ret = OCTET_STRING_per_get_characters(pd, st->buf, + csiz->upper_bound, bpc, unit_bits, + cval->lower_bound, cval->upper_bound, pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ASN_DEBUG("Decoding BIT STRING size %ld", + csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, + unit_bits * csiz->upper_bound); + } + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += unit_bits * csiz->upper_bound; + st->buf[st->size] = 0; + if(bpc == 0) { + int ubs = (csiz->upper_bound & 0x7); + st->bits_unused = ubs ? 8 - ubs : 0; + } + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + if (csiz->upper_bound - csiz->lower_bound == 0) + /* Indefinite length case */ + raw_len = aper_get_length(pd, -1, csiz->effective_bits, &repeat); + else + raw_len = aper_get_length(pd, csiz->upper_bound - csiz->lower_bound + 1, csiz->effective_bits, &repeat); + repeat = 0; + if(raw_len < 0) RETURN(RC_WMORE); + raw_len += csiz->lower_bound; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + + if (raw_len > 2) { /* X.691 #16 NOTE 1 */ + if (aper_get_align(pd) < 0) + RETURN(RC_FAIL); + } + + if(bpc) { + len_bytes = raw_len * bpc; + len_bits = len_bytes * unit_bits; + } else { + len_bits = raw_len; + len_bytes = (len_bits + 7) >> 3; + if(len_bits & 0x7) + st->bits_unused = 8 - (len_bits & 0x7); + /* len_bits be multiple of 16K if repeat is set */ + } + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + if(bpc) { + ret = OCTET_STRING_per_get_characters(pd, + &st->buf[st->size], raw_len, bpc, unit_bits, + cval->lower_bound, cval->upper_bound, pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ret = per_get_many_bits(pd, &st->buf[st->size], + 0, len_bits); + } + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +OCTET_STRING_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + unsigned int sizeinunits; + const uint8_t *buf; + int ret; + enum { + OS__BPC_BIT = 0, + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + switch(specs->subvariant) { + default: + /* case ASN_OSUBV_ANY: + ASN__ENCODE_FAILED; + */ + case ASN_OSUBV_BIT: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + sizeinunits = st->size * 8 - (st->bits_unused & 0x07); + ASN_DEBUG("BIT STRING of %d bytes", + sizeinunits); + break; + case ASN_OSUBV_ANY: + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; +/* if(cval->flags & APC_CONSTRAINED) + unit_bits = 8; +*/ + bpc = OS__BPC_CHAR; + sizeinunits = st->size; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + sizeinunits = st->size / 2; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + sizeinunits = st->size / 4; + break; + } + + ASN_DEBUG("Encoding %s into %d units of %d bits" + " (%ld..%ld, effective %d)%s", + td->name, sizeinunits, unit_bits, + csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out wheter size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((int)sizeinunits < csiz->lower_bound + || (int)sizeinunits > csiz->upper_bound) { + if(ct_extensible) { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + inext = 1; + } else + ASN__ENCODE_FAILED; + } + } else { + inext = 0; + } + + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits >= 0) { + ASN_DEBUG("Encoding %lu bytes (%ld), length in %d bits", + st->size, sizeinunits - csiz->lower_bound, + csiz->effective_bits); + if (csiz->effective_bits > 0) { + ret = aper_put_length(po, csiz->upper_bound - csiz->lower_bound + 1, sizeinunits - csiz->lower_bound); + if(ret) ASN__ENCODE_FAILED; + } + if (st->size > 2) { /* X.691 #16 NOTE 1 */ + if (aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + } + if(bpc) { + ret = OCTET_STRING_per_put_characters(po, st->buf, + sizeinunits, bpc, unit_bits, + cval->lower_bound, cval->upper_bound, pc); + } else { + ret = per_put_many_bits(po, st->buf, + sizeinunits * unit_bits); + } + if(ret) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %lu bytes", st->size); + + if(sizeinunits == 0) { + if(aper_put_length(po, -1, 0)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + buf = st->buf; + while(sizeinunits) { + ssize_t maySave = aper_put_length(po, -1, sizeinunits); + + if(maySave < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %ld of %ld", + (long)maySave, (long)sizeinunits); + + if(bpc) { + ret = OCTET_STRING_per_put_characters(po, buf, + maySave, bpc, unit_bits, + cval->lower_bound, cval->upper_bound, pc); + } else { + ret = per_put_many_bits(po, buf, maySave * unit_bits); + } + if(ret) ASN__ENCODE_FAILED; + + if(bpc) + buf += maySave * bpc; + else + buf += maySave >> 3; + sizeinunits -= maySave; + assert(!(maySave & 0x07) || !sizeinunits); + } + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +int +OCTET_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + char scratch[16 * 3 + 4]; + char *p = scratch; + uint8_t *buf; + uint8_t *end; + size_t i; + + (void)td; /* Unused argument */ + + if(!st || (!st->buf && st->size)) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* + * Dump the contents of the buffer in hexadecimal. + */ + buf = st->buf; + end = buf + st->size; + for(i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + _i_INDENT(1); + p = scratch; + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + + if(p > scratch) { + p--; /* Remove the tail space */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + } + + return 0; +} + +int +OCTET_STRING_print_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, + void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(st && (st->buf || !st->size)) { + return (cb(st->buf, st->size, app_key) < 0) ? -1 : 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} + +void +OCTET_STRING_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + const asn_OCTET_STRING_specifics_t *specs; + asn_struct_ctx_t *ctx; + struct _stack *stck; + + if(!td || !st) + return; + + specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + ASN_DEBUG("Freeing %s as OCTET STRING", td->name); + + if(st->buf) { + FREEMEM(st->buf); + st->buf = 0; + } + + /* + * Remove decode-time stack. + */ + stck = (struct _stack *)ctx->ptr; + if(stck) { + while(stck->tail) { + struct _stack_el *sel = stck->tail; + stck->tail = sel->prev; + FREEMEM(sel); + } + FREEMEM(stck); + } + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(sptr, 0, + td->specifics + ? ((const asn_OCTET_STRING_specifics_t *)(td->specifics)) + ->struct_size + : sizeof(OCTET_STRING_t)); + break; + } +} + +/* + * Conversion routines. + */ +int +OCTET_STRING_fromBuf(OCTET_STRING_t *st, const char *str, int len) { + void *buf; + + if(st == 0 || (str == 0 && len)) { + errno = EINVAL; + return -1; + } + + /* + * Clear the OCTET STRING. + */ + if(str == NULL) { + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + return 0; + } + + /* Determine the original string size, if not explicitly given */ + if(len < 0) + len = strlen(str); + + /* Allocate and fill the memory */ + buf = MALLOC(len + 1); + if(buf == NULL) + return -1; + + memcpy(buf, str, len); + ((uint8_t *)buf)[len] = '\0'; /* Couldn't use memcpy(len+1)! */ + FREEMEM(st->buf); + st->buf = (uint8_t *)buf; + st->size = len; + + return 0; +} + +OCTET_STRING_t * +OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, const char *str, + int len) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + OCTET_STRING_t *st; + + st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); + if(st && str && OCTET_STRING_fromBuf(st, str, len)) { + FREEMEM(st); + st = NULL; + } + + return st; +} + +/* + * Lexicographically compare the common prefix of both strings, + * and if it is the same return -1 for the smallest string. + */ +int +OCTET_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics; + const OCTET_STRING_t *a = aptr; + const OCTET_STRING_t *b = bptr; + + assert(!specs || specs->subvariant != ASN_OSUBV_BIT); + + if(a && b) { + size_t common_prefix_size = a->size <= b->size ? a->size : b->size; + int ret = memcmp(a->buf, b->buf, common_prefix_size); + if(ret == 0) { + /* Figure out which string with equal prefixes is longer. */ + if(a->size < b->size) { + return -1; + } else if(a->size > b->size) { + return 1; + } else { + return 0; + } + } else { + return ret < 0 ? -1 : 1; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } + +} + +/* + * Biased function for randomizing character values around their limits. + */ +static uint32_t +OCTET_STRING__random_char(unsigned long lb, unsigned long ub) { + assert(lb <= ub); + switch(asn_random_between(0, 16)) { + case 0: + if(lb < ub) return lb + 1; + /* Fall through */ + case 1: + return lb; + case 2: + if(lb < ub) return ub - 1; + /* Fall through */ + case 3: + return ub; + default: + return asn_random_between(lb, ub); + } +} + + +size_t +OCTET_STRING_random_length_constrained( + const asn_TYPE_descriptor_t *td, + const asn_encoding_constraints_t *constraints, size_t max_length) { + const unsigned lengths[] = {0, 1, 2, 3, 4, 8, + 126, 127, 128, 16383, 16384, 16385, + 65534, 65535, 65536, 65537}; + size_t rnd_len; + + /* Figure out how far we should go */ + rnd_len = lengths[asn_random_between( + 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; + + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_CONSTRAINED) { + long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length + ? pc->upper_bound + : (ssize_t)max_length; + if(max_length <= (size_t)pc->lower_bound) { + return pc->lower_bound; + } + if(pc->flags & APC_EXTENSIBLE) { + switch(asn_random_between(0, 5)) { + case 0: + if(pc->lower_bound > 0) { + rnd_len = pc->lower_bound - 1; + break; + } + /* Fall through */ + case 1: + rnd_len = pc->upper_bound + 1; + break; + case 2: + /* Keep rnd_len from the table */ + if(rnd_len <= max_length) { + break; + } + /* Fall through */ + default: + rnd_len = asn_random_between(pc->lower_bound, + suggested_upper_bound); + } + } else { + rnd_len = + asn_random_between(pc->lower_bound, suggested_upper_bound); + } + } else { + rnd_len = asn_random_between(0, max_length); + } + } else if(rnd_len > max_length) { + rnd_len = asn_random_between(0, max_length); + } + + return rnd_len; +} + +asn_random_fill_result_t +OCTET_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + unsigned int unit_bytes = 1; + unsigned long clb = 0; /* Lower bound on char */ + unsigned long cub = 255; /* Higher bound on char value */ + uint8_t *buf; + uint8_t *bend; + uint8_t *b; + size_t rnd_len; + OCTET_STRING_t *st; + + if(max_length == 0 && !*sptr) return result_skipped; + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + return result_failed; + case ASN_OSUBV_BIT: + /* Handled by BIT_STRING itself. */ + return result_failed; + case ASN_OSUBV_STR: + unit_bytes = 1; + clb = 0; + cub = 255; + break; + case ASN_OSUBV_U16: + unit_bytes = 2; + clb = 0; + cub = 65535; + break; + case ASN_OSUBV_U32: + unit_bytes = 4; + clb = 0; + cub = 0x10FFFF; + break; + } + + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->value; + if(pc->flags & APC_SEMI_CONSTRAINED) { + clb = pc->lower_bound; + } else if(pc->flags & APC_CONSTRAINED) { + clb = pc->lower_bound; + cub = pc->upper_bound; + } + } + + rnd_len = + OCTET_STRING_random_length_constrained(td, constraints, max_length); + + buf = CALLOC(unit_bytes, rnd_len + 1); + if(!buf) return result_failed; + + bend = &buf[unit_bytes * rnd_len]; + + switch(unit_bytes) { + case 1: + for(b = buf; b < bend; b += unit_bytes) { + *(uint8_t *)b = OCTET_STRING__random_char(clb, cub); + } + *(uint8_t *)b = 0; + break; + case 2: + for(b = buf; b < bend; b += unit_bytes) { + uint32_t code = OCTET_STRING__random_char(clb, cub); + b[0] = code >> 8; + b[1] = code; + } + *(uint16_t *)b = 0; + break; + case 4: + for(b = buf; b < bend; b += unit_bytes) { + uint32_t code = OCTET_STRING__random_char(clb, cub); + b[0] = code >> 24; + b[1] = code >> 16; + b[2] = code >> 8; + b[3] = code; + } + *(uint32_t *)b = 0; + break; + } + + if(*sptr) { + st = *sptr; + FREEMEM(st->buf); + } else { + st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) { + FREEMEM(buf); + return result_failed; + } + } + + st->buf = buf; + st->size = unit_bytes * rnd_len; + + result_ok.length = st->size; + return result_ok; +} diff --git a/asn1c_defs/all-defs/OCTET_STRING.h b/asn1c_defs/all-defs/OCTET_STRING.h new file mode 100755 index 0000000..7cae0ea --- /dev/null +++ b/asn1c_defs/all-defs/OCTET_STRING.h @@ -0,0 +1,102 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _OCTET_STRING_H_ +#define _OCTET_STRING_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OCTET_STRING { + uint8_t *buf; /* Buffer with consecutive OCTET_STRING bits */ + size_t size; /* Size of the buffer */ + + asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ +} OCTET_STRING_t; + +extern asn_TYPE_descriptor_t asn_DEF_OCTET_STRING; +extern asn_TYPE_operation_t asn_OP_OCTET_STRING; + +asn_struct_free_f OCTET_STRING_free; +asn_struct_print_f OCTET_STRING_print; +asn_struct_print_f OCTET_STRING_print_utf8; +asn_struct_compare_f OCTET_STRING_compare; +ber_type_decoder_f OCTET_STRING_decode_ber; +der_type_encoder_f OCTET_STRING_encode_der; +xer_type_decoder_f OCTET_STRING_decode_xer_hex; /* Hexadecimal */ +xer_type_decoder_f OCTET_STRING_decode_xer_binary; /* 01010111010 */ +xer_type_decoder_f OCTET_STRING_decode_xer_utf8; /* ASCII/UTF-8 */ +xer_type_encoder_f OCTET_STRING_encode_xer; +xer_type_encoder_f OCTET_STRING_encode_xer_utf8; +oer_type_decoder_f OCTET_STRING_decode_oer; +oer_type_encoder_f OCTET_STRING_encode_oer; +per_type_decoder_f OCTET_STRING_decode_uper; +per_type_encoder_f OCTET_STRING_encode_uper; +per_type_decoder_f OCTET_STRING_decode_aper; +per_type_encoder_f OCTET_STRING_encode_aper; +asn_random_fill_f OCTET_STRING_random_fill; + +#define OCTET_STRING_constraint asn_generic_no_constraint +#define OCTET_STRING_decode_xer OCTET_STRING_decode_xer_hex + +/****************************** + * Handy conversion routines. * + ******************************/ + +/* + * This function clears the previous value of the OCTET STRING (if any) + * and then allocates a new memory with the specified content (str/size). + * If size = -1, the size of the original string will be determined + * using strlen(str). + * If str equals to NULL, the function will silently clear the + * current contents of the OCTET STRING. + * Returns 0 if it was possible to perform operation, -1 otherwise. + */ +int OCTET_STRING_fromBuf(OCTET_STRING_t *s, const char *str, int size); + +/* Handy conversion from the C string into the OCTET STRING. */ +#define OCTET_STRING_fromString(s, str) OCTET_STRING_fromBuf(s, str, -1) + +/* + * Allocate and fill the new OCTET STRING and return a pointer to the newly + * allocated object. NULL is permitted in str: the function will just allocate + * empty OCTET STRING. + */ +OCTET_STRING_t *OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, + const char *str, int size); + +/**************************** + * Internally useful stuff. * + ****************************/ + +typedef struct asn_OCTET_STRING_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the structure */ + unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ + + enum asn_OS_Subvariant { + ASN_OSUBV_ANY, /* The open type (ANY) */ + ASN_OSUBV_BIT, /* BIT STRING */ + ASN_OSUBV_STR, /* String types, not {BMP,Universal}String */ + ASN_OSUBV_U16, /* 16-bit character (BMPString) */ + ASN_OSUBV_U32 /* 32-bit character (UniversalString) */ + } subvariant; +} asn_OCTET_STRING_specifics_t; + +extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs; + +size_t OCTET_STRING_random_length_constrained( + const asn_TYPE_descriptor_t *, const asn_encoding_constraints_t *, + size_t max_length); + +#ifdef __cplusplus +} +#endif + +#endif /* _OCTET_STRING_H_ */ diff --git a/asn1c_defs/all-defs/OCTET_STRING.o b/asn1c_defs/all-defs/OCTET_STRING.o new file mode 100644 index 0000000000000000000000000000000000000000..93e8e76a48f0bfc7c30edaac81a4c806d3e2e0a6 GIT binary patch literal 36960 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

Q9|NWq&p{)K`!bNsM^Z{+wf1^*4l zu@%fN(cd5AIR57DDEx7bi}Un?ely1>D)i5Aoc^X9U4p)c0BCJLe951UZmgy9G|Y>?{mCF!3Q}$OTiCtyiCCl zaon%qUvOMk@WULZ^K-KN$2eZ8;4J6{VU>bAT~_`@3hv_gVg+Y^z6x1t6}**~yG+4F z|7}w6PEOyf;A=VFs^FskigjzzUZVf5Rp>XIYt^eu!5`sxRKYiLJg(rs;rMz5e~jbZ z3jR39A5`$o9Dhi`pW*n!3f{x<4GO-U6+jD)?@WyA}L3j`(8;~st&xQLI76geBatqT6nJl&<>zvby}1s8GZ1_eKzryo=BO+4MB;Lq^%ZUx`U(*p`F;@3k8{yb0H zcs~{T6nxzZ{syP_DEQkPFH-OiI9{gUBEGCt@XtAYt%85e@m2-5^K_SjyLh@=!8M-V zpx|fm^kWJ>nWuXc`~sfdt>72)^nilX-<757kb;-+bS>{MlqCC~&G8;u6vid+0LKRu z{92A%)ERpE6Vi0?uqn-FF~{B3Ylbi5&veU|aLOxw7f>(;u1k0Wf2Lb4f2QI}__KT? ze4zx$a!!|USvivtlc#%ZUm(m#`*DD~=S4#BPN%$fO4@r2f zgp0fcHA(nV{!BLyeQSKz&Vfp zN}URqz{R=l*A!g*9;bw_Ckc9SetVIEAL2&(u!4)<>4^0(!AG3m_VacS_#tk*%M{$h zJB^r62>M!%Kcdi!^V?#6Cg{a^Y%gzTfs6ClaTT9w>B}~)ea#9S55_&*X5E{_Q(HrG z-8A|`RJLi$>cVxlX-nI2R<>;=C5XHj2XsdzaZHxwu}FA=Q3D3$G&|yO>0>hZkSdvuliDUNS0GKG~rZW-3r+g@%sE1ZywN77vjyE&Rxczen*S-(&d(( z>5;-PGSxDC8?+#mphflNaq<`v4qI@x~)B&UNm11mVd@vCH7bNWR@VmHC`(!IWey>HL zbH-HusrabnuK|{|{GgS;$-1S#J?SUwfvTCU{M|9@{YFkt<>%s~mLCU}t^6Kdekac_ zZXWT#?-AUymEXC}BJdD%TvR?agANeYw%_>}E-}1%Tu{?zT93O$nbjx^t z8KY;Fmf~;1RQqe<`3Hr-lo^+jwEZivZ1sQWK1ObfbH-GEas?v4u)l0&Q_jkT^o@T| ul#B+~Bz&l^s`=@)YP*1J1Ke?}R2-XHf08L%e$S7I3;r$y`_6o+`TrBaV2r~6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/OPEN_TYPE.c b/asn1c_defs/all-defs/OPEN_TYPE.c new file mode 100755 index 0000000..0cf18ef --- /dev/null +++ b/asn1c_defs/all-defs/OPEN_TYPE.c @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include +#include + +asn_TYPE_operation_t asn_OP_OPEN_TYPE = { + OPEN_TYPE_free, + OPEN_TYPE_print, + OPEN_TYPE_compare, + OPEN_TYPE_decode_ber, + OPEN_TYPE_encode_der, + OPEN_TYPE_decode_xer, + OPEN_TYPE_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, 0, /* No OER support, use "-gen-OER" to enable */ +#else + OPEN_TYPE_decode_oer, + OPEN_TYPE_encode_oer, +#endif +#ifdef ASN_DISABLE_PER_SUPPORT + 0, 0, 0, 0, +#else + OPEN_TYPE_decode_uper, + OPEN_TYPE_encode_uper, + OPEN_TYPE_decode_aper, + OPEN_TYPE_encode_aper, +#endif + 0, /* Random fill is not supported for open type */ + 0 /* Use generic outmost tag fetcher */ +}; + +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +asn_dec_rval_t +OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, const void *ptr, size_t size) { + size_t consumed_myself = 0; + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + ASN_DEBUG("presence %d\n", selected.presence_index); + + rv = selected.type_descriptor->op->ber_decoder( + opt_codec_ctx, selected.type_descriptor, &inner_value, ptr, size, + elm->tag_mode); + ADVANCE(rv.consumed); + rv.consumed = 0; + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + rv.code = RC_OK; + rv.consumed = consumed_myself; + return rv; + } else { + /* Oh, now a full-blown failure failure */ + } + /* Fall through */ + case RC_FAIL: + rv.consumed = consumed_myself; + /* Fall through */ + case RC_WMORE: + break; + } + + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + return rv; +} + +asn_dec_rval_t +OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, const void *ptr, size_t size) { + size_t consumed_myself = 0; + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + int xer_context = 0; + ssize_t ch_size; + pxer_chunk_type_e ch_type; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + /* + * Confirm wrapper. + */ + for(;;) { + ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); + if(ch_size < 0) { + ASN__DECODE_FAILED; + } else { + switch(ch_type) { + case PXER_WMORE: + ASN__DECODE_STARVED; + case PXER_COMMENT: + case PXER_TEXT: + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; + } + break; + } + } + + /* + * Wrapper value confirmed. + */ + switch(xer_check_tag(ptr, ch_size, elm->name)) { + case XCT_OPENING: + ADVANCE(ch_size); + break; + case XCT_BROKEN: + default: + ASN__DECODE_FAILED; + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = selected.type_descriptor->op->xer_decoder( + opt_codec_ctx, selected.type_descriptor, &inner_value, NULL, ptr, size); + ADVANCE(rv.consumed); + rv.consumed = 0; + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_FAIL: + /* Point to a best position where failure occurred */ + rv.consumed = consumed_myself; + /* Fall through */ + case RC_WMORE: + /* Wrt. rv.consumed==0: + * In case a genuine RC_WMORE, the whole Open Type decoding + * will have to be restarted. + */ + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + return rv; + } + + /* + * Finalize wrapper. + */ + for(;;) { + ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); + if(ch_size < 0) { + ASN__DECODE_FAILED; + } else { + switch(ch_type) { + case PXER_WMORE: + ASN__DECODE_STARVED; + case PXER_COMMENT: + case PXER_TEXT: + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; + } + break; + } + } + + /* + * Wrapper value confirmed. + */ + switch(xer_check_tag(ptr, ch_size, elm->name)) { + case XCT_CLOSING: + ADVANCE(ch_size); + break; + case XCT_BROKEN: + default: + ASN__DECODE_FAILED; + } + + rv.consumed += consumed_myself; + + return rv; +} + + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, asn_per_data_t *pd) { + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = uper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, + &inner_value, pd); + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_WMORE: + case RC_FAIL: + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + } + return rv; +} + +asn_enc_rval_t +OPEN_TYPE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const void *memb_ptr; /* Pointer to the member */ + asn_TYPE_member_t *elm; /* CHOICE's element */ + asn_enc_rval_t er = {0,0,0}; + unsigned present; + + (void)constraints; + + present = CHOICE_variant_get_presence(td, sptr); + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + present--; + } + + ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(uper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { + ASN__ENCODE_FAILED; + } + + er.encoded = 0; + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, asn_per_data_t *pd) { + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = aper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, + &inner_value, pd); + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_WMORE: + case RC_FAIL: + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + } + return rv; +} + +asn_enc_rval_t +OPEN_TYPE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const void *memb_ptr; /* Pointer to the member */ + asn_TYPE_member_t *elm; /* CHOICE's element */ + asn_enc_rval_t er = {0,0,0}; + unsigned present; + + (void)constraints; + + present = CHOICE_variant_get_presence(td, sptr); + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + present--; + } + + ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(aper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { + ASN__ENCODE_FAILED; + } + + er.encoded = 0; + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ diff --git a/asn1c_defs/all-defs/OPEN_TYPE.h b/asn1c_defs/all-defs/OPEN_TYPE.h new file mode 100755 index 0000000..41d6427 --- /dev/null +++ b/asn1c_defs/all-defs/OPEN_TYPE.h @@ -0,0 +1,77 @@ +/*- + * Copyright (c) 2017-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_OPEN_TYPE_H +#define ASN_OPEN_TYPE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define OPEN_TYPE_free CHOICE_free +#define OPEN_TYPE_print CHOICE_print +#define OPEN_TYPE_compare CHOICE_compare +#define OPEN_TYPE_constraint CHOICE_constraint +#define OPEN_TYPE_decode_ber NULL +#define OPEN_TYPE_encode_der CHOICE_encode_der +#define OPEN_TYPE_decode_xer NULL +#define OPEN_TYPE_encode_xer CHOICE_encode_xer +#define OPEN_TYPE_decode_oer NULL +#define OPEN_TYPE_encode_oer CHOICE_encode_oer +#define OPEN_TYPE_decode_uper NULL +#define OPEN_TYPE_decode_aper NULL + +extern asn_TYPE_operation_t asn_OP_OPEN_TYPE; + +/* + * Decode an Open Type which is potentially constraiend + * by the other members of the parent structure. + */ +asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *parent_type, + void *parent_structure, + const asn_TYPE_member_t *element, + const void *ptr, size_t size); + +asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *parent_type, + void *parent_structure, + const asn_TYPE_member_t *element, + const void *ptr, size_t size); + +asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *parent_type, + void *parent_structure, + asn_TYPE_member_t *element, const void *ptr, + size_t size); + +asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *parent_type, + void *parent_structure, + const asn_TYPE_member_t *element, + asn_per_data_t *pd); + +asn_dec_rval_t OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *parent_type, + void *parent_structure, + const asn_TYPE_member_t *element, + asn_per_data_t *pd); + +asn_enc_rval_t OPEN_TYPE_encode_uper( + const asn_TYPE_descriptor_t *type_descriptor, + const asn_per_constraints_t *constraints, const void *struct_ptr, + asn_per_outp_t *per_output); + +asn_enc_rval_t OPEN_TYPE_encode_aper( + const asn_TYPE_descriptor_t *type_descriptor, + const asn_per_constraints_t *constraints, const void *struct_ptr, + asn_per_outp_t *per_output); + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_OPEN_TYPE_H */ diff --git a/asn1c_defs/all-defs/OPEN_TYPE.o b/asn1c_defs/all-defs/OPEN_TYPE.o new file mode 100644 index 0000000000000000000000000000000000000000..170858a177a1cbb3318b3983861437fcf1c79c24 GIT binary patch literal 7128 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.c b/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.c new file mode 100755 index 0000000..d938073 --- /dev/null +++ b/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "OffsetOfNbiotChannelNumberToEARFCN.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_OffsetOfNbiotChannelNumberToEARFCN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 20 } /* (0..20,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_OffsetOfNbiotChannelNumberToEARFCN_value2enum_1[] = { + { 0, 8, "minusTen" }, + { 1, 9, "minusNine" }, + { 2, 10, "minusEight" }, + { 3, 10, "minusSeven" }, + { 4, 8, "minusSix" }, + { 5, 9, "minusFive" }, + { 6, 9, "minusFour" }, + { 7, 10, "minusThree" }, + { 8, 8, "minusTwo" }, + { 9, 8, "minusOne" }, + { 10, 16, "minusZeroDotFive" }, + { 11, 4, "zero" }, + { 12, 3, "one" }, + { 13, 3, "two" }, + { 14, 5, "three" }, + { 15, 4, "four" }, + { 16, 4, "five" }, + { 17, 3, "six" }, + { 18, 5, "seven" }, + { 19, 5, "eight" }, + { 20, 4, "nine" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_OffsetOfNbiotChannelNumberToEARFCN_enum2value_1[] = { + 19, /* eight(19) */ + 16, /* five(16) */ + 15, /* four(15) */ + 2, /* minusEight(2) */ + 5, /* minusFive(5) */ + 6, /* minusFour(6) */ + 1, /* minusNine(1) */ + 9, /* minusOne(9) */ + 3, /* minusSeven(3) */ + 4, /* minusSix(4) */ + 0, /* minusTen(0) */ + 7, /* minusThree(7) */ + 8, /* minusTwo(8) */ + 10, /* minusZeroDotFive(10) */ + 20, /* nine(20) */ + 12, /* one(12) */ + 18, /* seven(18) */ + 17, /* six(17) */ + 14, /* three(14) */ + 13, /* two(13) */ + 11 /* zero(11) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_OffsetOfNbiotChannelNumberToEARFCN_specs_1 = { + asn_MAP_OffsetOfNbiotChannelNumberToEARFCN_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_OffsetOfNbiotChannelNumberToEARFCN_enum2value_1, /* N => "tag"; sorted by N */ + 21, /* Number of elements in the maps */ + 22, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetOfNbiotChannelNumberToEARFCN = { + "OffsetOfNbiotChannelNumberToEARFCN", + "OffsetOfNbiotChannelNumberToEARFCN", + &asn_OP_NativeEnumerated, + asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1, + sizeof(asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1) + /sizeof(asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1[0]), /* 1 */ + asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1) + /sizeof(asn_DEF_OffsetOfNbiotChannelNumberToEARFCN_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_OffsetOfNbiotChannelNumberToEARFCN_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_OffsetOfNbiotChannelNumberToEARFCN_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.h b/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.h new file mode 100755 index 0000000..b2a1320 --- /dev/null +++ b/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.h @@ -0,0 +1,71 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _OffsetOfNbiotChannelNumberToEARFCN_H_ +#define _OffsetOfNbiotChannelNumberToEARFCN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum OffsetOfNbiotChannelNumberToEARFCN { + OffsetOfNbiotChannelNumberToEARFCN_minusTen = 0, + OffsetOfNbiotChannelNumberToEARFCN_minusNine = 1, + OffsetOfNbiotChannelNumberToEARFCN_minusEight = 2, + OffsetOfNbiotChannelNumberToEARFCN_minusSeven = 3, + OffsetOfNbiotChannelNumberToEARFCN_minusSix = 4, + OffsetOfNbiotChannelNumberToEARFCN_minusFive = 5, + OffsetOfNbiotChannelNumberToEARFCN_minusFour = 6, + OffsetOfNbiotChannelNumberToEARFCN_minusThree = 7, + OffsetOfNbiotChannelNumberToEARFCN_minusTwo = 8, + OffsetOfNbiotChannelNumberToEARFCN_minusOne = 9, + OffsetOfNbiotChannelNumberToEARFCN_minusZeroDotFive = 10, + OffsetOfNbiotChannelNumberToEARFCN_zero = 11, + OffsetOfNbiotChannelNumberToEARFCN_one = 12, + OffsetOfNbiotChannelNumberToEARFCN_two = 13, + OffsetOfNbiotChannelNumberToEARFCN_three = 14, + OffsetOfNbiotChannelNumberToEARFCN_four = 15, + OffsetOfNbiotChannelNumberToEARFCN_five = 16, + OffsetOfNbiotChannelNumberToEARFCN_six = 17, + OffsetOfNbiotChannelNumberToEARFCN_seven = 18, + OffsetOfNbiotChannelNumberToEARFCN_eight = 19, + OffsetOfNbiotChannelNumberToEARFCN_nine = 20 + /* + * Enumeration is extensible + */ +} e_OffsetOfNbiotChannelNumberToEARFCN; + +/* OffsetOfNbiotChannelNumberToEARFCN */ +typedef long OffsetOfNbiotChannelNumberToEARFCN_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_OffsetOfNbiotChannelNumberToEARFCN; +asn_struct_free_f OffsetOfNbiotChannelNumberToEARFCN_free; +asn_struct_print_f OffsetOfNbiotChannelNumberToEARFCN_print; +asn_constr_check_f OffsetOfNbiotChannelNumberToEARFCN_constraint; +ber_type_decoder_f OffsetOfNbiotChannelNumberToEARFCN_decode_ber; +der_type_encoder_f OffsetOfNbiotChannelNumberToEARFCN_encode_der; +xer_type_decoder_f OffsetOfNbiotChannelNumberToEARFCN_decode_xer; +xer_type_encoder_f OffsetOfNbiotChannelNumberToEARFCN_encode_xer; +per_type_decoder_f OffsetOfNbiotChannelNumberToEARFCN_decode_uper; +per_type_encoder_f OffsetOfNbiotChannelNumberToEARFCN_encode_uper; +per_type_decoder_f OffsetOfNbiotChannelNumberToEARFCN_decode_aper; +per_type_encoder_f OffsetOfNbiotChannelNumberToEARFCN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _OffsetOfNbiotChannelNumberToEARFCN_H_ */ +#include diff --git a/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.o b/asn1c_defs/all-defs/OffsetOfNbiotChannelNumberToEARFCN.o new file mode 100644 index 0000000000000000000000000000000000000000..770031cdb6ddf8d0f62d1896c363c6ad57212f72 GIT binary patch literal 4040 zcmbuB&u?2r5XU!lq2XuK@>n-sCqHa?m98V??ryk zX@kVi3miC5BqSsx1Q*Uda_oUa#i@Tnk6gLsfYi=+cP3fJwvwtNt#{_LGqdw{-|q95 z_4gac=H`sZoO#zASVE1t^VESJJ2f^7=A?O?^vAe4%svuI44pclpGDhKgB}7_4)J}C#uuoaq;`xN)(UHeI-a0b zqIR4bOYEM$b`aMnUG__OIo~8B-wO|{_nv@p^y-4k0pA++jBJrp(6g&e2HHL!c zfM_nyrt@PRAUZ$R2BJCE2BPyzUg^EpLA>S?k39)R)>Z12G3)_Ep3hr;FQ#$q6GWcR zTYmqc>-mRnuddr28DAgV z@T@V|VaG-`9(mT@99f3#>zQY(lJBY=Wf!u-#eGJ)$!Me?x57pBk)@BMIZctf8LcZJ zMM>u3%F0{i%H{4jEym?Hqot^Nt~Pd7?TgxSR9%W{XFd0iKl2yw^KtX<{b>%R8K zPV8hvX<}ErPibOzh3j20<~16cb0^;W$o^b$TuzxWEkA5-I)3mrSD2$K1$hEY{J>xM zU!=?tj~VRoLI2P36Q<0(%{{u(#HsUxC3iywj;xlZ+)_(4&#B<;++^PlaXABFrt34f zIs5|=^-PkdoeT9w=Wypvk!<9hnu}=F*E+@SwmnK%FH7@c#DVLrm7~Pu+qNfjeQ>^Y zl#rcdYit*7Iv(;=M~p+nq6_A@qpgNphSgT5nG|#;>y*TflEPkde8Z-8H0X8GtmB_P z8KgzHXV7Wef?f9CvuRxR9R6~r!S4)yNWkT;hAr>A<}n6Iz{9)plB1r>-3at?z~#1Ffte5PM`{A*#4R@mrb^YXd8NP3@2U60tmMDbV~ z`Tr&9Vo_Aj%e+rtAq^}%gBXnQLn7zJTgH?{;r?~%=c(!VAC#Y%dj2uIIl^93to1Ta)#_O#}Fb$Kt^KC7$Ru+xQQUe*-eV+;{I0LoNK;k>(}l z0_9u@FN?zcN7Tc0qJEBFR*B0TC*2w;)9Rn+3#`KNs2{cK`adCtsr35qaY293SSVbU zivh>|09J(&$gljz2>Tm~j{k-Rg@t~9b9~64YhT!EiCoBCj=#qNxI6IQTt7dSNv}N; Z+~NauQ%$H$mvdTtl|NEHB3U3h{sBT@R`&n^ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Old-ECGIs.c b/asn1c_defs/all-defs/Old-ECGIs.c new file mode 100755 index 0000000..38fdea5 --- /dev/null +++ b/asn1c_defs/all-defs/Old-ECGIs.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Old-ECGIs.h" + +#include "ECGI.h" +static asn_per_constraints_t asn_PER_type_Old_ECGIs_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Old_ECGIs_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Old_ECGIs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Old_ECGIs_specs_1 = { + sizeof(struct Old_ECGIs), + offsetof(struct Old_ECGIs, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Old_ECGIs = { + "Old-ECGIs", + "Old-ECGIs", + &asn_OP_SEQUENCE_OF, + asn_DEF_Old_ECGIs_tags_1, + sizeof(asn_DEF_Old_ECGIs_tags_1) + /sizeof(asn_DEF_Old_ECGIs_tags_1[0]), /* 1 */ + asn_DEF_Old_ECGIs_tags_1, /* Same as above */ + sizeof(asn_DEF_Old_ECGIs_tags_1) + /sizeof(asn_DEF_Old_ECGIs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Old_ECGIs_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_Old_ECGIs_1, + 1, /* Single element */ + &asn_SPC_Old_ECGIs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Old-ECGIs.h b/asn1c_defs/all-defs/Old-ECGIs.h new file mode 100755 index 0000000..23789e4 --- /dev/null +++ b/asn1c_defs/all-defs/Old-ECGIs.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Old_ECGIs_H_ +#define _Old_ECGIs_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* Old-ECGIs */ +typedef struct Old_ECGIs { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Old_ECGIs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Old_ECGIs; + +#ifdef __cplusplus +} +#endif + +#endif /* _Old_ECGIs_H_ */ +#include diff --git a/asn1c_defs/all-defs/Old-ECGIs.o b/asn1c_defs/all-defs/Old-ECGIs.o new file mode 100644 index 0000000000000000000000000000000000000000..98cc0237a32ee8640fdc0b7a4a3424d6c4d84827 GIT binary patch literal 2280 zcmbtU&2G~`5Z=@j3ba6PNLMDa#yFVGXu zP$V7ziA#?hIdbI4Yw!eRW_NZy-8vk~NZ$G8o4@sXydRUN^_faVSgDBnqOdG0#MjvZ z#~Q|BLClLP;H!nJ6djS2IcI>JqX+%2w*$x)(%jx$PHK(Ec|rXX`DJ{2TJmY);%UWB z!RuO$TJ3JQ)ZLg2)FiwkS7miMnrJKf5Ut7Ts*G+KergANk2B)WQCUDxoc1wyAn>c4 zlt2V0Nnir#P$q$3Lqh=zpey2>3%8j!G(RIk^0Y|TH9sr%$$m-tmFA0m&J&L+VD%Xd z{CRFV9OwyjrUnYuMYjJfa(@DSg)mp2r|{pV@WKtU?1?NNqz{vN3S6p(J5|}+JdL!Y zm9$f}H|jHQZ#c-+nEcNkw3*A~bXqmW<)ePjRy)>4*KfAcPV&5)tk;sXSr?t;1*p`t z$leW<+a2!Ay)w=f|GM}Oqxif%E95Wh2(#Eb1Nn=LUn1=DG2?LxL$V(+-u6Pu&JWf( z3(r10C~x#?_Q|LDfboljQT<{(zV8LHh0OPMRJH+Hjg8*2NcDG>keivxgxtt;A;&{B zFfx)6nEmZcyAfHhkiFr~P9M%&4u+~P8|&TWTxGrYw&DNjYmjcwf>(;U!7#>hxef+$ z{LIiF;{q}=%B`V82HXUNGvenTdU4kD``-o!aw|4~w9V%;gf5$JbxfS!{|E3Wzm0Nh z=#T;TK;c~#8`G^-y1?eB5zYtBiTxk!oIe2$Ly8*<43GoLqcVns)wkQgVQAGw81RMi z@qD-t?atvfI4#HHewL9Xu^8s>9qZWqL#l({;SxOl`{T{)pFL1wm&osEF!8sA|72PI M8eKyEZ{p|w1$$qTxc~qF literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Oneframe.c b/asn1c_defs/all-defs/Oneframe.c new file mode 100755 index 0000000..e920c98 --- /dev/null +++ b/asn1c_defs/all-defs/Oneframe.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Oneframe.h" + +int +Oneframe_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 6)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Oneframe_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Oneframe_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Oneframe = { + "Oneframe", + "Oneframe", + &asn_OP_BIT_STRING, + asn_DEF_Oneframe_tags_1, + sizeof(asn_DEF_Oneframe_tags_1) + /sizeof(asn_DEF_Oneframe_tags_1[0]), /* 1 */ + asn_DEF_Oneframe_tags_1, /* Same as above */ + sizeof(asn_DEF_Oneframe_tags_1) + /sizeof(asn_DEF_Oneframe_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Oneframe_constr_1, Oneframe_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Oneframe.h b/asn1c_defs/all-defs/Oneframe.h new file mode 100755 index 0000000..4ddbd2b --- /dev/null +++ b/asn1c_defs/all-defs/Oneframe.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Oneframe_H_ +#define _Oneframe_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Oneframe */ +typedef BIT_STRING_t Oneframe_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Oneframe_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Oneframe; +asn_struct_free_f Oneframe_free; +asn_struct_print_f Oneframe_print; +asn_constr_check_f Oneframe_constraint; +ber_type_decoder_f Oneframe_decode_ber; +der_type_encoder_f Oneframe_encode_der; +xer_type_decoder_f Oneframe_decode_xer; +xer_type_encoder_f Oneframe_encode_xer; +per_type_decoder_f Oneframe_decode_uper; +per_type_encoder_f Oneframe_encode_uper; +per_type_decoder_f Oneframe_decode_aper; +per_type_encoder_f Oneframe_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Oneframe_H_ */ +#include diff --git a/asn1c_defs/all-defs/Oneframe.o b/asn1c_defs/all-defs/Oneframe.o new file mode 100644 index 0000000000000000000000000000000000000000..76a4bf57bd49d0ce8fccb05ade21eee83570db8f GIT binary patch literal 2864 zcmbtV&2Jl35Fckt;x@r?S`Lwl)D>zWk;tpJjYO16m5Y;jBbmfX(kcRp&Bk6g365Q5 z*Hz1b7KKQ)q9QKb5#kTv&LxN=98gY39H_X$f%brUK!lmMZ`Lm_OD~*HS zlLxbvxxP#Wm@;r3dK#kufA#m|q7;iT0(o%v{$8H%9?o}vjOy<%1s@!xv@%_HX6g@1I!C zue-kwxZ^*&yU+VO-;#Ow!b3{oa_XOC>Np)%*gB_DJBNRKLyj8JR){nx5&IG;7Wgxn z8)gvVvLCjbnpY1R;bp(soRGp|D`@Qa+kvRTrEuE5>o+@r-D*en?ajME%N|4UQhi+7 zYVB4S?f9Fm$Zq(X&7huGIf+^GMY?%brv9Q>-8Mu@xm23A$8N57T2aS-M@)*sgwv6l z^NBMh3X{Sak8yZS1!q29g3P^q=KRn=_6saNiTLZv_9gL|Tz<}yC zZ$$gv4e1TAiaf7moo%5qqV>P3j9uhu{=kkFIP)igcsfkYN6VH+-Crq z7j!!R#3SYCin0?G$U%~PO=+;duAgegN10CmH5`I?s5F1r8;l0}k zF!n!qQNzzEnV75LT#KMJ4d)p^kgag)!?Bqv!u#8izYYS2Ud%UG+6kJzh=O|&h`Jy7 zAlAbW#7>(Oa(BekaTTwEjFAo~u@ywEy}cc@FcHq&K$I75PK1$P`$+i*8=jobYL73& zYz*eJ(DM|P!taJ{dhZB3k3X6XMf~YBrk?hi0_kp09X@|P*EbbzPPiwC6IElDtac*B z!rRCwrx{jL#jmOTf3C%nXvY5sU?Cp$ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PA-Values.c b/asn1c_defs/all-defs/PA-Values.c new file mode 100755 index 0000000..145f69c --- /dev/null +++ b/asn1c_defs/all-defs/PA-Values.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PA-Values.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PA_Values_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_PA_Values_value2enum_1[] = { + { 0, 4, "dB-6" }, + { 1, 9, "dB-4dot77" }, + { 2, 4, "dB-3" }, + { 3, 9, "dB-1dot77" }, + { 4, 3, "dB0" }, + { 5, 3, "dB1" }, + { 6, 3, "dB2" }, + { 7, 3, "dB3" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PA_Values_enum2value_1[] = { + 3, /* dB-1dot77(3) */ + 2, /* dB-3(2) */ + 1, /* dB-4dot77(1) */ + 0, /* dB-6(0) */ + 4, /* dB0(4) */ + 5, /* dB1(5) */ + 6, /* dB2(6) */ + 7 /* dB3(7) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PA_Values_specs_1 = { + asn_MAP_PA_Values_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PA_Values_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PA_Values_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PA_Values = { + "PA-Values", + "PA-Values", + &asn_OP_NativeEnumerated, + asn_DEF_PA_Values_tags_1, + sizeof(asn_DEF_PA_Values_tags_1) + /sizeof(asn_DEF_PA_Values_tags_1[0]), /* 1 */ + asn_DEF_PA_Values_tags_1, /* Same as above */ + sizeof(asn_DEF_PA_Values_tags_1) + /sizeof(asn_DEF_PA_Values_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PA_Values_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PA_Values_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PA-Values.h b/asn1c_defs/all-defs/PA-Values.h new file mode 100755 index 0000000..ccce2be --- /dev/null +++ b/asn1c_defs/all-defs/PA-Values.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PA_Values_H_ +#define _PA_Values_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PA_Values { + PA_Values_dB_6 = 0, + PA_Values_dB_4dot77 = 1, + PA_Values_dB_3 = 2, + PA_Values_dB_1dot77 = 3, + PA_Values_dB0 = 4, + PA_Values_dB1 = 5, + PA_Values_dB2 = 6, + PA_Values_dB3 = 7 + /* + * Enumeration is extensible + */ +} e_PA_Values; + +/* PA-Values */ +typedef long PA_Values_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PA_Values_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PA_Values; +extern const asn_INTEGER_specifics_t asn_SPC_PA_Values_specs_1; +asn_struct_free_f PA_Values_free; +asn_struct_print_f PA_Values_print; +asn_constr_check_f PA_Values_constraint; +ber_type_decoder_f PA_Values_decode_ber; +der_type_encoder_f PA_Values_encode_der; +xer_type_decoder_f PA_Values_decode_xer; +xer_type_encoder_f PA_Values_encode_xer; +per_type_decoder_f PA_Values_decode_uper; +per_type_encoder_f PA_Values_encode_uper; +per_type_decoder_f PA_Values_decode_aper; +per_type_encoder_f PA_Values_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PA_Values_H_ */ +#include diff --git a/asn1c_defs/all-defs/PA-Values.o b/asn1c_defs/all-defs/PA-Values.o new file mode 100644 index 0000000000000000000000000000000000000000..0180d70565f24b11f2019ae72cd3d89bf1a1e10a GIT binary patch literal 2936 zcmbtWJ#Q015MAfOHzb4#goKU;j6_a8$089(=t6LU5CkhIP+l(fDG9{q$ajuN1Ci(v zWy<^lL`j)41qDAL;ukAC%wqZn*|pipSJ7rCPF3U4jy&It>^Nx~ziW>IS+(Uv|&QgDln#AYq@E+ruBKa80 z6x0H-<54HXj+Z#`=TZ3@VB0*_1+jTqtIey0xw-ppae1|qWF2?ft9YeJzoU`=-kH@R9%2DTg2|^8O6Z%Hxu62&sCViQ0Q+*;ZVeDIt zonJ`zi$B!y-E|c?Uj2Iryt<0gBz#<*4{Nhw{y2nLw3ddxc08Z08IEl{9_2XcH2b>Y zDC-z@_YAAYdr=D)qikb4u2O8=j~VFKcr~Qo0q_QG2i8eww#LcEsjo55bQcLtJGWyySwC{j~W2P7?4kCh!wy;a~&VJ!#ZMznKjq#qv-(dXJ;){$AE&eX! zBa1IF{$ueK#>z`~npw0;I&0^8U92pAmnp9iWs&k$(^Prw762lB&nFmfM%oQaycSJ4 z-e#*Fk-y$*Hem;TPfuK^mR(dUdwwdqXlAE8nLF_BmmBSuLBN} zb7rVqF<9RwjeB9|f41TT+VkW5z?CI{wdBuOyyS}x$Pe3||A;t<+{YX#<%+@j0cpJ1 z0b^0S{1G28agj7AtQ8{P=~J>Xzx>|92U+0)1C6?!+cmZIn)-hA?{mI(8ab|E!(5`) zul|59#4nCV{ixlp{|#}Nszl9{eO{1!U*faNO35Ld#6W+yH-w#bEO5WjA50!{0)A)5 ksM+=7t+LOaD7D8w#6JNHvFFFz*e}1te`G!yxiIbgzt1tmng9R* literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PCI.c b/asn1c_defs/all-defs/PCI.c new file mode 100755 index 0000000..bd805ea --- /dev/null +++ b/asn1c_defs/all-defs/PCI.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PCI.h" + +int +PCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 503)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PCI_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 0, 503 } /* (0..503,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PCI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PCI = { + "PCI", + "PCI", + &asn_OP_NativeInteger, + asn_DEF_PCI_tags_1, + sizeof(asn_DEF_PCI_tags_1) + /sizeof(asn_DEF_PCI_tags_1[0]), /* 1 */ + asn_DEF_PCI_tags_1, /* Same as above */ + sizeof(asn_DEF_PCI_tags_1) + /sizeof(asn_DEF_PCI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PCI_constr_1, PCI_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/PCI.h b/asn1c_defs/all-defs/PCI.h new file mode 100755 index 0000000..def1554 --- /dev/null +++ b/asn1c_defs/all-defs/PCI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PCI_H_ +#define _PCI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PCI */ +typedef long PCI_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PCI_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PCI; +asn_struct_free_f PCI_free; +asn_struct_print_f PCI_print; +asn_constr_check_f PCI_constraint; +ber_type_decoder_f PCI_decode_ber; +der_type_encoder_f PCI_encode_der; +xer_type_decoder_f PCI_decode_xer; +xer_type_encoder_f PCI_encode_xer; +per_type_decoder_f PCI_decode_uper; +per_type_encoder_f PCI_encode_uper; +per_type_decoder_f PCI_decode_aper; +per_type_encoder_f PCI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PCI_H_ */ +#include diff --git a/asn1c_defs/all-defs/PCI.o b/asn1c_defs/all-defs/PCI.o new file mode 100644 index 0000000000000000000000000000000000000000..b0ebcc2c379eba005dbf7bad1830f7a925f44afd GIT binary patch literal 2624 zcmbVO%}-N75Z_W21T2MkXhh{5L`#%~M@U2tq@)xcNdt`rzc`df`}ndSr0&En( zOUPQeZuy2)`)SqwTD4E+?&#tE$8uTrdvdMpy%YOo`*bi{ZV ziH%00$>vB?s%1(blo+6JALrPQz@CHyPatDq_zRLSj1(kcc0LG(QIx|>8I7PrOjJoA z>WEYgIbrZb-YzV$~ zWxq>A8v`9BTUAfMX;rN*=1Wj%Y*&69{YQNi&g zlH(98Du>;9M1VXAcurMZ)(r7>%0(3;8*#}+D1Hi_Q1A}2QCSM!rr-wISO@&-!rhIc zXU{VZFORR6q*ZYWHus!$kMX?i*^JM-F5{IlI+$*9=$=Rt2v{=8c&=P5IwfGjOXu*3 zshM8avvbcV-&x8oRP3TtU&VhL1~9Q^`i)Egh9b|g@0~oeoe;pgnve;k-_Zr0BOiON z_D1&WCgJ+avP-=B`6u5XEfv0p*l(R5#mNFhhw+#rHlXE7{;Y;ezSJq=>+`>)ge8q{ zXnq3xp!&(DbBFS=e%K@2D~hb&G}t)Ru`>z&SDK&N0EjQTkM|8z`zbEf0r9cEst_zV zh|j?%G4!Rx^aW8s&&BhFn4T{AmK>0@+`oiZ!3e6~4n7(nvQAh(e2*kw;z4sGZ;lqU oM+=SshVOyS$Nzow-UGzqRA?6+MfCmS8y3XhrS)$rTr_q5KYW4n+5i9m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PDCP-SN.c b/asn1c_defs/all-defs/PDCP-SN.c new file mode 100755 index 0000000..2de4b8c --- /dev/null +++ b/asn1c_defs/all-defs/PDCP-SN.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PDCP-SN.h" + +int +PDCP_SN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PDCP_SN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PDCP_SN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PDCP_SN = { + "PDCP-SN", + "PDCP-SN", + &asn_OP_NativeInteger, + asn_DEF_PDCP_SN_tags_1, + sizeof(asn_DEF_PDCP_SN_tags_1) + /sizeof(asn_DEF_PDCP_SN_tags_1[0]), /* 1 */ + asn_DEF_PDCP_SN_tags_1, /* Same as above */ + sizeof(asn_DEF_PDCP_SN_tags_1) + /sizeof(asn_DEF_PDCP_SN_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PDCP_SN_constr_1, PDCP_SN_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/PDCP-SN.h b/asn1c_defs/all-defs/PDCP-SN.h new file mode 100755 index 0000000..e9c8a40 --- /dev/null +++ b/asn1c_defs/all-defs/PDCP-SN.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PDCP_SN_H_ +#define _PDCP_SN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PDCP-SN */ +typedef long PDCP_SN_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PDCP_SN_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PDCP_SN; +asn_struct_free_f PDCP_SN_free; +asn_struct_print_f PDCP_SN_print; +asn_constr_check_f PDCP_SN_constraint; +ber_type_decoder_f PDCP_SN_decode_ber; +der_type_encoder_f PDCP_SN_encode_der; +xer_type_decoder_f PDCP_SN_decode_xer; +xer_type_encoder_f PDCP_SN_encode_xer; +per_type_decoder_f PDCP_SN_decode_uper; +per_type_encoder_f PDCP_SN_encode_uper; +per_type_decoder_f PDCP_SN_decode_aper; +per_type_encoder_f PDCP_SN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PDCP_SN_H_ */ +#include diff --git a/asn1c_defs/all-defs/PDCP-SN.o b/asn1c_defs/all-defs/PDCP-SN.o new file mode 100644 index 0000000000000000000000000000000000000000..bf3f6720c8cb2e2d45a0495a531e291fd33b3660 GIT binary patch literal 2744 zcmbVO&1)1{5Uzj+PmNy+08R80VM|+or$(EjDt}T1>4S~^Wo0NGTjs6 z9@Z5V8AS2V@PF_kEbMw*a$4}>QBVZ;;At^dy{_tcd1*aZLw8mEs($aiuJ>Lsw`Z$o zhH^O&$-zk&c!C0~Z6DYrZI)mZis0SMKIM|7;wX-9E4SZT-3VzAN-7t$z?@uk_f#_YYY{jH2_WQ5?e z|GESRHv{jDUzt7Q6XMU+{5V*O zd>2%;JVmc#^m0L>gL?uNQTylXel3XccAaa-;ZoSuV14$2AK&^lOs7Z&!AamJUXS#H z|C1}fF>T<~fdmf>ocf30EdwtYIK#S$I?pC9H6(nDb4iV}P59tc0Ze=b zFB$k=wn=#gE^`s&Fiv%#ClwXlYQ@1kDC|y&UKXnxHUkxhYcZ&WAPzvyM-ixQha5_G z)rrk6ZmQMiq=J}YRFOCE=zW7vZ%yx;bM zI4C^Hy~lhzUHG0PvX<``_%<3@_4|kGCv~FwQGXM@;ItllZiL_lgRgkO^f!v`j?Jgu fW$!&gP~t*AAjc5<`$sXB#edD~e{68cwE3R^b0hname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 32767)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PDCP_SNExtended_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PDCP_SNExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PDCP_SNExtended = { + "PDCP-SNExtended", + "PDCP-SNExtended", + &asn_OP_NativeInteger, + asn_DEF_PDCP_SNExtended_tags_1, + sizeof(asn_DEF_PDCP_SNExtended_tags_1) + /sizeof(asn_DEF_PDCP_SNExtended_tags_1[0]), /* 1 */ + asn_DEF_PDCP_SNExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_PDCP_SNExtended_tags_1) + /sizeof(asn_DEF_PDCP_SNExtended_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PDCP_SNExtended_constr_1, PDCP_SNExtended_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/PDCP-SNExtended.h b/asn1c_defs/all-defs/PDCP-SNExtended.h new file mode 100755 index 0000000..b9d4238 --- /dev/null +++ b/asn1c_defs/all-defs/PDCP-SNExtended.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PDCP_SNExtended_H_ +#define _PDCP_SNExtended_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PDCP-SNExtended */ +typedef long PDCP_SNExtended_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PDCP_SNExtended_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PDCP_SNExtended; +asn_struct_free_f PDCP_SNExtended_free; +asn_struct_print_f PDCP_SNExtended_print; +asn_constr_check_f PDCP_SNExtended_constraint; +ber_type_decoder_f PDCP_SNExtended_decode_ber; +der_type_encoder_f PDCP_SNExtended_encode_der; +xer_type_decoder_f PDCP_SNExtended_decode_xer; +xer_type_encoder_f PDCP_SNExtended_encode_xer; +per_type_decoder_f PDCP_SNExtended_decode_uper; +per_type_encoder_f PDCP_SNExtended_encode_uper; +per_type_decoder_f PDCP_SNExtended_decode_aper; +per_type_encoder_f PDCP_SNExtended_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PDCP_SNExtended_H_ */ +#include diff --git a/asn1c_defs/all-defs/PDCP-SNExtended.o b/asn1c_defs/all-defs/PDCP-SNExtended.o new file mode 100644 index 0000000000000000000000000000000000000000..11b2adde6857a4265dc6c63fac6d57714647758c GIT binary patch literal 2816 zcmbVOUvC>l5Fh8DN!#E$frm&%~%-+u3W^-+&PINmnznz(#o!uSh zQKNZjtW*M~5?q8_V-#TbNG{iuSc563fdBN_^(&)2fAou7@qY8axVZlaVB7Pb?)|Wj zB;WHN|2fh8a=iJ~8{~EWl%ERz=pTRdpFjH9+g;w@yLEf?>&HKyc&CQ(wBujOF*Qd2 z`_tOd+xz1uwSGE`Av>Wz0|rWii4q}V{Y6}evtbf@?VuB_CuhTMcU}ptm3nLb`f6iG zMsX+Vh&G%~mfY>IJB-}8FWrr;?I?C<5j@?QQ*-TpoXA1A6-#$L-0DW1Y}ShPqHJD1 zXP=d=zdS-}F+uEdy}snm-dG#Pa_F8H3!*yj4VC77<}Hfqg7D^29NyA_OP^kY(oUsx za&mm)8(jQ-#NXC)L*gst%Hy%HJku<@H_J225?py0r9Q_W-tCNr6Zb4oaz z=Xr%6$!g8^A84F)lRI$CRF%Ap+B)_Z44gU{-doo-Df!!_Tn=B2Y zZYX55BSCaR8G=|#5)gwvDP-=6#e*syw(?O1DDfLsZ_Fn$Y=5Hd zqs?G_5cZ-hsaF?Vbfvx9FTREt5x<92J6I#aPU1&zzJ{Mk75!xIX^`#!t;6Tc=l8D0 z?asA}I8pYFQZ+jlt*U-YF>U_}EmlA_j8|UemG+t3f&J%lNJ*SO$EhJovh9CC8+@p| z@`3%Bf295G{J+%(o4Ko!TuZ--dQtr!==y)B?Wz9My*Yob|6RmrsRMVM>@;BZbA%85 zlB^>}{#BYZXj1#r@1aS&Z{~fRWZAS^v=h>kw(S$`Z=18fZw5t~_s=l>n^aW48T}x* zPEname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 262143)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PDCP_SNlength18_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 18, -1, 0, 262143 } /* (0..262143) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PDCP_SNlength18_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PDCP_SNlength18 = { + "PDCP-SNlength18", + "PDCP-SNlength18", + &asn_OP_NativeInteger, + asn_DEF_PDCP_SNlength18_tags_1, + sizeof(asn_DEF_PDCP_SNlength18_tags_1) + /sizeof(asn_DEF_PDCP_SNlength18_tags_1[0]), /* 1 */ + asn_DEF_PDCP_SNlength18_tags_1, /* Same as above */ + sizeof(asn_DEF_PDCP_SNlength18_tags_1) + /sizeof(asn_DEF_PDCP_SNlength18_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PDCP_SNlength18_constr_1, PDCP_SNlength18_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/PDCP-SNlength18.h b/asn1c_defs/all-defs/PDCP-SNlength18.h new file mode 100755 index 0000000..eb86d0d --- /dev/null +++ b/asn1c_defs/all-defs/PDCP-SNlength18.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PDCP_SNlength18_H_ +#define _PDCP_SNlength18_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PDCP-SNlength18 */ +typedef long PDCP_SNlength18_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PDCP_SNlength18_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PDCP_SNlength18; +asn_struct_free_f PDCP_SNlength18_free; +asn_struct_print_f PDCP_SNlength18_print; +asn_constr_check_f PDCP_SNlength18_constraint; +ber_type_decoder_f PDCP_SNlength18_decode_ber; +der_type_encoder_f PDCP_SNlength18_encode_der; +xer_type_decoder_f PDCP_SNlength18_decode_xer; +xer_type_encoder_f PDCP_SNlength18_encode_xer; +per_type_decoder_f PDCP_SNlength18_decode_uper; +per_type_encoder_f PDCP_SNlength18_encode_uper; +per_type_decoder_f PDCP_SNlength18_decode_aper; +per_type_encoder_f PDCP_SNlength18_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PDCP_SNlength18_H_ */ +#include diff --git a/asn1c_defs/all-defs/PDCP-SNlength18.o b/asn1c_defs/all-defs/PDCP-SNlength18.o new file mode 100644 index 0000000000000000000000000000000000000000..eb4b7457807ecbf59dbba0e6a1280645592a7dcb GIT binary patch literal 2816 zcmbVN&1(}u6o2Wety*JRJrpXs7qvyZW~IC(xrOa`Q6 z-~=R^WC2#UB)Gs~0s0^Z&f_2FPq){c_IoyEe{>$4=yVKNww=douRAF0p!4ucPw7c_ z>FEygy1CbhfYbi&w0}A6clPRJXYKNp_J^x)cJ3=+JmL72J4VLnf3sgW+H0TR^7*5t z3%h>&XflOH-H25hBZ-N>0Lwb!g@Ijh=luEbh*ztPa8RBqmPgLd)cjz9Rqb)B0{g=W zbJ?r4d^2b;b767W56mGX_s+;o1_vWFucc8kE7JLe#?lFJPCcK1BT$qysH zM~tQr5hb9hl7Kircb1)7xh_BMehI+Q%mNmU?DJ>J0@j@RueAMoJR{ zHmA`TMY-&Xg#q1)7QtQEWngQ}t1}r29~&SrV7scu*nr*`OK_Bfjq4oa{FXS^(*C&M zrLOh{Y*ST^C$a5U^2yH(xoi0KDf_K*YXF9QPGGfbqtd73zbpr}+m0^>-qQYBoqAbK4qUui{~IA8vq1j)GNb)a!nLfv~vx)~T6`BO&uDw}ic4b?2L2-H#Xb z|G-37+PnVZ3&@ek_Yi68b41)Ae)Q%G_^FZ;Pxgi&=?>65@|@-Q9T2=;xmJ-UiQiGA z#^)kbUT-O;?w_N{Qbecm%JX$abtZ9;{=*5ykzBuwQ$Uum?te@eoZ((cBmHE5LHO(I ze<2L2i7Q8@rk_PUE&od*|1X6-<)5mzT))i!b>wKOb$6WX1fkY*q&NJN%p*tsc^Xut zSNPNap(=9UvTxv^#H!u6z92EE+ddNhy1Dds)S!sv{v~}6L0bL>#DkD|qWn>Plm3#Y y_2_dW1@{H{Ni29La#UY*f2v*j*&_uvMB-nOqKLl#J{(K)&x`dxQ+x^P{=Wfi5gZo) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PDCPChangeIndication.c b/asn1c_defs/all-defs/PDCPChangeIndication.c new file mode 100755 index 0000000..7aba767 --- /dev/null +++ b/asn1c_defs/all-defs/PDCPChangeIndication.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PDCPChangeIndication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_PDCPChangeIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_PDCPChangeIndication_value2enum_1[] = { + { 0, 22, "s-KgNB-update-required" }, + { 1, 27, "pDCP-data-recovery-required" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PDCPChangeIndication_enum2value_1[] = { + 1, /* pDCP-data-recovery-required(1) */ + 0 /* s-KgNB-update-required(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_PDCPChangeIndication_specs_1 = { + asn_MAP_PDCPChangeIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PDCPChangeIndication_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PDCPChangeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PDCPChangeIndication = { + "PDCPChangeIndication", + "PDCPChangeIndication", + &asn_OP_NativeEnumerated, + asn_DEF_PDCPChangeIndication_tags_1, + sizeof(asn_DEF_PDCPChangeIndication_tags_1) + /sizeof(asn_DEF_PDCPChangeIndication_tags_1[0]), /* 1 */ + asn_DEF_PDCPChangeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_PDCPChangeIndication_tags_1) + /sizeof(asn_DEF_PDCPChangeIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PDCPChangeIndication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PDCPChangeIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PDCPChangeIndication.h b/asn1c_defs/all-defs/PDCPChangeIndication.h new file mode 100755 index 0000000..d068a4b --- /dev/null +++ b/asn1c_defs/all-defs/PDCPChangeIndication.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PDCPChangeIndication_H_ +#define _PDCPChangeIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PDCPChangeIndication { + PDCPChangeIndication_s_KgNB_update_required = 0, + PDCPChangeIndication_pDCP_data_recovery_required = 1 + /* + * Enumeration is extensible + */ +} e_PDCPChangeIndication; + +/* PDCPChangeIndication */ +typedef long PDCPChangeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PDCPChangeIndication; +asn_struct_free_f PDCPChangeIndication_free; +asn_struct_print_f PDCPChangeIndication_print; +asn_constr_check_f PDCPChangeIndication_constraint; +ber_type_decoder_f PDCPChangeIndication_decode_ber; +der_type_encoder_f PDCPChangeIndication_encode_der; +xer_type_decoder_f PDCPChangeIndication_decode_xer; +xer_type_encoder_f PDCPChangeIndication_encode_xer; +per_type_decoder_f PDCPChangeIndication_decode_uper; +per_type_encoder_f PDCPChangeIndication_encode_uper; +per_type_decoder_f PDCPChangeIndication_decode_aper; +per_type_encoder_f PDCPChangeIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PDCPChangeIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/PDCPChangeIndication.o b/asn1c_defs/all-defs/PDCPChangeIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..802ee29ae7807937ffb86b0a29c99ef5e1f3b22b GIT binary patch literal 2656 zcmbuA&2G~`5XUEVq2;?pDyqaKoG21;ld2L35Hh4`%U7|ADvqw}tdc-u2ivLW1rA&} z@CZBw;>fW_9-*(mjRUC6Y-VC-<0=PMvS;Qu|Je_(z5dvEzCKkdfwU4lge(#Y@bzrw zJKA;N3S0)lq&I8w@d-CwHsR*3)!lmA4_oR<*z5#;+KEC)D$iP5k1PFN(@#|;R`2?q zST&)C+6p2cQ4k%d_%O>&7-pEx&y%1T4}}w)CC*Q(pF*95*Cd@e+%*G8{dI%GM!kNo zytK2|57U16j=gGEE499kY9DHM?dqysyEWiue{p+NIYFZ?q)C71<=L6z+{&1Wz( zXksa{-~!W8W5M}RfYC8t^SSl5S@9R`9Q%2*fE!c9q3FZ01Mrj3TWhR)MQJbfTZvcG z8n?0SrH4ILEDWMBNn@72a_hyaq^APu@5LjxSajg;_tlCD`(5ttR3&Lvw49ZvtwS&1 zrR#0sX>p($Sf*k;D4LqLRH))k;DwPlScTsS)9i`Td!B#WWFJi~&z$&tRu1%DQX`(< z-6c)Oxs&5`4oKT%hx)lH5bZAe#Eaf4;STHa^QZYp>~fy;wB7}d+XlbQG1$prH}&_> zrt!eG#Y@%u6l^+p!QM*}u;YjVQr7GmhHBr}Y4Rj%V63tCqrk^}5Ouo>_rwmPRM{I_ zJC!8$gSRq~|Fd*H(wcL>FWsS|@8dVp=GzSnh~@W+@($gw$#We<0A+F5-b71#VAg*z zbP}55(|!$JE18Hu*nmg8-&BV)C+ixPSN~#xxObtwq+yU#<*zy-}$58Wj)QG#+LDA z{%?@cP*uG0?I({v{9ZW8Sl19r@Dj!nZT=L&0xikRXQw-0c*Ol&LP*cjoc}pw=H65N Z5yNF;9!99ox}y3;{-8clXSrt9{{wN@<_Q1* literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PDCPSnLength.c b/asn1c_defs/all-defs/PDCPSnLength.c new file mode 100755 index 0000000..7cf3db6 --- /dev/null +++ b/asn1c_defs/all-defs/PDCPSnLength.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PDCPSnLength.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_PDCPSnLength_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_PDCPSnLength_value2enum_1[] = { + { 0, 11, "twelve-bits" }, + { 1, 13, "eighteen-bits" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PDCPSnLength_enum2value_1[] = { + 1, /* eighteen-bits(1) */ + 0 /* twelve-bits(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_PDCPSnLength_specs_1 = { + asn_MAP_PDCPSnLength_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PDCPSnLength_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PDCPSnLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PDCPSnLength = { + "PDCPSnLength", + "PDCPSnLength", + &asn_OP_NativeEnumerated, + asn_DEF_PDCPSnLength_tags_1, + sizeof(asn_DEF_PDCPSnLength_tags_1) + /sizeof(asn_DEF_PDCPSnLength_tags_1[0]), /* 1 */ + asn_DEF_PDCPSnLength_tags_1, /* Same as above */ + sizeof(asn_DEF_PDCPSnLength_tags_1) + /sizeof(asn_DEF_PDCPSnLength_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PDCPSnLength_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PDCPSnLength_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PDCPSnLength.h b/asn1c_defs/all-defs/PDCPSnLength.h new file mode 100755 index 0000000..010ee20 --- /dev/null +++ b/asn1c_defs/all-defs/PDCPSnLength.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PDCPSnLength_H_ +#define _PDCPSnLength_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PDCPSnLength { + PDCPSnLength_twelve_bits = 0, + PDCPSnLength_eighteen_bits = 1 + /* + * Enumeration is extensible + */ +} e_PDCPSnLength; + +/* PDCPSnLength */ +typedef long PDCPSnLength_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PDCPSnLength; +asn_struct_free_f PDCPSnLength_free; +asn_struct_print_f PDCPSnLength_print; +asn_constr_check_f PDCPSnLength_constraint; +ber_type_decoder_f PDCPSnLength_decode_ber; +der_type_encoder_f PDCPSnLength_encode_der; +xer_type_decoder_f PDCPSnLength_decode_xer; +xer_type_encoder_f PDCPSnLength_encode_xer; +per_type_decoder_f PDCPSnLength_decode_uper; +per_type_encoder_f PDCPSnLength_encode_uper; +per_type_decoder_f PDCPSnLength_decode_aper; +per_type_encoder_f PDCPSnLength_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PDCPSnLength_H_ */ +#include diff --git a/asn1c_defs/all-defs/PDCPSnLength.o b/asn1c_defs/all-defs/PDCPSnLength.o new file mode 100644 index 0000000000000000000000000000000000000000..35e46dc289b10e50eae80d98443a39914c86978c GIT binary patch literal 2568 zcmbtV&2G~`5T4*d%YVxW#3h^v61AGD5(p$@l%}mvX{}ZjN7qSLNg#2mcvI*F4%`us zz>#Agp%)|`0wi966UQ>Mo{2XbmmC-=p83A{W_Nbi>wKthu3adVK&%AMAVD?L|pRt*;DUWcq7VajSDrxC9=(nnSq!t?;or3DL+FGe3LsLe{({>-k zx;R(Ab7#Bi5K@2L;bFa2ds43KHHL{EmLK^m{?cM~Xi)Wi^|8OS z;#VJJyjwYjY5W=ZeKtli@XqPp16tjrd1l2${LCbYj0YDd_<3YXFgxO<@}c4Lc|%rg z8-8x2m-8XQv&I<-44>@_A|C9E;Wr^plW4WR7TI*9<5n6~O)jkOMEdwpjSHInB-I0!?1r`RYi)5;f>Fqof~Y zUB;b6=etAitNqr9zp=kS5W(|s1(;DE-tB_#TNj)^aNJA@Bd zXZKJ22o5<1*Y$Z|yCnI&Qv^M*h#=#d2D+^*3V%49s)#L0a4H zAt25^E6NA-K$CsV5I|W1_V>}#8MyVI9i2dT{_Hyiuq*=hQcvUCCiUV2Oj7L5e~KKL zoPUNU`+tfF`ep_qVE=_bq^FFpp{Mss-Z!}yFOZ}8^Div|vVQB)=S#oOdg`C%mieXs*T~USOZc`}fhRrO>Va3zW^oJ^%m! literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PLMN-Identity.c b/asn1c_defs/all-defs/PLMN-Identity.c new file mode 100755 index 0000000..63f044d --- /dev/null +++ b/asn1c_defs/all-defs/PLMN-Identity.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PLMN-Identity.h" + +int +PLMN_Identity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PLMN_Identity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PLMN_Identity = { + "PLMN-Identity", + "PLMN-Identity", + &asn_OP_OCTET_STRING, + asn_DEF_PLMN_Identity_tags_1, + sizeof(asn_DEF_PLMN_Identity_tags_1) + /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */ + asn_DEF_PLMN_Identity_tags_1, /* Same as above */ + sizeof(asn_DEF_PLMN_Identity_tags_1) + /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PLMN_Identity_constr_1, PLMN_Identity_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PLMN-Identity.h b/asn1c_defs/all-defs/PLMN-Identity.h new file mode 100755 index 0000000..674221a --- /dev/null +++ b/asn1c_defs/all-defs/PLMN-Identity.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PLMN_Identity_H_ +#define _PLMN_Identity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PLMN-Identity */ +typedef OCTET_STRING_t PLMN_Identity_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PLMN_Identity; +asn_struct_free_f PLMN_Identity_free; +asn_struct_print_f PLMN_Identity_print; +asn_constr_check_f PLMN_Identity_constraint; +ber_type_decoder_f PLMN_Identity_decode_ber; +der_type_encoder_f PLMN_Identity_encode_der; +xer_type_decoder_f PLMN_Identity_decode_xer; +xer_type_encoder_f PLMN_Identity_encode_xer; +per_type_decoder_f PLMN_Identity_decode_uper; +per_type_encoder_f PLMN_Identity_encode_uper; +per_type_decoder_f PLMN_Identity_decode_aper; +per_type_encoder_f PLMN_Identity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PLMN_Identity_H_ */ +#include diff --git a/asn1c_defs/all-defs/PLMN-Identity.o b/asn1c_defs/all-defs/PLMN-Identity.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c9925f9844f580e6e16154e8c3248512e70536 GIT binary patch literal 2848 zcmbuAPj4GV6u_Ue(3rNkPRqekk-C@CL~5qlQmIiSkSiz6Mly+&q*VnHn~lA0Qv9dN zuB(JYTPgHlArK#eZ^3~`Ai+5&BrY70$OR6F10uXP`<{0^Sx$_#``-J_do#0dW}aUx z)$dOf3Lvcj??Yw@1^DG$rdPFEg()b5|LV_;mEo~J{4rVde)bQa7oEiOUmbsQiY>X} zAD$HJpHJ4mc#~qDT=P@KAO7JF|M7=Ect`h6j~{(F{OP0b+Lx{^0*=R_Cpt8B#}S@f z;ZX1Rx9|1**^8#4mXS=G$W*O4Y>TwIL8)6|-1C}2D{9BL!cJ#aD~j|FB!OZ)g3iA>kYK!J@@9-+#Ti3q#WMjVG5tFLt(#MxO#E2 z_!Ulm6ZzZRHz2uKDj!Y+rAoczJ}g!4mCCjArQ-61RZZA2N6>e?2EXU-nUi}00UZ40 zH3vt^YYx1ghjA3+FdH5YOd3|IPN68k8zXMcODjD5T7aIdv~-qKnJBhD{PB+iOQ6b{|0w_jWW+4 z#?Cq37`#=%;?n(qcpx_^NW#Z);DM^w=IC{sUY?H4e6qWgKZvGljbN>|xwIK+XknaCOkB_>EAVY z$?#{acZN>m0)rw;x*sN&9239HJ|rrv6VFa5!1RCcs==?YPQo|1%tdI+;8GI^xy&g) zV>MRA2i+vx28H!6l{=#CMV(M3(S8D|6(%95?KlRt*C&JAJvBdW;=#}{+5t7`1=Z|# zyI71tVfl^J^6G=xI0>7duz$1@wD-bp#B2ON!o^_O3v-+*8*-nd&&(aMtN2jOsN!R` z3SapxhIBS)9@&4{*LRrPmG1~SwMHsNZ+E1n%1snBrX63V$#R;FJ@g?a=Uzf2{)PaS zvVIw-iaam=E<4D%lVK!Iwn1(I}*s!wd^&t^YXvX`9ETR%0E?qS-<4}V`Mbd z*cnIrSDxSeKR|rupQw$DT<56MXeS&``(rl7I)->3A7Q3n#a + +/* Including external dependencies */ +#include "PLMNListforQMC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* PLMNAreaBasedQMC */ +typedef struct PLMNAreaBasedQMC { + PLMNListforQMC_t plmnListforQMC; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PLMNAreaBasedQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PLMNAreaBasedQMC; +extern asn_SEQUENCE_specifics_t asn_SPC_PLMNAreaBasedQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_PLMNAreaBasedQMC_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _PLMNAreaBasedQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/PLMNAreaBasedQMC.o b/asn1c_defs/all-defs/PLMNAreaBasedQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..755d31bfc64806d1576760e8ec63072c08c4b1c8 GIT binary patch literal 2840 zcmb_dOK;Oa5Z=@jD36u`2P7^=LLx|X6_-k_KtgUqT7>#=DMh`xZfe?y#IE9vR4&jX zC(fKWb42_C{s0n3eg%RXH<+4CU?E7t-Sw5aIB0jGD<1OI+-;*|5X~hPmzm zn$+gMPoDRnujEk$_&9|B0zB3^qR`KzzomS!UOcxbKVg*BAB7KD#t%FQvMGWj@*g)A zeeHo_e%ZKVf(m zcF!iZ;nfFS$wAmO8*7hVzTj@G;%3~=U%+}CDQFsY{kiG;j_1tkS2x{nydU~0J)g4K zoz!{WdyJo;7*sb1Baf%cCc8@7~3giKy{RImeDbu+!sNQH+=$lX8%LhdAqklh#! zjC7;}X4no=HzLE7?YJ2rnWhNYj60nWPLYga70RX6&8b8M%~v$*)2o}1ihF?Xu`aG| zXqdJwXKn#P&U_)=Jfa_%`FFsLdw$yddytDYr(x*gk|A{xF!yJTafr?SN5G-fI50DX zO`6q10Qd&GOpty@m&m64OTZ(==ZnwN8gOO(zfxX}>ansJkbVlftp6wapq!8W@zpi^ z`@mtVfqyqFolcMdTk! oxD0XQFwFJiKc@NZff62WDu`n=G|cp!Da-#s`+t;HDSpiSf5ny5b^rhX literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PLMNListforQMC.c b/asn1c_defs/all-defs/PLMNListforQMC.c new file mode 100755 index 0000000..61a628a --- /dev/null +++ b/asn1c_defs/all-defs/PLMNListforQMC.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PLMNListforQMC.h" + +asn_per_constraints_t asn_PER_type_PLMNListforQMC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_PLMNListforQMC_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PLMNListforQMC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PLMNListforQMC_specs_1 = { + sizeof(struct PLMNListforQMC), + offsetof(struct PLMNListforQMC, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_PLMNListforQMC = { + "PLMNListforQMC", + "PLMNListforQMC", + &asn_OP_SEQUENCE_OF, + asn_DEF_PLMNListforQMC_tags_1, + sizeof(asn_DEF_PLMNListforQMC_tags_1) + /sizeof(asn_DEF_PLMNListforQMC_tags_1[0]), /* 1 */ + asn_DEF_PLMNListforQMC_tags_1, /* Same as above */ + sizeof(asn_DEF_PLMNListforQMC_tags_1) + /sizeof(asn_DEF_PLMNListforQMC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PLMNListforQMC_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_PLMNListforQMC_1, + 1, /* Single element */ + &asn_SPC_PLMNListforQMC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PLMNListforQMC.h b/asn1c_defs/all-defs/PLMNListforQMC.h new file mode 100755 index 0000000..736a91a --- /dev/null +++ b/asn1c_defs/all-defs/PLMNListforQMC.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PLMNListforQMC_H_ +#define _PLMNListforQMC_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PLMNListforQMC */ +typedef struct PLMNListforQMC { + A_SEQUENCE_OF(PLMN_Identity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PLMNListforQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PLMNListforQMC; +extern asn_SET_OF_specifics_t asn_SPC_PLMNListforQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_PLMNListforQMC_1[1]; +extern asn_per_constraints_t asn_PER_type_PLMNListforQMC_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _PLMNListforQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/PLMNListforQMC.o b/asn1c_defs/all-defs/PLMNListforQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..f6b85a6cc988466d63e4d18787d9d15aa5666e7a GIT binary patch literal 2320 zcmbu9&2G~`5P&CffdVbGoRGML6Gft{7*zs+ge-zvK>bM*B2{p3-89e&>QwbsYA%#l z;MN0Az^RYG5pF$l;~98@GGos;+o>ZV7|EWQZ+>>YyWYcaalTrqfJgrh_7piK(p+3xUffRY+y36_Qllh6A?YVr`@*&U zm%LGP*1iA64=8D&(Rfsw>1^yLcE9$(%$fSEzn^*jNB^Oz&l&%2&PTSS?-+yMr)3FV zvD#;&9?-6w7Z1Gi5Q&%V;Q5dT&Y|J(4b&C5R3y{hi+BzfM%shRu3Ok1j2E^TbRMUj zakn_IfVymdUT67LsBvDC^&#rA{Ljd#|0m8{WBoPb!*!cr{sVPcA2@rEO&8)ciJpb? z(b+&`<9BJ~kBDY?r5Uxu)lRtF2&0wx3^l`6WCy!F-K^VBQoD!k+TknAjdDNUPHa}T z^t7cb@{!xkh7P2=y{?{E^kTD@*lj!Dk4Hu4&pidQW17nv5tp^2E^@aJms;X8^g_`* z$Y{3fS_CLQe9cmoVBe6F{|vb_Tf zW;3=in2j_Av)3nwGJWHt+xrk_VX`C&rrY1y!DR-M^li^9EO%y88+YIH1pZUq!g~7V zi>gncd~qq)mD}hL(>F!HNxQ5?)x=+!!KBl(%D;$17O+<1(N?zA9xi}xB|bmKhG6^zh1kuxpl{3S9<8Qvu5pd4|XdtVaQ zehV3;)+y-77p|xEafNYKL;MXs!rZ*?Ww0cd()8S^kJKM?pR35|(ce!uyname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 837)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_zeroCorrelationIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_prach_FreqOffset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 94)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_prach_ConfigIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 63)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_rootSequenceIndex_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 837 } /* (0..837) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_zeroCorrelationIndex_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_prach_FreqOffset_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 94 } /* (0..94) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_prach_ConfigIndex_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_PRACH_Configuration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration, rootSequenceIndex), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_rootSequenceIndex_constr_2, memb_rootSequenceIndex_constraint_1 }, + 0, 0, /* No default value */ + "rootSequenceIndex" + }, + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration, zeroCorrelationIndex), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_zeroCorrelationIndex_constr_3, memb_zeroCorrelationIndex_constraint_1 }, + 0, 0, /* No default value */ + "zeroCorrelationIndex" + }, + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration, highSpeedFlag), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "highSpeedFlag" + }, + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration, prach_FreqOffset), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_prach_FreqOffset_constr_5, memb_prach_FreqOffset_constraint_1 }, + 0, 0, /* No default value */ + "prach-FreqOffset" + }, + { ATF_POINTER, 2, offsetof(struct PRACH_Configuration, prach_ConfigIndex), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_prach_ConfigIndex_constr_6, memb_prach_ConfigIndex_constraint_1 }, + 0, 0, /* No default value */ + "prach-ConfigIndex" + }, + { ATF_POINTER, 1, offsetof(struct PRACH_Configuration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P177, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_PRACH_Configuration_oms_1[] = { 4, 5 }; +static const ber_tlv_tag_t asn_DEF_PRACH_Configuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PRACH_Configuration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rootSequenceIndex */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* zeroCorrelationIndex */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* highSpeedFlag */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* prach-FreqOffset */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* prach-ConfigIndex */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_PRACH_Configuration_specs_1 = { + sizeof(struct PRACH_Configuration), + offsetof(struct PRACH_Configuration, _asn_ctx), + asn_MAP_PRACH_Configuration_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_PRACH_Configuration_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PRACH_Configuration = { + "PRACH-Configuration", + "PRACH-Configuration", + &asn_OP_SEQUENCE, + asn_DEF_PRACH_Configuration_tags_1, + sizeof(asn_DEF_PRACH_Configuration_tags_1) + /sizeof(asn_DEF_PRACH_Configuration_tags_1[0]), /* 1 */ + asn_DEF_PRACH_Configuration_tags_1, /* Same as above */ + sizeof(asn_DEF_PRACH_Configuration_tags_1) + /sizeof(asn_DEF_PRACH_Configuration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PRACH_Configuration_1, + 6, /* Elements count */ + &asn_SPC_PRACH_Configuration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PRACH-Configuration.h b/asn1c_defs/all-defs/PRACH-Configuration.h new file mode 100755 index 0000000..1bf09af --- /dev/null +++ b/asn1c_defs/all-defs/PRACH-Configuration.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PRACH_Configuration_H_ +#define _PRACH_Configuration_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* PRACH-Configuration */ +typedef struct PRACH_Configuration { + long rootSequenceIndex; + long zeroCorrelationIndex; + BOOLEAN_t highSpeedFlag; + long prach_FreqOffset; + long *prach_ConfigIndex; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PRACH_Configuration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PRACH_Configuration; + +#ifdef __cplusplus +} +#endif + +#endif /* _PRACH_Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/PRACH-Configuration.o b/asn1c_defs/all-defs/PRACH-Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..96e2a3113b358a138843df99fa0aa605d765a2f4 GIT binary patch literal 6384 zcmb_gU2GIp6u#R8Oj8;JzNzfAM&@CtpCa`7MvLv-#T5E`!&Q7<}AKag^J8dfd zttlil#)JnS@QuX8VB!NLK9Km*ghYKX(e$Z_@qt$ngC;5uL_FutIlHIR*$uTl$;>(T zyWjcloqO-xxw{`GdV3l|A;lI_M^v@Ms8St|SL2utV`{tFrji%_9y~d}n4JIKJs$lz z`O%R?SgDz4^1|Xb55U|Pl5@W`^?uyg`^jUNb!J!63zGAHCg=Z6&VLtO=zg$x`i=Re zH*YrYih&*_{;m@}GUT7xPKnXQ+uvRqGn;pv*S+wyKX;_LPUBs58!w|^rTyE!_V-oW zzge&S;X3V~T0{GZhiw07o%YYHq5Waez8-n+)&OoJT>@4|MFAHAnt&cUMEyp(WYVxG zcODKh z%)@@O;T*CCVmS6<>(FB+_bz>J&pc&q-Czbj{I6EQC+Z4^W4}TD5%`XW15ZXcA96;jlHnC!6|XM5 zY=$I%IDggnql7MhC&H?VGa&-~Kz+6}1qTS9pfc`{Y+=D?Y)JFN%An^;QN{a& zFHo8BtAwY0_>Y7WteB7Gu+nE&uB!O3ej6)A9sHyFA>Tl+{=UXHR^A!T3hD7%Iqz5> zR$G`>@f(4^Rm>NU({8|9Dy(YISp)B>fxlG)&(^?Iz)1m49yupBVy!qZSk(iE74eL;s@al}DbznKQ#%NkE1<_WHsP(ckd*dB= z>%^NkHZ=xUOZKO%!NjSdL|;6iI1tmLIhfxE=g1j2T)NJ>uJ`ulqm-F=mEs#tIf znL@U5YJ@JjaEf(`R#)eNXexT>kb03`0a&)`DY)+A!2;}{z@HYlEpW-t34Dj(Ulq9I zUl+L4za?faH#)c4fA zGZ^k}hY8^Q9MdGudl%x*5*HnwH_;Hs^I;k;v^LMJz>@;sMKLdVYc<{C#b@&aA7hLdtW1i?6YA?BV=55MyCakfdopb2H*60k#$En1* zkQSrDUo_8L*TMmL++*-88ly71CH!Fo#^Z^3D8=*4^ZGpDa;*WRVmKjSQ@-{MjaF~_ zAVf`n{xv^9DLy$B1st(Xs%OXf?F^9T{name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1000)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_Packet_LossRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1000 } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Packet_LossRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Packet_LossRate = { + "Packet-LossRate", + "Packet-LossRate", + &asn_OP_NativeInteger, + asn_DEF_Packet_LossRate_tags_1, + sizeof(asn_DEF_Packet_LossRate_tags_1) + /sizeof(asn_DEF_Packet_LossRate_tags_1[0]), /* 1 */ + asn_DEF_Packet_LossRate_tags_1, /* Same as above */ + sizeof(asn_DEF_Packet_LossRate_tags_1) + /sizeof(asn_DEF_Packet_LossRate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Packet_LossRate_constr_1, Packet_LossRate_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Packet-LossRate.h b/asn1c_defs/all-defs/Packet-LossRate.h new file mode 100755 index 0000000..b675e73 --- /dev/null +++ b/asn1c_defs/all-defs/Packet-LossRate.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Packet_LossRate_H_ +#define _Packet_LossRate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Packet-LossRate */ +typedef long Packet_LossRate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Packet_LossRate; +asn_struct_free_f Packet_LossRate_free; +asn_struct_print_f Packet_LossRate_print; +asn_constr_check_f Packet_LossRate_constraint; +ber_type_decoder_f Packet_LossRate_decode_ber; +der_type_encoder_f Packet_LossRate_encode_der; +xer_type_decoder_f Packet_LossRate_decode_xer; +xer_type_encoder_f Packet_LossRate_encode_xer; +per_type_decoder_f Packet_LossRate_decode_uper; +per_type_encoder_f Packet_LossRate_encode_uper; +per_type_decoder_f Packet_LossRate_decode_aper; +per_type_encoder_f Packet_LossRate_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Packet_LossRate_H_ */ +#include diff --git a/asn1c_defs/all-defs/Packet-LossRate.o b/asn1c_defs/all-defs/Packet-LossRate.o new file mode 100644 index 0000000000000000000000000000000000000000..d681f9b5de493cc5017d0b30adb823343dc0d704 GIT binary patch literal 2816 zcmbVNOK%iM5U%wCHei-D;b4h~%mrdAxYZzJ-w)TahR$&Cn5Ip|-%B9{`(0iq4{a=Ew&;3>e*zkkLTR&{0 z=nsR3uZL>i4%WUqM66rKgVYFme+9jNgWgMj^ZfSKwd=i~KmYOY2UVPpiGLVk8jSo~ zN0{hu{r;0#KYb0LI>3(w1EnECiI9l@Hm%g@C~5iia5-K{PDhQ#gfSMP`j@eusI`-1 zG19TB!--_t+lU(7*lV@5x4OO&x4ba~Pb`m{v3k3e=uWiW(%wq6-iVj8QD?5VW%KSa zcduOk-7};SL!>Uw%uIV@SC_gi-Ss|Jld3Y|ca7)Y_oq~4Qu*U44o7+7!o5W(+$k51 z4G#`I!NpG@{yvX&Nzazb4+o;sXszUZRvJBDD$g7!4b2^#HwXvjDEf{)@MrFx6?0E0 zKoNg=QpB0^qzHTSV4TG|>{dh(1}!f&-$PY^{TVJRoiTVnpM@-f^6bZ3FyaSoH?xZ{ zoY`VrGsf=xZy0=Ewg(cw#JKpjE}9!;BLJ)D9&Bd(y&779Lr+9pAL@!&W@Qrm}R(rWr8z4{bX4 zHZCw-R{}UNw!^Nu>-anN9frXE-P0C}N>OfB>D!JR#(Gn=^ZmC`qs}naO zrQS>3 u+6ci{4F1XqQxBy6;_~UA(A|54;3gOP1v!?u-%oSq@hhDF_ZF8-m;VM5qZ}mw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PartialSuccessIndicator.c b/asn1c_defs/all-defs/PartialSuccessIndicator.c new file mode 100755 index 0000000..9aeec47 --- /dev/null +++ b/asn1c_defs/all-defs/PartialSuccessIndicator.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PartialSuccessIndicator.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_PartialSuccessIndicator_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_PartialSuccessIndicator_value2enum_1[] = { + { 0, 23, "partial-success-allowed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PartialSuccessIndicator_enum2value_1[] = { + 0 /* partial-success-allowed(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_PartialSuccessIndicator_specs_1 = { + asn_MAP_PartialSuccessIndicator_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PartialSuccessIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PartialSuccessIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PartialSuccessIndicator = { + "PartialSuccessIndicator", + "PartialSuccessIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_PartialSuccessIndicator_tags_1, + sizeof(asn_DEF_PartialSuccessIndicator_tags_1) + /sizeof(asn_DEF_PartialSuccessIndicator_tags_1[0]), /* 1 */ + asn_DEF_PartialSuccessIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_PartialSuccessIndicator_tags_1) + /sizeof(asn_DEF_PartialSuccessIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PartialSuccessIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PartialSuccessIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PartialSuccessIndicator.h b/asn1c_defs/all-defs/PartialSuccessIndicator.h new file mode 100755 index 0000000..c605f97 --- /dev/null +++ b/asn1c_defs/all-defs/PartialSuccessIndicator.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PartialSuccessIndicator_H_ +#define _PartialSuccessIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PartialSuccessIndicator { + PartialSuccessIndicator_partial_success_allowed = 0 + /* + * Enumeration is extensible + */ +} e_PartialSuccessIndicator; + +/* PartialSuccessIndicator */ +typedef long PartialSuccessIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PartialSuccessIndicator; +asn_struct_free_f PartialSuccessIndicator_free; +asn_struct_print_f PartialSuccessIndicator_print; +asn_constr_check_f PartialSuccessIndicator_constraint; +ber_type_decoder_f PartialSuccessIndicator_decode_ber; +der_type_encoder_f PartialSuccessIndicator_encode_der; +xer_type_decoder_f PartialSuccessIndicator_decode_xer; +xer_type_encoder_f PartialSuccessIndicator_encode_xer; +per_type_decoder_f PartialSuccessIndicator_decode_uper; +per_type_encoder_f PartialSuccessIndicator_encode_uper; +per_type_decoder_f PartialSuccessIndicator_decode_aper; +per_type_encoder_f PartialSuccessIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PartialSuccessIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/PartialSuccessIndicator.o b/asn1c_defs/all-defs/PartialSuccessIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..ed2b0607b1833f2bdded584cf79b1a0da3d27c34 GIT binary patch literal 2584 zcmbtV&2G~`5Z=^4`KRp#Brf4ZLBy)7N+6Jsp-o#56sr}2o7uXnHjvnny(#npNL+g4 z$b)d;*b7pRyb8QPnXzY_&BhJ~MzUw-n{Q@kcgM-6_OsQgMnkYP#6vOk7!~66nW63H zrZ29D%ff(%1j{-hvEWKKkg4v-?$#iRRF*x7cRG>ONhN``shP z99+Q67+Z+jHMpo5csCLL=kxt?nDbft5J1~r{|GRYy+W1mW@#11 z15h|Ce&LqyV;Z0%LN0>F`QbU^IeH2hu0Q;R1_xxG8f1Qf4(F2nS7222?^FId6G=BM ze-r$w{txNn=6viQd*Ob#|F?kQQua9?()xHmrVyOxAfCa)n92KI1y*p8W}h9_`9b-| nq%Q$B1CQPRIl%0@2S|J-aK-Awa`WG`s{CJceqXSdA$I;>i`VHE literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PedestrianUE.c b/asn1c_defs/all-defs/PedestrianUE.c new file mode 100755 index 0000000..c42ead3 --- /dev/null +++ b/asn1c_defs/all-defs/PedestrianUE.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PedestrianUE.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PedestrianUE_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_PedestrianUE_value2enum_1[] = { + { 0, 10, "authorized" }, + { 1, 14, "not-authorized" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PedestrianUE_enum2value_1[] = { + 0, /* authorized(0) */ + 1 /* not-authorized(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PedestrianUE_specs_1 = { + asn_MAP_PedestrianUE_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PedestrianUE_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PedestrianUE_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PedestrianUE = { + "PedestrianUE", + "PedestrianUE", + &asn_OP_NativeEnumerated, + asn_DEF_PedestrianUE_tags_1, + sizeof(asn_DEF_PedestrianUE_tags_1) + /sizeof(asn_DEF_PedestrianUE_tags_1[0]), /* 1 */ + asn_DEF_PedestrianUE_tags_1, /* Same as above */ + sizeof(asn_DEF_PedestrianUE_tags_1) + /sizeof(asn_DEF_PedestrianUE_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PedestrianUE_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PedestrianUE_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PedestrianUE.h b/asn1c_defs/all-defs/PedestrianUE.h new file mode 100755 index 0000000..1a46c76 --- /dev/null +++ b/asn1c_defs/all-defs/PedestrianUE.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PedestrianUE_H_ +#define _PedestrianUE_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PedestrianUE { + PedestrianUE_authorized = 0, + PedestrianUE_not_authorized = 1 + /* + * Enumeration is extensible + */ +} e_PedestrianUE; + +/* PedestrianUE */ +typedef long PedestrianUE_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PedestrianUE_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PedestrianUE; +extern const asn_INTEGER_specifics_t asn_SPC_PedestrianUE_specs_1; +asn_struct_free_f PedestrianUE_free; +asn_struct_print_f PedestrianUE_print; +asn_constr_check_f PedestrianUE_constraint; +ber_type_decoder_f PedestrianUE_decode_ber; +der_type_encoder_f PedestrianUE_encode_der; +xer_type_decoder_f PedestrianUE_decode_xer; +xer_type_encoder_f PedestrianUE_encode_xer; +per_type_decoder_f PedestrianUE_decode_uper; +per_type_encoder_f PedestrianUE_encode_uper; +per_type_decoder_f PedestrianUE_decode_aper; +per_type_encoder_f PedestrianUE_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PedestrianUE_H_ */ +#include diff --git a/asn1c_defs/all-defs/PedestrianUE.o b/asn1c_defs/all-defs/PedestrianUE.o new file mode 100644 index 0000000000000000000000000000000000000000..e08d78d2e7a9ad696a34ccd3402af0937f7047a5 GIT binary patch literal 2568 zcmbtV&2G~`5T4Y9^52#d5|?lyNYsj}N+6JsQAt}NC{altUWaoYnUd1vOE`DSO=>-C4$v$dI84Mb}22*#eE02}AW zc4*8H=HVI;O!+Ry_K#T%?Tn$V_EfG1-8kKDK|Iu*Y|wqD_8`sllI5OJWgNEqAk_88 znWtL~D|}jw8O-zWIW5O3RhpMdt1yIr&B0-Pb@f5LvAsJ?^{{@=U-6qu!O(cY`{2Ic zT=9cD1@1B@e5yYSe~u?WcDxh1_kdP6EuL9%6+Sx+BI3chDSQEu8qAfr&Gan1OhChf z3$|{6gy=m~dl3_DFxXf9T$^-YU0Q50s(dxg$luxK>4X%7aVA0yQHYbcw zSLOdS`Qz>yoDcSg;U^I1Y4oJE7TIv5Z{3FlPtxrnd|MVR1LaGlx9(Z$K6yL^2_$> zBror)gqBhYomczR$PT%<>?z^%B^%%d+k^|3AlY9R4=IR3xYQ(ng9a4B7mZa6J8Tnv zoo!nYei5ILLFs{Tvc;G4K{&1VDn2BgLYa99m-T?3AN6#+i&_r~-4RQxw;KGtSjXV+ z<~jI-j2y}g`~Y2b5SuVr5_MqY_y<`MV?4=vJ%umK$Gceh>zmt4xsH=J+}MAro5-g% zTfZ4oF*M`!K)JTuLWeNAdu<8Xk$sg|T@2Q@QPVqc`JbIUaozcgdk0`y5?BkL>f0iG z(IEz_`X4b#-aorg7lZXf)O2Tt?2G!!7wL$BE2!!G$a#}<^b|3g-@V}*+~5MnY!SX- zuh6LKKV*Ji5?R+Be+&Jp{&)DJ-{E}fpXQeNrT^E6(Ns-*Z28Xf)BCZ7VZ$Lj$44+b z?^hLAkxOar-cg<3%>TifzGwQUyZzJM;GR8%;2VQ~$+5(3i|(Q-{)qSQqs1lD<^KcO CmdBX@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Port-Number.c b/asn1c_defs/all-defs/Port-Number.c new file mode 100755 index 0000000..c72aecc --- /dev/null +++ b/asn1c_defs/all-defs/Port-Number.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Port-Number.h" + +int +Port_Number_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Port_Number_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Port_Number_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Port_Number = { + "Port-Number", + "Port-Number", + &asn_OP_OCTET_STRING, + asn_DEF_Port_Number_tags_1, + sizeof(asn_DEF_Port_Number_tags_1) + /sizeof(asn_DEF_Port_Number_tags_1[0]), /* 1 */ + asn_DEF_Port_Number_tags_1, /* Same as above */ + sizeof(asn_DEF_Port_Number_tags_1) + /sizeof(asn_DEF_Port_Number_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Port_Number_constr_1, Port_Number_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Port-Number.h b/asn1c_defs/all-defs/Port-Number.h new file mode 100755 index 0000000..eacb196 --- /dev/null +++ b/asn1c_defs/all-defs/Port-Number.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Port_Number_H_ +#define _Port_Number_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Port-Number */ +typedef OCTET_STRING_t Port_Number_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Port_Number_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Port_Number; +asn_struct_free_f Port_Number_free; +asn_struct_print_f Port_Number_print; +asn_constr_check_f Port_Number_constraint; +ber_type_decoder_f Port_Number_decode_ber; +der_type_encoder_f Port_Number_encode_der; +xer_type_decoder_f Port_Number_decode_xer; +xer_type_encoder_f Port_Number_encode_xer; +per_type_decoder_f Port_Number_decode_uper; +per_type_encoder_f Port_Number_encode_uper; +per_type_decoder_f Port_Number_decode_aper; +per_type_encoder_f Port_Number_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Port_Number_H_ */ +#include diff --git a/asn1c_defs/all-defs/Port-Number.o b/asn1c_defs/all-defs/Port-Number.o new file mode 100644 index 0000000000000000000000000000000000000000..e511fe4cc0f52f62e8e0c8645644e0a6011bf89b GIT binary patch literal 2840 zcmbW2&2Jl35WvS-XiQsNr{xf-NZm^yLFC0-1yOQ9uAGmpWF=OTRuxEWHukzn@kiuc zS1E@UDfD0=5NG}mPFx~^1m~P8@ed%83mgy!M3{LyvwnG5E{wH1Gru?U-rIQ}e!fy) zohTGQqyQhn*b@ry^3vF@YO@McPzL|SpIi4vC;sT?WZC=0KYCW2NId_=$@ga{$=m+X zX|ew0Wc{nxDd+JmKQ;W(AO7ecfAo`geE00+;YXvFAOFz4c54~1KTbW>scAU&@c0I& zdMCgAsK+0_Xeg2~8Cw%$Q(NMTwwghyg)r`U&7c*v`&Mz-80b_6PXBZq!q+8L|dGQ^xo1>1co!YQ0z37j=lnlu>`mC;1kiym&BnI-VFj zQ^E4eYCtqd&ry(skK(`sRj*a(b(>zE&Xb7oIm+umvyDcuQQKbG4z{*8@2#(C)>zpL zlBWmJxzW*(N^TodC1{!K((p!8R%1;4&7W9fQkVK*(iI z-%C#>Dt_8c!d*~!^QC%EtU=TXRT3R0pju%Pg4&H^P=h`>6z-`z=UvN^Z+Z_qfh{<5xbF}H8LW8@@_RAp~Bvr>cZY3kF?FVkQ-Vq*_uh{?W}6v>|v zz*^=n{Zx_X<-f-Pt5&|`iQeXXd;Xtuz@C-wTK)$5dG$Zw`X6&V)t_#CnZMNk6J#{h zxjl~luROl_KY;kcKTsPPg;uE1kW(X?ficM*O?kj literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Pre-emptionCapability.c b/asn1c_defs/all-defs/Pre-emptionCapability.c new file mode 100755 index 0000000..e17a0b8 --- /dev/null +++ b/asn1c_defs/all-defs/Pre-emptionCapability.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Pre-emptionCapability.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Pre_emptionCapability_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Pre_emptionCapability_value2enum_1[] = { + { 0, 29, "shall-not-trigger-pre-emption" }, + { 1, 23, "may-trigger-pre-emption" } +}; +static const unsigned int asn_MAP_Pre_emptionCapability_enum2value_1[] = { + 1, /* may-trigger-pre-emption(1) */ + 0 /* shall-not-trigger-pre-emption(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Pre_emptionCapability_specs_1 = { + asn_MAP_Pre_emptionCapability_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Pre_emptionCapability_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Pre_emptionCapability_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Pre_emptionCapability = { + "Pre-emptionCapability", + "Pre-emptionCapability", + &asn_OP_NativeEnumerated, + asn_DEF_Pre_emptionCapability_tags_1, + sizeof(asn_DEF_Pre_emptionCapability_tags_1) + /sizeof(asn_DEF_Pre_emptionCapability_tags_1[0]), /* 1 */ + asn_DEF_Pre_emptionCapability_tags_1, /* Same as above */ + sizeof(asn_DEF_Pre_emptionCapability_tags_1) + /sizeof(asn_DEF_Pre_emptionCapability_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Pre_emptionCapability_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Pre_emptionCapability_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Pre-emptionCapability.h b/asn1c_defs/all-defs/Pre-emptionCapability.h new file mode 100755 index 0000000..d4c4394 --- /dev/null +++ b/asn1c_defs/all-defs/Pre-emptionCapability.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Pre_emptionCapability_H_ +#define _Pre_emptionCapability_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Pre_emptionCapability { + Pre_emptionCapability_shall_not_trigger_pre_emption = 0, + Pre_emptionCapability_may_trigger_pre_emption = 1 +} e_Pre_emptionCapability; + +/* Pre-emptionCapability */ +typedef long Pre_emptionCapability_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Pre_emptionCapability_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Pre_emptionCapability; +extern const asn_INTEGER_specifics_t asn_SPC_Pre_emptionCapability_specs_1; +asn_struct_free_f Pre_emptionCapability_free; +asn_struct_print_f Pre_emptionCapability_print; +asn_constr_check_f Pre_emptionCapability_constraint; +ber_type_decoder_f Pre_emptionCapability_decode_ber; +der_type_encoder_f Pre_emptionCapability_encode_der; +xer_type_decoder_f Pre_emptionCapability_decode_xer; +xer_type_encoder_f Pre_emptionCapability_encode_xer; +per_type_decoder_f Pre_emptionCapability_decode_uper; +per_type_encoder_f Pre_emptionCapability_encode_uper; +per_type_decoder_f Pre_emptionCapability_decode_aper; +per_type_encoder_f Pre_emptionCapability_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Pre_emptionCapability_H_ */ +#include diff --git a/asn1c_defs/all-defs/Pre-emptionCapability.o b/asn1c_defs/all-defs/Pre-emptionCapability.o new file mode 100644 index 0000000000000000000000000000000000000000..c07ff4b0279bc9bd7f97fdb10a10796bf65510c2 GIT binary patch literal 2664 zcmbuA&2G~`5XUz)P`=x6;6n&0oG22plBxm(Qe_m08H3S2lLm6^>*bf>;+>#8il{ z=Q2MqZXlM#Rj~j*>fIbWKBZyO=A0UdDy!Z=NBy`a2eKJ;BYh;&j_h{JabK5p61CeZ zDGxH8=*gp8KBttKw);fj#{aSgYF0=%FCXt0j(NI~Dm&lFT;p;64Tp=(TJ1?`Wv@Am z^|18FU-K*F>d-{h57ozhWzDbNA8|KxBF6R4h+n4@kOFT;_nvtgrZYU@O+z3aRLC2i zI6H-J0V#;ZF}E{4i;o51c;dVr8h;(m1>gbARLDk#FODEb5&$T=6$ z$_yS@oYzFOW$_~UX!gm+^{|gL3qL*TY1ss; zlacMPr`3Bc`~#__@SABW{G^WoDyx1KLe-UK8a*g7A+^UB}c z*(;}7w%&0g|7UMQI$oRg8#4tLW^7S|%M8eJKI1pwe@j zIPCF*>f`>{gRsd#p2ES**8RzYIa-vt_s* N; sorted by tag */ + asn_MAP_Pre_emptionVulnerability_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Pre_emptionVulnerability_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Pre_emptionVulnerability = { + "Pre-emptionVulnerability", + "Pre-emptionVulnerability", + &asn_OP_NativeEnumerated, + asn_DEF_Pre_emptionVulnerability_tags_1, + sizeof(asn_DEF_Pre_emptionVulnerability_tags_1) + /sizeof(asn_DEF_Pre_emptionVulnerability_tags_1[0]), /* 1 */ + asn_DEF_Pre_emptionVulnerability_tags_1, /* Same as above */ + sizeof(asn_DEF_Pre_emptionVulnerability_tags_1) + /sizeof(asn_DEF_Pre_emptionVulnerability_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Pre_emptionVulnerability_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Pre_emptionVulnerability_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Pre-emptionVulnerability.h b/asn1c_defs/all-defs/Pre-emptionVulnerability.h new file mode 100755 index 0000000..d51ebec --- /dev/null +++ b/asn1c_defs/all-defs/Pre-emptionVulnerability.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Pre_emptionVulnerability_H_ +#define _Pre_emptionVulnerability_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Pre_emptionVulnerability { + Pre_emptionVulnerability_not_pre_emptable = 0, + Pre_emptionVulnerability_pre_emptable = 1 +} e_Pre_emptionVulnerability; + +/* Pre-emptionVulnerability */ +typedef long Pre_emptionVulnerability_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Pre_emptionVulnerability_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Pre_emptionVulnerability; +extern const asn_INTEGER_specifics_t asn_SPC_Pre_emptionVulnerability_specs_1; +asn_struct_free_f Pre_emptionVulnerability_free; +asn_struct_print_f Pre_emptionVulnerability_print; +asn_constr_check_f Pre_emptionVulnerability_constraint; +ber_type_decoder_f Pre_emptionVulnerability_decode_ber; +der_type_encoder_f Pre_emptionVulnerability_encode_der; +xer_type_decoder_f Pre_emptionVulnerability_decode_xer; +xer_type_encoder_f Pre_emptionVulnerability_encode_xer; +per_type_decoder_f Pre_emptionVulnerability_decode_uper; +per_type_encoder_f Pre_emptionVulnerability_encode_uper; +per_type_decoder_f Pre_emptionVulnerability_decode_aper; +per_type_encoder_f Pre_emptionVulnerability_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Pre_emptionVulnerability_H_ */ +#include diff --git a/asn1c_defs/all-defs/Pre-emptionVulnerability.o b/asn1c_defs/all-defs/Pre-emptionVulnerability.o new file mode 100644 index 0000000000000000000000000000000000000000..a87d9c89e12139b19c828aca19d0ae278cdf9a87 GIT binary patch literal 2688 zcmbtV&2G~`5Z=^4%U|1YDuP4cLP5let4ggvLPl-cik}h{6^@SMuG&CiNAaej7dY?& zJOYnWZas2@8?V3}sm!cr-1XLJk(g+A=KE%5XX4$pKQ&*hO;jp^r6Qh)6U3|#hnG%l zUz@&|5z}Gc;aOngkD)6SV%Ls^&of$Apln^7;8!?4rsb=8506ICCOGwk%FD1dWT z9q%^##3&n&&n$Z84S3cX_`Fcgipe61^K233`PVF7tgoy*s?BeAMzI>zmfS_RQTIj~ zc^|!Hx3TDY_cPwkEMV;Kg7|%0APG2m^`h6&r=iFpa^P1c4pb-;M_fEb-v*{4CUf4* zbPPTZ0K*YeCe-#S%oX5$@-#>fH9whWn3;~aN>N4Sh$}?`&{r5$qyIgM_y*eELv;Ow zQ8k`h3rUbE*nqP5yTDiTE``X?-MEY6Mj}k(V70jxKuAz_w*nRJrh%v9UOsJ&kJ}G> zBe@{sQU70}F>XPpQ1n?n=;E(h!Dgts`?3kCaP^hk(R{196{v%O9N$@##Hkumom~m< zjcydgNs#ejH&%L~*R7TDYor4i;bSNW-UIVA^0}~i-Yev1j1}g{MxJw#;(fDuADtk` z^O}e^Z~{TTs;z8lla2fhvQ35jWf(q@+ynAxGv;%LJpSLCFi`d~rRyU9fUt1WgT4wo zpw%$bdu%EBK?!#!RH1M?X)4@df&e2u*8?bfp?0IiUW-$|2yEY zR0D=7->E+Ck10g!9OP3N%$ae2%E*#f46~n|UWdpdTIV{D(=hD*@!eqWJ?0+~`P}Nm Tg8E%lmcL9F>N758h@Jlzi23ml literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Presence.c b/asn1c_defs/all-defs/Presence.c new file mode 100755 index 0000000..33abb8b --- /dev/null +++ b/asn1c_defs/all-defs/Presence.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Presence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Presence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Presence_value2enum_1[] = { + { 0, 8, "optional" }, + { 1, 11, "conditional" }, + { 2, 9, "mandatory" } +}; +static const unsigned int asn_MAP_Presence_enum2value_1[] = { + 1, /* conditional(1) */ + 2, /* mandatory(2) */ + 0 /* optional(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1 = { + asn_MAP_Presence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Presence_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Presence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Presence = { + "Presence", + "Presence", + &asn_OP_NativeEnumerated, + asn_DEF_Presence_tags_1, + sizeof(asn_DEF_Presence_tags_1) + /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ + asn_DEF_Presence_tags_1, /* Same as above */ + sizeof(asn_DEF_Presence_tags_1) + /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Presence_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Presence_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Presence.h b/asn1c_defs/all-defs/Presence.h new file mode 100755 index 0000000..92d70aa --- /dev/null +++ b/asn1c_defs/all-defs/Presence.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Presence_H_ +#define _Presence_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Presence { + Presence_optional = 0, + Presence_conditional = 1, + Presence_mandatory = 2 +} e_Presence; + +/* Presence */ +typedef long Presence_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Presence_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Presence; +extern const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1; +asn_struct_free_f Presence_free; +asn_struct_print_f Presence_print; +asn_constr_check_f Presence_constraint; +ber_type_decoder_f Presence_decode_ber; +der_type_encoder_f Presence_encode_der; +xer_type_decoder_f Presence_decode_xer; +xer_type_encoder_f Presence_encode_xer; +per_type_decoder_f Presence_decode_uper; +per_type_encoder_f Presence_encode_uper; +per_type_decoder_f Presence_decode_aper; +per_type_encoder_f Presence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Presence_H_ */ +#include diff --git a/asn1c_defs/all-defs/Presence.o b/asn1c_defs/all-defs/Presence.o new file mode 100644 index 0000000000000000000000000000000000000000..ecc640bbf450f9a3c9d5f6d0b2695e6ad9662458 GIT binary patch literal 2592 zcmbuAUu)Dr5Wwdewe??X#Rox<69iANp(zDLL8A5AB3h41@iCXCOMCS$smWexUsUi# z-~0$Z`Z0=6egwf!A^6~1o!OhY>}}J6IFOr}-^}c6HoJT8n$H%;YBdn4!9yrLp#beO zr5zeGgejPWF|_3=GX_ljLl*H*(yd$-Doqq*JGzslaTk&--RQ90i_?u*XZij~LyW}S zcX9oZVEyMKkv`Z1byQL zZ-aaO?7Sb`9&opE#HYTe;Md^@WXG%A835ifE8=0KN<8dPB_5nUf-fMc!T6Bdm7c|i z321oWt|q`uGtLBroVd*TvEk#x3hF1~fxG&HhzI8+WvJU|Oa7+m)N$|Cv>K* zb!&0(E9$EJZzjKduLkFX92h@=xJaWX&BaJiq~pyZ3Jib#s8#aaxZ78AD(&~GqQvJ+ z3P>pg}97K{xbcb5T7>I;HS+t z@yl%6ia4FwkfF?hIN9RMJ|Ir-E9ZO*Z4%+q!@`;&|6|@wWq8F`i{?f|YOrhiCwM^vy z^ffG}ceeh1%z&Z!J^Dkrw%kC6n0ph2oFwbbF4VP3ebC)@3RfQ&@;#lQooi^2K{b literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PrintableString.c b/asn1c_defs/all-defs/PrintableString.c new file mode 100755 index 0000000..bbeb145 --- /dev/null +++ b/asn1c_defs/all-defs/PrintableString.c @@ -0,0 +1,130 @@ +/*- + * Copyright (c) 2003, 2004, 2006 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * ASN.1:1984 (X.409) + */ +static const int _PrintableString_alphabet[256] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ + 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9, /* . '() +,-./ */ +10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22, /* 0123456789: = ? */ + 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, /* ABCDEFGHIJKLMNO */ +38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */ + 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, /* abcdefghijklmno */ +64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ +}; +static const int _PrintableString_code2value[74] = { +32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54, +55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74, +75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90, +97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112, +113,114,115,116,117,118,119,120,121,122}; + +/* + * PrintableString basic type description. + */ +static const ber_tlv_tag_t asn_DEF_PrintableString_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)), /* [UNIVERSAL 19] IMPLICIT ...*/ + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ +}; +static int asn_DEF_PrintableString_v2c(unsigned int value) { + return _PrintableString_alphabet[value > 255 ? 0 : value] - 1; +} +static int asn_DEF_PrintableString_c2v(unsigned int code) { + if(code < 74) + return _PrintableString_code2value[code]; + return -1; +} +static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = { + { APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */ + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ + asn_DEF_PrintableString_v2c, + asn_DEF_PrintableString_c2v +}; +asn_TYPE_operation_t asn_OP_PrintableString = { + OCTET_STRING_free, + OCTET_STRING_print_utf8, /* ASCII subset */ + OCTET_STRING_compare, + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, + OCTET_STRING_decode_xer_utf8, + OCTET_STRING_encode_xer_utf8, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + OCTET_STRING_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_PrintableString = { + "PrintableString", + "PrintableString", + &asn_OP_PrintableString, + asn_DEF_PrintableString_tags, + sizeof(asn_DEF_PrintableString_tags) + / sizeof(asn_DEF_PrintableString_tags[0]) - 1, + asn_DEF_PrintableString_tags, + sizeof(asn_DEF_PrintableString_tags) + / sizeof(asn_DEF_PrintableString_tags[0]), + { 0, &asn_DEF_PrintableString_per_constraints, PrintableString_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + + +int +PrintableString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, + void *app_key) { + const PrintableString_t *st = (const PrintableString_t *)sptr; + + if(st && st->buf) { + uint8_t *buf = st->buf; + uint8_t *end = buf + st->size; + + /* + * Check the alphabet of the PrintableString. + * ASN.1:1984 (X.409) + */ + for(; buf < end; buf++) { + if(!_PrintableString_alphabet[*buf]) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value byte %ld (%d) " + "not in PrintableString alphabet " + "(%s:%d)", + td->name, + (long)((buf - st->buf) + 1), + *buf, + __FILE__, __LINE__); + return -1; + } + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} diff --git a/asn1c_defs/all-defs/PrintableString.h b/asn1c_defs/all-defs/PrintableString.h new file mode 100755 index 0000000..08289e2 --- /dev/null +++ b/asn1c_defs/all-defs/PrintableString.h @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PrintableString_H_ +#define _PrintableString_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t PrintableString_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_PrintableString; +extern asn_TYPE_operation_t asn_OP_PrintableString; + +asn_constr_check_f PrintableString_constraint; + +#define PrintableString_free OCTET_STRING_free +#define PrintableString_print OCTET_STRING_print_utf8 +#define PrintableString_compare OCTET_STRING_compare +#define PrintableString_decode_ber OCTET_STRING_decode_ber +#define PrintableString_encode_der OCTET_STRING_encode_der +#define PrintableString_decode_xer OCTET_STRING_decode_xer_utf8 +#define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8 +#define PrintableString_decode_uper OCTET_STRING_decode_uper +#define PrintableString_encode_uper OCTET_STRING_encode_uper +#define PrintableString_decode_aper OCTET_STRING_decode_aper +#define PrintableString_encode_aper OCTET_STRING_encode_aper + +#ifdef __cplusplus +} +#endif + +#endif /* _PrintableString_H_ */ diff --git a/asn1c_defs/all-defs/PrintableString.o b/asn1c_defs/all-defs/PrintableString.o new file mode 100644 index 0000000000000000000000000000000000000000..f961ded9e69dd9c87ce4e8dba8d724c11abecacc GIT binary patch literal 6080 zcmeHLUu;uV7{6V?RTy0X|4c!-Aj3}CrJYm8RBRdBZn11*e`HRy+_iUX(6zI@9Rs66 z=1iIe!-Frr7!w~f@x>=X;>+UHpu~ibm|%ENpPW$=#OQ-D&fj+gsBlwYm}3Vi>RGlgiLyWnLn+c zT28IS#o1+Nrx!f)(~GgAYh`kNq;|t@?lC`ddY~^>ycjE<*QbB-=`+7s`}J8(pSfan z$7efyG0#GL$EW$G+B5A+{M0H69GzW%QZIh27Z+wO7Xm+y)}Ha{#V?|>HN~0Fts#AS z&J)`)SNI`(S)cyISG@Gx^Sr;kGZ#OiL0aFlo{HDvv(<-R){B3J=Xhk@?jTl=16{< zkxn-<#o?zVrH&}{p|MFbb3KT|n%4DZ#kp6iZZ?pMAH`e7K_)6aAUo`W?N$0+NjUYt zD&iPz;BQ8(qU}K-2s8i>16zScKm)b`As`Gi0gnL9z@xxpz;>Vop!I46o&=r(qQEYo z4Z!QDv;!SLC!hl{U=Q##Kx5nsbOGH!53mpD1^R$~U;uaq*bfW>&jLe$0Sp64AO)Df z2yh4(1;&8Gz!4w~i~|`U3rqkn0y!WLSU>@o1dakzz%k%B@Lv_@`yr2$_O=(G{Y^rd z^ERLw@Bz02D}a?i4L}Ld57Yv*XI2Ai07}hw07CBM%3Zv?8)Y4E4{$HA4pr0h&_0a-QD7HvqrD1~TXJg! zN>`w>t*uoJ4h$DERzcmaHEW^9aDmmruY_B)P_q_puzBVu-XqWPUd1yN@T{w;_MOH{ zOz#`LGbAc|+FXe1^d6BM04Sf5T%kwQA9%eg>aUyj?(wTt`&Rht+Wdj2-`Baa%OBMJ zp&@@T>Q_6!!;{$RU5)ah@D`XfVV5-k+XRWL;4k)JD`fnIh>mb-dc_Nl~+jI`87 zIi^aAqw*#?e>})g2WbE#+?CD`vR8?Ni1nfTPxdO2kf88`?qwN}(IpQr%Zeowt9V(a zEagw4O7VqI9wm7j@WB2ARUkcf!Jb~0X(fWIUMY^;>SdW&W^CQdvU4f_8LKX5c}#9O z&nlGdOXUKq(n(M*UUmwU@?W941~ZFrn(aC0SAo^i`p{WR;=_8cmgY-mD9Hx!0b4D3 zhF$oW3;%)(Kk351;lh95!k=^DzjNV#cj4DoRi5uw7hZAPnQ_C$Jv_0yy(8ghNlZ2+ zl`>LXOKPd5=B>tep)4g8EC|4-XW&mW5&KC{w5RCG6cGe3C-}?q zKChD>h4S&b*ne9%Pv4QUj63=jZBBYC8Yt$?`qQ@^#cTp(ncyAK_q{A){9+stG*_;Q%&he{!^Injhp{tI1H|mwvzmESs5o&0#6~t-#7HlewKfwLpal{bw7xbG@Dy?6D4mpT!7wm3J|D6bbv3`~M xCYKL+|5JP&>Aw~_cbxuY=G=Rrlpy_C18H~sFwXf?+)Dm~eEjdSC`%8g|6g}{Rname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_PriorityLevel_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PriorityLevel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PriorityLevel = { + "PriorityLevel", + "PriorityLevel", + &asn_OP_NativeInteger, + asn_DEF_PriorityLevel_tags_1, + sizeof(asn_DEF_PriorityLevel_tags_1) + /sizeof(asn_DEF_PriorityLevel_tags_1[0]), /* 1 */ + asn_DEF_PriorityLevel_tags_1, /* Same as above */ + sizeof(asn_DEF_PriorityLevel_tags_1) + /sizeof(asn_DEF_PriorityLevel_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_PriorityLevel_constr_1, PriorityLevel_constraint }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/PriorityLevel.h b/asn1c_defs/all-defs/PriorityLevel.h new file mode 100755 index 0000000..2c38d65 --- /dev/null +++ b/asn1c_defs/all-defs/PriorityLevel.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PriorityLevel_H_ +#define _PriorityLevel_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PriorityLevel { + PriorityLevel_spare = 0, + PriorityLevel_highest = 1, + PriorityLevel_lowest = 14, + PriorityLevel_no_priority = 15 +} e_PriorityLevel; + +/* PriorityLevel */ +typedef long PriorityLevel_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_PriorityLevel_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_PriorityLevel; +asn_struct_free_f PriorityLevel_free; +asn_struct_print_f PriorityLevel_print; +asn_constr_check_f PriorityLevel_constraint; +ber_type_decoder_f PriorityLevel_decode_ber; +der_type_encoder_f PriorityLevel_encode_der; +xer_type_decoder_f PriorityLevel_decode_xer; +xer_type_encoder_f PriorityLevel_encode_xer; +per_type_decoder_f PriorityLevel_decode_uper; +per_type_encoder_f PriorityLevel_encode_uper; +per_type_decoder_f PriorityLevel_decode_aper; +per_type_encoder_f PriorityLevel_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PriorityLevel_H_ */ +#include diff --git a/asn1c_defs/all-defs/PriorityLevel.o b/asn1c_defs/all-defs/PriorityLevel.o new file mode 100644 index 0000000000000000000000000000000000000000..bdce46d0418fb2bf1d5a50560fb3c15ed7eb8d78 GIT binary patch literal 2776 zcmbVO&1(};5P#`b8^6-DdMGHmmudz3?5bcXD3N}x5ZdAwqF~&n+cugH$!?1EV3q12 zh~m+IK=6O?Qs_a?Jqcbs3VKivp2Rxyc4qVPvLZNTcV>Pw^WN;dd6TY9=BK(+DZ!Ky z=S53nRESqQTXIf`IngJw!hQPl^2O$s+k78RI3L~h^SvvM`*iE=Hc)uXUH_WSKkLaq z--jW04!e=yHh;Ly-){4rvvFa2>-vr6hnt(dM;@V19Q#GZM*gtGoqmdSw!UnlBT*Od zZh9C)-m58?3z7!?Rh06i7gU{MVZmPvPI~3?uoC9#rCPlduIBv}zbuPlFc`B}ymG_0 ztF_QxDy{fcdkDb6h2zRrtW|@s?v<*cz37$7{z7bRTj{T9#0K*$Og(n|hmc15^!WIg zJ#=-xQ4JgRS$Rf|3_A^_IS-vtIdVoi$0J-Ep!HG@E{W9rZ0g|Np7cxD`~={K$ksqU zk;$%i-O3E)GxoL2z=ce9e0L`8?wL^tIVLdtj&AWi@l3454iv(Iza+9$2XtC2v7-|N z#1dLFYaW*9(X>eH1C|oIVjO#o$utIxYq1HN;vB} zx5RE;Rq{D__iOc3X9n0cc>1*OT~^*gl!0eS*4blF`n3Abv9Yb6;by??DNIaG725DZ z=q&{WN67s62)<6?%MtB9tvi#vh(c%Q3Nu~^_w8ae^q2g)0_P?#6~fhfzOiYvAZ!aX zMET;pz*G1Yjf8Dw1RZf4QjB{bBbok{2v&FoWcDXmRT{f%i~x1-K*oO8ajr4q{p5>m zfMmp5UDwLr#B-Yeev*;78qRwmWD}0xg-=W}SgnNKypS-rBEHO0-7kAG^zVm4E_k6Q z;$kVU}Ibp(wXeWiH(9n^_n z6@z#U9>#RP0W%>on!Zmc-gM`9v;O@3yw@5CN%i|i_2W8W{cs*~JmZ*;xi>)KHi4fg oVf;S}=ZhJSv&%etfJBZ8{~8sI% + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct PrivateMessage_IEs; + +/* PrivateIE-Container */ +typedef struct PrivateIE_Container_8247P0 { + A_SEQUENCE_OF(struct PrivateMessage_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PrivateIE_Container_8247P0_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_Container_8247P0; +extern asn_SET_OF_specifics_t asn_SPC_PrivateIE_Container_8247P0_specs_1; +extern asn_TYPE_member_t asn_MBR_PrivateIE_Container_8247P0_1[1]; +extern asn_per_constraints_t asn_PER_type_PrivateIE_Container_8247P0_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _PrivateIE_Container_H_ */ +#include diff --git a/asn1c_defs/all-defs/PrivateIE-Container.o b/asn1c_defs/all-defs/PrivateIE-Container.o new file mode 100644 index 0000000000000000000000000000000000000000..618faee72d67b0cb32e49467c7d513eceb990f76 GIT binary patch literal 2424 zcmbuAOK;Oa5P&x|k5XD75(p$N;eaR-UBy+TMj#jt~PTUq_kEsyl z6Jy)crY9D}yeNWwY21}*jYzUOX8@j~2m879XoTLR)CPMmLKUs~OO;+%g?rs-Fd6g@ zgzIsN?K8La|HOIrAV=`^SgV!F&B9`{HSDTkVMUf?amgKO&wcHdWw9jP>k0p3C7j1G z@iTL^opd*TPj>|F+N3zbnS?+bsE{R&I6i?d0?CP!DK|46gQo#tIO3G)rnVzyQ=5%D zVC0RuyVS7_8qc9EF9GCXz6I*2k$wj{EB*s;9RDrFJt6%~^YOaP6Q6?($Qnmv9CXJ8|ItMWhbdtOX7KQPbb3_`zmXqnck2)P6sjR;1nQ z#%cg%8vbL*3lbkbN2P~YzgwS{oxEM6R+$zQ_oH^kMAoA?4tJtp&5vmbwZe03o+jRT zoAX*D=RLpy_zpwPxyTo>0kOHKX~GxCMs?rdXAI8g2FE#T@TX)W=XXPNVDLQIsJ<8+ z=X;)fA>;jy3R|GnAkn*QspypwaywL^kgYfta?nEuBVFl&8$AzoH(J~)WV_etM6jW< z+f$KT-DobwDr`UFf=APrAsy#z{8sdUo^B@_j5Xy7ILPc9$D^P=X;uX`NM8eu`)ubQ zT5;^!^>082vSkh+&G{EB&iSl8=ttYG{~Z|0*F>dlA+-|Y7AU+My~Iu1Pjq3GvKk-!0YPkA&<0-?42Ixq|^rV)wpk@9hUOd+gukZ-}m%#8by1v6qX s%zk$qhw~3name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct PrivateMessage_IEs__value), + offsetof(struct PrivateMessage_IEs__value, _asn_ctx), + offsetof(struct PrivateMessage_IEs__value, present), + sizeof(((struct PrivateMessage_IEs__value *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PrivateMessage_IEs_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrivateMessage_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_PrivateIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_2, memb_id_constraint_1 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrivateMessage_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct PrivateMessage_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + 0, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrivateMessage_IEs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrivateMessage_IEs_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PrivateMessage_IEs_specs_1 = { + sizeof(struct PrivateMessage_IEs), + offsetof(struct PrivateMessage_IEs, _asn_ctx), + asn_MAP_PrivateMessage_IEs_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PrivateMessage_IEs = { + "PrivateMessage-IEs", + "PrivateMessage-IEs", + &asn_OP_SEQUENCE, + asn_DEF_PrivateMessage_IEs_tags_1, + sizeof(asn_DEF_PrivateMessage_IEs_tags_1) + /sizeof(asn_DEF_PrivateMessage_IEs_tags_1[0]), /* 1 */ + asn_DEF_PrivateMessage_IEs_tags_1, /* Same as above */ + sizeof(asn_DEF_PrivateMessage_IEs_tags_1) + /sizeof(asn_DEF_PrivateMessage_IEs_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PrivateMessage_IEs_1, + 3, /* Elements count */ + &asn_SPC_PrivateMessage_IEs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PrivateIE-Field.h b/asn1c_defs/all-defs/PrivateIE-Field.h new file mode 100755 index 0000000..f0c3d09 --- /dev/null +++ b/asn1c_defs/all-defs/PrivateIE-Field.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PrivateIE_Field_H_ +#define _PrivateIE_Field_H_ + + +#include + +/* Including external dependencies */ +#include "PrivateIE-ID.h" +#include "Criticality.h" +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PrivateMessage_IEs__value_PR { + PrivateMessage_IEs__value_PR_NOTHING /* No components present */ + +} PrivateMessage_IEs__value_PR; + +/* PrivateIE-Field */ +typedef struct PrivateMessage_IEs { + PrivateIE_ID_t id; + Criticality_t criticality; + struct PrivateMessage_IEs__value { + PrivateMessage_IEs__value_PR present; + union PrivateMessage_IEs__value_u { + } 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; +} PrivateMessage_IEs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateMessage_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_PrivateMessage_IEs_specs_1; +extern asn_TYPE_member_t asn_MBR_PrivateMessage_IEs_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _PrivateIE_Field_H_ */ +#include diff --git a/asn1c_defs/all-defs/PrivateIE-Field.o b/asn1c_defs/all-defs/PrivateIE-Field.o new file mode 100644 index 0000000000000000000000000000000000000000..207e4cbfefe67a443eb2f1ae810064d75f803a57 GIT binary patch literal 5128 zcmcInO^g&(5Prj;y9zFg7)9}?NrWuwHZ!;hgcve7%+i}I?8uK_ zz1RKTd{7x5U6achp`6)g+M1xocpKVs$%-Yj$vkPi%eUfnw`aW#FI}>zcX>4)@h<*0 z=q-Ogw!C_3qqqF`_(y%?A3p)JxBQ)#NX6^L)%~|uuiYl{E`GcDhLvut{9C@4A9B9k z_m#$9yVs&n%NfZbWE!N|DEoju^bH+x>{O`u~Jm8nsd&TB^8Sa8(P5x{CyQJwb z6-axO9;`u!;XW1FH+v}lae5whz4uwx{}y(dGEb`Pz1Fo?f2CiN0&Agrh8}945*!bf z%X^)nA06#IX*&A?X2k2u38`ck$wjt)2wRGDU&SaR=TJvY-9?N&kxE-E1+1<=jrYy>v zN3vkbg06PbCQ{d^aqT<_8)Cf5?t+gp-b&$6^QMo{HhYJ}oLOh^et~qwdGlBTs^1GF z!(T|^pyw4X_RmSkp+CG?q~5O?Z?U7`zgWD_wAg=+?Y~<*Z%V9-|2p!s`5Bk}05xyy zVa=8{%bS6=!qQedUiZ3ew|MuuAS`dzcjbAN{5PsTOZ}sS4|aJQ^L7vX6z93XG5w^2 zKD2myT?z?ozU-0bn;!U2J@8+9;BpqJlWRVlpZ4oBer=%{#fw3`8T&nev(qNCu7r2RQ;osw~kj1mn%jD)eY-&=*=TpGfi@1 z?2JYwg>(%+R`JIU+?iil-5tqU~$HqJqmi2mHCj#s1>#00GC> zK;9#KS3zmqOJIv{VHvEda2XTOl)_(N8SE23M`mmGr zKNS8F%V6^TKw9K)(E}RfalnvY<};*lV%P}WI6NC0cP5Af<4#ABaTgb$z`f}1=~RoPBE~w9lv3Ts0{uOZ z5aZSs=I6sEWv71_p?mP~@!=>AYVUGXIOm^S4CX^A^uf48;pi>aPE&~$oa34XwL&u9 zE!;s$^k|yoE5{0hh{HItZt^~FXI!r>LP~HZsxnVBV;m8fzeXH6)A1{M@l{MJohgzH zn7l9ID)Bo6U@rAbo)Y0%@n7-y2U778CmeTP$m#k8=ugeVN#(;mGOPbLx&MCKz2=zR!GKuG;914zmzf##>XuvJ$^(O#!pStO!4?~Zjp;6hq`{hgo$l(BUE5`S78nalhIzCuD)|0cPA9y_9c zfFxe}ih9yxBc#ADbb&Y4M#7$@CmoM9>DqgQP4SiWR%*g2mF~{j@hz_ZGqP(+$NvKv C?kukW literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/PrivateIE-ID.c b/asn1c_defs/all-defs/PrivateIE-ID.c new file mode 100755 index 0000000..4cff717 --- /dev/null +++ b/asn1c_defs/all-defs/PrivateIE-ID.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "PrivateIE-ID.h" + +static int +memb_local_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_local_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.local), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_local_constr_2, memb_local_constraint_1 }, + 0, 0, /* No default value */ + "local" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.global), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "global" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_PrivateIE_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */ +}; +asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1 = { + sizeof(struct PrivateIE_ID), + offsetof(struct PrivateIE_ID, _asn_ctx), + offsetof(struct PrivateIE_ID, present), + sizeof(((struct PrivateIE_ID *)0)->present), + asn_MAP_PrivateIE_ID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID = { + "PrivateIE-ID", + "PrivateIE-ID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_PrivateIE_ID_constr_1, CHOICE_constraint }, + asn_MBR_PrivateIE_ID_1, + 2, /* Elements count */ + &asn_SPC_PrivateIE_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/PrivateIE-ID.h b/asn1c_defs/all-defs/PrivateIE-ID.h new file mode 100755 index 0000000..1b9893e --- /dev/null +++ b/asn1c_defs/all-defs/PrivateIE-ID.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _PrivateIE_ID_H_ +#define _PrivateIE_ID_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PrivateIE_ID_PR { + PrivateIE_ID_PR_NOTHING, /* No components present */ + PrivateIE_ID_PR_local, + PrivateIE_ID_PR_global +} PrivateIE_ID_PR; + +/* PrivateIE-ID */ +typedef struct PrivateIE_ID { + PrivateIE_ID_PR present; + union PrivateIE_ID_u { + long local; + OBJECT_IDENTIFIER_t global; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PrivateIE_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID; +extern asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1; +extern asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[2]; +extern asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _PrivateIE_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/PrivateIE-ID.o b/asn1c_defs/all-defs/PrivateIE-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..83a6d9c62e17a19aaaae4eb6b7bcbad0cd452879 GIT binary patch literal 3840 zcmcgu&2Jl35PyzK6WZcB4IhCb*h||~;H@``gq1_()ONB)Zepb=LLjkOI~ym(AHlnh zT96>96k#DG4izf5O8f)8fyAW}5+4$WD5pxjaHm4h11BKNyq&k6U2i2m1S9Rv%xFWE&+LEe6^*;*yJz?Jh1fRC zYkObr19_*+tM|q#AC6W&dIY^LJ!ATU*}rf0|1kUC7`Ny4_g;Rbf9KV&jy{`*c;xt# zbo7nE|I#sXH1>Y{dQgfO0U7I!*35M*1c|x*Wf9}2>Ecd2njf7b+%hcd`Wf488+B{V zS$EIa&1Oal)$ZoD?K$OArd-tP;)FY^ZQISBqqRGp*4W&3+S(L=C)Q5OwR)%RdR=?7 z?P=@wX46>+-~JAbfie30)93V{Tp0J@e-KyY%YraT$^iue zf6)G;`-|FPt^DkYg+gIgo4Q!*wY{G9fi|XKTT^rWH11tfaJ;Qj>G3bm35HtaNx$B4ilDu(ku@m)LhH z8Lm9=PKsn8b0G za0SnUkbsp{0;*~Ocv8q&#}HpkiqsHRlgRLX8xlVlJTv9!zsJLU!1bg!qRayR21w(q z4;!@dK5*<^l&%9X4v`e8eSHo4BxZnc~ zCS%KK)hs#Jticep3;{#cIzLyn0&}Zev^={p?KEk%T3WV-ysc@WR|;9YNy!gXEX{`k z$>>W}t6(mb3ni&xH1Eom6SAX{Afa!`O7sgnw;Z zVmO}iRnos;IG@S8499&fkp45npCTFA6c!GI4DHXO0+jZd#Q8MQ2*;c}uh88qEzhn2 z_qsmcP*T@v+Pddl_JqD>d$!PPt}FCz2Ng6o^jugqKt&&E08&KN{r?1tAoO~t)pFVp z9ezF>ePQup#`Wy_>*VEZSnFN81h=Y>?EDS4W%ta4C%2eNX-zLpf^uDPht2cgf$31W@}|@O2R4`nMC)Km2=9{;IE7Pc%2i tp2VO)AJ8IxLnh#g`eT~7t=`1p36zO!IHJNoM!f$Gs{b + +/* Including external dependencies */ +#include "PrivateIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PrivateMessage */ +typedef struct PrivateMessage { + PrivateIE_Container_8247P0_t privateIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PrivateMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateMessage; +extern asn_SEQUENCE_specifics_t asn_SPC_PrivateMessage_specs_1; +extern asn_TYPE_member_t asn_MBR_PrivateMessage_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _PrivateMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/PrivateMessage.o b/asn1c_defs/all-defs/PrivateMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..ada72b7f77089aa240a3beec05f6e112ff895c52 GIT binary patch literal 2472 zcmbtV%Wl&^6uqf=KU#`dAlQTzMWUm)iqr}uWC(64qOGBd#LjV3tEp&{D0ZQ2pbK{V z03W~y@DFTQvg8X8OZWn~$1^vXP922Gl|1*{GxsrXzYU)(PE;x+QlWb^vVnG9Bj|xrC;;sZF7h{Iyb}u zA_mjeI6J0ei?v-#{9ldX-!qRq2gdQa(H{$bG%w5t@|nM~{LaNuZA!9k{4iXM58tRb zPqwnyFM3z*M5l0?8eN2~Me%z0v>C28LJ|!)oQl2vj!j2pdf&MDJDyf9avk7Nz74mh9oDLDg@#pPwKz)uz)y18mFcgTYG?jhjla#Y$T`QKErBtv*(77B zFB*QpZv7T>kZ)QI+v*T$aF-R{z(AYBwq+j1pN6@>8s|yQk(~QA=E~{^W`H#lFRCiQ z=*O(f>PO~MN*&b4E9TaZnL{b}kI^^vuW+9&_T2)HcNVVhINzCg?2j#mE@Hs<`4i6e z`&34j_`=N{JMu{U7nA2AbNJl(t<8 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProSeAuthorized.c b/asn1c_defs/all-defs/ProSeAuthorized.c new file mode 100755 index 0000000..d5826ad --- /dev/null +++ b/asn1c_defs/all-defs/ProSeAuthorized.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProSeAuthorized.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_ProSeAuthorized_1[] = { + { ATF_POINTER, 3, offsetof(struct ProSeAuthorized, proSeDirectDiscovery), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProSeDirectDiscovery, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "proSeDirectDiscovery" + }, + { ATF_POINTER, 2, offsetof(struct ProSeAuthorized, proSeDirectCommunication), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProSeDirectCommunication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "proSeDirectCommunication" + }, + { ATF_POINTER, 1, offsetof(struct ProSeAuthorized, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P179, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ProSeAuthorized_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ProSeAuthorized_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProSeAuthorized_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* proSeDirectDiscovery */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* proSeDirectCommunication */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ProSeAuthorized_specs_1 = { + sizeof(struct ProSeAuthorized), + offsetof(struct ProSeAuthorized, _asn_ctx), + asn_MAP_ProSeAuthorized_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ProSeAuthorized_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized = { + "ProSeAuthorized", + "ProSeAuthorized", + &asn_OP_SEQUENCE, + asn_DEF_ProSeAuthorized_tags_1, + sizeof(asn_DEF_ProSeAuthorized_tags_1) + /sizeof(asn_DEF_ProSeAuthorized_tags_1[0]), /* 1 */ + asn_DEF_ProSeAuthorized_tags_1, /* Same as above */ + sizeof(asn_DEF_ProSeAuthorized_tags_1) + /sizeof(asn_DEF_ProSeAuthorized_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProSeAuthorized_1, + 3, /* Elements count */ + &asn_SPC_ProSeAuthorized_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProSeAuthorized.h b/asn1c_defs/all-defs/ProSeAuthorized.h new file mode 100755 index 0000000..43f4493 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeAuthorized.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProSeAuthorized_H_ +#define _ProSeAuthorized_H_ + + +#include + +/* Including external dependencies */ +#include "ProSeDirectDiscovery.h" +#include "ProSeDirectCommunication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ProSeAuthorized */ +typedef struct ProSeAuthorized { + ProSeDirectDiscovery_t *proSeDirectDiscovery; /* OPTIONAL */ + ProSeDirectCommunication_t *proSeDirectCommunication; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProSeAuthorized_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProSeAuthorized_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProSeAuthorized.o b/asn1c_defs/all-defs/ProSeAuthorized.o new file mode 100644 index 0000000000000000000000000000000000000000..618c519544a36b0a3ff85461a6a8e152d9000850 GIT binary patch literal 3096 zcmb_dPfrs;6rWO5{9pW&n0ToNA||rwA_=GoS!@f$AQTA+x4JAFXl%QrJ2l`zd-USn zqel}zhJFAOFMb2B_zCp=w)5K8>GmMuCA06n-}^H&Z)V@TFRv|+WipB>qZUhK8RYix8a^TgkGw(!a$d5aS*);TgMVCMvX?hSqpq!i<+ud zo+%&cuo;sQ_b2!d$zH3ik4lvtWw3DMW8X27{}Nd)r&5s@`B2vLG|nWq_ zDwPU^-VqkA6+^5uXPh}|APKdQXNWyWA5S=Q4b@7q_#{8Qz1wc;c7EQOa|$zVJJH;C z?t)X8bKD1ATtp9w$ThD1q@HbdU`747?7+$-p1#{G&5%Y}b#4g0Nk~RrRH!eABWFp@ zkbegt(S#}18p#=TA;IwBILKLnLkHDqAU_lPe>C`lF;#uJ@V8Sm;wI^qj8`x75 z;VXS7#eNTr`5W<^ktO>%0{=Y%AE$bx<(V3R+YQVKlpi;%rSfvsYHd~R@5fa)F~4~B za>(4ZY*mUwmiRCXdXY<&Av-0W4eOjb#UW~Nc*?qx1#MKSTjkB|@_MnXSf~cnRCUX* zHTB@0?Djmc;jVG8O$!Gd1yQ}%vx`wvQ~t13U6_63R^0i=^6Vhvddl0)&xnolnE{_f zpds!pz^~Hadpd3GHohwG8%74J2pm18WAs;sBM*8F(_632)vCa68w{)?aO7V!Hd!~+fyu59|F_DCj~m+GC9Ydte!!9rkF;|3eC;b| zH;$FlilD&LbzD-zx}TUKS*lZy0v})!qMU%<^N=o>(~NZJtgLU(#M%#D^YTv3?@}a6 zfwPk2Nkzz}Y(3;2Nx7i-yzfAo*NwWUOj{gU)d;7cq literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProSeDirectCommunication.c b/asn1c_defs/all-defs/ProSeDirectCommunication.c new file mode 100755 index 0000000..0469cf6 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeDirectCommunication.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProSeDirectCommunication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ProSeDirectCommunication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ProSeDirectCommunication_value2enum_1[] = { + { 0, 10, "authorized" }, + { 1, 14, "not-authorized" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ProSeDirectCommunication_enum2value_1[] = { + 0, /* authorized(0) */ + 1 /* not-authorized(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ProSeDirectCommunication_specs_1 = { + asn_MAP_ProSeDirectCommunication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ProSeDirectCommunication_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ProSeDirectCommunication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProSeDirectCommunication = { + "ProSeDirectCommunication", + "ProSeDirectCommunication", + &asn_OP_NativeEnumerated, + asn_DEF_ProSeDirectCommunication_tags_1, + sizeof(asn_DEF_ProSeDirectCommunication_tags_1) + /sizeof(asn_DEF_ProSeDirectCommunication_tags_1[0]), /* 1 */ + asn_DEF_ProSeDirectCommunication_tags_1, /* Same as above */ + sizeof(asn_DEF_ProSeDirectCommunication_tags_1) + /sizeof(asn_DEF_ProSeDirectCommunication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProSeDirectCommunication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ProSeDirectCommunication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProSeDirectCommunication.h b/asn1c_defs/all-defs/ProSeDirectCommunication.h new file mode 100755 index 0000000..7f43681 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeDirectCommunication.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProSeDirectCommunication_H_ +#define _ProSeDirectCommunication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ProSeDirectCommunication { + ProSeDirectCommunication_authorized = 0, + ProSeDirectCommunication_not_authorized = 1 + /* + * Enumeration is extensible + */ +} e_ProSeDirectCommunication; + +/* ProSeDirectCommunication */ +typedef long ProSeDirectCommunication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ProSeDirectCommunication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ProSeDirectCommunication; +extern const asn_INTEGER_specifics_t asn_SPC_ProSeDirectCommunication_specs_1; +asn_struct_free_f ProSeDirectCommunication_free; +asn_struct_print_f ProSeDirectCommunication_print; +asn_constr_check_f ProSeDirectCommunication_constraint; +ber_type_decoder_f ProSeDirectCommunication_decode_ber; +der_type_encoder_f ProSeDirectCommunication_encode_der; +xer_type_decoder_f ProSeDirectCommunication_decode_xer; +xer_type_encoder_f ProSeDirectCommunication_encode_xer; +per_type_decoder_f ProSeDirectCommunication_decode_uper; +per_type_encoder_f ProSeDirectCommunication_encode_uper; +per_type_decoder_f ProSeDirectCommunication_decode_aper; +per_type_encoder_f ProSeDirectCommunication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProSeDirectCommunication_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProSeDirectCommunication.o b/asn1c_defs/all-defs/ProSeDirectCommunication.o new file mode 100644 index 0000000000000000000000000000000000000000..ed10a1f0f9e14de6654ef7482eadbe9c31087c26 GIT binary patch literal 2688 zcmbtWOK;Oa5T4*d%d2fT6~Q4OB#K0>q*S5;2^pm?@hDNNilghgt0vIcmA$Db2RQHt z_zC=!a_f;J-1rOJk;=?wCfRHr1u>F$X1+?r+aVI1G>9@@ys0$!pHhSL_9d(hu=h`0OK9p zW_lLhNkGGc3EMUH60QZr1CEqgX9gedFl?p=mpQ9fdEo8}z!yv@TJzVL@)h+o+qU|F zPSJX9H4aYT1`Nu-jd-y$B|zuB8+LH~7@|B0mzGz;VJV@G_VTb|@?Jiz4bMA__FHOR zC9US)WK-U}p>X!78BFt6wQwCz`=MG!s>&jbhn@&)hHb)yOOWiFiw6`$AzW&b zzeWoR;YDM$muTPBE5`Kq$@bjalj&@M% ztgY)}Y4uKnzZ>ZY{GB`pKTFA>%!*$@SM5h8OqN6)7&-oa8b=t9@pnMs2KxBjSN`hy z)?BWm_^k}`fBFW}>7K2hH&ZY$YyU#Iw%kI8F#4w360jrBRbnMESl>lWd*JdvJ9*-| z{qJLduz5*fE&K-#E_~4e#>sa3|3r*L_P^}`l*C~D7&U#11NKGD@S! N; sorted by tag */ + asn_MAP_ProSeDirectDiscovery_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ProSeDirectDiscovery_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProSeDirectDiscovery = { + "ProSeDirectDiscovery", + "ProSeDirectDiscovery", + &asn_OP_NativeEnumerated, + asn_DEF_ProSeDirectDiscovery_tags_1, + sizeof(asn_DEF_ProSeDirectDiscovery_tags_1) + /sizeof(asn_DEF_ProSeDirectDiscovery_tags_1[0]), /* 1 */ + asn_DEF_ProSeDirectDiscovery_tags_1, /* Same as above */ + sizeof(asn_DEF_ProSeDirectDiscovery_tags_1) + /sizeof(asn_DEF_ProSeDirectDiscovery_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProSeDirectDiscovery_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ProSeDirectDiscovery_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProSeDirectDiscovery.h b/asn1c_defs/all-defs/ProSeDirectDiscovery.h new file mode 100755 index 0000000..63c42e0 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeDirectDiscovery.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProSeDirectDiscovery_H_ +#define _ProSeDirectDiscovery_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ProSeDirectDiscovery { + ProSeDirectDiscovery_authorized = 0, + ProSeDirectDiscovery_not_authorized = 1 + /* + * Enumeration is extensible + */ +} e_ProSeDirectDiscovery; + +/* ProSeDirectDiscovery */ +typedef long ProSeDirectDiscovery_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ProSeDirectDiscovery_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ProSeDirectDiscovery; +extern const asn_INTEGER_specifics_t asn_SPC_ProSeDirectDiscovery_specs_1; +asn_struct_free_f ProSeDirectDiscovery_free; +asn_struct_print_f ProSeDirectDiscovery_print; +asn_constr_check_f ProSeDirectDiscovery_constraint; +ber_type_decoder_f ProSeDirectDiscovery_decode_ber; +der_type_encoder_f ProSeDirectDiscovery_encode_der; +xer_type_decoder_f ProSeDirectDiscovery_decode_xer; +xer_type_encoder_f ProSeDirectDiscovery_encode_xer; +per_type_decoder_f ProSeDirectDiscovery_decode_uper; +per_type_encoder_f ProSeDirectDiscovery_encode_uper; +per_type_decoder_f ProSeDirectDiscovery_decode_aper; +per_type_encoder_f ProSeDirectDiscovery_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProSeDirectDiscovery_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProSeDirectDiscovery.o b/asn1c_defs/all-defs/ProSeDirectDiscovery.o new file mode 100644 index 0000000000000000000000000000000000000000..e13d65a1560fee6a5ae95cc2a19dc86cbbffdf39 GIT binary patch literal 2624 zcmbtW!A=xG5UpiU6ctz#6B94%NlaweB_tX(W(+JCqqu<(kHauD>?%7$W_pQuP!oTE zqo3f##82R2;wO0U;3w$K8&>sJExo-1d$5w}s`t8HclC5n@4l};TN){qK&%9h-~VT~mv#OvQS!mB;D6$_^mv=w_O=-l{D~QaxkA zA)}pL*HE#QFm1*5+AP|HBiMTQoR#Bh2#-6Y=qDT=mKPT8SEkoDJBjX8?)vk7b*9!a zsP?XQ&#%t=wcB0ZRrX;Te-!>4_mK>|Q>yoXRySy#S#c3RI!Gep!MOqcIx-~~>+!bI zv-n;D1|D3np@|=2TS7kIo+|ro!;ke8w$g)3oYn8Vfn5PO#FVmCf0HF&&`&*__&X|5St|~c zH0<(GE74|8=eJi~GSB@DUT2(bKt-^CsWLQ{-rV z_m^Rs3!K6}+e9ziOALzY4_Ln^iR>#5UPW9~|0n+FH#nc_r@3W*ss9ynG*uNJ+rIMr zv_G~nZ8XH^_y}j`{VXC2aw*MycQno~)_-Sz1v&aJ;MPxfgS+=g!Dl9CojM$7?xG_7 NUw(fdX)w!N{Xbd+;$r{+ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.c b/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.c new file mode 100755 index 0000000..7b182c1 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProSeUEtoNetworkRelaying.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ProSeUEtoNetworkRelaying_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ProSeUEtoNetworkRelaying_value2enum_1[] = { + { 0, 10, "authorized" }, + { 1, 14, "not-authorized" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ProSeUEtoNetworkRelaying_enum2value_1[] = { + 0, /* authorized(0) */ + 1 /* not-authorized(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_ProSeUEtoNetworkRelaying_specs_1 = { + asn_MAP_ProSeUEtoNetworkRelaying_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ProSeUEtoNetworkRelaying_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ProSeUEtoNetworkRelaying_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProSeUEtoNetworkRelaying = { + "ProSeUEtoNetworkRelaying", + "ProSeUEtoNetworkRelaying", + &asn_OP_NativeEnumerated, + asn_DEF_ProSeUEtoNetworkRelaying_tags_1, + sizeof(asn_DEF_ProSeUEtoNetworkRelaying_tags_1) + /sizeof(asn_DEF_ProSeUEtoNetworkRelaying_tags_1[0]), /* 1 */ + asn_DEF_ProSeUEtoNetworkRelaying_tags_1, /* Same as above */ + sizeof(asn_DEF_ProSeUEtoNetworkRelaying_tags_1) + /sizeof(asn_DEF_ProSeUEtoNetworkRelaying_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProSeUEtoNetworkRelaying_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ProSeUEtoNetworkRelaying_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.h b/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.h new file mode 100755 index 0000000..d98ca90 --- /dev/null +++ b/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProSeUEtoNetworkRelaying_H_ +#define _ProSeUEtoNetworkRelaying_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ProSeUEtoNetworkRelaying { + ProSeUEtoNetworkRelaying_authorized = 0, + ProSeUEtoNetworkRelaying_not_authorized = 1 + /* + * Enumeration is extensible + */ +} e_ProSeUEtoNetworkRelaying; + +/* ProSeUEtoNetworkRelaying */ +typedef long ProSeUEtoNetworkRelaying_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProSeUEtoNetworkRelaying; +asn_struct_free_f ProSeUEtoNetworkRelaying_free; +asn_struct_print_f ProSeUEtoNetworkRelaying_print; +asn_constr_check_f ProSeUEtoNetworkRelaying_constraint; +ber_type_decoder_f ProSeUEtoNetworkRelaying_decode_ber; +der_type_encoder_f ProSeUEtoNetworkRelaying_encode_der; +xer_type_decoder_f ProSeUEtoNetworkRelaying_decode_xer; +xer_type_encoder_f ProSeUEtoNetworkRelaying_encode_xer; +per_type_decoder_f ProSeUEtoNetworkRelaying_decode_uper; +per_type_encoder_f ProSeUEtoNetworkRelaying_encode_uper; +per_type_decoder_f ProSeUEtoNetworkRelaying_decode_aper; +per_type_encoder_f ProSeUEtoNetworkRelaying_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProSeUEtoNetworkRelaying_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.o b/asn1c_defs/all-defs/ProSeUEtoNetworkRelaying.o new file mode 100644 index 0000000000000000000000000000000000000000..b1a1ca2987579380f8516716afb7f5c8264bbd69 GIT binary patch literal 2688 zcmbtV&2G~`5Z=^<@>^O?t>6$OB#K0>xKyG72^qC%D}GAUs^aK6?y3oG?8@F0$^j0% z01v>!^jLA?$dOmz#sR6!tY_lQCQgM|DV~{czHfKdm90Dc>g zikRr(tX$D}v2KGHnZ_^m_-20`W1b!X97hy<#=nA70o*5`M)sS=CwdA~>4>Yu>Nk$C zyC}qOpiCS4ZINUa8Zgx_*O6C(i?V~`Mk37OV5Pnqlu-f|?qz|ed5!vJppFk^IXOz= zOr=EMYAlyCvqKs2ysw@$%85teL02xwxZ9y=N3xN(pe4i}wKu(~*NtE!RP7^K2dPX$ z1(yiElsy^Cv>gR;66CuI+p+3@>39yzuaWy~F6r;RCQ$Vc4l{#*&}8#vw*Jl4s< zd2TWYc87e#hkbR7`@}Qr$9g#CbAx=`?=10KWEsCpv2e5FjtZM#RhrutdrH1n!rcv3 zDBNb22{%nJK&Iz<5W=0V)97*5fjHU%G1>+w++UqkS&q|LiT0 zname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ProcedureCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProcedureCode = { + "ProcedureCode", + "ProcedureCode", + &asn_OP_NativeInteger, + asn_DEF_ProcedureCode_tags_1, + sizeof(asn_DEF_ProcedureCode_tags_1) + /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ + asn_DEF_ProcedureCode_tags_1, /* Same as above */ + sizeof(asn_DEF_ProcedureCode_tags_1) + /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProcedureCode_constr_1, ProcedureCode_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ProcedureCode.h b/asn1c_defs/all-defs/ProcedureCode.h new file mode 100755 index 0000000..4708800 --- /dev/null +++ b/asn1c_defs/all-defs/ProcedureCode.h @@ -0,0 +1,97 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProcedureCode_H_ +#define _ProcedureCode_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ProcedureCode */ +typedef long ProcedureCode_t; + +/* Implementation */ +#define ProcedureCode_id_ricSubscription ((ProcedureCode_t)201) +#define ProcedureCode_id_ricSubscriptionDelete ((ProcedureCode_t)202) +#define ProcedureCode_id_ricServiceUpdate ((ProcedureCode_t)203) +#define ProcedureCode_id_ricControl ((ProcedureCode_t)204) +#define ProcedureCode_id_ricIndication ((ProcedureCode_t)205) +#define ProcedureCode_id_ricServiceQuery ((ProcedureCode_t)206) +extern asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ProcedureCode; +asn_struct_free_f ProcedureCode_free; +asn_struct_print_f ProcedureCode_print; +asn_constr_check_f ProcedureCode_constraint; +ber_type_decoder_f ProcedureCode_decode_ber; +der_type_encoder_f ProcedureCode_encode_der; +xer_type_decoder_f ProcedureCode_decode_xer; +xer_type_encoder_f ProcedureCode_encode_xer; +per_type_decoder_f ProcedureCode_decode_uper; +per_type_encoder_f ProcedureCode_encode_uper; +per_type_decoder_f ProcedureCode_decode_aper; +per_type_encoder_f ProcedureCode_encode_aper; +#define ProcedureCode_id_handoverPreparation ((ProcedureCode_t)0) +#define ProcedureCode_id_handoverCancel ((ProcedureCode_t)1) +#define ProcedureCode_id_loadIndication ((ProcedureCode_t)2) +#define ProcedureCode_id_errorIndication ((ProcedureCode_t)3) +#define ProcedureCode_id_snStatusTransfer ((ProcedureCode_t)4) +#define ProcedureCode_id_uEContextRelease ((ProcedureCode_t)5) +#define ProcedureCode_id_x2Setup ((ProcedureCode_t)6) +#define ProcedureCode_id_reset ((ProcedureCode_t)7) +#define ProcedureCode_id_eNBConfigurationUpdate ((ProcedureCode_t)8) +#define ProcedureCode_id_resourceStatusReportingInitiation ((ProcedureCode_t)9) +#define ProcedureCode_id_resourceStatusReporting ((ProcedureCode_t)10) +#define ProcedureCode_id_privateMessage ((ProcedureCode_t)11) +#define ProcedureCode_id_mobilitySettingsChange ((ProcedureCode_t)12) +#define ProcedureCode_id_rLFIndication ((ProcedureCode_t)13) +#define ProcedureCode_id_handoverReport ((ProcedureCode_t)14) +#define ProcedureCode_id_cellActivation ((ProcedureCode_t)15) +#define ProcedureCode_id_x2Release ((ProcedureCode_t)16) +#define ProcedureCode_id_x2APMessageTransfer ((ProcedureCode_t)17) +#define ProcedureCode_id_x2Removal ((ProcedureCode_t)18) +#define ProcedureCode_id_seNBAdditionPreparation ((ProcedureCode_t)19) +#define ProcedureCode_id_seNBReconfigurationCompletion ((ProcedureCode_t)20) +#define ProcedureCode_id_meNBinitiatedSeNBModificationPreparation ((ProcedureCode_t)21) +#define ProcedureCode_id_seNBinitiatedSeNBModification ((ProcedureCode_t)22) +#define ProcedureCode_id_meNBinitiatedSeNBRelease ((ProcedureCode_t)23) +#define ProcedureCode_id_seNBinitiatedSeNBRelease ((ProcedureCode_t)24) +#define ProcedureCode_id_seNBCounterCheck ((ProcedureCode_t)25) +#define ProcedureCode_id_retrieveUEContext ((ProcedureCode_t)26) +#define ProcedureCode_id_sgNBAdditionPreparation ((ProcedureCode_t)27) +#define ProcedureCode_id_sgNBReconfigurationCompletion ((ProcedureCode_t)28) +#define ProcedureCode_id_meNBinitiatedSgNBModificationPreparation ((ProcedureCode_t)29) +#define ProcedureCode_id_sgNBinitiatedSgNBModification ((ProcedureCode_t)30) +#define ProcedureCode_id_meNBinitiatedSgNBRelease ((ProcedureCode_t)31) +#define ProcedureCode_id_sgNBinitiatedSgNBRelease ((ProcedureCode_t)32) +#define ProcedureCode_id_sgNBCounterCheck ((ProcedureCode_t)33) +#define ProcedureCode_id_sgNBChange ((ProcedureCode_t)34) +#define ProcedureCode_id_rRCTransfer ((ProcedureCode_t)35) +#define ProcedureCode_id_endcX2Setup ((ProcedureCode_t)36) +#define ProcedureCode_id_endcConfigurationUpdate ((ProcedureCode_t)37) +#define ProcedureCode_id_secondaryRATDataUsageReport ((ProcedureCode_t)38) +#define ProcedureCode_id_endcCellActivation ((ProcedureCode_t)39) +#define ProcedureCode_id_endcPartialReset ((ProcedureCode_t)40) +#define ProcedureCode_id_eUTRANRCellResourceCoordination ((ProcedureCode_t)41) +#define ProcedureCode_id_SgNBActivityNotification ((ProcedureCode_t)42) +#define ProcedureCode_id_endcX2Removal ((ProcedureCode_t)43) +#define ProcedureCode_id_dataForwardingAddressIndication ((ProcedureCode_t)44) +#define ProcedureCode_id_gNBStatusIndication ((ProcedureCode_t)45) +#define ProcedureCode_id_kPIMonitor ((ProcedureCode_t)46) + +#ifdef __cplusplus +} +#endif + +#endif /* _ProcedureCode_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProcedureCode.o b/asn1c_defs/all-defs/ProcedureCode.o new file mode 100644 index 0000000000000000000000000000000000000000..edc47e8b8816c69984d9d3da8333feb1d0b02ed7 GIT binary patch literal 2776 zcmbVN&1)1{5U)wA89#QML=OQM?Tc$f^Gs{N5Ku-Y(H4dn+*L%uu`|>8(D{(*o}eCd zMLi6nc=R6-{2#msg1hIO7WT47VMW|McoJjP>#EM1XRBZh-BtCgk5^sqy_!2Sm6HRx z90=v$IIL@e0zBQcE|;`ef*~k^|KP)~r+ce@@6UMJ``f>Jd<~5&p8sI=#Trt)&%gIJ zUwJrKdGr%SUES>`g5Ue!?|t%ne|RrXtgT+S*!%0!tL=MAn2!VB>A=JpQE51yjry$E<}fdMq^A1bDefAtam$Mxm^!c4faM; z?n=<;hHk4JyNk;!VapvwaBqFTw$<9LDDDKyt=L@%mK$L`wf1HDRwaqe-V0m*eul(@ zdIYD+(_Ov^PKld68w4-9=@{=>MD;`_41o47@$n>6w$& zKD-(Si&51BRVk0t>oC1M==WK_GucTrdSg7EKc3 zvPcKGUYZxQ3m=n_ur^`fG@%3!4BYf@8hF9*XIOWdPS+Fz`re^T=iS7m$Ak~FFR>Ap z312^T0Ha^QO9sA!Wn#X8%UT4vj8h-zNl8UFn{hA?3g=eBmqhA>jX=fWjTlrthyzgb zQ3R^fCWYKRHQBG?M(Y^ufRb22)!NNw*uq3OHbZr4_S{$$2eoVLA1+lFIzcl`i~4cF z#Zc+FnWe;v+yk+hJtAxuK6KYh_?YyD2f!5u=?u_1vd^-Azc6l3te1!rrS~UM(|uu8 z&soZ8#}{d_46`(otsV((O|1Tp(OZA;`)Zg&><{U@(i+_*>#K?7=j0U~s_=5&UBEuLRSCYbN{4I)IXYU5-&K_W3P=6Tw(AZE_gd) mba(7{nqBtZBLpRG{4-JvvcI4HceCR2G(?deCoFy2@t*+&Zy7}Z literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.c b/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.c new file mode 100755 index 0000000..5370e60 --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.c @@ -0,0 +1,183 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtectedEUTRAResourceIndication.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_activationSFN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 1023)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_mBSFNControlRegionLength_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pDCCHRegionLength_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_activationSFN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_mBSFNControlRegionLength_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_pDCCHRegionLength_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 1, 3 } /* (1..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ProtectedEUTRAResourceIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedEUTRAResourceIndication, activationSFN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_activationSFN_constr_2, memb_activationSFN_constraint_1 }, + 0, 0, /* No default value */ + "activationSFN" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedEUTRAResourceIndication, protectedResourceList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtectedResourceList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protectedResourceList" + }, + { ATF_POINTER, 3, offsetof(struct ProtectedEUTRAResourceIndication, mBSFNControlRegionLength), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_mBSFNControlRegionLength_constr_4, memb_mBSFNControlRegionLength_constraint_1 }, + 0, 0, /* No default value */ + "mBSFNControlRegionLength" + }, + { ATF_POINTER, 2, offsetof(struct ProtectedEUTRAResourceIndication, pDCCHRegionLength), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_pDCCHRegionLength_constr_5, memb_pDCCHRegionLength_constraint_1 }, + 0, 0, /* No default value */ + "pDCCHRegionLength" + }, + { ATF_POINTER, 1, offsetof(struct ProtectedEUTRAResourceIndication, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P180, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ProtectedEUTRAResourceIndication_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_ProtectedEUTRAResourceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedEUTRAResourceIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* activationSFN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* protectedResourceList */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mBSFNControlRegionLength */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* pDCCHRegionLength */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ProtectedEUTRAResourceIndication_specs_1 = { + sizeof(struct ProtectedEUTRAResourceIndication), + offsetof(struct ProtectedEUTRAResourceIndication, _asn_ctx), + asn_MAP_ProtectedEUTRAResourceIndication_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ProtectedEUTRAResourceIndication_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedEUTRAResourceIndication = { + "ProtectedEUTRAResourceIndication", + "ProtectedEUTRAResourceIndication", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedEUTRAResourceIndication_tags_1, + sizeof(asn_DEF_ProtectedEUTRAResourceIndication_tags_1) + /sizeof(asn_DEF_ProtectedEUTRAResourceIndication_tags_1[0]), /* 1 */ + asn_DEF_ProtectedEUTRAResourceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtectedEUTRAResourceIndication_tags_1) + /sizeof(asn_DEF_ProtectedEUTRAResourceIndication_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedEUTRAResourceIndication_1, + 5, /* Elements count */ + &asn_SPC_ProtectedEUTRAResourceIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.h b/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.h new file mode 100755 index 0000000..29e53b1 --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtectedEUTRAResourceIndication_H_ +#define _ProtectedEUTRAResourceIndication_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ProtectedResourceList.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ProtectedEUTRAResourceIndication */ +typedef struct ProtectedEUTRAResourceIndication { + long activationSFN; + ProtectedResourceList_t protectedResourceList; + long *mBSFNControlRegionLength; /* OPTIONAL */ + long *pDCCHRegionLength; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedEUTRAResourceIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtectedEUTRAResourceIndication; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtectedEUTRAResourceIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.o b/asn1c_defs/all-defs/ProtectedEUTRAResourceIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..b9c4408c532d54614d4e43653a3d7b13edd72ab2 GIT binary patch literal 5800 zcmb_gO>9(E6u#3zS^-M|6KhcW7NRB6M_;Y6VL_%$2Oh~-N=ub!!t{0e+78YSnR%`F z6CG1XoDdTdO~jpvE?DA95;sjSN_0c&hQx)sBS8tWFeDoBocqpsbLMtRi}obw6%S@ISeO9G#_`-=3egw|1S;Ss48|2K{P_tg8pvb_Jp zwI6~Z_uNL9f`uC~cj0c!ebPAEkcP9EuKgU%LDc^pqyJRB|L^t4!$%7!E{O2j!74<8 z3xN^=4`6U?)Kbz@JKu z9~&JU^(&>ha@IdwoXTarAXh5dS?X*xqS{s2XU%*0Io~Rl0&6BW?-#9Z0C!F8)@|8R zu@aQMTrsewylBHr$F6Br48OSW{7iWT5 zb!sS?bQ_RdswZ_i@QW27Rd}i%So3~iN3+hjsUI?dHPmqr{nvfCQusD#*tm{yas0UT z2B6@cT(5jFE{;C|r5(z8#>Ln!l#XL7~t>hlVIhGup z8;*%Fa7-J}AW4u$ALQw_L&@Ymt9yKMt{BW&FWUWfZ;vylYtFmQfZf|~JG(<%Jxczu zw?QG(F4X4KrJJjW^7w#O2INy!mRz^_y1bq4hMB7SXSs zJHUnruYyKlyacx9(eN&}?`nSHNFc0WYk8 zpIZS}t9_v1OJ48`lbMFEZKnQJ&NyNFN?+P0)Mek^Mh@IJGDE3@nbk7O1l~*qx<~#? z2S!)tht#o=Nf&8Z!1bs>1 zcwbqh`elLRo?y8~2FAg=(mtx+7I+ugsJf8|!h9Z&D{z_5gupSM33LXT6*%ToMG&Ma zaLng~MwR+Z;4(gchp`#svn&d}9xv6e3moIWK@N8XZgCLMy);?ajQkq4$$cXJs#vxk zjuYP^jo~PyMtI#BuM&?nUJ0uD0olx-ZmVhEvX5Z*?fqrsz(!%1|iSMfEk85JCJwWOb Z{c-n|5!@U<#%<=Gpu_re3?{_%{}*rY7#siq literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtectedFootprintTimePattern.c b/asn1c_defs/all-defs/ProtectedFootprintTimePattern.c new file mode 100755 index 0000000..9ef85e2 --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedFootprintTimePattern.c @@ -0,0 +1,133 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtectedFootprintTimePattern.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_protectedFootprintTimePeriodicity_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 320)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_protectedFootprintStartTime_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 20)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_protectedFootprintTimePeriodicity_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 1, 320 } /* (1..320,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_protectedFootprintStartTime_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 1, 20 } /* (1..20,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ProtectedFootprintTimePattern_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedFootprintTimePattern, protectedFootprintTimePeriodicity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_protectedFootprintTimePeriodicity_constr_2, memb_protectedFootprintTimePeriodicity_constraint_1 }, + 0, 0, /* No default value */ + "protectedFootprintTimePeriodicity" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedFootprintTimePattern, protectedFootprintStartTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_protectedFootprintStartTime_constr_3, memb_protectedFootprintStartTime_constraint_1 }, + 0, 0, /* No default value */ + "protectedFootprintStartTime" + }, + { ATF_POINTER, 1, offsetof(struct ProtectedFootprintTimePattern, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P181, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ProtectedFootprintTimePattern_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ProtectedFootprintTimePattern_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedFootprintTimePattern_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* protectedFootprintTimePeriodicity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* protectedFootprintStartTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProtectedFootprintTimePattern_specs_1 = { + sizeof(struct ProtectedFootprintTimePattern), + offsetof(struct ProtectedFootprintTimePattern, _asn_ctx), + asn_MAP_ProtectedFootprintTimePattern_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ProtectedFootprintTimePattern_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedFootprintTimePattern = { + "ProtectedFootprintTimePattern", + "ProtectedFootprintTimePattern", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedFootprintTimePattern_tags_1, + sizeof(asn_DEF_ProtectedFootprintTimePattern_tags_1) + /sizeof(asn_DEF_ProtectedFootprintTimePattern_tags_1[0]), /* 1 */ + asn_DEF_ProtectedFootprintTimePattern_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtectedFootprintTimePattern_tags_1) + /sizeof(asn_DEF_ProtectedFootprintTimePattern_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedFootprintTimePattern_1, + 3, /* Elements count */ + &asn_SPC_ProtectedFootprintTimePattern_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtectedFootprintTimePattern.h b/asn1c_defs/all-defs/ProtectedFootprintTimePattern.h new file mode 100755 index 0000000..461dea7 --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedFootprintTimePattern.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtectedFootprintTimePattern_H_ +#define _ProtectedFootprintTimePattern_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ProtectedFootprintTimePattern */ +typedef struct ProtectedFootprintTimePattern { + long protectedFootprintTimePeriodicity; + long protectedFootprintStartTime; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedFootprintTimePattern_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtectedFootprintTimePattern; +extern asn_SEQUENCE_specifics_t asn_SPC_ProtectedFootprintTimePattern_specs_1; +extern asn_TYPE_member_t asn_MBR_ProtectedFootprintTimePattern_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtectedFootprintTimePattern_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtectedFootprintTimePattern.o b/asn1c_defs/all-defs/ProtectedFootprintTimePattern.o new file mode 100644 index 0000000000000000000000000000000000000000..9a90d561ca309c0b4e809e92a969c89f9e999edb GIT binary patch literal 4880 zcmb_fQD|I66rIg#8k@S^8pUXpJfYPTn%BHE;1W%%|v2LBABFv-Q zR(^}+UU~&$oON=S*1x?6B45a@-0a9--j)C8QRJTK$%RU8^>%LcALnX*^~UhM^;4%; zufO%(?B1Rc0da|XQ&B^Ah;XKhsLuND-|y|w^N%$1uiWiwkv-KSdn4~{Bk$p6-XGNb z!&f^r57UDP*Y0sNNU#JbZ11GS_>a(oJdU4c1+Xys{l&NKBVN7g6x|trwtmDbm;01b zs0Gq5N`GcF2;@SoRFx-76~Ev~>DQ`uQHX_T2ftPdW=h49JSPs;hpe++dC|A3fwbmI zXZ@ZyRHXC++O74Nb>;72;!MGs z>Vmak4&pcm-6zfVSSB-M^-fMNR^_7gqCIH$_c@Eoa^81RcK@L5913w@2*JPS*!dG8 zwv>$R-?OXZV@Pxu`kql9LcE9VNFuq?HkatmC#*LU-NT7wW_O}vtaDr;p?{wI7aRV* z;XmB)C)Z64&ha7fXXKs|-%x=jH7=s77>7tv5?4Fh=AO7(aU1dHz--gWO20N=G`ECkUBQTY5Fs-6ABuG5lsUmz_?Tt0WK`s!^w%*3Y9^F*>MeyIJ)pMRa zz63nE$yuh3k9(eq2%Uhqk~)%gr86nu=eUcDFrk+~#TG zI$LoX=fp;DIRD&{?5NvvB(C)4>JS>8Umq@P?>yj_@7q17aOgtzgu9~|y8~)SEqLav z-J`MidM|9I(;{-#UP5P~3x zhlcC%306BQo@qR8JnvEPXQ|`- z8$?_`PgzGCcP0Ma_JWRL;<*r3_*0}~Q_%3IHGE3L_iOkS4d?R_p*0Q1(`brpt{aXA zYszws6vXkKog({|hU@Wpze0bE&yqv{gySzOONd?#$9kS3Jg4E$5{AvPhNHivKK;As zyMH(JBMosrk1WD*uKIkr&WtaUpRnuaD$<*VR@TCHp0%1^_H5}dNny`;(i8S{y)Nup zfCjodc50*PfQcOC0GeUi<)G*xs3Hiv7*r~L6{5q%-nYlbC;RHsE51W4f8L#~c@>`r z`u|!B=vXVPtuARY{?b9vlZK6J5YPIwfnUdqAjnnq4tbb|zZ-w2=K(`pUpq)iBM7n< zHjTH{&_V_8gBa7~-y*)@u5#%Z?px?Opo5?@|FnVg_&IzU`lI--(IWf6;4_cglf*a2 z{|oUyWJii)8S##T9aaA;bmdwjK7Kd6{qgv@{zbsh#mv7<7r1`t)5X#a(BFn9Du0fy zYRt#{c$+cvWBLo^ZENl<;K{bQT}T*uzi3%8NtVIVt#vo a!~!LnH6~`xALB;xzo7Adj=?lB`Tqh90ESNh literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtectedResourceList-Item.c b/asn1c_defs/all-defs/ProtectedResourceList-Item.c new file mode 100755 index 0000000..f49d7d2 --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedResourceList-Item.c @@ -0,0 +1,165 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtectedResourceList-Item.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_intraPRBProtectedResourceFootprint_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 84)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_protectedFootprintFrequencyPattern_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 110)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_intraPRBProtectedResourceFootprint_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 84, 84 } /* (SIZE(84..84,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_protectedFootprintFrequencyPattern_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 6, 110 } /* (SIZE(6..110,...)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ProtectedResourceList_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item, resourceType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResourceType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "resourceType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item, intraPRBProtectedResourceFootprint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_intraPRBProtectedResourceFootprint_constr_3, memb_intraPRBProtectedResourceFootprint_constraint_1 }, + 0, 0, /* No default value */ + "intraPRBProtectedResourceFootprint" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item, protectedFootprintFrequencyPattern), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_protectedFootprintFrequencyPattern_constr_4, memb_protectedFootprintFrequencyPattern_constraint_1 }, + 0, 0, /* No default value */ + "protectedFootprintFrequencyPattern" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item, protectedFootprintTimePattern), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtectedFootprintTimePattern, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protectedFootprintTimePattern" + }, + { ATF_POINTER, 1, offsetof(struct ProtectedResourceList_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P182, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ProtectedResourceList_Item_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_ProtectedResourceList_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedResourceList_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resourceType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* intraPRBProtectedResourceFootprint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protectedFootprintFrequencyPattern */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protectedFootprintTimePattern */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProtectedResourceList_Item_specs_1 = { + sizeof(struct ProtectedResourceList_Item), + offsetof(struct ProtectedResourceList_Item, _asn_ctx), + asn_MAP_ProtectedResourceList_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ProtectedResourceList_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedResourceList_Item = { + "ProtectedResourceList-Item", + "ProtectedResourceList-Item", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedResourceList_Item_tags_1, + sizeof(asn_DEF_ProtectedResourceList_Item_tags_1) + /sizeof(asn_DEF_ProtectedResourceList_Item_tags_1[0]), /* 1 */ + asn_DEF_ProtectedResourceList_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtectedResourceList_Item_tags_1) + /sizeof(asn_DEF_ProtectedResourceList_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedResourceList_Item_1, + 5, /* Elements count */ + &asn_SPC_ProtectedResourceList_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtectedResourceList-Item.h b/asn1c_defs/all-defs/ProtectedResourceList-Item.h new file mode 100755 index 0000000..2a6f05f --- /dev/null +++ b/asn1c_defs/all-defs/ProtectedResourceList-Item.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtectedResourceList_Item_H_ +#define _ProtectedResourceList_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ResourceType.h" +#include +#include "ProtectedFootprintTimePattern.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ProtectedResourceList-Item */ +typedef struct ProtectedResourceList_Item { + ResourceType_t resourceType; + BIT_STRING_t intraPRBProtectedResourceFootprint; + BIT_STRING_t protectedFootprintFrequencyPattern; + ProtectedFootprintTimePattern_t protectedFootprintTimePattern; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedResourceList_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtectedResourceList_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ProtectedResourceList_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ProtectedResourceList_Item_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtectedResourceList_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtectedResourceList-Item.o b/asn1c_defs/all-defs/ProtectedResourceList-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..89045d5dd856d569a54f0917b24cef0f28fd5459 GIT binary patch literal 5408 zcmcIoU1%It6uz6SO>F9BTPs$pW_+k7V5U21#HE64n`|C1Qll|yOU0tc z+9=dWT1Y6BJ}B6?fWGNN(U(A9D&m7ESn^a5wD?re2NjVbVm;^1IkR^syJ@QRz}$20 zcYf}<=iZrnci&E?hTB3R!4wiNh6ccnzx>5) zSND(*=Z{Ct&u@f{@0NaSH+!#{OSdL#mr>o-y@(-94*iV`?S+F8PVS-5#`;emU7Xds zy3eBdUFJ8mrTi{z`|?kios#3+8=rVNw$AUMlAp}1-e9Sa>PTJM4q`h!h+-e9>*7XB+wPa+ioHJWJU>6E~Qbm2U!{xF&Ujel@(mV(9@!^W|dd(?i7t*%tI+c>xUp=IqvI{jwE0taC zME;ah(s}^gpX-&nY`Ij0!62kIYv&72&ev`j+|N=}DDTOIc}HwaVlrQJc>H{_FL~N^ zO4U3J8T)s3$hGS6blTQk+GyUV}c; z?-H-qKjy)r8(zX@@dsMqBQ5Y^3tY55`{0BwI>j05&PTLWKUyurbJ}=R2G8q8C%8OV zL&;&QX*w2O7%bO5QHAhmdGv7l4wn5+VQaSKA_q+;$E~}Yuys&o<2!D7($;{`Q-d*V z`myn5wfX$zP{-2NMDoR{h z$mpasF*!auHX_GuNZ-GvsW&8c#6>P=%LV_sG*~XVa4~Z#R=oe9kv8J}wEaad39x

ev2j~}%N&In=k#(RU5Hh?+WZ*%HDmd1ZsYk)_s~#tXso-k-jDoB8lsN^* z_^T9WQNb~OhVWGd$1|7dx`N|;XGn2N!MoWQc#I~4YP4U32T5IbTt}wh`trG|kpYII zkP=}%?>}6t5ev(^G`2dktN9UtPwILYg9@_zXN4Gw9Fz z25nRdOh*`?M2x?KY|H*j3=rr1IZgubX8xbiCVMyF&wk8t|DhbrKSMxV-K=1z!K2bK z=rpUpNmsro`D6X@e-6%{>z@Uz+4!sYG6Tgt=C_(JdBUr}nvFl*<>}cU$H!Y)aD4oM zkK+fXDQ?jC)1XsHQ#&BP1rPf3IINE2#{vlVhe~LR#QdxxO9eGK@>emG*^lu{gaz}T zBmYG + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtectedResourceList_Item; + +/* ProtectedResourceList */ +typedef struct ProtectedResourceList { + A_SEQUENCE_OF(struct ProtectedResourceList_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedResourceList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtectedResourceList; +extern asn_SET_OF_specifics_t asn_SPC_ProtectedResourceList_specs_1; +extern asn_TYPE_member_t asn_MBR_ProtectedResourceList_1[1]; +extern asn_per_constraints_t asn_PER_type_ProtectedResourceList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtectedResourceList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtectedResourceList.o b/asn1c_defs/all-defs/ProtectedResourceList.o new file mode 100644 index 0000000000000000000000000000000000000000..71dfffeaf5ae5e4fdbe363b2ed44cc3a46d306e5 GIT binary patch literal 2408 zcmbuAPiqrF6u>9hs#ROHm#TP)CnMM)D+NWNEXGY$Y8w*+g2HyYU2M@LB|8CoQ9nk( z&miR3gI_`L=+UEB@dMQNX5ZV4lZlFbu>0Qoy+1QMGnu>#*Ba$gNwAc}iWqxLg{Yn! z+krL%F)!vs4eU$fkkdLMaRti&XXwE=k9`3hhcpL$l_o0PZlzg&I7rg9-Ap<1{uS|f zoNxQgZT&xaf!*X7zV5YJuivRuJ6pq^8dh$}Wm#MDhuZVs`nP3mS^C#=K6NDgjv4Xe z$d%v~yYYL}6S!-W;t6jO0`c??Plh~kVggMj%S0#GdMHUo;Yo~h3$#i!e(Oy zj0I!d9SXbv?K*RPonICe%4?GT0NR!R5jggLPkGNsf7X1wZga$cf_C*0&Vw!!5of*V ze%Oed@kqrlv&jE*l8$aPqjvbD6Ry|8XrrM~Gi*g_e=nWVI_dW^HGt;r@F|o;xgYQL zl&*e!uQjDGpH913pAygZ(&Vp`jvlJCOKXM-&#ifSc&Ba7Ym1!M9P9bcLe90wtM~%3 zd7x>|=gCI(z~JW$&gTUCoHzI;*~ocrhz<4TfTj&&F>DPaq&?ECDr}Ix1{(L-t{+)>?AqhsfB>?aoIslEFIt@I zSqBhD+aCWLFqE&kD&CdC%8k3A@GcB;w|I}}f}Ev+&Oiju37=^`=Z}D4%J>EX2jr0I z%zGBO?YDqoY7K*ie4=_>A5#eH8syL6VP@uicR@!krrC4HK3qSdK4*d9V}C#XL)dE% YNE{GcwB}*CaHqTL59t!Jeo&W#< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtocolExtensionContainer.c b/asn1c_defs/all-defs/ProtocolExtensionContainer.c new file mode 100755 index 0000000..b317c76 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolExtensionContainer.c @@ -0,0 +1,8930 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtocolExtensionContainer.h" + +#include "ProtocolExtensionField.h" +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P0_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P1_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P2_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P3_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P4_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P5_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P6_constr_13 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P7_constr_15 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P8_constr_17 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P9_constr_19 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P10_constr_21 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P11_constr_23 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P12_constr_25 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P13_constr_27 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P14_constr_29 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P15_constr_31 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P16_constr_33 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P17_constr_35 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P18_constr_37 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P19_constr_39 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P20_constr_41 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P21_constr_43 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P22_constr_45 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P23_constr_47 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P24_constr_49 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P25_constr_51 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P26_constr_53 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P27_constr_55 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P28_constr_57 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P29_constr_59 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P30_constr_61 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P31_constr_63 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P32_constr_65 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P33_constr_67 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P34_constr_69 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P35_constr_71 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P36_constr_73 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P37_constr_75 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P38_constr_77 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P39_constr_79 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P40_constr_81 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P41_constr_83 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P42_constr_85 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P43_constr_87 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P44_constr_89 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P45_constr_91 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P46_constr_93 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P47_constr_95 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P48_constr_97 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P49_constr_99 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P50_constr_101 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P51_constr_103 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P52_constr_105 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P53_constr_107 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P54_constr_109 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P55_constr_111 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P56_constr_113 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P57_constr_115 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P58_constr_117 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P59_constr_119 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P60_constr_121 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P61_constr_123 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P62_constr_125 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P63_constr_127 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P64_constr_129 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P65_constr_131 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P66_constr_133 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P67_constr_135 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P68_constr_137 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P69_constr_139 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P70_constr_141 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P71_constr_143 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P72_constr_145 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P73_constr_147 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P74_constr_149 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P75_constr_151 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P76_constr_153 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P77_constr_155 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P78_constr_157 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P79_constr_159 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P80_constr_161 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P81_constr_163 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P82_constr_165 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P83_constr_167 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P84_constr_169 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P85_constr_171 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P86_constr_173 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P87_constr_175 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P88_constr_177 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P89_constr_179 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P90_constr_181 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P91_constr_183 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P92_constr_185 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P93_constr_187 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P94_constr_189 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P95_constr_191 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P96_constr_193 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P97_constr_195 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P98_constr_197 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P99_constr_199 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P100_constr_201 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P101_constr_203 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P102_constr_205 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P103_constr_207 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P104_constr_209 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P105_constr_211 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P106_constr_213 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P107_constr_215 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P108_constr_217 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P109_constr_219 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P110_constr_221 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P111_constr_223 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P112_constr_225 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P113_constr_227 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P114_constr_229 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P115_constr_231 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P116_constr_233 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P117_constr_235 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P118_constr_237 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P119_constr_239 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P120_constr_241 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P121_constr_243 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P122_constr_245 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P123_constr_247 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P124_constr_249 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P125_constr_251 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P126_constr_253 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P127_constr_255 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P128_constr_257 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P129_constr_259 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P130_constr_261 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P131_constr_263 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P132_constr_265 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P133_constr_267 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P134_constr_269 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P135_constr_271 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P136_constr_273 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P137_constr_275 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P138_constr_277 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P139_constr_279 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P140_constr_281 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P141_constr_283 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P142_constr_285 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P143_constr_287 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P144_constr_289 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P145_constr_291 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P146_constr_293 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P147_constr_295 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P148_constr_297 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P149_constr_299 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P150_constr_301 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P151_constr_303 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P152_constr_305 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P153_constr_307 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P154_constr_309 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P155_constr_311 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P156_constr_313 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P157_constr_315 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P158_constr_317 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P159_constr_319 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P160_constr_321 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P161_constr_323 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P162_constr_325 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P163_constr_327 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P164_constr_329 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P165_constr_331 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P166_constr_333 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P167_constr_335 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P168_constr_337 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P169_constr_339 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P170_constr_341 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P171_constr_343 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P172_constr_345 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P173_constr_347 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P174_constr_349 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P175_constr_351 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P176_constr_353 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P177_constr_355 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P178_constr_357 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P179_constr_359 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P180_constr_361 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P181_constr_363 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P182_constr_365 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P183_constr_367 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P184_constr_369 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P185_constr_371 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P186_constr_373 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P187_constr_375 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P188_constr_377 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P189_constr_379 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P190_constr_381 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P191_constr_383 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P192_constr_385 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P193_constr_387 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P194_constr_389 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P195_constr_391 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P196_constr_393 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P197_constr_395 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P198_constr_397 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P199_constr_399 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P200_constr_401 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P201_constr_403 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P202_constr_405 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P203_constr_407 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P204_constr_409 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P205_constr_411 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P206_constr_413 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P207_constr_415 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P208_constr_417 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P209_constr_419 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P210_constr_421 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P211_constr_423 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P212_constr_425 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P213_constr_427 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P214_constr_429 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P215_constr_431 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P216_constr_433 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P217_constr_435 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P218_constr_437 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P219_constr_439 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P220_constr_441 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P221_constr_443 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P222_constr_445 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P0_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P0_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P0_specs_1 = { + sizeof(struct ProtocolExtensionContainer_8231P0), + offsetof(struct ProtocolExtensionContainer_8231P0, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P0 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P0_tags_1, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P0_tags_1) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P0_tags_1[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P0_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P0_tags_1) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P0_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P0_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P0_1, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P0_specs_1 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P1_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeSetup_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P1_tags_3[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P1_specs_3 = { + sizeof(struct ProtocolExtensionContainer_8231P1), + offsetof(struct ProtocolExtensionContainer_8231P1, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P1 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P1_tags_3, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P1_tags_3) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P1_tags_3[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P1_tags_3, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P1_tags_3) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P1_tags_3[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P1_constr_3, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P1_3, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P1_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P2_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P2_tags_5[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P2_specs_5 = { + sizeof(struct ProtocolExtensionContainer_8231P2), + offsetof(struct ProtocolExtensionContainer_8231P2, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P2 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P2_tags_5, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P2_tags_5) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P2_tags_5[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P2_tags_5, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P2_tags_5) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P2_tags_5[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P2_constr_5, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P2_5, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P2_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P3_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P3_tags_7[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P3_specs_7 = { + sizeof(struct ProtocolExtensionContainer_8231P3), + offsetof(struct ProtocolExtensionContainer_8231P3, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P3 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P3_tags_7, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P3_tags_7) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P3_tags_7[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P3_tags_7, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P3_tags_7) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P3_tags_7[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P3_constr_7, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P3_7, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P3_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P4_9[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P4_tags_9[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P4_specs_9 = { + sizeof(struct ProtocolExtensionContainer_8231P4), + offsetof(struct ProtocolExtensionContainer_8231P4, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P4 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P4_tags_9, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P4_tags_9) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P4_tags_9[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P4_tags_9, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P4_tags_9) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P4_tags_9[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P4_constr_9, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P4_9, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P4_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P5_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P5_tags_11[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P5_specs_11 = { + sizeof(struct ProtocolExtensionContainer_8231P5), + offsetof(struct ProtocolExtensionContainer_8231P5, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P5 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P5_tags_11, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P5_tags_11) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P5_tags_11[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P5_tags_11, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P5_tags_11) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P5_tags_11[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P5_constr_11, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P5_11, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P5_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P6_13[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P6_tags_13[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P6_specs_13 = { + sizeof(struct ProtocolExtensionContainer_8231P6), + offsetof(struct ProtocolExtensionContainer_8231P6, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P6 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P6_tags_13, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P6_tags_13) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P6_tags_13[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P6_tags_13, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P6_tags_13) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P6_tags_13[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P6_constr_13, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P6_13, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P6_specs_13 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P7_15[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellInformation_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P7_tags_15[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P7_specs_15 = { + sizeof(struct ProtocolExtensionContainer_8231P7), + offsetof(struct ProtocolExtensionContainer_8231P7, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P7 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P7_tags_15, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P7_tags_15) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P7_tags_15[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P7_tags_15, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P7_tags_15) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P7_tags_15[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P7_constr_15, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P7_15, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P7_specs_15 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P8_17[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToModify_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P8_tags_17[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P8_specs_17 = { + sizeof(struct ProtocolExtensionContainer_8231P8), + offsetof(struct ProtocolExtensionContainer_8231P8, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P8 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P8_tags_17, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P8_tags_17) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P8_tags_17[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P8_tags_17, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P8_tags_17) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P8_tags_17[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P8_constr_17, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P8_17, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P8_specs_17 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P9_19[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellToReport_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P9_tags_19[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P9_specs_19 = { + sizeof(struct ProtocolExtensionContainer_8231P9), + offsetof(struct ProtocolExtensionContainer_8231P9, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P9 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P9_tags_19, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P9_tags_19) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P9_tags_19[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P9_tags_19, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P9_tags_19) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P9_tags_19[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P9_constr_19, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P9_19, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P9_specs_19 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P10_21[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeasurementInitiationResult_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P10_tags_21[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P10_specs_21 = { + sizeof(struct ProtocolExtensionContainer_8231P10), + offsetof(struct ProtocolExtensionContainer_8231P10, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P10 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P10_tags_21, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P10_tags_21) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P10_tags_21[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P10_tags_21, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P10_tags_21) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P10_tags_21[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P10_constr_21, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P10_21, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P10_specs_21 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P11_23[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeasurementFailureCause_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P11_tags_23[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P11_specs_23 = { + sizeof(struct ProtocolExtensionContainer_8231P11), + offsetof(struct ProtocolExtensionContainer_8231P11, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P11 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P11_tags_23, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P11_tags_23) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P11_tags_23[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P11_tags_23, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P11_tags_23) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P11_tags_23[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P11_constr_23, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P11_23, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P11_specs_23 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P12_25[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P12_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P12_specs_25 = { + sizeof(struct ProtocolExtensionContainer_8231P12), + offsetof(struct ProtocolExtensionContainer_8231P12, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P12 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P12_tags_25, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P12_tags_25) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P12_tags_25[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P12_tags_25, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P12_tags_25) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P12_tags_25[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P12_constr_25, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P12_25, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P12_specs_25 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P13_27[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellMeasurementResult_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P13_tags_27[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P13_specs_27 = { + sizeof(struct ProtocolExtensionContainer_8231P13), + offsetof(struct ProtocolExtensionContainer_8231P13, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P13 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P13_tags_27, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P13_tags_27) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P13_tags_27[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P13_tags_27, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P13_tags_27) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P13_tags_27[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P13_constr_27, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P13_27, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P13_specs_27 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P14_29[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToActivate_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P14_tags_29[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P14_specs_29 = { + sizeof(struct ProtocolExtensionContainer_8231P14), + offsetof(struct ProtocolExtensionContainer_8231P14, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P14 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P14_tags_29, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P14_tags_29) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P14_tags_29[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P14_tags_29, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P14_tags_29) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P14_tags_29[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P14_constr_29, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P14_29, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P14_specs_29 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P15_31[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActivatedCellList_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P15_tags_31[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P15_specs_31 = { + sizeof(struct ProtocolExtensionContainer_8231P15), + offsetof(struct ProtocolExtensionContainer_8231P15, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P15 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P15_tags_31, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P15_tags_31) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P15_tags_31[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P15_tags_31, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P15_tags_31) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P15_tags_31[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P15_constr_31, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P15_31, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P15_specs_31 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P16_33[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RNL_Header_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P16_tags_33[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P16_specs_33 = { + sizeof(struct ProtocolExtensionContainer_8231P16), + offsetof(struct ProtocolExtensionContainer_8231P16, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P16 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P16_tags_33, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P16_tags_33) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P16_tags_33[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P16_tags_33, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P16_tags_33) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P16_tags_33[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P16_constr_33, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P16_33, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P16_specs_33 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P17_35[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P17_tags_35[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P17_specs_35 = { + sizeof(struct ProtocolExtensionContainer_8231P17), + offsetof(struct ProtocolExtensionContainer_8231P17, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P17 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P17_tags_35, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P17_tags_35) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P17_tags_35[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P17_tags_35, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P17_tags_35) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P17_tags_35[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P17_constr_35, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P17_35, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P17_specs_35 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P18_37[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P18_tags_37[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P18_specs_37 = { + sizeof(struct ProtocolExtensionContainer_8231P18), + offsetof(struct ProtocolExtensionContainer_8231P18, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P18 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P18_tags_37, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P18_tags_37) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P18_tags_37[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P18_tags_37, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P18_tags_37) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P18_tags_37[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P18_constr_37, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P18_37, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P18_specs_37 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P19_39[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P19_tags_39[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P19_specs_39 = { + sizeof(struct ProtocolExtensionContainer_8231P19), + offsetof(struct ProtocolExtensionContainer_8231P19, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P19 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P19_tags_39, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P19_tags_39) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P19_tags_39[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P19_tags_39, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P19_tags_39) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P19_tags_39[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P19_constr_39, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P19_39, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P19_specs_39 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P20_41[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P20_tags_41[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P20_specs_41 = { + sizeof(struct ProtocolExtensionContainer_8231P20), + offsetof(struct ProtocolExtensionContainer_8231P20, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P20 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P20_tags_41, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P20_tags_41) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P20_tags_41[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P20_tags_41, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P20_tags_41) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P20_tags_41[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P20_constr_41, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P20_41, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P20_specs_41 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P21_43[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P21_tags_43[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P21_specs_43 = { + sizeof(struct ProtocolExtensionContainer_8231P21), + offsetof(struct ProtocolExtensionContainer_8231P21, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P21 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P21_tags_43, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P21_tags_43) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P21_tags_43[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P21_tags_43, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P21_tags_43) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P21_tags_43[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P21_constr_43, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P21_43, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P21_specs_43 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P22_45[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P22_tags_45[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P22_specs_45 = { + sizeof(struct ProtocolExtensionContainer_8231P22), + offsetof(struct ProtocolExtensionContainer_8231P22, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P22 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P22_tags_45, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P22_tags_45) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P22_tags_45[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P22_tags_45, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P22_tags_45) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P22_tags_45[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P22_constr_45, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P22_45, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P22_specs_45 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P23_47[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformationSeNBModReqExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P23_tags_47[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P23_specs_47 = { + sizeof(struct ProtocolExtensionContainer_8231P23), + offsetof(struct ProtocolExtensionContainer_8231P23, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P23 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P23_tags_47, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P23_tags_47) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P23_tags_47[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P23_tags_47, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P23_tags_47) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P23_tags_47[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P23_constr_47, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P23_47, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P23_specs_47 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P24_49[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P24_tags_49[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P24_specs_49 = { + sizeof(struct ProtocolExtensionContainer_8231P24), + offsetof(struct ProtocolExtensionContainer_8231P24, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P24 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P24_tags_49, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P24_tags_49) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P24_tags_49[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P24_tags_49, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P24_tags_49) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P24_tags_49[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P24_constr_49, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P24_49, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P24_specs_49 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P25_51[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P25_tags_51[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P25_specs_51 = { + sizeof(struct ProtocolExtensionContainer_8231P25), + offsetof(struct ProtocolExtensionContainer_8231P25, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P25 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P25_tags_51, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P25_tags_51) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P25_tags_51[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P25_tags_51, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P25_tags_51) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P25_tags_51[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P25_constr_51, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P25_51, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P25_specs_51 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P26_53[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P26_tags_53[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P26_specs_53 = { + sizeof(struct ProtocolExtensionContainer_8231P26), + offsetof(struct ProtocolExtensionContainer_8231P26, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P26 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P26_tags_53, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P26_tags_53) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P26_tags_53[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P26_tags_53, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P26_tags_53) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P26_tags_53[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P26_constr_53, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P26_53, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P26_specs_53 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P27_55[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P27_tags_55[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P27_specs_55 = { + sizeof(struct ProtocolExtensionContainer_8231P27), + offsetof(struct ProtocolExtensionContainer_8231P27, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P27 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P27_tags_55, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P27_tags_55) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P27_tags_55[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P27_tags_55, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P27_tags_55) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P27_tags_55[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P27_constr_55, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P27_55, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P27_specs_55 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P28_57[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P28_tags_57[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P28_specs_57 = { + sizeof(struct ProtocolExtensionContainer_8231P28), + offsetof(struct ProtocolExtensionContainer_8231P28, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P28 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P28_tags_57, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P28_tags_57) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P28_tags_57[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P28_tags_57, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P28_tags_57) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P28_tags_57[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P28_constr_57, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P28_57, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P28_specs_57 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P29_59[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P29_tags_59[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P29_specs_59 = { + sizeof(struct ProtocolExtensionContainer_8231P29), + offsetof(struct ProtocolExtensionContainer_8231P29, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P29 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P29_tags_59, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P29_tags_59) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P29_tags_59[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P29_tags_59, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P29_tags_59) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P29_tags_59[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P29_constr_59, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P29_59, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P29_specs_59 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P30_61[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P30_tags_61[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P30_specs_61 = { + sizeof(struct ProtocolExtensionContainer_8231P30), + offsetof(struct ProtocolExtensionContainer_8231P30, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P30 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P30_tags_61, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P30_tags_61) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P30_tags_61[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P30_tags_61, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P30_tags_61) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P30_tags_61[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P30_constr_61, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P30_61, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P30_specs_61 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P31_63[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P31_tags_63[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P31_specs_63 = { + sizeof(struct ProtocolExtensionContainer_8231P31), + offsetof(struct ProtocolExtensionContainer_8231P31, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P31 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P31_tags_63, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P31_tags_63) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P31_tags_63[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P31_tags_63, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P31_tags_63) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P31_tags_63[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P31_constr_63, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P31_63, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P31_specs_63 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P32_65[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P32_tags_65[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P32_specs_65 = { + sizeof(struct ProtocolExtensionContainer_8231P32), + offsetof(struct ProtocolExtensionContainer_8231P32, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P32 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P32_tags_65, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P32_tags_65) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P32_tags_65[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P32_tags_65, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P32_tags_65) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P32_tags_65[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P32_constr_65, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P32_65, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P32_specs_65 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P33_67[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P33_tags_67[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P33_specs_67 = { + sizeof(struct ProtocolExtensionContainer_8231P33), + offsetof(struct ProtocolExtensionContainer_8231P33, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P33 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P33_tags_67, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P33_tags_67) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P33_tags_67[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P33_tags_67, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P33_tags_67) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P33_tags_67[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P33_constr_67, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P33_67, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P33_specs_67 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P34_69[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P34_tags_69[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P34_specs_69 = { + sizeof(struct ProtocolExtensionContainer_8231P34), + offsetof(struct ProtocolExtensionContainer_8231P34, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P34 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P34_tags_69, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P34_tags_69) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P34_tags_69[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P34_tags_69, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P34_tags_69) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P34_tags_69[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P34_constr_69, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P34_69, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P34_specs_69 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P35_71[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P35_tags_71[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P35_specs_71 = { + sizeof(struct ProtocolExtensionContainer_8231P35), + offsetof(struct ProtocolExtensionContainer_8231P35, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P35 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P35_tags_71, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P35_tags_71) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P35_tags_71[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P35_tags_71, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P35_tags_71) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P35_tags_71[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P35_constr_71, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P35_71, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P35_specs_71 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P36_73[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P36_tags_73[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P36_specs_73 = { + sizeof(struct ProtocolExtensionContainer_8231P36), + offsetof(struct ProtocolExtensionContainer_8231P36, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P36 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P36_tags_73, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P36_tags_73) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P36_tags_73[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P36_tags_73, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P36_tags_73) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P36_tags_73[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P36_constr_73, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P36_73, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P36_specs_73 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P37_75[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P37_tags_75[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P37_specs_75 = { + sizeof(struct ProtocolExtensionContainer_8231P37), + offsetof(struct ProtocolExtensionContainer_8231P37, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P37 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P37_tags_75, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P37_tags_75) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P37_tags_75[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P37_tags_75, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P37_tags_75) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P37_tags_75[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P37_constr_75, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P37_75, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P37_specs_75 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P38_77[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P38_tags_77[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P38_specs_77 = { + sizeof(struct ProtocolExtensionContainer_8231P38), + offsetof(struct ProtocolExtensionContainer_8231P38, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P38 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P38_tags_77, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P38_tags_77) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P38_tags_77[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P38_tags_77, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P38_tags_77) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P38_tags_77[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P38_constr_77, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P38_77, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P38_specs_77 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P39_79[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P39_tags_79[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P39_specs_79 = { + sizeof(struct ProtocolExtensionContainer_8231P39), + offsetof(struct ProtocolExtensionContainer_8231P39, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P39 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P39_tags_79, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P39_tags_79) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P39_tags_79[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P39_tags_79, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P39_tags_79) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P39_tags_79[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P39_constr_79, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P39_79, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P39_specs_79 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P40_81[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P40_tags_81[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P40_specs_81 = { + sizeof(struct ProtocolExtensionContainer_8231P40), + offsetof(struct ProtocolExtensionContainer_8231P40, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P40 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P40_tags_81, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P40_tags_81) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P40_tags_81[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P40_tags_81, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P40_tags_81) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P40_tags_81[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P40_constr_81, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P40_81, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P40_specs_81 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P41_83[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P41_tags_83[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P41_specs_83 = { + sizeof(struct ProtocolExtensionContainer_8231P41), + offsetof(struct ProtocolExtensionContainer_8231P41, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P41 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P41_tags_83, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P41_tags_83) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P41_tags_83[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P41_tags_83, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P41_tags_83) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P41_tags_83[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P41_constr_83, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P41_83, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P41_specs_83 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P42_85[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformationRetrieve_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P42_tags_85[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P42_specs_85 = { + sizeof(struct ProtocolExtensionContainer_8231P42), + offsetof(struct ProtocolExtensionContainer_8231P42, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P42 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P42_tags_85, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P42_tags_85) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P42_tags_85[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P42_tags_85, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P42_tags_85) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P42_tags_85[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P42_constr_85, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P42_85, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P42_specs_85 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P43_87[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P43_tags_87[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P43_specs_87 = { + sizeof(struct ProtocolExtensionContainer_8231P43), + offsetof(struct ProtocolExtensionContainer_8231P43, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P43 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P43_tags_87, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P43_tags_87) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P43_tags_87[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P43_tags_87, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P43_tags_87) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P43_tags_87[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P43_constr_87, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P43_87, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P43_specs_87 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P44_89[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P44_tags_89[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P44_specs_89 = { + sizeof(struct ProtocolExtensionContainer_8231P44), + offsetof(struct ProtocolExtensionContainer_8231P44, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P44 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P44_tags_89, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P44_tags_89) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P44_tags_89[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P44_tags_89, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P44_tags_89) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P44_tags_89[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P44_constr_89, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P44_89, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P44_specs_89 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P45_91[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P45_tags_91[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P45_specs_91 = { + sizeof(struct ProtocolExtensionContainer_8231P45), + offsetof(struct ProtocolExtensionContainer_8231P45, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P45 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P45_tags_91, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P45_tags_91) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P45_tags_91[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P45_tags_91, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P45_tags_91) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P45_tags_91[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P45_constr_91, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P45_91, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P45_specs_91 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P46_93[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P46_tags_93[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P46_specs_93 = { + sizeof(struct ProtocolExtensionContainer_8231P46), + offsetof(struct ProtocolExtensionContainer_8231P46, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P46 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P46_tags_93, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P46_tags_93) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P46_tags_93[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P46_tags_93, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P46_tags_93) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P46_tags_93[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P46_constr_93, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P46_93, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P46_specs_93 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P47_95[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P47_tags_95[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P47_specs_95 = { + sizeof(struct ProtocolExtensionContainer_8231P47), + offsetof(struct ProtocolExtensionContainer_8231P47, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P47 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P47_tags_95, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P47_tags_95) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P47_tags_95[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P47_tags_95, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P47_tags_95) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P47_tags_95[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P47_constr_95, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P47_95, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P47_specs_95 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P48_97[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P48_tags_97[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P48_specs_97 = { + sizeof(struct ProtocolExtensionContainer_8231P48), + offsetof(struct ProtocolExtensionContainer_8231P48, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P48 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P48_tags_97, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P48_tags_97) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P48_tags_97[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P48_tags_97, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P48_tags_97) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P48_tags_97[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P48_constr_97, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P48_97, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P48_specs_97 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P49_99[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P49_tags_99[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P49_specs_99 = { + sizeof(struct ProtocolExtensionContainer_8231P49), + offsetof(struct ProtocolExtensionContainer_8231P49, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P49 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P49_tags_99, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P49_tags_99) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P49_tags_99[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P49_tags_99, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P49_tags_99) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P49_tags_99[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P49_constr_99, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P49_99, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P49_specs_99 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P50_101[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P50_tags_101[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P50_specs_101 = { + sizeof(struct ProtocolExtensionContainer_8231P50), + offsetof(struct ProtocolExtensionContainer_8231P50, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P50 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P50_tags_101, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P50_tags_101) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P50_tags_101[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P50_tags_101, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P50_tags_101) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P50_tags_101[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P50_constr_101, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P50_101, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P50_specs_101 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P51_103[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P51_tags_103[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P51_specs_103 = { + sizeof(struct ProtocolExtensionContainer_8231P51), + offsetof(struct ProtocolExtensionContainer_8231P51, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P51 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P51_tags_103, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P51_tags_103) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P51_tags_103[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P51_tags_103, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P51_tags_103) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P51_tags_103[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P51_constr_103, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P51_103, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P51_specs_103 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P52_105[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformationSgNBModReqExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P52_tags_105[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P52_specs_105 = { + sizeof(struct ProtocolExtensionContainer_8231P52), + offsetof(struct ProtocolExtensionContainer_8231P52, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P52 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P52_tags_105, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P52_tags_105) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P52_tags_105[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P52_tags_105, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P52_tags_105) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P52_tags_105[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P52_constr_105, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P52_105, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P52_specs_105 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P53_107[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P53_tags_107[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P53_specs_107 = { + sizeof(struct ProtocolExtensionContainer_8231P53), + offsetof(struct ProtocolExtensionContainer_8231P53, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P53 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P53_tags_107, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P53_tags_107) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P53_tags_107[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P53_tags_107, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P53_tags_107) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P53_tags_107[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P53_constr_107, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P53_107, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P53_specs_107 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P54_109[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P54_tags_109[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P54_specs_109 = { + sizeof(struct ProtocolExtensionContainer_8231P54), + offsetof(struct ProtocolExtensionContainer_8231P54, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P54 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P54_tags_109, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P54_tags_109) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P54_tags_109[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P54_tags_109, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P54_tags_109) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P54_tags_109[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P54_constr_109, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P54_109, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P54_specs_109 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P55_111[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P55_tags_111[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P55_specs_111 = { + sizeof(struct ProtocolExtensionContainer_8231P55), + offsetof(struct ProtocolExtensionContainer_8231P55, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P55 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P55_tags_111, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P55_tags_111) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P55_tags_111[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P55_tags_111, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P55_tags_111) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P55_tags_111[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P55_constr_111, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P55_111, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P55_specs_111 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P56_113[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P56_tags_113[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P56_specs_113 = { + sizeof(struct ProtocolExtensionContainer_8231P56), + offsetof(struct ProtocolExtensionContainer_8231P56, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P56 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P56_tags_113, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P56_tags_113) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P56_tags_113[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P56_tags_113, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P56_tags_113) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P56_tags_113[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P56_constr_113, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P56_113, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P56_specs_113 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P57_115[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P57_tags_115[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P57_specs_115 = { + sizeof(struct ProtocolExtensionContainer_8231P57), + offsetof(struct ProtocolExtensionContainer_8231P57, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P57 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P57_tags_115, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P57_tags_115) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P57_tags_115[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P57_tags_115, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P57_tags_115) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P57_tags_115[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P57_constr_115, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P57_115, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P57_specs_115 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P58_117[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P58_tags_117[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P58_specs_117 = { + sizeof(struct ProtocolExtensionContainer_8231P58), + offsetof(struct ProtocolExtensionContainer_8231P58, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P58 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P58_tags_117, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P58_tags_117) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P58_tags_117[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P58_tags_117, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P58_tags_117) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P58_tags_117[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P58_constr_117, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P58_117, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P58_specs_117 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P59_119[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P59_tags_119[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P59_specs_119 = { + sizeof(struct ProtocolExtensionContainer_8231P59), + offsetof(struct ProtocolExtensionContainer_8231P59, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P59 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P59_tags_119, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P59_tags_119) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P59_tags_119[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P59_tags_119, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P59_tags_119) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P59_tags_119[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P59_constr_119, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P59_119, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P59_specs_119 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P60_121[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P60_tags_121[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P60_specs_121 = { + sizeof(struct ProtocolExtensionContainer_8231P60), + offsetof(struct ProtocolExtensionContainer_8231P60, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P60 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P60_tags_121, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P60_tags_121) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P60_tags_121[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P60_tags_121, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P60_tags_121) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P60_tags_121[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P60_constr_121, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P60_121, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P60_specs_121 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P61_123[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P61_tags_123[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P61_specs_123 = { + sizeof(struct ProtocolExtensionContainer_8231P61), + offsetof(struct ProtocolExtensionContainer_8231P61, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P61 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P61_tags_123, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P61_tags_123) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P61_tags_123[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P61_tags_123, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P61_tags_123) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P61_tags_123[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P61_constr_123, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P61_123, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P61_specs_123 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P62_125[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P62_tags_125[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P62_specs_125 = { + sizeof(struct ProtocolExtensionContainer_8231P62), + offsetof(struct ProtocolExtensionContainer_8231P62, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P62 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P62_tags_125, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P62_tags_125) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P62_tags_125[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P62_tags_125, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P62_tags_125) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P62_tags_125[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P62_constr_125, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P62_125, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P62_specs_125 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P63_127[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P63_tags_127[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P63_specs_127 = { + sizeof(struct ProtocolExtensionContainer_8231P63), + offsetof(struct ProtocolExtensionContainer_8231P63, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P63 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P63_tags_127, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P63_tags_127) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P63_tags_127[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P63_tags_127, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P63_tags_127) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P63_tags_127[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P63_constr_127, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P63_127, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P63_specs_127 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P64_129[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P64_tags_129[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P64_specs_129 = { + sizeof(struct ProtocolExtensionContainer_8231P64), + offsetof(struct ProtocolExtensionContainer_8231P64, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P64 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P64_tags_129, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P64_tags_129) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P64_tags_129[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P64_tags_129, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P64_tags_129) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P64_tags_129[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P64_constr_129, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P64_129, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P64_specs_129 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P65_131[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P65_tags_131[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P65_specs_131 = { + sizeof(struct ProtocolExtensionContainer_8231P65), + offsetof(struct ProtocolExtensionContainer_8231P65, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P65 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P65_tags_131, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P65_tags_131) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P65_tags_131[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P65_tags_131, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P65_tags_131) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P65_tags_131[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P65_constr_131, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P65_131, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P65_specs_131 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P66_133[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P66_tags_133[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P66_specs_133 = { + sizeof(struct ProtocolExtensionContainer_8231P66), + offsetof(struct ProtocolExtensionContainer_8231P66, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P66 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P66_tags_133, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P66_tags_133) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P66_tags_133[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P66_tags_133, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P66_tags_133) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P66_tags_133[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P66_constr_133, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P66_133, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P66_specs_133 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P67_135[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P67_tags_135[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P67_specs_135 = { + sizeof(struct ProtocolExtensionContainer_8231P67), + offsetof(struct ProtocolExtensionContainer_8231P67, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P67 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P67_tags_135, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P67_tags_135) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P67_tags_135[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P67_tags_135, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P67_tags_135) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P67_tags_135[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P67_constr_135, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P67_135, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P67_specs_135 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P68_137[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P68_tags_137[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P68_specs_137 = { + sizeof(struct ProtocolExtensionContainer_8231P68), + offsetof(struct ProtocolExtensionContainer_8231P68, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P68 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P68_tags_137, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P68_tags_137) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P68_tags_137[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P68_tags_137, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P68_tags_137) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P68_tags_137[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P68_constr_137, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P68_137, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P68_specs_137 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P69_139[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P69_tags_139[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P69_specs_139 = { + sizeof(struct ProtocolExtensionContainer_8231P69), + offsetof(struct ProtocolExtensionContainer_8231P69, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P69 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P69_tags_139, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P69_tags_139) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P69_tags_139[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P69_tags_139, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P69_tags_139) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P69_tags_139[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P69_constr_139, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P69_139, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P69_specs_139 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P70_141[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P70_tags_141[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P70_specs_141 = { + sizeof(struct ProtocolExtensionContainer_8231P70), + offsetof(struct ProtocolExtensionContainer_8231P70, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P70 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P70_tags_141, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P70_tags_141) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P70_tags_141[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P70_tags_141, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P70_tags_141) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P70_tags_141[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P70_constr_141, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P70_141, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P70_specs_141 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P71_143[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P71_tags_143[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P71_specs_143 = { + sizeof(struct ProtocolExtensionContainer_8231P71), + offsetof(struct ProtocolExtensionContainer_8231P71, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P71 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P71_tags_143, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P71_tags_143) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P71_tags_143[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P71_tags_143, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P71_tags_143) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P71_tags_143[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P71_constr_143, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P71_143, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P71_specs_143 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P72_145[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P72_tags_145[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P72_specs_145 = { + sizeof(struct ProtocolExtensionContainer_8231P72), + offsetof(struct ProtocolExtensionContainer_8231P72, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P72 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P72_tags_145, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P72_tags_145) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P72_tags_145[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P72_tags_145, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P72_tags_145) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P72_tags_145[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P72_constr_145, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P72_145, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P72_specs_145 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P73_147[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P73_tags_147[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P73_specs_147 = { + sizeof(struct ProtocolExtensionContainer_8231P73), + offsetof(struct ProtocolExtensionContainer_8231P73, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P73 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P73_tags_147, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P73_tags_147) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P73_tags_147[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P73_tags_147, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P73_tags_147) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P73_tags_147[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P73_constr_147, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P73_147, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P73_specs_147 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P74_149[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P74_tags_149[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P74_specs_149 = { + sizeof(struct ProtocolExtensionContainer_8231P74), + offsetof(struct ProtocolExtensionContainer_8231P74, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P74 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P74_tags_149, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P74_tags_149) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P74_tags_149[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P74_tags_149, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P74_tags_149) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P74_tags_149[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P74_constr_149, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P74_149, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P74_specs_149 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P75_151[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P75_tags_151[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P75_specs_151 = { + sizeof(struct ProtocolExtensionContainer_8231P75), + offsetof(struct ProtocolExtensionContainer_8231P75, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P75 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P75_tags_151, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P75_tags_151) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P75_tags_151[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P75_tags_151, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P75_tags_151) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P75_tags_151[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P75_constr_151, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P75_151, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P75_specs_151 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P76_153[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P76_tags_153[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P76_specs_153 = { + sizeof(struct ProtocolExtensionContainer_8231P76), + offsetof(struct ProtocolExtensionContainer_8231P76, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P76 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P76_tags_153, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P76_tags_153) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P76_tags_153[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P76_tags_153, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P76_tags_153) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P76_tags_153[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P76_constr_153, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P76_153, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P76_specs_153 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P77_155[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P77_tags_155[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P77_specs_155 = { + sizeof(struct ProtocolExtensionContainer_8231P77), + offsetof(struct ProtocolExtensionContainer_8231P77, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P77 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P77_tags_155, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P77_tags_155) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P77_tags_155[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P77_tags_155, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P77_tags_155) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P77_tags_155[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P77_constr_155, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P77_155, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P77_specs_155 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P78_157[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P78_tags_157[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P78_specs_157 = { + sizeof(struct ProtocolExtensionContainer_8231P78), + offsetof(struct ProtocolExtensionContainer_8231P78, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P78 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P78_tags_157, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P78_tags_157) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P78_tags_157[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P78_tags_157, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P78_tags_157) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P78_tags_157[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P78_constr_157, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P78_157, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P78_specs_157 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P79_159[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P79_tags_159[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P79_specs_159 = { + sizeof(struct ProtocolExtensionContainer_8231P79), + offsetof(struct ProtocolExtensionContainer_8231P79, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P79 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P79_tags_159, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P79_tags_159) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P79_tags_159[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P79_tags_159, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P79_tags_159) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P79_tags_159[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P79_constr_159, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P79_159, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P79_specs_159 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P80_161[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P80_tags_161[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P80_specs_161 = { + sizeof(struct ProtocolExtensionContainer_8231P80), + offsetof(struct ProtocolExtensionContainer_8231P80, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P80 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P80_tags_161, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P80_tags_161) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P80_tags_161[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P80_tags_161, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P80_tags_161) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P80_tags_161[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P80_constr_161, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P80_161, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P80_specs_161 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P81_163[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P81_tags_163[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P81_specs_163 = { + sizeof(struct ProtocolExtensionContainer_8231P81), + offsetof(struct ProtocolExtensionContainer_8231P81, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P81 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P81_tags_163, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P81_tags_163) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P81_tags_163[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P81_tags_163, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P81_tags_163) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P81_tags_163[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P81_constr_163, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P81_163, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P81_specs_163 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P82_165[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P82_tags_165[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P82_specs_165 = { + sizeof(struct ProtocolExtensionContainer_8231P82), + offsetof(struct ProtocolExtensionContainer_8231P82, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P82 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P82_tags_165, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P82_tags_165) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P82_tags_165[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P82_tags_165, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P82_tags_165) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P82_tags_165[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P82_constr_165, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P82_165, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P82_specs_165 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P83_167[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P83_tags_167[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P83_specs_167 = { + sizeof(struct ProtocolExtensionContainer_8231P83), + offsetof(struct ProtocolExtensionContainer_8231P83, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P83 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P83_tags_167, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P83_tags_167) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P83_tags_167[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P83_tags_167, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P83_tags_167) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P83_tags_167[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P83_constr_167, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P83_167, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P83_specs_167 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P84_169[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P84_tags_169[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P84_specs_169 = { + sizeof(struct ProtocolExtensionContainer_8231P84), + offsetof(struct ProtocolExtensionContainer_8231P84, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P84 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P84_tags_169, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P84_tags_169) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P84_tags_169[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P84_tags_169, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P84_tags_169) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P84_tags_169[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P84_constr_169, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P84_169, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P84_specs_169 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P85_171[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P85_tags_171[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P85_specs_171 = { + sizeof(struct ProtocolExtensionContainer_8231P85), + offsetof(struct ProtocolExtensionContainer_8231P85, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P85 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P85_tags_171, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P85_tags_171) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P85_tags_171[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P85_tags_171, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P85_tags_171) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P85_tags_171[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P85_constr_171, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P85_171, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P85_specs_171 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P86_173[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P86_tags_173[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P86_specs_173 = { + sizeof(struct ProtocolExtensionContainer_8231P86), + offsetof(struct ProtocolExtensionContainer_8231P86, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P86 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P86_tags_173, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P86_tags_173) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P86_tags_173[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P86_tags_173, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P86_tags_173) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P86_tags_173[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P86_constr_173, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P86_173, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P86_specs_173 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P87_175[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P87_tags_175[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P87_specs_175 = { + sizeof(struct ProtocolExtensionContainer_8231P87), + offsetof(struct ProtocolExtensionContainer_8231P87, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P87 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P87_tags_175, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P87_tags_175) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P87_tags_175[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P87_tags_175, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P87_tags_175) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P87_tags_175[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P87_constr_175, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P87_175, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P87_specs_175 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P88_177[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P88_tags_177[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P88_specs_177 = { + sizeof(struct ProtocolExtensionContainer_8231P88), + offsetof(struct ProtocolExtensionContainer_8231P88, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P88 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P88_tags_177, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P88_tags_177) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P88_tags_177[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P88_tags_177, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P88_tags_177) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P88_tags_177[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P88_constr_177, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P88_177, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P88_specs_177 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P89_179[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P89_tags_179[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P89_specs_179 = { + sizeof(struct ProtocolExtensionContainer_8231P89), + offsetof(struct ProtocolExtensionContainer_8231P89, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P89 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P89_tags_179, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P89_tags_179) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P89_tags_179[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P89_tags_179, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P89_tags_179) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P89_tags_179[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P89_constr_179, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P89_179, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P89_specs_179 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P90_181[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P90_tags_181[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P90_specs_181 = { + sizeof(struct ProtocolExtensionContainer_8231P90), + offsetof(struct ProtocolExtensionContainer_8231P90, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P90 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P90_tags_181, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P90_tags_181) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P90_tags_181[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P90_tags_181, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P90_tags_181) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P90_tags_181[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P90_constr_181, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P90_181, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P90_specs_181 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P91_183[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_En_gNBServedCells_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P91_tags_183[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P91_specs_183 = { + sizeof(struct ProtocolExtensionContainer_8231P91), + offsetof(struct ProtocolExtensionContainer_8231P91, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P91 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P91_tags_183, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P91_tags_183) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P91_tags_183[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P91_tags_183, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P91_tags_183) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P91_tags_183[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P91_constr_183, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P91_183, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P91_specs_183 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P92_185[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P92_tags_185[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P92_specs_185 = { + sizeof(struct ProtocolExtensionContainer_8231P92), + offsetof(struct ProtocolExtensionContainer_8231P92, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P92 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P92_tags_185, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P92_tags_185) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P92_tags_185[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P92_tags_185, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P92_tags_185) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P92_tags_185[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P92_constr_185, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P92_185, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P92_specs_185 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P93_187[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P93_tags_187[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P93_specs_187 = { + sizeof(struct ProtocolExtensionContainer_8231P93), + offsetof(struct ProtocolExtensionContainer_8231P93, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P93 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P93_tags_187, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P93_tags_187) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P93_tags_187[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P93_tags_187, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P93_tags_187) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P93_tags_187[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P93_constr_187, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P93_187, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P93_specs_187 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P94_189[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P94_tags_189[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P94_specs_189 = { + sizeof(struct ProtocolExtensionContainer_8231P94), + offsetof(struct ProtocolExtensionContainer_8231P94, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P94 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P94_tags_189, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P94_tags_189) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P94_tags_189[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P94_tags_189, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P94_tags_189) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P94_tags_189[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P94_constr_189, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P94_189, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P94_specs_189 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P95_191[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P95_tags_191[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P95_specs_191 = { + sizeof(struct ProtocolExtensionContainer_8231P95), + offsetof(struct ProtocolExtensionContainer_8231P95, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P95 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P95_tags_191, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P95_tags_191) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P95_tags_191[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P95_tags_191, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P95_tags_191) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P95_tags_191[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P95_constr_191, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P95_191, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P95_specs_191 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P96_193[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P96_tags_193[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P96_specs_193 = { + sizeof(struct ProtocolExtensionContainer_8231P96), + offsetof(struct ProtocolExtensionContainer_8231P96, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P96 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P96_tags_193, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P96_tags_193) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P96_tags_193[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P96_tags_193, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P96_tags_193) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P96_tags_193[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P96_constr_193, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P96_193, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P96_specs_193 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P97_195[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRNeighbour_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P97_tags_195[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P97_specs_195 = { + sizeof(struct ProtocolExtensionContainer_8231P97), + offsetof(struct ProtocolExtensionContainer_8231P97, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P97 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P97_tags_195, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P97_tags_195) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P97_tags_195[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P97_tags_195, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P97_tags_195) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P97_tags_195[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P97_constr_195, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P97_195, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P97_specs_195 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P98_197[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Limited_list_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P98_tags_197[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P98_specs_197 = { + sizeof(struct ProtocolExtensionContainer_8231P98), + offsetof(struct ProtocolExtensionContainer_8231P98, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P98 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P98_tags_197, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P98_tags_197) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P98_tags_197[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P98_tags_197, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P98_tags_197) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P98_tags_197[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P98_constr_197, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P98_197, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P98_specs_197 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P99_199[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P99_tags_199[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P99_specs_199 = { + sizeof(struct ProtocolExtensionContainer_8231P99), + offsetof(struct ProtocolExtensionContainer_8231P99, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P99 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P99_tags_199, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P99_tags_199) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P99_tags_199[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P99_tags_199, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P99_tags_199) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P99_tags_199[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P99_constr_199, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P99_199, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P99_specs_199 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P100_201[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCellsToModify_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P100_tags_201[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P100_specs_201 = { + sizeof(struct ProtocolExtensionContainer_8231P100), + offsetof(struct ProtocolExtensionContainer_8231P100, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P100 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P100_tags_201, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P100_tags_201) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P100_tags_201[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P100_tags_201, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P100_tags_201) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P100_tags_201[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P100_constr_201, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P100_201, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P100_specs_201 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P101_203[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCellsToActivate_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P101_tags_203[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P101_specs_203 = { + sizeof(struct ProtocolExtensionContainer_8231P101), + offsetof(struct ProtocolExtensionContainer_8231P101, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P101 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P101_tags_203, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P101_tags_203) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P101_tags_203[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P101_tags_203, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P101_tags_203) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P101_tags_203[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P101_constr_203, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P101_203, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P101_specs_203 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P102_205[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActivatedNRCellList_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P102_tags_205[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P102_specs_205 = { + sizeof(struct ProtocolExtensionContainer_8231P102), + offsetof(struct ProtocolExtensionContainer_8231P102, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P102 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P102_tags_205, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P102_tags_205) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P102_tags_205[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P102_tags_205, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P102_tags_205) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P102_tags_205[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P102_constr_205, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P102_205, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P102_specs_205 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P103_207[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P103_tags_207[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P103_specs_207 = { + sizeof(struct ProtocolExtensionContainer_8231P103), + offsetof(struct ProtocolExtensionContainer_8231P103, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P103 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P103_tags_207, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P103_tags_207) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P103_tags_207[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P103_tags_207, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P103_tags_207) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P103_tags_207[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P103_constr_207, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P103_207, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P103_specs_207 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P104_209[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ABSInformationFDD_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P104_tags_209[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P104_specs_209 = { + sizeof(struct ProtocolExtensionContainer_8231P104), + offsetof(struct ProtocolExtensionContainer_8231P104, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P104 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P104_tags_209, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P104_tags_209) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P104_tags_209[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P104_tags_209, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P104_tags_209) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P104_tags_209[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P104_constr_209, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P104_209, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P104_specs_209 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P105_211[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ABSInformationTDD_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P105_tags_211[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P105_specs_211 = { + sizeof(struct ProtocolExtensionContainer_8231P105), + offsetof(struct ProtocolExtensionContainer_8231P105, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P105 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P105_tags_211, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P105_tags_211) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P105_tags_211[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P105_tags_211, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P105_tags_211) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P105_tags_211[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P105_constr_211, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P105_211, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P105_specs_211 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P106_213[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ABS_Status_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P106_tags_213[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P106_specs_213 = { + sizeof(struct ProtocolExtensionContainer_8231P106), + offsetof(struct ProtocolExtensionContainer_8231P106, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P106 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P106_tags_213, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P106_tags_213) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P106_tags_213[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P106_tags_213, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P106_tags_213) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P106_tags_213[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P106_constr_213, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P106_213, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P106_specs_213 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P107_215[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P107_tags_215[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P107_specs_215 = { + sizeof(struct ProtocolExtensionContainer_8231P107), + offsetof(struct ProtocolExtensionContainer_8231P107, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P107 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P107_tags_215, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P107_tags_215) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P107_tags_215[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P107_tags_215, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P107_tags_215) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P107_tags_215[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P107_constr_215, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P107_215, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P107_specs_215 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P108_217[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P108_tags_217[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P108_specs_217 = { + sizeof(struct ProtocolExtensionContainer_8231P108), + offsetof(struct ProtocolExtensionContainer_8231P108, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P108 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P108_tags_217, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P108_tags_217) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P108_tags_217[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P108_tags_217, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P108_tags_217) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P108_tags_217[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P108_constr_217, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P108_217, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P108_specs_217 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P109_219[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AllocationAndRetentionPriority_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P109_tags_219[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P109_specs_219 = { + sizeof(struct ProtocolExtensionContainer_8231P109), + offsetof(struct ProtocolExtensionContainer_8231P109, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P109 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P109_tags_219, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P109_tags_219) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P109_tags_219[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P109_tags_219, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P109_tags_219) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P109_tags_219[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P109_constr_219, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P109_219, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P109_specs_219 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P110_221[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AS_SecurityInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P110_tags_221[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P110_specs_221 = { + sizeof(struct ProtocolExtensionContainer_8231P110), + offsetof(struct ProtocolExtensionContainer_8231P110, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P110 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P110_tags_221, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P110_tags_221) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P110_tags_221[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P110_tags_221, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P110_tags_221) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P110_tags_221[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P110_constr_221, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P110_221, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P110_specs_221 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P111_223[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BluetoothMeasurementConfiguration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P111_tags_223[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P111_specs_223 = { + sizeof(struct ProtocolExtensionContainer_8231P111), + offsetof(struct ProtocolExtensionContainer_8231P111, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P111 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P111_tags_223, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P111_tags_223) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P111_tags_223[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P111_tags_223, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P111_tags_223) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P111_tags_223[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P111_constr_223, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P111_223, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P111_specs_223 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P112_225[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellBasedMDT_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P112_tags_225[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P112_specs_225 = { + sizeof(struct ProtocolExtensionContainer_8231P112), + offsetof(struct ProtocolExtensionContainer_8231P112, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P112 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P112_tags_225, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P112_tags_225) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P112_tags_225[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P112_tags_225, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P112_tags_225) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P112_tags_225[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P112_constr_225, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P112_225, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P112_specs_225 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P113_227[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellBasedQMC_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P113_tags_227[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P113_specs_227 = { + sizeof(struct ProtocolExtensionContainer_8231P113), + offsetof(struct ProtocolExtensionContainer_8231P113, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P113 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P113_tags_227, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P113_tags_227) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P113_tags_227[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P113_tags_227, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P113_tags_227) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P113_tags_227[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P113_constr_227, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P113_227, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P113_specs_227 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P114_229[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellReplacingInfo_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P114_tags_229[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P114_specs_229 = { + sizeof(struct ProtocolExtensionContainer_8231P114), + offsetof(struct ProtocolExtensionContainer_8231P114, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P114 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P114_tags_229, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P114_tags_229) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P114_tags_229[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P114_tags_229, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P114_tags_229) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P114_tags_229[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P114_constr_229, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P114_229, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P114_specs_229 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P115_231[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellType_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P115_tags_231[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P115_specs_231 = { + sizeof(struct ProtocolExtensionContainer_8231P115), + offsetof(struct ProtocolExtensionContainer_8231P115, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P115 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P115_tags_231, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P115_tags_231) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P115_tags_231[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P115_tags_231, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P115_tags_231) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P115_tags_231[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P115_constr_231, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P115_231, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P115_specs_231 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P116_233[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CNTypeRestrictionsItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P116_tags_233[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P116_specs_233 = { + sizeof(struct ProtocolExtensionContainer_8231P116), + offsetof(struct ProtocolExtensionContainer_8231P116, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P116 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P116_tags_233, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P116_tags_233) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P116_tags_233[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P116_tags_233, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P116_tags_233) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P116_tags_233[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P116_constr_233, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P116_233, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P116_specs_233 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P117_235[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPHypothesisSetItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P117_tags_235[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P117_specs_235 = { + sizeof(struct ProtocolExtensionContainer_8231P117), + offsetof(struct ProtocolExtensionContainer_8231P117, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P117 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P117_tags_235, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P117_tags_235) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P117_tags_235[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P117_tags_235, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P117_tags_235) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P117_tags_235[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P117_constr_235, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P117_235, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P117_specs_235 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P118_237[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P118_tags_237[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P118_specs_237 = { + sizeof(struct ProtocolExtensionContainer_8231P118), + offsetof(struct ProtocolExtensionContainer_8231P118, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P118 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P118_tags_237, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P118_tags_237) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P118_tags_237[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P118_tags_237, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P118_tags_237) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P118_tags_237[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P118_constr_237, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P118_237, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P118_specs_237 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P119_239[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPInformationItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P119_tags_239[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P119_specs_239 = { + sizeof(struct ProtocolExtensionContainer_8231P119), + offsetof(struct ProtocolExtensionContainer_8231P119, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P119 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P119_tags_239, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P119_tags_239) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P119_tags_239[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P119_tags_239, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P119_tags_239) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P119_tags_239[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P119_constr_239, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P119_239, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P119_specs_239 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P120_241[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPInformationStartTime_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P120_tags_241[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P120_specs_241 = { + sizeof(struct ProtocolExtensionContainer_8231P120), + offsetof(struct ProtocolExtensionContainer_8231P120, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P120 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P120_tags_241, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P120_tags_241) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P120_tags_241[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P120_tags_241, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P120_tags_241) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P120_tags_241[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P120_constr_241, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P120_241, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P120_specs_241 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P121_243[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompositeAvailableCapacity_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P121_tags_243[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P121_specs_243 = { + sizeof(struct ProtocolExtensionContainer_8231P121), + offsetof(struct ProtocolExtensionContainer_8231P121, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P121 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P121_tags_243, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P121_tags_243) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P121_tags_243[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P121_tags_243, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P121_tags_243) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P121_tags_243[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P121_constr_243, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P121_243, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P121_specs_243 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P122_245[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompositeAvailableCapacityGroup_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P122_tags_245[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P122_specs_245 = { + sizeof(struct ProtocolExtensionContainer_8231P122), + offsetof(struct ProtocolExtensionContainer_8231P122, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P122 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P122_tags_245, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P122_tags_245) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P122_tags_245[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P122_tags_245, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P122_tags_245) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P122_tags_245[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P122_constr_245, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P122_245, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P122_specs_245 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P123_247[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_COUNTvalue_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P123_tags_247[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P123_specs_247 = { + sizeof(struct ProtocolExtensionContainer_8231P123), + offsetof(struct ProtocolExtensionContainer_8231P123, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P123 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P123_tags_247, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P123_tags_247) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P123_tags_247[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P123_tags_247, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P123_tags_247) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P123_tags_247[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P123_constr_247, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P123_247, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P123_specs_247 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P124_249[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_COUNTValueExtended_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P124_tags_249[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P124_specs_249 = { + sizeof(struct ProtocolExtensionContainer_8231P124), + offsetof(struct ProtocolExtensionContainer_8231P124, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P124 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P124_tags_249, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P124_tags_249) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P124_tags_249[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P124_tags_249, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P124_tags_249) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P124_tags_249[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P124_constr_249, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P124_249, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P124_specs_249 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P125_251[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P125_tags_251[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P125_specs_251 = { + sizeof(struct ProtocolExtensionContainer_8231P125), + offsetof(struct ProtocolExtensionContainer_8231P125, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P125 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P125_tags_251, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P125_tags_251) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P125_tags_251[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P125_tags_251, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P125_tags_251) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P125_tags_251[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P125_constr_251, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P125_251, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P125_specs_251 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P126_253[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P126_tags_253[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P126_specs_253 = { + sizeof(struct ProtocolExtensionContainer_8231P126), + offsetof(struct ProtocolExtensionContainer_8231P126, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P126 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P126_tags_253, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P126_tags_253) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P126_tags_253[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P126_tags_253, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P126_tags_253) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P126_tags_253[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P126_constr_253, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P126_253, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P126_specs_253 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P127_255[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P127_tags_255[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P127_specs_255 = { + sizeof(struct ProtocolExtensionContainer_8231P127), + offsetof(struct ProtocolExtensionContainer_8231P127, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P127 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P127_tags_255, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P127_tags_255) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P127_tags_255[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P127_tags_255, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P127_tags_255) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P127_tags_255[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P127_constr_255, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P127_255, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P127_specs_255 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P128_257[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CSIReportList_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P128_tags_257[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P128_specs_257 = { + sizeof(struct ProtocolExtensionContainer_8231P128), + offsetof(struct ProtocolExtensionContainer_8231P128, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P128 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P128_tags_257, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P128_tags_257) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P128_tags_257[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P128_tags_257, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P128_tags_257) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P128_tags_257[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P128_constr_257, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P128_257, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P128_specs_257 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P129_259[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CSIReportPerCSIProcess_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P129_tags_259[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P129_specs_259 = { + sizeof(struct ProtocolExtensionContainer_8231P129), + offsetof(struct ProtocolExtensionContainer_8231P129, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P129 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P129_tags_259, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P129_tags_259) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P129_tags_259[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P129_tags_259, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P129_tags_259) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P129_tags_259[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P129_constr_259, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P129_259, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P129_specs_259 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P130_261[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CSIReportPerCSIProcessItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P130_tags_261[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P130_specs_261 = { + sizeof(struct ProtocolExtensionContainer_8231P130), + offsetof(struct ProtocolExtensionContainer_8231P130, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P130 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P130_tags_261, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P130_tags_261) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P130_tags_261[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P130_tags_261, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P130_tags_261) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P130_tags_261[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P130_constr_261, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P130_261, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P130_specs_261 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P131_263[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataTrafficResourceIndication_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P131_tags_263[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P131_specs_263 = { + sizeof(struct ProtocolExtensionContainer_8231P131), + offsetof(struct ProtocolExtensionContainer_8231P131, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P131 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P131_tags_263, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P131_tags_263) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P131_tags_263[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P131_tags_263, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P131_tags_263) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P131_tags_263[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P131_constr_263, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P131_263, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P131_specs_263 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P132_265[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DeliveryStatus_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P132_tags_265[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P132_specs_265 = { + sizeof(struct ProtocolExtensionContainer_8231P132), + offsetof(struct ProtocolExtensionContainer_8231P132, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P132 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P132_tags_265, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P132_tags_265) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P132_tags_265[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P132_tags_265, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P132_tags_265) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P132_tags_265[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P132_constr_265, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P132_265, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P132_specs_265 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P133_267[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DynamicNAICSInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P133_tags_267[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P133_specs_267 = { + sizeof(struct ProtocolExtensionContainer_8231P133), + offsetof(struct ProtocolExtensionContainer_8231P133, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P133 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P133_tags_267, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P133_tags_267) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P133_tags_267[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P133_tags_267, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P133_tags_267) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P133_tags_267[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P133_constr_267, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P133_267, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P133_specs_267 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P134_269[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P134_tags_269[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P134_specs_269 = { + sizeof(struct ProtocolExtensionContainer_8231P134), + offsetof(struct ProtocolExtensionContainer_8231P134, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P134 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P134_tags_269, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P134_tags_269) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P134_tags_269[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P134_tags_269, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P134_tags_269) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P134_tags_269[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P134_constr_269, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P134_269, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P134_specs_269 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P135_271[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EnhancedRNTP_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P135_tags_271[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P135_specs_271 = { + sizeof(struct ProtocolExtensionContainer_8231P135), + offsetof(struct ProtocolExtensionContainer_8231P135, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P135 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P135_tags_271, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P135_tags_271) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P135_tags_271[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P135_tags_271, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P135_tags_271) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P135_tags_271[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P135_constr_271, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P135_271, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P135_specs_271 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P136_273[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EnhancedRNTPStartTime_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P136_tags_273[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P136_specs_273 = { + sizeof(struct ProtocolExtensionContainer_8231P136), + offsetof(struct ProtocolExtensionContainer_8231P136, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P136 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P136_tags_273, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P136_tags_273) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P136_tags_273[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P136_tags_273, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P136_tags_273) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P136_tags_273[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P136_constr_273, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P136_273, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P136_specs_273 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P137_275[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EN_DC_ResourceConfigurationExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P137_tags_275[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P137_specs_275 = { + sizeof(struct ProtocolExtensionContainer_8231P137), + offsetof(struct ProtocolExtensionContainer_8231P137, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P137 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P137_tags_275, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P137_tags_275) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P137_tags_275[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P137_tags_275, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P137_tags_275) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P137_tags_275[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P137_constr_275, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P137_275, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P137_specs_275 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P138_277[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ERABActivityNotifyItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P138_tags_277[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P138_specs_277 = { + sizeof(struct ProtocolExtensionContainer_8231P138), + offsetof(struct ProtocolExtensionContainer_8231P138, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P138 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P138_tags_277, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P138_tags_277) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P138_tags_277[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P138_tags_277, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P138_tags_277) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P138_tags_277[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P138_constr_277, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P138_277, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P138_specs_277 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P139_279[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P139_tags_279[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P139_specs_279 = { + sizeof(struct ProtocolExtensionContainer_8231P139), + offsetof(struct ProtocolExtensionContainer_8231P139, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P139 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P139_tags_279, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P139_tags_279) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P139_tags_279[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P139_tags_279, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P139_tags_279) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P139_tags_279[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P139_constr_279, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P139_279, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P139_specs_279 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P140_281[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P140_tags_281[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P140_specs_281 = { + sizeof(struct ProtocolExtensionContainer_8231P140), + offsetof(struct ProtocolExtensionContainer_8231P140, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P140 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P140_tags_281, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P140_tags_281) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P140_tags_281[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P140_tags_281, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P140_tags_281) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P140_tags_281[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P140_constr_281, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P140_281, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P140_specs_281 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P141_283[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABUsageReport_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P141_tags_283[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P141_specs_283 = { + sizeof(struct ProtocolExtensionContainer_8231P141), + offsetof(struct ProtocolExtensionContainer_8231P141, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P141 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P141_tags_283, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P141_tags_283) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P141_tags_283[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P141_tags_283, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P141_tags_283) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P141_tags_283[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P141_constr_283, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P141_283, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P141_specs_283 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P142_285[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEBehaviour_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P142_tags_285[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P142_specs_285 = { + sizeof(struct ProtocolExtensionContainer_8231P142), + offsetof(struct ProtocolExtensionContainer_8231P142, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P142 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P142_tags_285, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P142_tags_285) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P142_tags_285[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P142_tags_285, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P142_tags_285) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P142_tags_285[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P142_constr_285, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P142_285, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P142_specs_285 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P143_287[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEActivityBehaviour_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P143_tags_287[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P143_specs_287 = { + sizeof(struct ProtocolExtensionContainer_8231P143), + offsetof(struct ProtocolExtensionContainer_8231P143, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P143 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P143_tags_287, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P143_tags_287) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P143_tags_287[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P143_tags_287, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P143_tags_287) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P143_tags_287[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P143_constr_287, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P143_287, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P143_specs_287 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P144_289[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P144_tags_289[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P144_specs_289 = { + sizeof(struct ProtocolExtensionContainer_8231P144), + offsetof(struct ProtocolExtensionContainer_8231P144, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P144 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P144_tags_289, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P144_tags_289) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P144_tags_289[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P144_tags_289, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P144_tags_289) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P144_tags_289[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P144_constr_289, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P144_289, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P144_specs_289 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P145_291[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_FDD_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P145_tags_291[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P145_specs_291 = { + sizeof(struct ProtocolExtensionContainer_8231P145), + offsetof(struct ProtocolExtensionContainer_8231P145, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P145 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P145_tags_291, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P145_tags_291) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P145_tags_291[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P145_tags_291, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P145_tags_291) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P145_tags_291[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P145_constr_291, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P145_291, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P145_specs_291 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P146_293[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ForbiddenTAs_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P146_tags_293[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P146_specs_293 = { + sizeof(struct ProtocolExtensionContainer_8231P146), + offsetof(struct ProtocolExtensionContainer_8231P146, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P146 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P146_tags_293, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P146_tags_293) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P146_tags_293[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P146_tags_293, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P146_tags_293) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P146_tags_293[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P146_constr_293, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P146_293, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P146_specs_293 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P147_295[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ForbiddenLAs_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P147_tags_295[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P147_specs_295 = { + sizeof(struct ProtocolExtensionContainer_8231P147), + offsetof(struct ProtocolExtensionContainer_8231P147, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P147 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P147_tags_295, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P147_tags_295) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P147_tags_295[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P147_tags_295, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P147_tags_295) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P147_tags_295[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P147_constr_295, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P147_295, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P147_specs_295 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P148_297[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_FreqBandNrItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P148_tags_297[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P148_specs_297 = { + sizeof(struct ProtocolExtensionContainer_8231P148), + offsetof(struct ProtocolExtensionContainer_8231P148, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P148 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P148_tags_297, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P148_tags_297) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P148_tags_297[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P148_tags_297, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P148_tags_297) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P148_tags_297[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P148_constr_297, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P148_297, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P148_specs_297 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P149_299[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GBR_QosInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P149_tags_299[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P149_specs_299 = { + sizeof(struct ProtocolExtensionContainer_8231P149), + offsetof(struct ProtocolExtensionContainer_8231P149, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P149 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P149_tags_299, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P149_tags_299) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P149_tags_299[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P149_tags_299, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P149_tags_299) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P149_tags_299[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P149_constr_299, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P149_299, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P149_specs_299 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P150_301[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P150_tags_301[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P150_specs_301 = { + sizeof(struct ProtocolExtensionContainer_8231P150), + offsetof(struct ProtocolExtensionContainer_8231P150, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P150 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P150_tags_301, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P150_tags_301) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P150_tags_301[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P150_tags_301, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P150_tags_301) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P150_tags_301[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P150_constr_301, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P150_301, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P150_specs_301 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P151_303[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P151_tags_303[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P151_specs_303 = { + sizeof(struct ProtocolExtensionContainer_8231P151), + offsetof(struct ProtocolExtensionContainer_8231P151, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P151 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P151_tags_303, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P151_tags_303) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P151_tags_303[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P151_tags_303, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P151_tags_303) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P151_tags_303[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P151_constr_303, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P151_303, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P151_specs_303 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P152_305[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GTPtunnelEndpoint_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P152_tags_305[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P152_specs_305 = { + sizeof(struct ProtocolExtensionContainer_8231P152), + offsetof(struct ProtocolExtensionContainer_8231P152, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P152 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P152_tags_305, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P152_tags_305) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P152_tags_305[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P152_tags_305, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P152_tags_305) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P152_tags_305[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P152_constr_305, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P152_305, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P152_specs_305 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P153_307[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GU_Group_ID_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P153_tags_307[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P153_specs_307 = { + sizeof(struct ProtocolExtensionContainer_8231P153), + offsetof(struct ProtocolExtensionContainer_8231P153, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P153 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P153_tags_307, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P153_tags_307) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P153_tags_307[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P153_tags_307, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P153_tags_307) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P153_tags_307[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P153_constr_307, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P153_307, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P153_specs_307 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P154_309[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUMMEI_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P154_tags_309[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P154_specs_309 = { + sizeof(struct ProtocolExtensionContainer_8231P154), + offsetof(struct ProtocolExtensionContainer_8231P154, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P154 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P154_tags_309, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P154_tags_309) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P154_tags_309[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P154_tags_309, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P154_tags_309) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P154_tags_309[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P154_constr_309, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P154_309, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P154_specs_309 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P155_311[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverRestrictionList_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P155_tags_311[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P155_specs_311 = { + sizeof(struct ProtocolExtensionContainer_8231P155), + offsetof(struct ProtocolExtensionContainer_8231P155, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P155 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P155_tags_311, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P155_tags_311) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P155_tags_311[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P155_tags_311, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P155_tags_311) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P155_tags_311[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P155_constr_311, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P155_311, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P155_specs_311 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P156_313[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HWLoadIndicator_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P156_tags_313[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P156_specs_313 = { + sizeof(struct ProtocolExtensionContainer_8231P156), + offsetof(struct ProtocolExtensionContainer_8231P156, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P156 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P156_tags_313, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P156_tags_313) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P156_tags_313[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P156_tags_313, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P156_tags_313) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P156_tags_313[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P156_constr_313, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P156_313, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P156_specs_313 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P157_315[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P157_tags_315[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P157_specs_315 = { + sizeof(struct ProtocolExtensionContainer_8231P157), + offsetof(struct ProtocolExtensionContainer_8231P157, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P157 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P157_tags_315, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P157_tags_315) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P157_tags_315[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P157_tags_315, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P157_tags_315) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P157_tags_315[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P157_constr_315, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P157_315, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P157_specs_315 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P158_317[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LocationReportingInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P158_tags_317[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P158_specs_317 = { + sizeof(struct ProtocolExtensionContainer_8231P158), + offsetof(struct ProtocolExtensionContainer_8231P158, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P158 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P158_tags_317, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P158_tags_317) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P158_tags_317[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P158_tags_317, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P158_tags_317) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P158_tags_317[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P158_constr_317, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P158_317, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P158_specs_317 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P159_319[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M1PeriodicReporting_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P159_tags_319[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P159_specs_319 = { + sizeof(struct ProtocolExtensionContainer_8231P159), + offsetof(struct ProtocolExtensionContainer_8231P159, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P159 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P159_tags_319, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P159_tags_319) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P159_tags_319[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P159_tags_319, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P159_tags_319) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P159_tags_319[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P159_constr_319, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P159_319, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P159_specs_319 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P160_321[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M1ThresholdEventA2_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P160_tags_321[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P160_specs_321 = { + sizeof(struct ProtocolExtensionContainer_8231P160), + offsetof(struct ProtocolExtensionContainer_8231P160, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P160 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P160_tags_321, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P160_tags_321) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P160_tags_321[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P160_tags_321, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P160_tags_321) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P160_tags_321[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P160_constr_321, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P160_321, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P160_specs_321 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P161_323[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M3Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P161_tags_323[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P161_specs_323 = { + sizeof(struct ProtocolExtensionContainer_8231P161), + offsetof(struct ProtocolExtensionContainer_8231P161, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P161 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P161_tags_323, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P161_tags_323) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P161_tags_323[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P161_tags_323, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P161_tags_323) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P161_tags_323[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P161_constr_323, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P161_323, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P161_specs_323 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P162_325[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M4Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P162_tags_325[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P162_specs_325 = { + sizeof(struct ProtocolExtensionContainer_8231P162), + offsetof(struct ProtocolExtensionContainer_8231P162, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P162 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P162_tags_325, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P162_tags_325) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P162_tags_325[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P162_tags_325, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P162_tags_325) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P162_tags_325[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P162_constr_325, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P162_325, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P162_specs_325 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P163_327[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M5Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P163_tags_327[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P163_specs_327 = { + sizeof(struct ProtocolExtensionContainer_8231P163), + offsetof(struct ProtocolExtensionContainer_8231P163, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P163 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P163_tags_327, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P163_tags_327) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P163_tags_327[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P163_tags_327, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P163_tags_327) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P163_tags_327[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P163_constr_327, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P163_327, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P163_specs_327 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P164_329[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M6Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P164_tags_329[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P164_specs_329 = { + sizeof(struct ProtocolExtensionContainer_8231P164), + offsetof(struct ProtocolExtensionContainer_8231P164, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P164 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P164_tags_329, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P164_tags_329) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P164_tags_329[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P164_tags_329, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P164_tags_329) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P164_tags_329[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P164_constr_329, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P164_329, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P164_specs_329 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P165_331[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M7Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P165_tags_331[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P165_specs_331 = { + sizeof(struct ProtocolExtensionContainer_8231P165), + offsetof(struct ProtocolExtensionContainer_8231P165, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P165 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P165_tags_331, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P165_tags_331) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P165_tags_331[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P165_tags_331, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P165_tags_331) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P165_tags_331[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P165_constr_331, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P165_331, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P165_specs_331 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P166_333[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MDT_Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P166_tags_333[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P166_specs_333 = { + sizeof(struct ProtocolExtensionContainer_8231P166), + offsetof(struct ProtocolExtensionContainer_8231P166, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P166 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P166_tags_333, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P166_tags_333) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P166_tags_333[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P166_tags_333, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P166_tags_333) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P166_tags_333[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P166_constr_333, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P166_333, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P166_specs_333 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P167_335[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeNBResourceCoordinationInformationExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P167_tags_335[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P167_specs_335 = { + sizeof(struct ProtocolExtensionContainer_8231P167), + offsetof(struct ProtocolExtensionContainer_8231P167, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P167 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P167_tags_335, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P167_tags_335) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P167_tags_335[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P167_tags_335, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P167_tags_335) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P167_tags_335[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P167_constr_335, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P167_335, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P167_specs_335 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P168_337[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MBSFN_Subframe_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P168_tags_337[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P168_specs_337 = { + sizeof(struct ProtocolExtensionContainer_8231P168), + offsetof(struct ProtocolExtensionContainer_8231P168, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P168 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P168_tags_337, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P168_tags_337) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P168_tags_337[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P168_tags_337, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P168_tags_337) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P168_tags_337[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P168_constr_337, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P168_337, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P168_specs_337 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P169_339[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BandInfo_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P169_tags_339[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P169_specs_339 = { + sizeof(struct ProtocolExtensionContainer_8231P169), + offsetof(struct ProtocolExtensionContainer_8231P169, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P169 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P169_tags_339, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P169_tags_339) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P169_tags_339[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P169_tags_339, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P169_tags_339) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P169_tags_339[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P169_constr_339, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P169_339, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P169_specs_339 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P170_341[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SplitSRB_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P170_tags_341[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P170_specs_341 = { + sizeof(struct ProtocolExtensionContainer_8231P170), + offsetof(struct ProtocolExtensionContainer_8231P170, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P170 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P170_tags_341, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P170_tags_341) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P170_tags_341[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P170_tags_341, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P170_tags_341) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P170_tags_341[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P170_constr_341, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P170_341, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P170_specs_341 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P171_343[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UENRMeasurement_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P171_tags_343[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P171_specs_343 = { + sizeof(struct ProtocolExtensionContainer_8231P171), + offsetof(struct ProtocolExtensionContainer_8231P171, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P171 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P171_tags_343, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P171_tags_343) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P171_tags_343[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P171_tags_343, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P171_tags_343) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P171_tags_343[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P171_constr_343, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P171_343, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P171_specs_343 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P172_345[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Neighbour_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P172_tags_345[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P172_specs_345 = { + sizeof(struct ProtocolExtensionContainer_8231P172), + offsetof(struct ProtocolExtensionContainer_8231P172, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P172 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P172_tags_345, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P172_tags_345) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P172_tags_345[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P172_tags_345, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P172_tags_345) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P172_tags_345[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P172_constr_345, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P172_345, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P172_specs_345 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P173_347[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRFreqInfo_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P173_tags_347[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P173_specs_347 = { + sizeof(struct ProtocolExtensionContainer_8231P173), + offsetof(struct ProtocolExtensionContainer_8231P173, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P173 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P173_tags_347, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P173_tags_347) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P173_tags_347[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P173_tags_347, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P173_tags_347) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P173_tags_347[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P173_constr_347, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P173_347, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P173_specs_347 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P174_349[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRCGI_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P174_tags_349[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P174_specs_349 = { + sizeof(struct ProtocolExtensionContainer_8231P174), + offsetof(struct ProtocolExtensionContainer_8231P174, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P174 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P174_tags_349, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P174_tags_349) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P174_tags_349[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P174_tags_349, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P174_tags_349) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P174_tags_349[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P174_constr_349, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P174_349, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P174_specs_349 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P175_351[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NR_TxBW_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P175_tags_351[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P175_specs_351 = { + sizeof(struct ProtocolExtensionContainer_8231P175), + offsetof(struct ProtocolExtensionContainer_8231P175, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P175 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P175_tags_351, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P175_tags_351) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P175_tags_351[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P175_tags_351, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P175_tags_351) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P175_tags_351[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P175_constr_351, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P175_351, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P175_specs_351 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P176_353[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRUESecurityCapabilities_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P176_tags_353[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P176_specs_353 = { + sizeof(struct ProtocolExtensionContainer_8231P176), + offsetof(struct ProtocolExtensionContainer_8231P176, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P176 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P176_tags_353, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P176_tags_353) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P176_tags_353[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P176_tags_353, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P176_tags_353) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P176_tags_353[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P176_constr_353, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P176_353, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P176_specs_353 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P177_355[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PRACH_Configuration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P177_tags_355[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P177_specs_355 = { + sizeof(struct ProtocolExtensionContainer_8231P177), + offsetof(struct ProtocolExtensionContainer_8231P177, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P177 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P177_tags_355, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P177_tags_355) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P177_tags_355[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P177_tags_355, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P177_tags_355) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P177_tags_355[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P177_constr_355, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P177_355, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P177_specs_355 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P178_357[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PLMNAreaBasedQMC_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P178_tags_357[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P178_specs_357 = { + sizeof(struct ProtocolExtensionContainer_8231P178), + offsetof(struct ProtocolExtensionContainer_8231P178, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P178 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P178_tags_357, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P178_tags_357) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P178_tags_357[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P178_tags_357, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P178_tags_357) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P178_tags_357[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P178_constr_357, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P178_357, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P178_specs_357 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P179_359[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProSeAuthorized_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P179_tags_359[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P179_specs_359 = { + sizeof(struct ProtocolExtensionContainer_8231P179), + offsetof(struct ProtocolExtensionContainer_8231P179, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P179 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P179_tags_359, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P179_tags_359) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P179_tags_359[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P179_tags_359, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P179_tags_359) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P179_tags_359[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P179_constr_359, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P179_359, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P179_specs_359 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P180_361[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P180_tags_361[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P180_specs_361 = { + sizeof(struct ProtocolExtensionContainer_8231P180), + offsetof(struct ProtocolExtensionContainer_8231P180, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P180 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P180_tags_361, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P180_tags_361) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P180_tags_361[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P180_tags_361, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P180_tags_361) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P180_tags_361[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P180_constr_361, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P180_361, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P180_specs_361 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P181_363[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtectedFootprintTimePattern_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P181_tags_363[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P181_specs_363 = { + sizeof(struct ProtocolExtensionContainer_8231P181), + offsetof(struct ProtocolExtensionContainer_8231P181, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P181 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P181_tags_363, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P181_tags_363) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P181_tags_363[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P181_tags_363, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P181_tags_363) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P181_tags_363[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P181_constr_363, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P181_363, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P181_specs_363 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P182_365[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtectedResourceList_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P182_tags_365[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P182_specs_365 = { + sizeof(struct ProtocolExtensionContainer_8231P182), + offsetof(struct ProtocolExtensionContainer_8231P182, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P182 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P182_tags_365, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P182_tags_365) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P182_tags_365[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P182_tags_365, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P182_tags_365) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P182_tags_365[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P182_constr_365, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P182_365, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P182_specs_365 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P183_367[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RadioResourceStatus_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P183_tags_367[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P183_specs_367 = { + sizeof(struct ProtocolExtensionContainer_8231P183), + offsetof(struct ProtocolExtensionContainer_8231P183, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P183 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P183_tags_367, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P183_tags_367) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P183_tags_367[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P183_tags_367, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P183_tags_367) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P183_tags_367[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P183_constr_367, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P183_367, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P183_specs_367 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P184_369[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RelativeNarrowbandTxPower_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P184_tags_369[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P184_specs_369 = { + sizeof(struct ProtocolExtensionContainer_8231P184), + offsetof(struct ProtocolExtensionContainer_8231P184, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P184 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P184_tags_369, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P184_tags_369) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P184_tags_369[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P184_tags_369, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P184_tags_369) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P184_tags_369[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P184_constr_369, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P184_369, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P184_specs_369 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P185_371[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ReservedSubframePattern_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P185_tags_371[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P185_specs_371 = { + sizeof(struct ProtocolExtensionContainer_8231P185), + offsetof(struct ProtocolExtensionContainer_8231P185, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P185 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P185_tags_371, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P185_tags_371) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P185_tags_371[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P185_tags_371, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P185_tags_371) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P185_tags_371[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P185_constr_371, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P185_371, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P185_specs_371 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P186_373[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RLC_Status_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P186_tags_373[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P186_specs_373 = { + sizeof(struct ProtocolExtensionContainer_8231P186), + offsetof(struct ProtocolExtensionContainer_8231P186, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P186 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P186_tags_373, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P186_tags_373) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P186_tags_373[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P186_tags_373, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P186_tags_373) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P186_tags_373[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P186_constr_373, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P186_373, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P186_specs_373 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P187_375[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RSRPMeasurementResult_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P187_tags_375[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P187_specs_375 = { + sizeof(struct ProtocolExtensionContainer_8231P187), + offsetof(struct ProtocolExtensionContainer_8231P187, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P187 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P187_tags_375, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P187_tags_375) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P187_tags_375[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P187_tags_375, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P187_tags_375) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P187_tags_375[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P187_constr_375, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P187_375, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P187_specs_375 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P188_377[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RSRPMRList_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P188_tags_377[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P188_specs_377 = { + sizeof(struct ProtocolExtensionContainer_8231P188), + offsetof(struct ProtocolExtensionContainer_8231P188, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P188 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P188_tags_377, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P188_tags_377) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P188_tags_377[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P188_tags_377, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P188_tags_377) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P188_tags_377[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P188_constr_377, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P188_377, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P188_specs_377 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P189_379[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_S1TNLLoadIndicator_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P189_tags_379[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P189_specs_379 = { + sizeof(struct ProtocolExtensionContainer_8231P189), + offsetof(struct ProtocolExtensionContainer_8231P189, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P189 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P189_tags_379, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P189_tags_379) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P189_tags_379[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P189_tags_379, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P189_tags_379) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P189_tags_379[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P189_constr_379, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P189_379, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P189_specs_379 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P190_381[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SecondaryRATUsageReport_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P190_tags_381[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P190_specs_381 = { + sizeof(struct ProtocolExtensionContainer_8231P190), + offsetof(struct ProtocolExtensionContainer_8231P190, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P190 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P190_tags_381, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P190_tags_381) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P190_tags_381[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P190_tags_381, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P190_tags_381) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P190_tags_381[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P190_constr_381, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P190_381, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P190_specs_381 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P191_383[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCell_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P191_tags_383[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P191_specs_383 = { + sizeof(struct ProtocolExtensionContainer_8231P191), + offsetof(struct ProtocolExtensionContainer_8231P191, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P191 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P191_tags_383, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P191_tags_383) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P191_tags_383[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P191_tags_383, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P191_tags_383) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P191_tags_383[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P191_constr_383, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P191_383, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P191_specs_383 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P192_385[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCell_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P192_tags_385[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P192_specs_385 = { + sizeof(struct ProtocolExtensionContainer_8231P192), + offsetof(struct ProtocolExtensionContainer_8231P192, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P192 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P192_tags_385, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P192_tags_385) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P192_tags_385[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P192_tags_385, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P192_tags_385) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P192_tags_385[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P192_constr_385, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P192_385, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P192_specs_385 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P193_387[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBResourceCoordinationInformationExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P193_tags_387[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P193_specs_387 = { + sizeof(struct ProtocolExtensionContainer_8231P193), + offsetof(struct ProtocolExtensionContainer_8231P193, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P193 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P193_tags_387, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P193_tags_387) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P193_tags_387[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P193_tags_387, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P193_tags_387) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P193_tags_387[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P193_constr_387, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P193_387, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P193_specs_387 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P194_389[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SpecialSubframe_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P194_tags_389[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P194_specs_389 = { + sizeof(struct ProtocolExtensionContainer_8231P194), + offsetof(struct ProtocolExtensionContainer_8231P194, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P194 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P194_tags_389, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P194_tags_389) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P194_tags_389[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P194_tags_389, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P194_tags_389) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P194_tags_389[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P194_constr_389, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P194_389, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P194_specs_389 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P195_391[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SubbandCQI_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P195_tags_391[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P195_specs_391 = { + sizeof(struct ProtocolExtensionContainer_8231P195), + offsetof(struct ProtocolExtensionContainer_8231P195, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P195 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P195_tags_391, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P195_tags_391) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P195_tags_391[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P195_tags_391, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P195_tags_391) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P195_tags_391[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P195_constr_391, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P195_391, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P195_specs_391 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P196_393[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P196_tags_393[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P196_specs_393 = { + sizeof(struct ProtocolExtensionContainer_8231P196), + offsetof(struct ProtocolExtensionContainer_8231P196, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P196 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P196_tags_393, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P196_tags_393) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P196_tags_393[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P196_tags_393, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P196_tags_393) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P196_tags_393[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P196_constr_393, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P196_393, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P196_specs_393 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P197_395[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ScheduledCommunicationTime_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P197_tags_395[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P197_specs_395 = { + sizeof(struct ProtocolExtensionContainer_8231P197), + offsetof(struct ProtocolExtensionContainer_8231P197, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P197 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P197_tags_395, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P197_tags_395) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P197_tags_395[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P197_tags_395, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P197_tags_395) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P197_tags_395[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P197_constr_395, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P197_395, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P197_specs_395 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P198_397[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SubbandCQIItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P198_tags_397[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P198_specs_397 = { + sizeof(struct ProtocolExtensionContainer_8231P198), + offsetof(struct ProtocolExtensionContainer_8231P198, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P198 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P198_tags_397, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P198_tags_397) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P198_tags_397[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P198_tags_397, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P198_tags_397) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P198_tags_397[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P198_constr_397, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P198_397, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P198_specs_397 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P199_399[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SULInformation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P199_tags_399[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P199_specs_399 = { + sizeof(struct ProtocolExtensionContainer_8231P199), + offsetof(struct ProtocolExtensionContainer_8231P199, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P199 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P199_tags_399, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P199_tags_399) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P199_tags_399[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P199_tags_399, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P199_tags_399) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P199_tags_399[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P199_constr_399, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P199_399, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P199_specs_399 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P200_401[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SupportedSULFreqBandItem_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P200_tags_401[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P200_specs_401 = { + sizeof(struct ProtocolExtensionContainer_8231P200), + offsetof(struct ProtocolExtensionContainer_8231P200, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P200 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P200_tags_401, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P200_tags_401) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P200_tags_401[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P200_tags_401, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P200_tags_401) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P200_tags_401[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P200_constr_401, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P200_401, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P200_specs_401 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P201_403[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TABasedMDT_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P201_tags_403[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P201_specs_403 = { + sizeof(struct ProtocolExtensionContainer_8231P201), + offsetof(struct ProtocolExtensionContainer_8231P201, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P201 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P201_tags_403, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P201_tags_403) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P201_tags_403[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P201_tags_403, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P201_tags_403) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P201_tags_403[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P201_constr_403, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P201_403, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P201_specs_403 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P202_405[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TAIBasedMDT_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P202_tags_405[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P202_specs_405 = { + sizeof(struct ProtocolExtensionContainer_8231P202), + offsetof(struct ProtocolExtensionContainer_8231P202, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P202 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P202_tags_405, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P202_tags_405) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P202_tags_405[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P202_tags_405, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P202_tags_405) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P202_tags_405[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P202_constr_405, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P202_405, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P202_specs_405 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P203_407[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TAI_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P203_tags_407[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P203_specs_407 = { + sizeof(struct ProtocolExtensionContainer_8231P203), + offsetof(struct ProtocolExtensionContainer_8231P203, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P203 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P203_tags_407, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P203_tags_407) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P203_tags_407[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P203_tags_407, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P203_tags_407) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P203_tags_407[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P203_constr_407, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P203_407, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P203_specs_407 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P204_409[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TABasedQMC_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P204_tags_409[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P204_specs_409 = { + sizeof(struct ProtocolExtensionContainer_8231P204), + offsetof(struct ProtocolExtensionContainer_8231P204, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P204 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P204_tags_409, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P204_tags_409) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P204_tags_409[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P204_tags_409, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P204_tags_409) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P204_tags_409[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P204_constr_409, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P204_409, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P204_specs_409 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P205_411[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TAIBasedQMC_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P205_tags_411[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P205_specs_411 = { + sizeof(struct ProtocolExtensionContainer_8231P205), + offsetof(struct ProtocolExtensionContainer_8231P205, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P205 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P205_tags_411, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P205_tags_411) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P205_tags_411[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P205_tags_411, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P205_tags_411) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P205_tags_411[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P205_constr_411, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P205_411, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P205_specs_411 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P206_413[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TDD_Info_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P206_tags_413[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P206_specs_413 = { + sizeof(struct ProtocolExtensionContainer_8231P206), + offsetof(struct ProtocolExtensionContainer_8231P206, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P206 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P206_tags_413, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P206_tags_413) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P206_tags_413[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P206_tags_413, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P206_tags_413) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P206_tags_413[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P206_constr_413, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P206_413, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P206_specs_413 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P207_415[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TraceActivation_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P207_tags_415[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P207_specs_415 = { + sizeof(struct ProtocolExtensionContainer_8231P207), + offsetof(struct ProtocolExtensionContainer_8231P207, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P207 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P207_tags_415, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P207_tags_415) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P207_tags_415[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P207_tags_415, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P207_tags_415) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P207_tags_415[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P207_constr_415, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P207_415, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P207_specs_415 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P208_417[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Tunnel_Information_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P208_tags_417[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P208_specs_417 = { + sizeof(struct ProtocolExtensionContainer_8231P208), + offsetof(struct ProtocolExtensionContainer_8231P208, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P208 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P208_tags_417, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P208_tags_417) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P208_tags_417[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P208_tags_417, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P208_tags_417) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P208_tags_417[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P208_constr_417, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P208_417, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P208_specs_417 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P209_419[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEAggregate_MaximumBitrate_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P209_tags_419[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P209_specs_419 = { + sizeof(struct ProtocolExtensionContainer_8231P209), + offsetof(struct ProtocolExtensionContainer_8231P209, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P209 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P209_tags_419, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P209_tags_419) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P209_tags_419[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P209_tags_419, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P209_tags_419) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P209_tags_419[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P209_constr_419, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P209_419, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P209_specs_419 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P210_421[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEAppLayerMeasConfig_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P210_tags_421[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P210_specs_421 = { + sizeof(struct ProtocolExtensionContainer_8231P210), + offsetof(struct ProtocolExtensionContainer_8231P210, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P210 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P210_tags_421, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P210_tags_421) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P210_tags_421[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P210_tags_421, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P210_tags_421) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P210_tags_421[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P210_constr_421, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P210_421, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P210_specs_421 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P211_423[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UESecurityCapabilities_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P211_tags_423[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P211_specs_423 = { + sizeof(struct ProtocolExtensionContainer_8231P211), + offsetof(struct ProtocolExtensionContainer_8231P211, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P211 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P211_tags_423, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P211_tags_423) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P211_tags_423[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P211_tags_423, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P211_tags_423) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P211_tags_423[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P211_constr_423, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P211_423, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P211_specs_423 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P212_425[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P212_tags_425[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P212_specs_425 = { + sizeof(struct ProtocolExtensionContainer_8231P212), + offsetof(struct ProtocolExtensionContainer_8231P212, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P212 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P212_tags_425, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P212_tags_425) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P212_tags_425[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P212_tags_425, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P212_tags_425) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P212_tags_425[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P212_constr_425, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P212_425, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P212_specs_425 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P213_427[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEsToBeResetList_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P213_tags_427[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P213_specs_427 = { + sizeof(struct ProtocolExtensionContainer_8231P213), + offsetof(struct ProtocolExtensionContainer_8231P213, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P213 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P213_tags_427, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P213_tags_427) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P213_tags_427[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P213_tags_427, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P213_tags_427) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P213_tags_427[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P213_constr_427, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P213_427, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P213_specs_427 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P214_429[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ULandDLSharing_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P214_tags_429[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P214_specs_429 = { + sizeof(struct ProtocolExtensionContainer_8231P214), + offsetof(struct ProtocolExtensionContainer_8231P214, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P214 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P214_tags_429, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P214_tags_429) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P214_tags_429[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P214_tags_429, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P214_tags_429) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P214_tags_429[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P214_constr_429, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P214_429, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P214_specs_429 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P215_431[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ULConfiguration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P215_tags_431[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P215_specs_431 = { + sizeof(struct ProtocolExtensionContainer_8231P215), + offsetof(struct ProtocolExtensionContainer_8231P215, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P215 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P215_tags_431, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P215_tags_431) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P215_tags_431[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P215_tags_431, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P215_tags_431) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P215_tags_431[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P215_constr_431, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P215_431, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P215_specs_431 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P216_433[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P216_tags_433[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P216_specs_433 = { + sizeof(struct ProtocolExtensionContainer_8231P216), + offsetof(struct ProtocolExtensionContainer_8231P216, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P216 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P216_tags_433, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P216_tags_433) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P216_tags_433[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P216_tags_433, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P216_tags_433) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P216_tags_433[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P216_constr_433, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P216_433, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P216_specs_433 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P217_435[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ULOnlySharing_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P217_tags_435[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P217_specs_435 = { + sizeof(struct ProtocolExtensionContainer_8231P217), + offsetof(struct ProtocolExtensionContainer_8231P217, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P217 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P217_tags_435, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P217_tags_435) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P217_tags_435[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P217_tags_435, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P217_tags_435) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P217_tags_435[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P217_constr_435, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P217_435, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P217_specs_435 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P218_437[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UsableABSInformationFDD_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P218_tags_437[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P218_specs_437 = { + sizeof(struct ProtocolExtensionContainer_8231P218), + offsetof(struct ProtocolExtensionContainer_8231P218, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P218 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P218_tags_437, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P218_tags_437) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P218_tags_437[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P218_tags_437, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P218_tags_437) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P218_tags_437[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P218_constr_437, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P218_437, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P218_specs_437 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P219_439[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UsableABSInformationTDD_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P219_tags_439[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P219_specs_439 = { + sizeof(struct ProtocolExtensionContainer_8231P219), + offsetof(struct ProtocolExtensionContainer_8231P219, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P219 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P219_tags_439, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P219_tags_439) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P219_tags_439[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P219_tags_439, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P219_tags_439) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P219_tags_439[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P219_constr_439, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P219_439, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P219_specs_439 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P220_441[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_V2XServicesAuthorized_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P220_tags_441[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P220_specs_441 = { + sizeof(struct ProtocolExtensionContainer_8231P220), + offsetof(struct ProtocolExtensionContainer_8231P220, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P220 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P220_tags_441, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P220_tags_441) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P220_tags_441[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P220_tags_441, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P220_tags_441) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P220_tags_441[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P220_constr_441, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P220_441, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P220_specs_441 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P221_443[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_WidebandCQI_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P221_tags_443[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P221_specs_443 = { + sizeof(struct ProtocolExtensionContainer_8231P221), + offsetof(struct ProtocolExtensionContainer_8231P221, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P221 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P221_tags_443, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P221_tags_443) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P221_tags_443[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P221_tags_443, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P221_tags_443) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P221_tags_443[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P221_constr_443, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P221_443, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P221_specs_443 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P222_445[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_WLANMeasurementConfiguration_ExtIEs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtocolExtensionContainer_8231P222_tags_445[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P222_specs_445 = { + sizeof(struct ProtocolExtensionContainer_8231P222), + offsetof(struct ProtocolExtensionContainer_8231P222, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P222 = { + "ProtocolExtensionContainer", + "ProtocolExtensionContainer", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProtocolExtensionContainer_8231P222_tags_445, + sizeof(asn_DEF_ProtocolExtensionContainer_8231P222_tags_445) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P222_tags_445[0]), /* 1 */ + asn_DEF_ProtocolExtensionContainer_8231P222_tags_445, /* Same as above */ + sizeof(asn_DEF_ProtocolExtensionContainer_8231P222_tags_445) + /sizeof(asn_DEF_ProtocolExtensionContainer_8231P222_tags_445[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolExtensionContainer_8231P222_constr_445, SEQUENCE_OF_constraint }, + asn_MBR_ProtocolExtensionContainer_8231P222_445, + 1, /* Single element */ + &asn_SPC_ProtocolExtensionContainer_8231P222_specs_445 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtocolExtensionContainer.h b/asn1c_defs/all-defs/ProtocolExtensionContainer.h new file mode 100755 index 0000000..039f678 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolExtensionContainer.h @@ -0,0 +1,2486 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolExtensionContainer_H_ +#define _ProtocolExtensionContainer_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct UE_ContextInformation_ExtIEs; +struct E_RABs_ToBeSetup_ItemExtIEs; +struct UE_ContextReferenceAtSeNB_ItemExtIEs; +struct UE_ContextReferenceAtWT_ItemExtIEs; +struct UE_ContextReferenceAtSgNB_ItemExtIEs; +struct E_RABs_Admitted_Item_ExtIEs; +struct E_RABs_SubjectToStatusTransfer_ItemExtIEs; +struct CellInformation_Item_ExtIEs; +struct ServedCellsToModify_Item_ExtIEs; +struct CellToReport_Item_ExtIEs; +struct MeasurementInitiationResult_Item_ExtIEs; +struct MeasurementFailureCause_Item_ExtIEs; +struct CompleteFailureCauseInformation_Item_ExtIEs; +struct CellMeasurementResult_Item_ExtIEs; +struct ServedCellsToActivate_Item_ExtIEs; +struct ActivatedCellList_Item_ExtIEs; +struct RNL_Header_Item_ExtIEs; +struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs; +struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs; +struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs; +struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs; +struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs; +struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs; +struct UE_ContextInformationSeNBModReqExtIEs; +struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs; +struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs; +struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs; +struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs; +struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs; +struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs; +struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs; +struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs; +struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs; +struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs; +struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs; +struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs; +struct E_RABs_ToBeReleased_ModReqdItemExtIEs; +struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs; +struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs; +struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs; +struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs; +struct E_RABs_SubjectToCounterCheckItemExtIEs; +struct UE_ContextInformationRetrieve_ExtIEs; +struct E_RABs_ToBeSetupRetrieve_ItemExtIEs; +struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs; +struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs; +struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs; +struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs; +struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs; +struct UE_ContextInformationSgNBModReqExtIEs; +struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs; +struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs; +struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs; +struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs; +struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs; +struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs; +struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs; +struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs; +struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs; +struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs; +struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs; +struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs; +struct ServedEUTRAcellsENDCX2Management_ExtIEs; +struct En_gNBServedCells_ExtIEs; +struct ServedNRCell_Information_ExtIEs; +struct FDD_InfoServedNRCell_Information_ExtIEs; +struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs; +struct TDD_InfoServedNRCell_Information_ExtIEs; +struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs; +struct NRNeighbour_Information_ExtIEs; +struct Limited_list_ExtIEs; +struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs; +struct ServedNRCellsToModify_Item_ExtIEs; +struct ServedNRCellsToActivate_Item_ExtIEs; +struct ActivatedNRCellList_Item_ExtIEs; +struct E_RABs_DataForwardingAddress_ItemExtIEs; +struct ABSInformationFDD_ExtIEs; +struct ABSInformationTDD_ExtIEs; +struct ABS_Status_ExtIEs; +struct AdditionalSpecialSubframe_Info_ExtIEs; +struct AdditionalSpecialSubframeExtension_Info_ExtIEs; +struct AllocationAndRetentionPriority_ExtIEs; +struct AS_SecurityInformation_ExtIEs; +struct BluetoothMeasurementConfiguration_ExtIEs; +struct CellBasedMDT_ExtIEs; +struct CellBasedQMC_ExtIEs; +struct CellReplacingInfo_ExtIEs; +struct CellType_ExtIEs; +struct CNTypeRestrictionsItem_ExtIEs; +struct CoMPHypothesisSetItem_ExtIEs; +struct CoMPInformation_ExtIEs; +struct CoMPInformationItem_ExtIEs; +struct CoMPInformationStartTime_ExtIEs; +struct CompositeAvailableCapacity_ExtIEs; +struct CompositeAvailableCapacityGroup_ExtIEs; +struct COUNTvalue_ExtIEs; +struct COUNTValueExtended_ExtIEs; +struct COUNTvaluePDCP_SNlength18_ExtIEs; +struct CriticalityDiagnostics_ExtIEs; +struct CriticalityDiagnostics_IE_List_ExtIEs; +struct CSIReportList_ExtIEs; +struct CSIReportPerCSIProcess_ExtIEs; +struct CSIReportPerCSIProcessItem_ExtIEs; +struct DataTrafficResourceIndication_ExtIEs; +struct DeliveryStatus_ExtIEs; +struct DynamicNAICSInformation_ExtIEs; +struct ECGI_ExtIEs; +struct EnhancedRNTP_ExtIEs; +struct EnhancedRNTPStartTime_ExtIEs; +struct EN_DC_ResourceConfigurationExtIEs; +struct ERABActivityNotifyItem_ExtIEs; +struct E_RAB_Level_QoS_Parameters_ExtIEs; +struct E_RAB_Item_ExtIEs; +struct E_RABUsageReport_Item_ExtIEs; +struct ExpectedUEBehaviour_ExtIEs; +struct ExpectedUEActivityBehaviour_ExtIEs; +struct ExtendedULInterferenceOverloadInfo_ExtIEs; +struct FDD_Info_ExtIEs; +struct ForbiddenTAs_Item_ExtIEs; +struct ForbiddenLAs_Item_ExtIEs; +struct FreqBandNrItem_ExtIEs; +struct GBR_QosInformation_ExtIEs; +struct GlobalENB_ID_ExtIEs; +struct GlobalGNB_ID_ExtIEs; +struct GTPtunnelEndpoint_ExtIEs; +struct GU_Group_ID_ExtIEs; +struct GUMMEI_ExtIEs; +struct HandoverRestrictionList_ExtIEs; +struct HWLoadIndicator_ExtIEs; +struct LastVisitedEUTRANCellInformation_ExtIEs; +struct LocationReportingInformation_ExtIEs; +struct M1PeriodicReporting_ExtIEs; +struct M1ThresholdEventA2_ExtIEs; +struct M3Configuration_ExtIEs; +struct M4Configuration_ExtIEs; +struct M5Configuration_ExtIEs; +struct M6Configuration_ExtIEs; +struct M7Configuration_ExtIEs; +struct MDT_Configuration_ExtIEs; +struct MeNBResourceCoordinationInformationExtIEs; +struct MBSFN_Subframe_Info_ExtIEs; +struct BandInfo_ExtIEs; +struct SplitSRB_ExtIEs; +struct UENRMeasurement_ExtIEs; +struct Neighbour_Information_ExtIEs; +struct NRFreqInfo_ExtIEs; +struct NRCGI_ExtIEs; +struct NR_TxBW_ExtIEs; +struct NRUESecurityCapabilities_ExtIEs; +struct PRACH_Configuration_ExtIEs; +struct PLMNAreaBasedQMC_ExtIEs; +struct ProSeAuthorized_ExtIEs; +struct ProtectedEUTRAResourceIndication_ExtIEs; +struct ProtectedFootprintTimePattern_ExtIEs; +struct ProtectedResourceList_Item_ExtIEs; +struct RadioResourceStatus_ExtIEs; +struct RelativeNarrowbandTxPower_ExtIEs; +struct ReservedSubframePattern_ExtIEs; +struct RLC_Status_ExtIEs; +struct RSRPMeasurementResult_ExtIEs; +struct RSRPMRList_ExtIEs; +struct S1TNLLoadIndicator_ExtIEs; +struct SecondaryRATUsageReport_Item_ExtIEs; +struct ServedCell_ExtIEs; +struct ServedCell_Information_ExtIEs; +struct SgNBResourceCoordinationInformationExtIEs; +struct SpecialSubframe_Info_ExtIEs; +struct SubbandCQI_ExtIEs; +struct Subscription_Based_UE_DifferentiationInfo_ExtIEs; +struct ScheduledCommunicationTime_ExtIEs; +struct SubbandCQIItem_ExtIEs; +struct SULInformation_ExtIEs; +struct SupportedSULFreqBandItem_ExtIEs; +struct TABasedMDT_ExtIEs; +struct TAIBasedMDT_ExtIEs; +struct TAI_Item_ExtIEs; +struct TABasedQMC_ExtIEs; +struct TAIBasedQMC_ExtIEs; +struct TDD_Info_ExtIEs; +struct TraceActivation_ExtIEs; +struct Tunnel_Information_ExtIEs; +struct UEAggregate_MaximumBitrate_ExtIEs; +struct UEAppLayerMeasConfig_ExtIEs; +struct UESecurityCapabilities_ExtIEs; +struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs; +struct UEsToBeResetList_Item_ExtIEs; +struct ULandDLSharing_ExtIEs; +struct ULConfiguration_ExtIEs; +struct UL_HighInterferenceIndicationInfo_Item_ExtIEs; +struct ULOnlySharing_ExtIEs; +struct UsableABSInformationFDD_ExtIEs; +struct UsableABSInformationTDD_ExtIEs; +struct V2XServicesAuthorized_ExtIEs; +struct WidebandCQI_ExtIEs; +struct WLANMeasurementConfiguration_ExtIEs; + +/* ProtocolExtensionContainer */ +typedef struct ProtocolExtensionContainer_8231P0 { + A_SEQUENCE_OF(struct UE_ContextInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P0_t; +typedef struct ProtocolExtensionContainer_8231P1 { + A_SEQUENCE_OF(struct E_RABs_ToBeSetup_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P1_t; +typedef struct ProtocolExtensionContainer_8231P2 { + A_SEQUENCE_OF(struct UE_ContextReferenceAtSeNB_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P2_t; +typedef struct ProtocolExtensionContainer_8231P3 { + A_SEQUENCE_OF(struct UE_ContextReferenceAtWT_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P3_t; +typedef struct ProtocolExtensionContainer_8231P4 { + A_SEQUENCE_OF(struct UE_ContextReferenceAtSgNB_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P4_t; +typedef struct ProtocolExtensionContainer_8231P5 { + A_SEQUENCE_OF(struct E_RABs_Admitted_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P5_t; +typedef struct ProtocolExtensionContainer_8231P6 { + A_SEQUENCE_OF(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P6_t; +typedef struct ProtocolExtensionContainer_8231P7 { + A_SEQUENCE_OF(struct CellInformation_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P7_t; +typedef struct ProtocolExtensionContainer_8231P8 { + A_SEQUENCE_OF(struct ServedCellsToModify_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P8_t; +typedef struct ProtocolExtensionContainer_8231P9 { + A_SEQUENCE_OF(struct CellToReport_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P9_t; +typedef struct ProtocolExtensionContainer_8231P10 { + A_SEQUENCE_OF(struct MeasurementInitiationResult_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P10_t; +typedef struct ProtocolExtensionContainer_8231P11 { + A_SEQUENCE_OF(struct MeasurementFailureCause_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P11_t; +typedef struct ProtocolExtensionContainer_8231P12 { + A_SEQUENCE_OF(struct CompleteFailureCauseInformation_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P12_t; +typedef struct ProtocolExtensionContainer_8231P13 { + A_SEQUENCE_OF(struct CellMeasurementResult_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P13_t; +typedef struct ProtocolExtensionContainer_8231P14 { + A_SEQUENCE_OF(struct ServedCellsToActivate_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P14_t; +typedef struct ProtocolExtensionContainer_8231P15 { + A_SEQUENCE_OF(struct ActivatedCellList_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P15_t; +typedef struct ProtocolExtensionContainer_8231P16 { + A_SEQUENCE_OF(struct RNL_Header_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P16_t; +typedef struct ProtocolExtensionContainer_8231P17 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P17_t; +typedef struct ProtocolExtensionContainer_8231P18 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P18_t; +typedef struct ProtocolExtensionContainer_8231P19 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P19_t; +typedef struct ProtocolExtensionContainer_8231P20 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P20_t; +typedef struct ProtocolExtensionContainer_8231P21 { + A_SEQUENCE_OF(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P21_t; +typedef struct ProtocolExtensionContainer_8231P22 { + A_SEQUENCE_OF(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P22_t; +typedef struct ProtocolExtensionContainer_8231P23 { + A_SEQUENCE_OF(struct UE_ContextInformationSeNBModReqExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P23_t; +typedef struct ProtocolExtensionContainer_8231P24 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P24_t; +typedef struct ProtocolExtensionContainer_8231P25 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P25_t; +typedef struct ProtocolExtensionContainer_8231P26 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P26_t; +typedef struct ProtocolExtensionContainer_8231P27 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P27_t; +typedef struct ProtocolExtensionContainer_8231P28 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P28_t; +typedef struct ProtocolExtensionContainer_8231P29 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P29_t; +typedef struct ProtocolExtensionContainer_8231P30 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P30_t; +typedef struct ProtocolExtensionContainer_8231P31 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P31_t; +typedef struct ProtocolExtensionContainer_8231P32 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P32_t; +typedef struct ProtocolExtensionContainer_8231P33 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P33_t; +typedef struct ProtocolExtensionContainer_8231P34 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P34_t; +typedef struct ProtocolExtensionContainer_8231P35 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P35_t; +typedef struct ProtocolExtensionContainer_8231P36 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_ModReqdItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P36_t; +typedef struct ProtocolExtensionContainer_8231P37 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P37_t; +typedef struct ProtocolExtensionContainer_8231P38 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P38_t; +typedef struct ProtocolExtensionContainer_8231P39 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P39_t; +typedef struct ProtocolExtensionContainer_8231P40 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P40_t; +typedef struct ProtocolExtensionContainer_8231P41 { + A_SEQUENCE_OF(struct E_RABs_SubjectToCounterCheckItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P41_t; +typedef struct ProtocolExtensionContainer_8231P42 { + A_SEQUENCE_OF(struct UE_ContextInformationRetrieve_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P42_t; +typedef struct ProtocolExtensionContainer_8231P43 { + A_SEQUENCE_OF(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P43_t; +typedef struct ProtocolExtensionContainer_8231P44 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P44_t; +typedef struct ProtocolExtensionContainer_8231P45 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P45_t; +typedef struct ProtocolExtensionContainer_8231P46 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P46_t; +typedef struct ProtocolExtensionContainer_8231P47 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P47_t; +typedef struct ProtocolExtensionContainer_8231P48 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P48_t; +typedef struct ProtocolExtensionContainer_8231P49 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P49_t; +typedef struct ProtocolExtensionContainer_8231P50 { + A_SEQUENCE_OF(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P50_t; +typedef struct ProtocolExtensionContainer_8231P51 { + A_SEQUENCE_OF(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P51_t; +typedef struct ProtocolExtensionContainer_8231P52 { + A_SEQUENCE_OF(struct UE_ContextInformationSgNBModReqExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P52_t; +typedef struct ProtocolExtensionContainer_8231P53 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P53_t; +typedef struct ProtocolExtensionContainer_8231P54 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P54_t; +typedef struct ProtocolExtensionContainer_8231P55 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P55_t; +typedef struct ProtocolExtensionContainer_8231P56 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P56_t; +typedef struct ProtocolExtensionContainer_8231P57 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P57_t; +typedef struct ProtocolExtensionContainer_8231P58 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P58_t; +typedef struct ProtocolExtensionContainer_8231P59 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P59_t; +typedef struct ProtocolExtensionContainer_8231P60 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P60_t; +typedef struct ProtocolExtensionContainer_8231P61 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P61_t; +typedef struct ProtocolExtensionContainer_8231P62 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P62_t; +typedef struct ProtocolExtensionContainer_8231P63 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P63_t; +typedef struct ProtocolExtensionContainer_8231P64 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P64_t; +typedef struct ProtocolExtensionContainer_8231P65 { + A_SEQUENCE_OF(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P65_t; +typedef struct ProtocolExtensionContainer_8231P66 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P66_t; +typedef struct ProtocolExtensionContainer_8231P67 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P67_t; +typedef struct ProtocolExtensionContainer_8231P68 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P68_t; +typedef struct ProtocolExtensionContainer_8231P69 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P69_t; +typedef struct ProtocolExtensionContainer_8231P70 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P70_t; +typedef struct ProtocolExtensionContainer_8231P71 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P71_t; +typedef struct ProtocolExtensionContainer_8231P72 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P72_t; +typedef struct ProtocolExtensionContainer_8231P73 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P73_t; +typedef struct ProtocolExtensionContainer_8231P74 { + A_SEQUENCE_OF(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P74_t; +typedef struct ProtocolExtensionContainer_8231P75 { + A_SEQUENCE_OF(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P75_t; +typedef struct ProtocolExtensionContainer_8231P76 { + A_SEQUENCE_OF(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P76_t; +typedef struct ProtocolExtensionContainer_8231P77 { + A_SEQUENCE_OF(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P77_t; +typedef struct ProtocolExtensionContainer_8231P78 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P78_t; +typedef struct ProtocolExtensionContainer_8231P79 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P79_t; +typedef struct ProtocolExtensionContainer_8231P80 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P80_t; +typedef struct ProtocolExtensionContainer_8231P81 { + A_SEQUENCE_OF(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P81_t; +typedef struct ProtocolExtensionContainer_8231P82 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P82_t; +typedef struct ProtocolExtensionContainer_8231P83 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P83_t; +typedef struct ProtocolExtensionContainer_8231P84 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P84_t; +typedef struct ProtocolExtensionContainer_8231P85 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P85_t; +typedef struct ProtocolExtensionContainer_8231P86 { + A_SEQUENCE_OF(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P86_t; +typedef struct ProtocolExtensionContainer_8231P87 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P87_t; +typedef struct ProtocolExtensionContainer_8231P88 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P88_t; +typedef struct ProtocolExtensionContainer_8231P89 { + A_SEQUENCE_OF(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P89_t; +typedef struct ProtocolExtensionContainer_8231P90 { + A_SEQUENCE_OF(struct ServedEUTRAcellsENDCX2Management_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P90_t; +typedef struct ProtocolExtensionContainer_8231P91 { + A_SEQUENCE_OF(struct En_gNBServedCells_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P91_t; +typedef struct ProtocolExtensionContainer_8231P92 { + A_SEQUENCE_OF(struct ServedNRCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P92_t; +typedef struct ProtocolExtensionContainer_8231P93 { + A_SEQUENCE_OF(struct FDD_InfoServedNRCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P93_t; +typedef struct ProtocolExtensionContainer_8231P94 { + A_SEQUENCE_OF(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P94_t; +typedef struct ProtocolExtensionContainer_8231P95 { + A_SEQUENCE_OF(struct TDD_InfoServedNRCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P95_t; +typedef struct ProtocolExtensionContainer_8231P96 { + A_SEQUENCE_OF(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P96_t; +typedef struct ProtocolExtensionContainer_8231P97 { + A_SEQUENCE_OF(struct NRNeighbour_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P97_t; +typedef struct ProtocolExtensionContainer_8231P98 { + A_SEQUENCE_OF(struct Limited_list_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P98_t; +typedef struct ProtocolExtensionContainer_8231P99 { + A_SEQUENCE_OF(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P99_t; +typedef struct ProtocolExtensionContainer_8231P100 { + A_SEQUENCE_OF(struct ServedNRCellsToModify_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P100_t; +typedef struct ProtocolExtensionContainer_8231P101 { + A_SEQUENCE_OF(struct ServedNRCellsToActivate_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P101_t; +typedef struct ProtocolExtensionContainer_8231P102 { + A_SEQUENCE_OF(struct ActivatedNRCellList_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P102_t; +typedef struct ProtocolExtensionContainer_8231P103 { + A_SEQUENCE_OF(struct E_RABs_DataForwardingAddress_ItemExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P103_t; +typedef struct ProtocolExtensionContainer_8231P104 { + A_SEQUENCE_OF(struct ABSInformationFDD_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P104_t; +typedef struct ProtocolExtensionContainer_8231P105 { + A_SEQUENCE_OF(struct ABSInformationTDD_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P105_t; +typedef struct ProtocolExtensionContainer_8231P106 { + A_SEQUENCE_OF(struct ABS_Status_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P106_t; +typedef struct ProtocolExtensionContainer_8231P107 { + A_SEQUENCE_OF(struct AdditionalSpecialSubframe_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P107_t; +typedef struct ProtocolExtensionContainer_8231P108 { + A_SEQUENCE_OF(struct AdditionalSpecialSubframeExtension_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P108_t; +typedef struct ProtocolExtensionContainer_8231P109 { + A_SEQUENCE_OF(struct AllocationAndRetentionPriority_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P109_t; +typedef struct ProtocolExtensionContainer_8231P110 { + A_SEQUENCE_OF(struct AS_SecurityInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P110_t; +typedef struct ProtocolExtensionContainer_8231P111 { + A_SEQUENCE_OF(struct BluetoothMeasurementConfiguration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P111_t; +typedef struct ProtocolExtensionContainer_8231P112 { + A_SEQUENCE_OF(struct CellBasedMDT_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P112_t; +typedef struct ProtocolExtensionContainer_8231P113 { + A_SEQUENCE_OF(struct CellBasedQMC_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P113_t; +typedef struct ProtocolExtensionContainer_8231P114 { + A_SEQUENCE_OF(struct CellReplacingInfo_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P114_t; +typedef struct ProtocolExtensionContainer_8231P115 { + A_SEQUENCE_OF(struct CellType_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P115_t; +typedef struct ProtocolExtensionContainer_8231P116 { + A_SEQUENCE_OF(struct CNTypeRestrictionsItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P116_t; +typedef struct ProtocolExtensionContainer_8231P117 { + A_SEQUENCE_OF(struct CoMPHypothesisSetItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P117_t; +typedef struct ProtocolExtensionContainer_8231P118 { + A_SEQUENCE_OF(struct CoMPInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P118_t; +typedef struct ProtocolExtensionContainer_8231P119 { + A_SEQUENCE_OF(struct CoMPInformationItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P119_t; +typedef struct ProtocolExtensionContainer_8231P120 { + A_SEQUENCE_OF(struct CoMPInformationStartTime_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P120_t; +typedef struct ProtocolExtensionContainer_8231P121 { + A_SEQUENCE_OF(struct CompositeAvailableCapacity_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P121_t; +typedef struct ProtocolExtensionContainer_8231P122 { + A_SEQUENCE_OF(struct CompositeAvailableCapacityGroup_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P122_t; +typedef struct ProtocolExtensionContainer_8231P123 { + A_SEQUENCE_OF(struct COUNTvalue_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P123_t; +typedef struct ProtocolExtensionContainer_8231P124 { + A_SEQUENCE_OF(struct COUNTValueExtended_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P124_t; +typedef struct ProtocolExtensionContainer_8231P125 { + A_SEQUENCE_OF(struct COUNTvaluePDCP_SNlength18_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P125_t; +typedef struct ProtocolExtensionContainer_8231P126 { + A_SEQUENCE_OF(struct CriticalityDiagnostics_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P126_t; +typedef struct ProtocolExtensionContainer_8231P127 { + A_SEQUENCE_OF(struct CriticalityDiagnostics_IE_List_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P127_t; +typedef struct ProtocolExtensionContainer_8231P128 { + A_SEQUENCE_OF(struct CSIReportList_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P128_t; +typedef struct ProtocolExtensionContainer_8231P129 { + A_SEQUENCE_OF(struct CSIReportPerCSIProcess_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P129_t; +typedef struct ProtocolExtensionContainer_8231P130 { + A_SEQUENCE_OF(struct CSIReportPerCSIProcessItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P130_t; +typedef struct ProtocolExtensionContainer_8231P131 { + A_SEQUENCE_OF(struct DataTrafficResourceIndication_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P131_t; +typedef struct ProtocolExtensionContainer_8231P132 { + A_SEQUENCE_OF(struct DeliveryStatus_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P132_t; +typedef struct ProtocolExtensionContainer_8231P133 { + A_SEQUENCE_OF(struct DynamicNAICSInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P133_t; +typedef struct ProtocolExtensionContainer_8231P134 { + A_SEQUENCE_OF(struct ECGI_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P134_t; +typedef struct ProtocolExtensionContainer_8231P135 { + A_SEQUENCE_OF(struct EnhancedRNTP_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P135_t; +typedef struct ProtocolExtensionContainer_8231P136 { + A_SEQUENCE_OF(struct EnhancedRNTPStartTime_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P136_t; +typedef struct ProtocolExtensionContainer_8231P137 { + A_SEQUENCE_OF(struct EN_DC_ResourceConfigurationExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P137_t; +typedef struct ProtocolExtensionContainer_8231P138 { + A_SEQUENCE_OF(struct ERABActivityNotifyItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P138_t; +typedef struct ProtocolExtensionContainer_8231P139 { + A_SEQUENCE_OF(struct E_RAB_Level_QoS_Parameters_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P139_t; +typedef struct ProtocolExtensionContainer_8231P140 { + A_SEQUENCE_OF(struct E_RAB_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P140_t; +typedef struct ProtocolExtensionContainer_8231P141 { + A_SEQUENCE_OF(struct E_RABUsageReport_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P141_t; +typedef struct ProtocolExtensionContainer_8231P142 { + A_SEQUENCE_OF(struct ExpectedUEBehaviour_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P142_t; +typedef struct ProtocolExtensionContainer_8231P143 { + A_SEQUENCE_OF(struct ExpectedUEActivityBehaviour_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P143_t; +typedef struct ProtocolExtensionContainer_8231P144 { + A_SEQUENCE_OF(struct ExtendedULInterferenceOverloadInfo_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P144_t; +typedef struct ProtocolExtensionContainer_8231P145 { + A_SEQUENCE_OF(struct FDD_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P145_t; +typedef struct ProtocolExtensionContainer_8231P146 { + A_SEQUENCE_OF(struct ForbiddenTAs_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P146_t; +typedef struct ProtocolExtensionContainer_8231P147 { + A_SEQUENCE_OF(struct ForbiddenLAs_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P147_t; +typedef struct ProtocolExtensionContainer_8231P148 { + A_SEQUENCE_OF(struct FreqBandNrItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P148_t; +typedef struct ProtocolExtensionContainer_8231P149 { + A_SEQUENCE_OF(struct GBR_QosInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P149_t; +typedef struct ProtocolExtensionContainer_8231P150 { + A_SEQUENCE_OF(struct GlobalENB_ID_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P150_t; +typedef struct ProtocolExtensionContainer_8231P151 { + A_SEQUENCE_OF(struct GlobalGNB_ID_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P151_t; +typedef struct ProtocolExtensionContainer_8231P152 { + A_SEQUENCE_OF(struct GTPtunnelEndpoint_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P152_t; +typedef struct ProtocolExtensionContainer_8231P153 { + A_SEQUENCE_OF(struct GU_Group_ID_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P153_t; +typedef struct ProtocolExtensionContainer_8231P154 { + A_SEQUENCE_OF(struct GUMMEI_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P154_t; +typedef struct ProtocolExtensionContainer_8231P155 { + A_SEQUENCE_OF(struct HandoverRestrictionList_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P155_t; +typedef struct ProtocolExtensionContainer_8231P156 { + A_SEQUENCE_OF(struct HWLoadIndicator_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P156_t; +typedef struct ProtocolExtensionContainer_8231P157 { + A_SEQUENCE_OF(struct LastVisitedEUTRANCellInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P157_t; +typedef struct ProtocolExtensionContainer_8231P158 { + A_SEQUENCE_OF(struct LocationReportingInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P158_t; +typedef struct ProtocolExtensionContainer_8231P159 { + A_SEQUENCE_OF(struct M1PeriodicReporting_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P159_t; +typedef struct ProtocolExtensionContainer_8231P160 { + A_SEQUENCE_OF(struct M1ThresholdEventA2_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P160_t; +typedef struct ProtocolExtensionContainer_8231P161 { + A_SEQUENCE_OF(struct M3Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P161_t; +typedef struct ProtocolExtensionContainer_8231P162 { + A_SEQUENCE_OF(struct M4Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P162_t; +typedef struct ProtocolExtensionContainer_8231P163 { + A_SEQUENCE_OF(struct M5Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P163_t; +typedef struct ProtocolExtensionContainer_8231P164 { + A_SEQUENCE_OF(struct M6Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P164_t; +typedef struct ProtocolExtensionContainer_8231P165 { + A_SEQUENCE_OF(struct M7Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P165_t; +typedef struct ProtocolExtensionContainer_8231P166 { + A_SEQUENCE_OF(struct MDT_Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P166_t; +typedef struct ProtocolExtensionContainer_8231P167 { + A_SEQUENCE_OF(struct MeNBResourceCoordinationInformationExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P167_t; +typedef struct ProtocolExtensionContainer_8231P168 { + A_SEQUENCE_OF(struct MBSFN_Subframe_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P168_t; +typedef struct ProtocolExtensionContainer_8231P169 { + A_SEQUENCE_OF(struct BandInfo_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P169_t; +typedef struct ProtocolExtensionContainer_8231P170 { + A_SEQUENCE_OF(struct SplitSRB_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P170_t; +typedef struct ProtocolExtensionContainer_8231P171 { + A_SEQUENCE_OF(struct UENRMeasurement_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P171_t; +typedef struct ProtocolExtensionContainer_8231P172 { + A_SEQUENCE_OF(struct Neighbour_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P172_t; +typedef struct ProtocolExtensionContainer_8231P173 { + A_SEQUENCE_OF(struct NRFreqInfo_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P173_t; +typedef struct ProtocolExtensionContainer_8231P174 { + A_SEQUENCE_OF(struct NRCGI_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P174_t; +typedef struct ProtocolExtensionContainer_8231P175 { + A_SEQUENCE_OF(struct NR_TxBW_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P175_t; +typedef struct ProtocolExtensionContainer_8231P176 { + A_SEQUENCE_OF(struct NRUESecurityCapabilities_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P176_t; +typedef struct ProtocolExtensionContainer_8231P177 { + A_SEQUENCE_OF(struct PRACH_Configuration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P177_t; +typedef struct ProtocolExtensionContainer_8231P178 { + A_SEQUENCE_OF(struct PLMNAreaBasedQMC_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P178_t; +typedef struct ProtocolExtensionContainer_8231P179 { + A_SEQUENCE_OF(struct ProSeAuthorized_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P179_t; +typedef struct ProtocolExtensionContainer_8231P180 { + A_SEQUENCE_OF(struct ProtectedEUTRAResourceIndication_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P180_t; +typedef struct ProtocolExtensionContainer_8231P181 { + A_SEQUENCE_OF(struct ProtectedFootprintTimePattern_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P181_t; +typedef struct ProtocolExtensionContainer_8231P182 { + A_SEQUENCE_OF(struct ProtectedResourceList_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P182_t; +typedef struct ProtocolExtensionContainer_8231P183 { + A_SEQUENCE_OF(struct RadioResourceStatus_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P183_t; +typedef struct ProtocolExtensionContainer_8231P184 { + A_SEQUENCE_OF(struct RelativeNarrowbandTxPower_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P184_t; +typedef struct ProtocolExtensionContainer_8231P185 { + A_SEQUENCE_OF(struct ReservedSubframePattern_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P185_t; +typedef struct ProtocolExtensionContainer_8231P186 { + A_SEQUENCE_OF(struct RLC_Status_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P186_t; +typedef struct ProtocolExtensionContainer_8231P187 { + A_SEQUENCE_OF(struct RSRPMeasurementResult_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P187_t; +typedef struct ProtocolExtensionContainer_8231P188 { + A_SEQUENCE_OF(struct RSRPMRList_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P188_t; +typedef struct ProtocolExtensionContainer_8231P189 { + A_SEQUENCE_OF(struct S1TNLLoadIndicator_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P189_t; +typedef struct ProtocolExtensionContainer_8231P190 { + A_SEQUENCE_OF(struct SecondaryRATUsageReport_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P190_t; +typedef struct ProtocolExtensionContainer_8231P191 { + A_SEQUENCE_OF(struct ServedCell_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P191_t; +typedef struct ProtocolExtensionContainer_8231P192 { + A_SEQUENCE_OF(struct ServedCell_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P192_t; +typedef struct ProtocolExtensionContainer_8231P193 { + A_SEQUENCE_OF(struct SgNBResourceCoordinationInformationExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P193_t; +typedef struct ProtocolExtensionContainer_8231P194 { + A_SEQUENCE_OF(struct SpecialSubframe_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P194_t; +typedef struct ProtocolExtensionContainer_8231P195 { + A_SEQUENCE_OF(struct SubbandCQI_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P195_t; +typedef struct ProtocolExtensionContainer_8231P196 { + A_SEQUENCE_OF(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P196_t; +typedef struct ProtocolExtensionContainer_8231P197 { + A_SEQUENCE_OF(struct ScheduledCommunicationTime_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P197_t; +typedef struct ProtocolExtensionContainer_8231P198 { + A_SEQUENCE_OF(struct SubbandCQIItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P198_t; +typedef struct ProtocolExtensionContainer_8231P199 { + A_SEQUENCE_OF(struct SULInformation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P199_t; +typedef struct ProtocolExtensionContainer_8231P200 { + A_SEQUENCE_OF(struct SupportedSULFreqBandItem_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P200_t; +typedef struct ProtocolExtensionContainer_8231P201 { + A_SEQUENCE_OF(struct TABasedMDT_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P201_t; +typedef struct ProtocolExtensionContainer_8231P202 { + A_SEQUENCE_OF(struct TAIBasedMDT_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P202_t; +typedef struct ProtocolExtensionContainer_8231P203 { + A_SEQUENCE_OF(struct TAI_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P203_t; +typedef struct ProtocolExtensionContainer_8231P204 { + A_SEQUENCE_OF(struct TABasedQMC_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P204_t; +typedef struct ProtocolExtensionContainer_8231P205 { + A_SEQUENCE_OF(struct TAIBasedQMC_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P205_t; +typedef struct ProtocolExtensionContainer_8231P206 { + A_SEQUENCE_OF(struct TDD_Info_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P206_t; +typedef struct ProtocolExtensionContainer_8231P207 { + A_SEQUENCE_OF(struct TraceActivation_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P207_t; +typedef struct ProtocolExtensionContainer_8231P208 { + A_SEQUENCE_OF(struct Tunnel_Information_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P208_t; +typedef struct ProtocolExtensionContainer_8231P209 { + A_SEQUENCE_OF(struct UEAggregate_MaximumBitrate_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P209_t; +typedef struct ProtocolExtensionContainer_8231P210 { + A_SEQUENCE_OF(struct UEAppLayerMeasConfig_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P210_t; +typedef struct ProtocolExtensionContainer_8231P211 { + A_SEQUENCE_OF(struct UESecurityCapabilities_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P211_t; +typedef struct ProtocolExtensionContainer_8231P212 { + A_SEQUENCE_OF(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P212_t; +typedef struct ProtocolExtensionContainer_8231P213 { + A_SEQUENCE_OF(struct UEsToBeResetList_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P213_t; +typedef struct ProtocolExtensionContainer_8231P214 { + A_SEQUENCE_OF(struct ULandDLSharing_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P214_t; +typedef struct ProtocolExtensionContainer_8231P215 { + A_SEQUENCE_OF(struct ULConfiguration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P215_t; +typedef struct ProtocolExtensionContainer_8231P216 { + A_SEQUENCE_OF(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P216_t; +typedef struct ProtocolExtensionContainer_8231P217 { + A_SEQUENCE_OF(struct ULOnlySharing_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P217_t; +typedef struct ProtocolExtensionContainer_8231P218 { + A_SEQUENCE_OF(struct UsableABSInformationFDD_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P218_t; +typedef struct ProtocolExtensionContainer_8231P219 { + A_SEQUENCE_OF(struct UsableABSInformationTDD_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P219_t; +typedef struct ProtocolExtensionContainer_8231P220 { + A_SEQUENCE_OF(struct V2XServicesAuthorized_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P220_t; +typedef struct ProtocolExtensionContainer_8231P221 { + A_SEQUENCE_OF(struct WidebandCQI_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P221_t; +typedef struct ProtocolExtensionContainer_8231P222 { + A_SEQUENCE_OF(struct WLANMeasurementConfiguration_ExtIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolExtensionContainer_8231P222_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P0; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P0_specs_1; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P0_1[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P0_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P1; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P1_specs_3; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P1_3[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P1_constr_3; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P2; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P2_specs_5; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P2_5[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P2_constr_5; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P3; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P3_specs_7; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P3_7[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P3_constr_7; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P4; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P4_specs_9; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P4_9[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P4_constr_9; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P5; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P5_specs_11; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P5_11[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P5_constr_11; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P6; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P6_specs_13; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P6_13[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P6_constr_13; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P7; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P7_specs_15; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P7_15[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P7_constr_15; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P8; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P8_specs_17; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P8_17[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P8_constr_17; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P9; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P9_specs_19; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P9_19[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P9_constr_19; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P10; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P10_specs_21; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P10_21[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P10_constr_21; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P11; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P11_specs_23; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P11_23[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P11_constr_23; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P12; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P12_specs_25; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P12_25[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P12_constr_25; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P13; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P13_specs_27; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P13_27[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P13_constr_27; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P14; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P14_specs_29; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P14_29[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P14_constr_29; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P15; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P15_specs_31; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P15_31[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P15_constr_31; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P16; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P16_specs_33; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P16_33[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P16_constr_33; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P17; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P17_specs_35; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P17_35[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P17_constr_35; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P18; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P18_specs_37; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P18_37[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P18_constr_37; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P19; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P19_specs_39; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P19_39[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P19_constr_39; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P20; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P20_specs_41; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P20_41[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P20_constr_41; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P21; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P21_specs_43; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P21_43[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P21_constr_43; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P22; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P22_specs_45; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P22_45[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P22_constr_45; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P23; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P23_specs_47; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P23_47[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P23_constr_47; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P24; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P24_specs_49; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P24_49[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P24_constr_49; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P25; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P25_specs_51; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P25_51[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P25_constr_51; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P26; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P26_specs_53; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P26_53[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P26_constr_53; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P27; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P27_specs_55; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P27_55[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P27_constr_55; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P28; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P28_specs_57; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P28_57[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P28_constr_57; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P29; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P29_specs_59; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P29_59[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P29_constr_59; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P30; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P30_specs_61; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P30_61[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P30_constr_61; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P31; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P31_specs_63; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P31_63[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P31_constr_63; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P32; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P32_specs_65; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P32_65[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P32_constr_65; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P33; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P33_specs_67; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P33_67[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P33_constr_67; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P34; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P34_specs_69; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P34_69[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P34_constr_69; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P35; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P35_specs_71; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P35_71[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P35_constr_71; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P36; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P36_specs_73; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P36_73[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P36_constr_73; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P37; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P37_specs_75; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P37_75[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P37_constr_75; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P38; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P38_specs_77; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P38_77[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P38_constr_77; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P39; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P39_specs_79; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P39_79[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P39_constr_79; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P40; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P40_specs_81; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P40_81[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P40_constr_81; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P41; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P41_specs_83; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P41_83[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P41_constr_83; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P42; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P42_specs_85; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P42_85[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P42_constr_85; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P43; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P43_specs_87; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P43_87[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P43_constr_87; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P44; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P44_specs_89; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P44_89[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P44_constr_89; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P45; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P45_specs_91; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P45_91[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P45_constr_91; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P46; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P46_specs_93; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P46_93[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P46_constr_93; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P47; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P47_specs_95; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P47_95[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P47_constr_95; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P48; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P48_specs_97; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P48_97[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P48_constr_97; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P49; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P49_specs_99; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P49_99[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P49_constr_99; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P50; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P50_specs_101; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P50_101[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P50_constr_101; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P51; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P51_specs_103; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P51_103[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P51_constr_103; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P52; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P52_specs_105; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P52_105[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P52_constr_105; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P53; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P53_specs_107; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P53_107[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P53_constr_107; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P54; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P54_specs_109; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P54_109[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P54_constr_109; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P55; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P55_specs_111; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P55_111[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P55_constr_111; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P56; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P56_specs_113; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P56_113[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P56_constr_113; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P57; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P57_specs_115; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P57_115[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P57_constr_115; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P58; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P58_specs_117; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P58_117[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P58_constr_117; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P59; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P59_specs_119; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P59_119[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P59_constr_119; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P60; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P60_specs_121; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P60_121[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P60_constr_121; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P61; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P61_specs_123; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P61_123[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P61_constr_123; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P62; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P62_specs_125; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P62_125[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P62_constr_125; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P63; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P63_specs_127; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P63_127[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P63_constr_127; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P64; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P64_specs_129; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P64_129[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P64_constr_129; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P65; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P65_specs_131; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P65_131[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P65_constr_131; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P66; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P66_specs_133; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P66_133[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P66_constr_133; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P67; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P67_specs_135; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P67_135[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P67_constr_135; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P68; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P68_specs_137; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P68_137[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P68_constr_137; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P69; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P69_specs_139; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P69_139[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P69_constr_139; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P70; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P70_specs_141; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P70_141[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P70_constr_141; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P71; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P71_specs_143; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P71_143[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P71_constr_143; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P72; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P72_specs_145; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P72_145[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P72_constr_145; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P73; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P73_specs_147; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P73_147[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P73_constr_147; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P74; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P74_specs_149; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P74_149[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P74_constr_149; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P75; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P75_specs_151; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P75_151[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P75_constr_151; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P76; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P76_specs_153; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P76_153[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P76_constr_153; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P77; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P77_specs_155; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P77_155[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P77_constr_155; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P78; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P78_specs_157; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P78_157[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P78_constr_157; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P79; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P79_specs_159; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P79_159[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P79_constr_159; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P80; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P80_specs_161; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P80_161[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P80_constr_161; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P81; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P81_specs_163; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P81_163[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P81_constr_163; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P82; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P82_specs_165; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P82_165[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P82_constr_165; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P83; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P83_specs_167; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P83_167[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P83_constr_167; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P84; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P84_specs_169; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P84_169[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P84_constr_169; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P85; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P85_specs_171; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P85_171[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P85_constr_171; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P86; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P86_specs_173; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P86_173[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P86_constr_173; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P87; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P87_specs_175; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P87_175[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P87_constr_175; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P88; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P88_specs_177; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P88_177[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P88_constr_177; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P89; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P89_specs_179; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P89_179[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P89_constr_179; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P90; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P90_specs_181; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P90_181[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P90_constr_181; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P91; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P91_specs_183; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P91_183[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P91_constr_183; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P92; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P92_specs_185; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P92_185[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P92_constr_185; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P93; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P93_specs_187; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P93_187[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P93_constr_187; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P94; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P94_specs_189; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P94_189[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P94_constr_189; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P95; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P95_specs_191; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P95_191[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P95_constr_191; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P96; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P96_specs_193; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P96_193[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P96_constr_193; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P97; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P97_specs_195; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P97_195[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P97_constr_195; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P98; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P98_specs_197; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P98_197[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P98_constr_197; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P99; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P99_specs_199; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P99_199[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P99_constr_199; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P100; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P100_specs_201; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P100_201[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P100_constr_201; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P101; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P101_specs_203; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P101_203[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P101_constr_203; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P102; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P102_specs_205; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P102_205[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P102_constr_205; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P103; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P103_specs_207; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P103_207[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P103_constr_207; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P104; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P104_specs_209; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P104_209[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P104_constr_209; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P105; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P105_specs_211; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P105_211[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P105_constr_211; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P106; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P106_specs_213; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P106_213[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P106_constr_213; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P107; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P107_specs_215; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P107_215[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P107_constr_215; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P108; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P108_specs_217; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P108_217[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P108_constr_217; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P109; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P109_specs_219; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P109_219[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P109_constr_219; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P110; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P110_specs_221; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P110_221[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P110_constr_221; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P111; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P111_specs_223; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P111_223[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P111_constr_223; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P112; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P112_specs_225; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P112_225[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P112_constr_225; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P113; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P113_specs_227; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P113_227[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P113_constr_227; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P114; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P114_specs_229; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P114_229[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P114_constr_229; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P115; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P115_specs_231; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P115_231[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P115_constr_231; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P116; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P116_specs_233; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P116_233[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P116_constr_233; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P117; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P117_specs_235; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P117_235[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P117_constr_235; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P118; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P118_specs_237; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P118_237[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P118_constr_237; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P119; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P119_specs_239; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P119_239[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P119_constr_239; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P120; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P120_specs_241; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P120_241[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P120_constr_241; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P121; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P121_specs_243; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P121_243[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P121_constr_243; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P122; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P122_specs_245; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P122_245[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P122_constr_245; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P123; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P123_specs_247; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P123_247[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P123_constr_247; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P124; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P124_specs_249; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P124_249[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P124_constr_249; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P125; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P125_specs_251; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P125_251[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P125_constr_251; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P126; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P126_specs_253; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P126_253[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P126_constr_253; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P127; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P127_specs_255; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P127_255[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P127_constr_255; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P128; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P128_specs_257; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P128_257[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P128_constr_257; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P129; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P129_specs_259; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P129_259[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P129_constr_259; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P130; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P130_specs_261; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P130_261[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P130_constr_261; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P131; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P131_specs_263; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P131_263[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P131_constr_263; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P132; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P132_specs_265; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P132_265[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P132_constr_265; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P133; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P133_specs_267; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P133_267[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P133_constr_267; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P134; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P134_specs_269; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P134_269[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P134_constr_269; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P135; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P135_specs_271; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P135_271[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P135_constr_271; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P136; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P136_specs_273; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P136_273[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P136_constr_273; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P137; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P137_specs_275; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P137_275[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P137_constr_275; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P138; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P138_specs_277; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P138_277[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P138_constr_277; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P139; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P139_specs_279; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P139_279[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P139_constr_279; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P140; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P140_specs_281; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P140_281[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P140_constr_281; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P141; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P141_specs_283; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P141_283[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P141_constr_283; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P142; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P142_specs_285; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P142_285[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P142_constr_285; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P143; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P143_specs_287; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P143_287[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P143_constr_287; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P144; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P144_specs_289; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P144_289[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P144_constr_289; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P145; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P145_specs_291; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P145_291[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P145_constr_291; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P146; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P146_specs_293; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P146_293[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P146_constr_293; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P147; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P147_specs_295; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P147_295[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P147_constr_295; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P148; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P148_specs_297; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P148_297[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P148_constr_297; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P149; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P149_specs_299; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P149_299[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P149_constr_299; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P150; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P150_specs_301; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P150_301[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P150_constr_301; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P151; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P151_specs_303; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P151_303[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P151_constr_303; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P152; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P152_specs_305; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P152_305[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P152_constr_305; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P153; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P153_specs_307; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P153_307[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P153_constr_307; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P154; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P154_specs_309; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P154_309[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P154_constr_309; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P155; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P155_specs_311; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P155_311[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P155_constr_311; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P156; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P156_specs_313; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P156_313[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P156_constr_313; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P157; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P157_specs_315; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P157_315[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P157_constr_315; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P158; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P158_specs_317; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P158_317[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P158_constr_317; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P159; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P159_specs_319; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P159_319[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P159_constr_319; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P160; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P160_specs_321; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P160_321[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P160_constr_321; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P161; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P161_specs_323; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P161_323[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P161_constr_323; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P162; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P162_specs_325; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P162_325[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P162_constr_325; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P163; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P163_specs_327; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P163_327[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P163_constr_327; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P164; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P164_specs_329; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P164_329[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P164_constr_329; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P165; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P165_specs_331; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P165_331[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P165_constr_331; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P166; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P166_specs_333; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P166_333[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P166_constr_333; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P167; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P167_specs_335; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P167_335[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P167_constr_335; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P168; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P168_specs_337; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P168_337[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P168_constr_337; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P169; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P169_specs_339; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P169_339[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P169_constr_339; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P170; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P170_specs_341; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P170_341[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P170_constr_341; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P171; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P171_specs_343; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P171_343[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P171_constr_343; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P172; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P172_specs_345; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P172_345[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P172_constr_345; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P173; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P173_specs_347; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P173_347[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P173_constr_347; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P174; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P174_specs_349; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P174_349[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P174_constr_349; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P175; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P175_specs_351; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P175_351[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P175_constr_351; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P176; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P176_specs_353; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P176_353[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P176_constr_353; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P177; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P177_specs_355; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P177_355[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P177_constr_355; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P178; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P178_specs_357; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P178_357[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P178_constr_357; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P179; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P179_specs_359; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P179_359[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P179_constr_359; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P180; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P180_specs_361; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P180_361[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P180_constr_361; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P181; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P181_specs_363; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P181_363[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P181_constr_363; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P182; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P182_specs_365; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P182_365[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P182_constr_365; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P183; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P183_specs_367; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P183_367[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P183_constr_367; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P184; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P184_specs_369; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P184_369[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P184_constr_369; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P185; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P185_specs_371; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P185_371[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P185_constr_371; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P186; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P186_specs_373; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P186_373[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P186_constr_373; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P187; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P187_specs_375; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P187_375[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P187_constr_375; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P188; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P188_specs_377; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P188_377[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P188_constr_377; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P189; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P189_specs_379; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P189_379[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P189_constr_379; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P190; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P190_specs_381; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P190_381[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P190_constr_381; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P191; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P191_specs_383; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P191_383[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P191_constr_383; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P192; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P192_specs_385; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P192_385[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P192_constr_385; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P193; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P193_specs_387; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P193_387[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P193_constr_387; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P194; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P194_specs_389; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P194_389[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P194_constr_389; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P195; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P195_specs_391; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P195_391[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P195_constr_391; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P196; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P196_specs_393; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P196_393[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P196_constr_393; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P197; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P197_specs_395; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P197_395[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P197_constr_395; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P198; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P198_specs_397; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P198_397[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P198_constr_397; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P199; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P199_specs_399; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P199_399[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P199_constr_399; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P200; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P200_specs_401; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P200_401[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P200_constr_401; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P201; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P201_specs_403; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P201_403[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P201_constr_403; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P202; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P202_specs_405; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P202_405[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P202_constr_405; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P203; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P203_specs_407; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P203_407[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P203_constr_407; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P204; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P204_specs_409; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P204_409[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P204_constr_409; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P205; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P205_specs_411; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P205_411[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P205_constr_411; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P206; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P206_specs_413; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P206_413[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P206_constr_413; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P207; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P207_specs_415; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P207_415[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P207_constr_415; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P208; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P208_specs_417; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P208_417[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P208_constr_417; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P209; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P209_specs_419; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P209_419[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P209_constr_419; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P210; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P210_specs_421; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P210_421[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P210_constr_421; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P211; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P211_specs_423; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P211_423[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P211_constr_423; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P212; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P212_specs_425; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P212_425[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P212_constr_425; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P213; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P213_specs_427; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P213_427[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P213_constr_427; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P214; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P214_specs_429; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P214_429[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P214_constr_429; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P215; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P215_specs_431; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P215_431[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P215_constr_431; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P216; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P216_specs_433; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P216_433[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P216_constr_433; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P217; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P217_specs_435; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P217_435[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P217_constr_435; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P218; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P218_specs_437; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P218_437[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P218_constr_437; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P219; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P219_specs_439; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P219_439[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P219_constr_439; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P220; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P220_specs_441; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P220_441[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P220_constr_441; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P221; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P221_specs_443; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P221_443[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P221_constr_443; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8231P222; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8231P222_specs_445; +extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8231P222_445[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8231P222_constr_445; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolExtensionContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolExtensionContainer.o b/asn1c_defs/all-defs/ProtocolExtensionContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..b979cc388fb5ceef774ecac61e5487fc77d847b5 GIT binary patch literal 235144 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, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UE_ContextInformation_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UE_ContextInformation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetup_ItemExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetup_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetup_ItemExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetup_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToStatusTransfer_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToStatusTransfer_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellInformation_Item_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellInformation_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellInformation_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellInformation_Item_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellInformation_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellInformation_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ServedCellsToModify_Item_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ServedCellsToModify_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ServedCellsToModify_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ServedCellsToModify_Item_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ServedCellsToModify_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ServedCellsToModify_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellMeasurementResult_Item_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellMeasurementResult_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellMeasurementResult_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellMeasurementResult_Item_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellMeasurementResult_Item_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellMeasurementResult_Item_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UE_ContextInformationRetrieve_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformationRetrieve_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformationRetrieve_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UE_ContextInformationRetrieve_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformationRetrieve_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformationRetrieve_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetupRetrieve_ItemExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetupRetrieve_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetupRetrieve_ItemExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetupRetrieve_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UE_ContextInformationSgNBModReqExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformationSgNBModReqExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformationSgNBModReqExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UE_ContextInformationSgNBModReqExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UE_ContextInformationSgNBModReqExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UE_ContextInformationSgNBModReqExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RAB_Level_QoS_Parameters_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RAB_Level_QoS_Parameters_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RAB_Level_QoS_Parameters_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RAB_Level_QoS_Parameters_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_FDD_Info_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_FDD_Info_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct FDD_Info_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_FDD_Info_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_FDD_Info_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct FDD_Info_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_GBR_QosInformation_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_GBR_QosInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct GBR_QosInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_GBR_QosInformation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_GBR_QosInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct GBR_QosInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverRestrictionList_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRestrictionList_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRestrictionList_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverRestrictionList_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRestrictionList_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRestrictionList_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_LastVisitedEUTRANCellInformation_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_LastVisitedEUTRANCellInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_LastVisitedEUTRANCellInformation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_LastVisitedEUTRANCellInformation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MDT_Configuration_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MDT_Configuration_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MDT_Configuration_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MDT_Configuration_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MDT_Configuration_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MDT_Configuration_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MeNBResourceCoordinationInformationExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeNBResourceCoordinationInformationExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeNBResourceCoordinationInformationExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MeNBResourceCoordinationInformationExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeNBResourceCoordinationInformationExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeNBResourceCoordinationInformationExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_677(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_677(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_677(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_681(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_681(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_681(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_685(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_685(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_685(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_689(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Neighbour_Information_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Neighbour_Information_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Neighbour_Information_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_689(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_Neighbour_Information_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Neighbour_Information_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Neighbour_Information_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_689(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_693(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_693(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_693(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_697(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_697(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_697(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_701(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_701(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_701(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_705(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_705(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_705(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_709(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_709(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_709(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_713(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_713(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_713(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_717(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ProSeAuthorized_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ProSeAuthorized_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ProSeAuthorized_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_717(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ProSeAuthorized_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ProSeAuthorized_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ProSeAuthorized_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_717(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_721(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_721(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_721(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_725(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_725(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_725(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_729(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_729(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_729(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_733(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RadioResourceStatus_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RadioResourceStatus_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RadioResourceStatus_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_733(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RadioResourceStatus_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RadioResourceStatus_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RadioResourceStatus_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_733(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_737(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RelativeNarrowbandTxPower_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RelativeNarrowbandTxPower_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RelativeNarrowbandTxPower_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_737(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RelativeNarrowbandTxPower_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RelativeNarrowbandTxPower_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RelativeNarrowbandTxPower_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_737(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_741(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_741(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_741(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_745(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_745(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_745(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_749(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_749(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_749(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_753(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RSRPMRList_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RSRPMRList_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RSRPMRList_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_753(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RSRPMRList_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RSRPMRList_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RSRPMRList_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_753(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_757(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_757(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_757(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_761(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_761(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_761(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_765(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_765(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_765(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_769(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ServedCell_Information_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ServedCell_Information_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ServedCell_Information_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_769(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ServedCell_Information_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ServedCell_Information_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ServedCell_Information_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_769(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_773(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBResourceCoordinationInformationExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBResourceCoordinationInformationExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBResourceCoordinationInformationExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_773(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBResourceCoordinationInformationExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBResourceCoordinationInformationExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBResourceCoordinationInformationExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_773(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_777(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_777(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_777(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_781(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_781(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_781(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_785(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_785(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_785(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_789(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_789(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_789(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_793(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_793(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_793(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_797(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_797(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_797(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_801(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_801(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_801(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_805(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_805(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_805(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_809(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_809(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_809(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_813(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_813(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_813(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_817(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_817(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_817(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_821(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_821(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_821(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_825(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_TDD_Info_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_TDD_Info_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct TDD_Info_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_825(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_TDD_Info_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_TDD_Info_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct TDD_Info_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_825(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_829(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_TraceActivation_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_TraceActivation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct TraceActivation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_829(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_TraceActivation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_TraceActivation_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct TraceActivation_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_829(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_833(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_833(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_833(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_837(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UEAggregate_MaximumBitrate_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEAggregate_MaximumBitrate_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_837(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UEAggregate_MaximumBitrate_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEAggregate_MaximumBitrate_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_837(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_841(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UEAppLayerMeasConfig_ExtIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEAppLayerMeasConfig_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEAppLayerMeasConfig_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_841(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UEAppLayerMeasConfig_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEAppLayerMeasConfig_ExtIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Extension */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEAppLayerMeasConfig_ExtIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_extensionValue_constraint_841(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_845(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_845(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_845(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_849(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_849(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_849(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_853(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_853(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_853(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_857(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_857(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_857(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_861(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_861(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_861(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_865(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_865(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_865(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_869(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_869(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_869(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_873(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_873(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_873(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_877(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_877(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_877(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_881(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_881(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_881(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_885(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_885(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_885(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_889(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_889(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_extensionValue_constraint_889(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_16 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_20 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_24 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_28 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_30 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_31 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_32 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_36 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_40 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_42 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_43 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_44 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_48 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_52 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_54 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_55 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_56 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_60 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_64 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_66 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_67 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_68 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_72 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_76 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_78 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_79 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_80 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_84 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_88 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_90 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_91 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_92 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_96 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_100 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_102 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_103 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_104 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_106 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_107 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_108 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_110 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_111 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_112 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_114 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_115 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_116 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_118 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_119 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_120 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_122 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_123 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_124 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_126 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_127 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_128 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_130 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_131 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_132 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_134 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_135 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_136 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_138 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_139 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_140 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_142 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_143 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_144 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_146 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_147 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_148 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_150 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_151 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_152 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_154 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_155 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_156 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_158 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_159 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_160 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_162 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_163 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_164 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_166 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_167 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_168 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_170 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_171 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_172 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_174 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_175 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_176 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_178 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_179 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_180 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_182 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_183 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_184 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_186 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_187 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_188 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_190 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_191 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_192 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_194 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_195 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_196 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_198 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_199 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_200 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_202 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_203 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_204 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_206 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_207 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_208 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_210 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_211 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_212 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_214 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_215 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_216 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_218 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_219 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_220 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_222 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_223 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_224 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_226 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_227 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_228 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_230 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_231 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_232 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_234 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_235 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_236 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_238 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_239 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_240 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_242 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_243 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_244 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_246 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_247 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_248 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_250 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_251 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_252 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_254 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_255 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_256 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_258 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_259 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_260 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_262 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_263 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_264 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_266 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_267 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_268 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_270 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_271 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_272 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_274 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_275 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_276 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_278 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_279 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_280 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_282 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_283 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_284 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_286 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_287 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_288 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_290 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_291 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_292 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_294 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_295 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_296 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_298 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_299 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_300 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_302 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_303 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_304 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_306 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_307 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_308 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_310 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_311 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_312 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_314 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_315 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_316 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_318 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_319 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_320 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_322 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_323 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_324 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_326 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_327 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_328 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_330 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_331 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_332 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_334 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_335 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_336 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_338 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_339 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_340 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_342 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_343 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_344 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_346 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_347 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_348 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_350 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_351 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_352 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_354 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_355 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_356 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_358 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_359 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_360 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_362 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_363 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_364 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_366 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_367 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_368 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_370 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_371 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_372 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_374 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_375 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_376 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_378 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_379 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_380 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_382 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_383 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_384 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_386 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_387 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_388 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_390 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_391 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_392 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_394 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_395 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_396 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_398 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_399 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_400 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_402 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_403 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_404 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_406 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_407 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_408 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_410 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_411 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_412 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_414 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_415 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_416 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_418 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_419 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_420 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_422 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_423 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_424 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_426 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_427 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_428 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_430 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_431 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_432 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_434 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_435 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_436 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_438 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_439 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_440 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_442 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_443 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_444 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_446 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_447 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_448 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_450 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_451 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_452 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_454 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_455 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_456 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_458 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_459 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_460 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_462 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_463 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_464 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_466 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_467 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_468 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_470 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_471 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_472 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_474 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_475 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_476 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_478 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_479 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_480 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_482 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_483 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_484 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_486 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_487 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_488 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_490 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_491 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_492 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_494 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_495 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_496 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_498 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_499 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_500 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_502 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_503 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_504 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_506 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_507 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_508 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_510 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_511 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_512 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_514 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_515 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_516 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_518 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_519 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_520 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_522 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_523 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_524 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_526 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_527 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_528 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_530 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_531 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_532 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_534 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_535 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_536 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_538 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_539 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_540 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_542 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_543 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_544 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_546 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_547 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_548 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_550 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_551 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_552 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_554 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_555 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_556 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_558 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_559 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_560 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_562 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_563 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_564 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_566 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_567 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_568 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_570 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_571 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_572 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_574 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_575 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_576 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_578 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_579 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_580 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_582 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_583 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_584 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_586 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_587 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_588 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_590 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_591 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_592 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_594 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_595 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_596 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_598 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_599 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_600 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_602 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_603 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_604 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_606 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_607 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_608 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_610 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_611 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_612 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_614 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_615 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_616 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_618 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_619 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_620 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_622 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_623 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_624 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_626 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_627 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_628 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_630 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_631 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_632 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_634 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_635 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_636 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_638 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_639 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_640 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_642 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_643 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_644 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_646 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_647 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_648 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_650 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_651 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_652 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_654 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_655 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_656 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_658 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_659 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_660 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_662 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_663 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_664 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_666 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_667 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_668 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_670 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_671 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_672 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_674 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_675 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_676 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_678 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_679 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_680 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_682 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_683 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_684 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_686 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_687 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_688 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_690 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_691 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_692 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_694 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_695 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_696 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_698 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_699 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_700 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_702 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_703 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_704 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_706 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_707 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_708 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_710 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_711 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_712 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_714 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_715 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_716 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_718 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_719 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_720 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_722 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_723 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_724 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_726 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_727 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_728 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_730 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_731 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_732 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_734 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_735 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_736 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_738 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_739 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_740 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_742 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_743 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_744 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_746 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_747 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_748 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_750 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_751 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_752 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_754 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_755 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_756 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_758 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_759 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_760 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_762 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_763 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_764 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_766 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_767 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_768 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_770 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_771 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_772 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_774 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_775 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_776 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_778 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_779 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_780 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_782 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_783 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_784 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_786 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_787 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_788 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_790 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_791 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_792 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_794 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_795 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_796 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_798 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_799 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_800 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_802 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_803 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_804 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_806 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_807 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_808 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_810 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_811 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_812 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_814 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_815 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_816 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_818 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_819 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_820 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_822 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_823 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_824 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_826 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_827 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_828 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_830 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_831 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_832 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_834 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_835 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_836 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_838 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_839 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_840 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_842 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_843 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_844 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_846 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_847 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_848 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_850 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_851 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_852 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_854 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_855 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_856 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_858 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_859 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_860 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_862 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_863 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_864 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_866 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_867 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_868 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_870 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_871 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_872 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_874 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_875 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_876 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_878 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_879 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_880 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_882 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_883 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_884 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_886 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_887 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_888 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_890 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_891 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_extensionValue_constr_892 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_extensionValue_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs__extensionValue, choice.ManagementBasedMDTallowed), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ManagementBasedMDTallowed, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ManagementBasedMDTallowed" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs__extensionValue, choice.MDTPLMNList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MDTPLMNList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MDTPLMNList" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs__extensionValue, choice.UESidelinkAggregateMaximumBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UESidelinkAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UESidelinkAggregateMaximumBitRate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* ManagementBasedMDTallowed */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* MDTPLMNList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* UESidelinkAggregateMaximumBitRate */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_4 = { + sizeof(struct UE_ContextInformation_ExtIEs__extensionValue), + offsetof(struct UE_ContextInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextInformation_ExtIEs__extensionValue, present), + sizeof(((struct UE_ContextInformation_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_4, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_4 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_4, + 3, /* Elements count */ + &asn_SPC_extensionValue_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextInformation_ExtIEs_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_2, memb_id_constraint_1 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UE_ContextInformation_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_4, + select_UE_ContextInformation_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_4, memb_extensionValue_constraint_1 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformation_ExtIEs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformation_ExtIEs_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformation_ExtIEs_specs_1 = { + sizeof(struct UE_ContextInformation_ExtIEs), + offsetof(struct UE_ContextInformation_ExtIEs, _asn_ctx), + asn_MAP_UE_ContextInformation_ExtIEs_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation_ExtIEs = { + "UE-ContextInformation-ExtIEs", + "UE-ContextInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformation_ExtIEs_tags_1, + sizeof(asn_DEF_UE_ContextInformation_ExtIEs_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_ExtIEs_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextInformation_ExtIEs_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformation_ExtIEs_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_ExtIEs_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformation_ExtIEs_1, + 3, /* Elements count */ + &asn_SPC_UE_ContextInformation_ExtIEs_specs_1 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_8[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue, choice.BearerType), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_BearerType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "BearerType" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_8[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* BearerType */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_8 = { + sizeof(struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_8, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_8 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_8, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ItemExtIEs_5[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_6, memb_id_constraint_5 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeSetup_ItemExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_7, memb_criticality_constraint_5 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_8, + select_E_RABs_ToBeSetup_ItemExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_8, memb_extensionValue_constraint_5 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeSetup_ItemExtIEs_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetup_ItemExtIEs_specs_5 = { + sizeof(struct E_RABs_ToBeSetup_ItemExtIEs), + offsetof(struct E_RABs_ToBeSetup_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeSetup_ItemExtIEs_tag2el_5, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ItemExtIEs = { + "E-RABs-ToBeSetup-ItemExtIEs", + "E-RABs-ToBeSetup-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5, + sizeof(asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5[0]), /* 1 */ + asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ItemExtIEs_tags_5[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetup_ItemExtIEs_5, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetup_ItemExtIEs_specs_5 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_12 = { + sizeof(struct UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue), + offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue, present), + sizeof(((struct UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_12 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtSeNB_ItemExtIEs_9[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_10, memb_id_constraint_9 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_11, memb_criticality_constraint_9 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_12, + 0, + { 0, &asn_PER_memb_extensionValue_constr_12, memb_extensionValue_constraint_9 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextReferenceAtSeNB_ItemExtIEs_tag2el_9[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtSeNB_ItemExtIEs_specs_9 = { + sizeof(struct UE_ContextReferenceAtSeNB_ItemExtIEs), + offsetof(struct UE_ContextReferenceAtSeNB_ItemExtIEs, _asn_ctx), + asn_MAP_UE_ContextReferenceAtSeNB_ItemExtIEs_tag2el_9, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs = { + "UE-ContextReferenceAtSeNB-ItemExtIEs", + "UE-ContextReferenceAtSeNB-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9, + sizeof(asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9) + /sizeof(asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9[0]), /* 1 */ + asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9, /* Same as above */ + sizeof(asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9) + /sizeof(asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs_tags_9[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextReferenceAtSeNB_ItemExtIEs_9, + 3, /* Elements count */ + &asn_SPC_UE_ContextReferenceAtSeNB_ItemExtIEs_specs_9 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_16 = { + sizeof(struct UE_ContextReferenceAtWT_ItemExtIEs__extensionValue), + offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs__extensionValue, present), + sizeof(((struct UE_ContextReferenceAtWT_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_16 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_16 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtWT_ItemExtIEs_13[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_14, memb_id_constraint_13 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_15, memb_criticality_constraint_13 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_16, + 0, + { 0, &asn_PER_memb_extensionValue_constr_16, memb_extensionValue_constraint_13 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextReferenceAtWT_ItemExtIEs_tag2el_13[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtWT_ItemExtIEs_specs_13 = { + sizeof(struct UE_ContextReferenceAtWT_ItemExtIEs), + offsetof(struct UE_ContextReferenceAtWT_ItemExtIEs, _asn_ctx), + asn_MAP_UE_ContextReferenceAtWT_ItemExtIEs_tag2el_13, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs = { + "UE-ContextReferenceAtWT-ItemExtIEs", + "UE-ContextReferenceAtWT-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13, + sizeof(asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13) + /sizeof(asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13[0]), /* 1 */ + asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13, /* Same as above */ + sizeof(asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13) + /sizeof(asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs_tags_13[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextReferenceAtWT_ItemExtIEs_13, + 3, /* Elements count */ + &asn_SPC_UE_ContextReferenceAtWT_ItemExtIEs_specs_13 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_20 = { + sizeof(struct UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue), + offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue, present), + sizeof(((struct UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_20 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_20 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtSgNB_ItemExtIEs_17[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_18, memb_id_constraint_17 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_19, memb_criticality_constraint_17 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_20, + 0, + { 0, &asn_PER_memb_extensionValue_constr_20, memb_extensionValue_constraint_17 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextReferenceAtSgNB_ItemExtIEs_tag2el_17[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtSgNB_ItemExtIEs_specs_17 = { + sizeof(struct UE_ContextReferenceAtSgNB_ItemExtIEs), + offsetof(struct UE_ContextReferenceAtSgNB_ItemExtIEs, _asn_ctx), + asn_MAP_UE_ContextReferenceAtSgNB_ItemExtIEs_tag2el_17, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs = { + "UE-ContextReferenceAtSgNB-ItemExtIEs", + "UE-ContextReferenceAtSgNB-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17, + sizeof(asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17) + /sizeof(asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17[0]), /* 1 */ + asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17, /* Same as above */ + sizeof(asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17) + /sizeof(asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs_tags_17[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextReferenceAtSgNB_ItemExtIEs_17, + 3, /* Elements count */ + &asn_SPC_UE_ContextReferenceAtSgNB_ItemExtIEs_specs_17 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_24 = { + sizeof(struct E_RABs_Admitted_Item_ExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_Item_ExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_24 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_24 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_Item_ExtIEs_21[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_22, memb_id_constraint_21 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_23, memb_criticality_constraint_21 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_24, + 0, + { 0, &asn_PER_memb_extensionValue_constr_24, memb_extensionValue_constraint_21 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_Item_ExtIEs_tag2el_21[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_Item_ExtIEs_specs_21 = { + sizeof(struct E_RABs_Admitted_Item_ExtIEs), + offsetof(struct E_RABs_Admitted_Item_ExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_Item_ExtIEs_tag2el_21, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_Item_ExtIEs = { + "E-RABs-Admitted-Item-ExtIEs", + "E-RABs-Admitted-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21, + sizeof(asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21) + /sizeof(asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21) + /sizeof(asn_DEF_E_RABs_Admitted_Item_ExtIEs_tags_21[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_Item_ExtIEs_21, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_Item_ExtIEs_specs_21 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_28[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, choice.ReceiveStatusOfULPDCPSDUsExtended), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_ReceiveStatusOfULPDCPSDUsExtended, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReceiveStatusOfULPDCPSDUsExtended" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, choice.COUNTValueExtended), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_COUNTValueExtended, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "COUNTValueExtended" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, choice.ReceiveStatusOfULPDCPSDUsPDCP_SNlength18), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, choice.COUNTvaluePDCP_SNlength18), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_COUNTvaluePDCP_SNlength18, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "COUNTvaluePDCP-SNlength18" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_28[] = { 0, 2, 1, 3 }; +static const unsigned asn_MAP_extensionValue_from_canonical_28[] = { 0, 2, 1, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_28[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 1 }, /* ReceiveStatusOfULPDCPSDUsExtended */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, -1, 0 }, /* ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* COUNTValueExtended */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 } /* COUNTvaluePDCP-SNlength18 */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_28 = { + sizeof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_28, + 4, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_28, + asn_MAP_extensionValue_from_canonical_28, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_28 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_28, + 4, /* Elements count */ + &asn_SPC_extensionValue_specs_28 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToStatusTransfer_ItemExtIEs_25[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_26, memb_id_constraint_25 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_27, memb_criticality_constraint_25 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_28, + select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_28, memb_extensionValue_constraint_25 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tag2el_25[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToStatusTransfer_ItemExtIEs_specs_25 = { + sizeof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tag2el_25, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs = { + "E-RABs-SubjectToStatusTransfer-ItemExtIEs", + "E-RABs-SubjectToStatusTransfer-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25, + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs_tags_25[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToStatusTransfer_ItemExtIEs_25, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToStatusTransfer_ItemExtIEs_specs_25 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_32[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.ABSInformation), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ABSInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ABSInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.InvokeIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_InvokeIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "InvokeIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.SubframeAssignment), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SubframeAssignment, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SubframeAssignment" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.ExtendedULInterferenceOverloadInfo), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExtendedULInterferenceOverloadInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExtendedULInterferenceOverloadInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.CoMPInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoMPInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CoMPInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs__extensionValue, choice.DynamicDLTransmissionInformation), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_DynamicDLTransmissionInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DynamicDLTransmissionInformation" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_32[] = { 1, 2, 3, 4, 0, 5 }; +static const unsigned asn_MAP_extensionValue_from_canonical_32[] = { 4, 0, 1, 2, 3, 5 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_32[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 1 }, /* InvokeIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, -1, 0 }, /* SubframeAssignment */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 1 }, /* ExtendedULInterferenceOverloadInfo */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 }, /* CoMPInformation */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 1 }, /* fdd */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 5, -1, 0 }, /* naics-active */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 1 }, /* tdd */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 5, -1, 0 }, /* naics-inactive */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 } /* abs-inactive */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_32 = { + sizeof(struct CellInformation_Item_ExtIEs__extensionValue), + offsetof(struct CellInformation_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellInformation_Item_ExtIEs__extensionValue, present), + sizeof(((struct CellInformation_Item_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_32, + 9, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_32, + asn_MAP_extensionValue_from_canonical_32, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_32 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_32, + 6, /* Elements count */ + &asn_SPC_extensionValue_specs_32 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellInformation_Item_ExtIEs_29[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_30, memb_id_constraint_29 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellInformation_Item_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_31, memb_criticality_constraint_29 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellInformation_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_32, + select_CellInformation_Item_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_32, memb_extensionValue_constraint_29 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellInformation_Item_ExtIEs_tags_29[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellInformation_Item_ExtIEs_tag2el_29[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellInformation_Item_ExtIEs_specs_29 = { + sizeof(struct CellInformation_Item_ExtIEs), + offsetof(struct CellInformation_Item_ExtIEs, _asn_ctx), + asn_MAP_CellInformation_Item_ExtIEs_tag2el_29, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellInformation_Item_ExtIEs = { + "CellInformation-Item-ExtIEs", + "CellInformation-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellInformation_Item_ExtIEs_tags_29, + sizeof(asn_DEF_CellInformation_Item_ExtIEs_tags_29) + /sizeof(asn_DEF_CellInformation_Item_ExtIEs_tags_29[0]), /* 1 */ + asn_DEF_CellInformation_Item_ExtIEs_tags_29, /* Same as above */ + sizeof(asn_DEF_CellInformation_Item_ExtIEs_tags_29) + /sizeof(asn_DEF_CellInformation_Item_ExtIEs_tags_29[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellInformation_Item_ExtIEs_29, + 3, /* Elements count */ + &asn_SPC_CellInformation_Item_ExtIEs_specs_29 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_36[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item_ExtIEs__extensionValue, choice.DeactivationIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_DeactivationIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DeactivationIndication" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_36[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* DeactivationIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_36 = { + sizeof(struct ServedCellsToModify_Item_ExtIEs__extensionValue), + offsetof(struct ServedCellsToModify_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedCellsToModify_Item_ExtIEs__extensionValue, present), + sizeof(((struct ServedCellsToModify_Item_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_36, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_36 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_36, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_36 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedCellsToModify_Item_ExtIEs_33[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_34, memb_id_constraint_33 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ServedCellsToModify_Item_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_35, memb_criticality_constraint_33 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_36, + select_ServedCellsToModify_Item_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_36, memb_extensionValue_constraint_33 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedCellsToModify_Item_ExtIEs_tag2el_33[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToModify_Item_ExtIEs_specs_33 = { + sizeof(struct ServedCellsToModify_Item_ExtIEs), + offsetof(struct ServedCellsToModify_Item_ExtIEs, _asn_ctx), + asn_MAP_ServedCellsToModify_Item_ExtIEs_tag2el_33, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify_Item_ExtIEs = { + "ServedCellsToModify-Item-ExtIEs", + "ServedCellsToModify-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33, + sizeof(asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33) + /sizeof(asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33[0]), /* 1 */ + asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33, /* Same as above */ + sizeof(asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33) + /sizeof(asn_DEF_ServedCellsToModify_Item_ExtIEs_tags_33[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedCellsToModify_Item_ExtIEs_33, + 3, /* Elements count */ + &asn_SPC_ServedCellsToModify_Item_ExtIEs_specs_33 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_40 = { + sizeof(struct CellToReport_Item_ExtIEs__extensionValue), + offsetof(struct CellToReport_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellToReport_Item_ExtIEs__extensionValue, present), + sizeof(((struct CellToReport_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_40 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_40 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellToReport_Item_ExtIEs_37[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellToReport_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_38, memb_id_constraint_37 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellToReport_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_39, memb_criticality_constraint_37 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellToReport_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_40, + 0, + { 0, &asn_PER_memb_extensionValue_constr_40, memb_extensionValue_constraint_37 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellToReport_Item_ExtIEs_tags_37[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellToReport_Item_ExtIEs_tag2el_37[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellToReport_Item_ExtIEs_specs_37 = { + sizeof(struct CellToReport_Item_ExtIEs), + offsetof(struct CellToReport_Item_ExtIEs, _asn_ctx), + asn_MAP_CellToReport_Item_ExtIEs_tag2el_37, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellToReport_Item_ExtIEs = { + "CellToReport-Item-ExtIEs", + "CellToReport-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellToReport_Item_ExtIEs_tags_37, + sizeof(asn_DEF_CellToReport_Item_ExtIEs_tags_37) + /sizeof(asn_DEF_CellToReport_Item_ExtIEs_tags_37[0]), /* 1 */ + asn_DEF_CellToReport_Item_ExtIEs_tags_37, /* Same as above */ + sizeof(asn_DEF_CellToReport_Item_ExtIEs_tags_37) + /sizeof(asn_DEF_CellToReport_Item_ExtIEs_tags_37[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellToReport_Item_ExtIEs_37, + 3, /* Elements count */ + &asn_SPC_CellToReport_Item_ExtIEs_specs_37 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_44 = { + sizeof(struct MeasurementInitiationResult_Item_ExtIEs__extensionValue), + offsetof(struct MeasurementInitiationResult_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct MeasurementInitiationResult_Item_ExtIEs__extensionValue, present), + sizeof(((struct MeasurementInitiationResult_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_44 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_44 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MeasurementInitiationResult_Item_ExtIEs_41[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_42, memb_id_constraint_41 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_43, memb_criticality_constraint_41 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_44, + 0, + { 0, &asn_PER_memb_extensionValue_constr_44, memb_extensionValue_constraint_41 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementInitiationResult_Item_ExtIEs_tag2el_41[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MeasurementInitiationResult_Item_ExtIEs_specs_41 = { + sizeof(struct MeasurementInitiationResult_Item_ExtIEs), + offsetof(struct MeasurementInitiationResult_Item_ExtIEs, _asn_ctx), + asn_MAP_MeasurementInitiationResult_Item_ExtIEs_tag2el_41, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_Item_ExtIEs = { + "MeasurementInitiationResult-Item-ExtIEs", + "MeasurementInitiationResult-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41, + sizeof(asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41) + /sizeof(asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41[0]), /* 1 */ + asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41, /* Same as above */ + sizeof(asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41) + /sizeof(asn_DEF_MeasurementInitiationResult_Item_ExtIEs_tags_41[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementInitiationResult_Item_ExtIEs_41, + 3, /* Elements count */ + &asn_SPC_MeasurementInitiationResult_Item_ExtIEs_specs_41 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_48 = { + sizeof(struct MeasurementFailureCause_Item_ExtIEs__extensionValue), + offsetof(struct MeasurementFailureCause_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct MeasurementFailureCause_Item_ExtIEs__extensionValue, present), + sizeof(((struct MeasurementFailureCause_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_48 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_48 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MeasurementFailureCause_Item_ExtIEs_45[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_46, memb_id_constraint_45 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_47, memb_criticality_constraint_45 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_48, + 0, + { 0, &asn_PER_memb_extensionValue_constr_48, memb_extensionValue_constraint_45 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementFailureCause_Item_ExtIEs_tag2el_45[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MeasurementFailureCause_Item_ExtIEs_specs_45 = { + sizeof(struct MeasurementFailureCause_Item_ExtIEs), + offsetof(struct MeasurementFailureCause_Item_ExtIEs, _asn_ctx), + asn_MAP_MeasurementFailureCause_Item_ExtIEs_tag2el_45, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_Item_ExtIEs = { + "MeasurementFailureCause-Item-ExtIEs", + "MeasurementFailureCause-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45, + sizeof(asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45) + /sizeof(asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45[0]), /* 1 */ + asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45, /* Same as above */ + sizeof(asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45) + /sizeof(asn_DEF_MeasurementFailureCause_Item_ExtIEs_tags_45[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementFailureCause_Item_ExtIEs_45, + 3, /* Elements count */ + &asn_SPC_MeasurementFailureCause_Item_ExtIEs_specs_45 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_52 = { + sizeof(struct CompleteFailureCauseInformation_Item_ExtIEs__extensionValue), + offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs__extensionValue, present), + sizeof(((struct CompleteFailureCauseInformation_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_52 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_52 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_Item_ExtIEs_49[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_50, memb_id_constraint_49 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_51, memb_criticality_constraint_49 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_52, + 0, + { 0, &asn_PER_memb_extensionValue_constr_52, memb_extensionValue_constraint_49 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompleteFailureCauseInformation_Item_ExtIEs_tag2el_49[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CompleteFailureCauseInformation_Item_ExtIEs_specs_49 = { + sizeof(struct CompleteFailureCauseInformation_Item_ExtIEs), + offsetof(struct CompleteFailureCauseInformation_Item_ExtIEs, _asn_ctx), + asn_MAP_CompleteFailureCauseInformation_Item_ExtIEs_tag2el_49, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs = { + "CompleteFailureCauseInformation-Item-ExtIEs", + "CompleteFailureCauseInformation-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49, + sizeof(asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49) + /sizeof(asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49[0]), /* 1 */ + asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49, /* Same as above */ + sizeof(asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49) + /sizeof(asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs_tags_49[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompleteFailureCauseInformation_Item_ExtIEs_49, + 3, /* Elements count */ + &asn_SPC_CompleteFailureCauseInformation_Item_ExtIEs_specs_49 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_56[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, choice.CompositeAvailableCapacityGroup), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompositeAvailableCapacityGroup, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CompositeAvailableCapacityGroup" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, choice.ABS_Status), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ABS_Status, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ABS-Status" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, choice.RSRPMRList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RSRPMRList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RSRPMRList" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, choice.CSIReportList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CSIReportList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CSIReportList" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, choice.CellReportingIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_CellReportingIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellReportingIndicator" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_56[] = { 4, 0, 1, 2, 3 }; +static const unsigned asn_MAP_extensionValue_from_canonical_56[] = { 1, 2, 3, 4, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_56[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* CellReportingIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 3 }, /* CompositeAvailableCapacityGroup */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 2 }, /* ABS-Status */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 1 }, /* RSRPMRList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 0 } /* CSIReportList */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_56 = { + sizeof(struct CellMeasurementResult_Item_ExtIEs__extensionValue), + offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellMeasurementResult_Item_ExtIEs__extensionValue, present), + sizeof(((struct CellMeasurementResult_Item_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_56, + 5, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_56, + asn_MAP_extensionValue_from_canonical_56, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_56 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_56, + 5, /* Elements count */ + &asn_SPC_extensionValue_specs_56 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellMeasurementResult_Item_ExtIEs_53[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_54, memb_id_constraint_53 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellMeasurementResult_Item_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_55, memb_criticality_constraint_53 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_56, + select_CellMeasurementResult_Item_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_56, memb_extensionValue_constraint_53 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellMeasurementResult_Item_ExtIEs_tag2el_53[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellMeasurementResult_Item_ExtIEs_specs_53 = { + sizeof(struct CellMeasurementResult_Item_ExtIEs), + offsetof(struct CellMeasurementResult_Item_ExtIEs, _asn_ctx), + asn_MAP_CellMeasurementResult_Item_ExtIEs_tag2el_53, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_Item_ExtIEs = { + "CellMeasurementResult-Item-ExtIEs", + "CellMeasurementResult-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53, + sizeof(asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53) + /sizeof(asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53[0]), /* 1 */ + asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53, /* Same as above */ + sizeof(asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53) + /sizeof(asn_DEF_CellMeasurementResult_Item_ExtIEs_tags_53[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellMeasurementResult_Item_ExtIEs_53, + 3, /* Elements count */ + &asn_SPC_CellMeasurementResult_Item_ExtIEs_specs_53 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_60 = { + sizeof(struct ServedCellsToActivate_Item_ExtIEs__extensionValue), + offsetof(struct ServedCellsToActivate_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedCellsToActivate_Item_ExtIEs__extensionValue, present), + sizeof(((struct ServedCellsToActivate_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_60 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_60 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedCellsToActivate_Item_ExtIEs_57[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToActivate_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_58, memb_id_constraint_57 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToActivate_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_59, memb_criticality_constraint_57 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedCellsToActivate_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_60, + 0, + { 0, &asn_PER_memb_extensionValue_constr_60, memb_extensionValue_constraint_57 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedCellsToActivate_Item_ExtIEs_tag2el_57[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToActivate_Item_ExtIEs_specs_57 = { + sizeof(struct ServedCellsToActivate_Item_ExtIEs), + offsetof(struct ServedCellsToActivate_Item_ExtIEs, _asn_ctx), + asn_MAP_ServedCellsToActivate_Item_ExtIEs_tag2el_57, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCellsToActivate_Item_ExtIEs = { + "ServedCellsToActivate-Item-ExtIEs", + "ServedCellsToActivate-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57, + sizeof(asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57) + /sizeof(asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57[0]), /* 1 */ + asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57, /* Same as above */ + sizeof(asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57) + /sizeof(asn_DEF_ServedCellsToActivate_Item_ExtIEs_tags_57[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedCellsToActivate_Item_ExtIEs_57, + 3, /* Elements count */ + &asn_SPC_ServedCellsToActivate_Item_ExtIEs_specs_57 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_64 = { + sizeof(struct ActivatedCellList_Item_ExtIEs__extensionValue), + offsetof(struct ActivatedCellList_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ActivatedCellList_Item_ExtIEs__extensionValue, present), + sizeof(((struct ActivatedCellList_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_64 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_64 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ActivatedCellList_Item_ExtIEs_61[] = { + { ATF_NOFLAGS, 0, offsetof(struct ActivatedCellList_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_62, memb_id_constraint_61 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActivatedCellList_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_63, memb_criticality_constraint_61 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ActivatedCellList_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_64, + 0, + { 0, &asn_PER_memb_extensionValue_constr_64, memb_extensionValue_constraint_61 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ActivatedCellList_Item_ExtIEs_tag2el_61[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ActivatedCellList_Item_ExtIEs_specs_61 = { + sizeof(struct ActivatedCellList_Item_ExtIEs), + offsetof(struct ActivatedCellList_Item_ExtIEs, _asn_ctx), + asn_MAP_ActivatedCellList_Item_ExtIEs_tag2el_61, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ActivatedCellList_Item_ExtIEs = { + "ActivatedCellList-Item-ExtIEs", + "ActivatedCellList-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61, + sizeof(asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61) + /sizeof(asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61[0]), /* 1 */ + asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61, /* Same as above */ + sizeof(asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61) + /sizeof(asn_DEF_ActivatedCellList_Item_ExtIEs_tags_61[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ActivatedCellList_Item_ExtIEs_61, + 3, /* Elements count */ + &asn_SPC_ActivatedCellList_Item_ExtIEs_specs_61 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_68 = { + sizeof(struct RNL_Header_Item_ExtIEs__extensionValue), + offsetof(struct RNL_Header_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RNL_Header_Item_ExtIEs__extensionValue, present), + sizeof(((struct RNL_Header_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_68 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_68 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RNL_Header_Item_ExtIEs_65[] = { + { ATF_NOFLAGS, 0, offsetof(struct RNL_Header_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_66, memb_id_constraint_65 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RNL_Header_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_67, memb_criticality_constraint_65 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RNL_Header_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_68, + 0, + { 0, &asn_PER_memb_extensionValue_constr_68, memb_extensionValue_constraint_65 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RNL_Header_Item_ExtIEs_tags_65[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RNL_Header_Item_ExtIEs_tag2el_65[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RNL_Header_Item_ExtIEs_specs_65 = { + sizeof(struct RNL_Header_Item_ExtIEs), + offsetof(struct RNL_Header_Item_ExtIEs, _asn_ctx), + asn_MAP_RNL_Header_Item_ExtIEs_tag2el_65, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RNL_Header_Item_ExtIEs = { + "RNL-Header-Item-ExtIEs", + "RNL-Header-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RNL_Header_Item_ExtIEs_tags_65, + sizeof(asn_DEF_RNL_Header_Item_ExtIEs_tags_65) + /sizeof(asn_DEF_RNL_Header_Item_ExtIEs_tags_65[0]), /* 1 */ + asn_DEF_RNL_Header_Item_ExtIEs_tags_65, /* Same as above */ + sizeof(asn_DEF_RNL_Header_Item_ExtIEs_tags_65) + /sizeof(asn_DEF_RNL_Header_Item_ExtIEs_tags_65[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RNL_Header_Item_ExtIEs_65, + 3, /* Elements count */ + &asn_SPC_RNL_Header_Item_ExtIEs_specs_65 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_72[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue, choice.Correlation_ID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_Correlation_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Correlation-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_72[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* Correlation-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_72 = { + sizeof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_72, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_72 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_72, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_72 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_69[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_70, memb_id_constraint_69 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_71, memb_criticality_constraint_69 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_72, + select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_72, memb_extensionValue_constraint_69 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tag2el_69[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_specs_69 = { + sizeof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tag2el_69, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs = { + "E-RABs-ToBeAdded-Item-SCG-BearerExtIEs", + "E-RABs-ToBeAdded-Item-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69, + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_tags_69[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_69, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_specs_69 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_76 = { + sizeof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_76 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_76 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_73[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_74, memb_id_constraint_73 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_75, memb_criticality_constraint_73 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_76, + 0, + { 0, &asn_PER_memb_extensionValue_constr_76, memb_extensionValue_constraint_73 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tag2el_73[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_specs_73 = { + sizeof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tag2el_73, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs = { + "E-RABs-ToBeAdded-Item-Split-BearerExtIEs", + "E-RABs-ToBeAdded-Item-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73, + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73) + /sizeof(asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_tags_73[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_73, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_specs_73 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_80 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_80 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_80 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_77[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_78, memb_id_constraint_77 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_79, memb_criticality_constraint_77 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_80, + 0, + { 0, &asn_PER_memb_extensionValue_constr_80, memb_extensionValue_constraint_77 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tag2el_77[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_specs_77 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tag2el_77, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs = { + "E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs", + "E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_tags_77[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_77, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_specs_77 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_84 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_84 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_84 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_81[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_82, memb_id_constraint_81 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_83, memb_criticality_constraint_81 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_84, + 0, + { 0, &asn_PER_memb_extensionValue_constr_84, memb_extensionValue_constraint_81 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tag2el_81[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_specs_81 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tag2el_81, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs = { + "E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs", + "E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_tags_81[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_81, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_specs_81 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_88 = { + sizeof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue), + offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue, present), + sizeof(((struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_88 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_88 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_85[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_86, memb_id_constraint_85 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_87, memb_criticality_constraint_85 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_88, + 0, + { 0, &asn_PER_memb_extensionValue_constr_88, memb_extensionValue_constraint_85 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tag2el_85[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_specs_85 = { + sizeof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs), + offsetof(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs, _asn_ctx), + asn_MAP_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tag2el_85, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs = { + "ResponseInformationSeNBReconfComp-SuccessItemExtIEs", + "ResponseInformationSeNBReconfComp-SuccessItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85, + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85[0]), /* 1 */ + asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_tags_85[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_85, + 3, /* Elements count */ + &asn_SPC_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_specs_85 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_92 = { + sizeof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue), + offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue, present), + sizeof(((struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_92 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_92 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_89[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_90, memb_id_constraint_89 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_91, memb_criticality_constraint_89 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_92, + 0, + { 0, &asn_PER_memb_extensionValue_constr_92, memb_extensionValue_constraint_89 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tag2el_89[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_specs_89 = { + sizeof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs), + offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs, _asn_ctx), + asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tag2el_89, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs = { + "ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs", + "ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89, + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89[0]), /* 1 */ + asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_tags_89[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_89, + 3, /* Elements count */ + &asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_specs_89 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_96 = { + sizeof(struct UE_ContextInformationSeNBModReqExtIEs__extensionValue), + offsetof(struct UE_ContextInformationSeNBModReqExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextInformationSeNBModReqExtIEs__extensionValue, present), + sizeof(((struct UE_ContextInformationSeNBModReqExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_96 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_96 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextInformationSeNBModReqExtIEs_93[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSeNBModReqExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_94, memb_id_constraint_93 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSeNBModReqExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_95, memb_criticality_constraint_93 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSeNBModReqExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_96, + 0, + { 0, &asn_PER_memb_extensionValue_constr_96, memb_extensionValue_constraint_93 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformationSeNBModReqExtIEs_tag2el_93[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationSeNBModReqExtIEs_specs_93 = { + sizeof(struct UE_ContextInformationSeNBModReqExtIEs), + offsetof(struct UE_ContextInformationSeNBModReqExtIEs, _asn_ctx), + asn_MAP_UE_ContextInformationSeNBModReqExtIEs_tag2el_93, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationSeNBModReqExtIEs = { + "UE-ContextInformationSeNBModReqExtIEs", + "UE-ContextInformationSeNBModReqExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93, + sizeof(asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93) + /sizeof(asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93[0]), /* 1 */ + asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93) + /sizeof(asn_DEF_UE_ContextInformationSeNBModReqExtIEs_tags_93[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformationSeNBModReqExtIEs_93, + 3, /* Elements count */ + &asn_SPC_UE_ContextInformationSeNBModReqExtIEs_specs_93 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_100[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue, choice.Correlation_ID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_Correlation_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Correlation-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_100[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* Correlation-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_100 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_100, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_100 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_100, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_100 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_97[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_98, memb_id_constraint_97 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_99, memb_criticality_constraint_97 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_100, + select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_100, memb_extensionValue_constraint_97 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tag2el_97[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_specs_97 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tag2el_97, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs = { + "E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs", + "E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97, + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_tags_97[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_97, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_specs_97 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_104 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_104 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_104 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_101[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_102, memb_id_constraint_101 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_103, memb_criticality_constraint_101 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_104, + 0, + { 0, &asn_PER_memb_extensionValue_constr_104, memb_extensionValue_constraint_101 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tag2el_101[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_specs_101 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tag2el_101, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs = { + "E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs", + "E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101, + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_tags_101[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_101, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_specs_101 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_108 = { + sizeof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_108 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_108 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_105[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_106, memb_id_constraint_105 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_107, memb_criticality_constraint_105 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_108, + 0, + { 0, &asn_PER_memb_extensionValue_constr_108, memb_extensionValue_constraint_105 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tag2el_105[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_specs_105 = { + sizeof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tag2el_105, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs = { + "E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs", + "E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105, + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_tags_105[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_105, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_specs_105 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_112 = { + sizeof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_112 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_112 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_109[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_110, memb_id_constraint_109 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_111, memb_criticality_constraint_109 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_112, + 0, + { 0, &asn_PER_memb_extensionValue_constr_112, memb_extensionValue_constraint_109 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tag2el_109[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_specs_109 = { + sizeof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tag2el_109, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs = { + "E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs", + "E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109, + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_tags_109[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_109, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_specs_109 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_116 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_116 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_116 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_113[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_114, memb_id_constraint_113 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_115, memb_criticality_constraint_113 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_116, + 0, + { 0, &asn_PER_memb_extensionValue_constr_116, memb_extensionValue_constraint_113 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tag2el_113[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_specs_113 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tag2el_113, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs = { + "E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs", + "E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_tags_113[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_113, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_specs_113 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_120 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_120 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_120 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_117[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_118, memb_id_constraint_117 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_119, memb_criticality_constraint_117 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_120, + 0, + { 0, &asn_PER_memb_extensionValue_constr_120, memb_extensionValue_constraint_117 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tag2el_117[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_specs_117 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tag2el_117, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs = { + "E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs", + "E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_tags_117[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_117, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_specs_117 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_124 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_124 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_124 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_121[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_122, memb_id_constraint_121 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_123, memb_criticality_constraint_121 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_124, + 0, + { 0, &asn_PER_memb_extensionValue_constr_124, memb_extensionValue_constraint_121 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tag2el_121[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_specs_121 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tag2el_121, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs = { + "E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs", + "E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_tags_121[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_121, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_specs_121 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_128 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_128 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_128 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_125[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_126, memb_id_constraint_125 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_127, memb_criticality_constraint_125 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_128, + 0, + { 0, &asn_PER_memb_extensionValue_constr_128, memb_extensionValue_constraint_125 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tag2el_125[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_specs_125 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tag2el_125, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs = { + "E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs", + "E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_tags_125[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_125, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_specs_125 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_132 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_132 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_132 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_129[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_130, memb_id_constraint_129 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_131, memb_criticality_constraint_129 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_132, + 0, + { 0, &asn_PER_memb_extensionValue_constr_132, memb_extensionValue_constraint_129 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tag2el_129[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_specs_129 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tag2el_129, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs = { + "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs", + "E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_tags_129[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_129, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_specs_129 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_136 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_136 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_136 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_133[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_134, memb_id_constraint_133 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_135, memb_criticality_constraint_133 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_136, + 0, + { 0, &asn_PER_memb_extensionValue_constr_136, memb_extensionValue_constraint_133 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tag2el_133[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_specs_133 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tag2el_133, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs = { + "E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs", + "E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_tags_133[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_133, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_specs_133 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_140 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_140 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_140 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_137[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_138, memb_id_constraint_137 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_139, memb_criticality_constraint_137 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_140, + 0, + { 0, &asn_PER_memb_extensionValue_constr_140, memb_extensionValue_constraint_137 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tag2el_137[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_specs_137 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tag2el_137, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs = { + "E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs", + "E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_tags_137[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_137, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_specs_137 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_144 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_144 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_144 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_141[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_142, memb_id_constraint_141 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_143, memb_criticality_constraint_141 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_144, + 0, + { 0, &asn_PER_memb_extensionValue_constr_144, memb_extensionValue_constraint_141 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tag2el_141[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_specs_141 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tag2el_141, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs = { + "E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs", + "E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_tags_141[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_141, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_specs_141 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_148 = { + sizeof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_148 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_148 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqdItemExtIEs_145[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_146, memb_id_constraint_145 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_147, memb_criticality_constraint_145 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_148, + 0, + { 0, &asn_PER_memb_extensionValue_constr_148, memb_extensionValue_constraint_145 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqdItemExtIEs_tag2el_145[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqdItemExtIEs_specs_145 = { + sizeof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqdItemExtIEs_tag2el_145, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs = { + "E-RABs-ToBeReleased-ModReqdItemExtIEs", + "E-RABs-ToBeReleased-ModReqdItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs_tags_145[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqdItemExtIEs_145, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqdItemExtIEs_specs_145 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_152 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_152 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_152 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_149[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_150, memb_id_constraint_149 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_151, memb_criticality_constraint_149 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_152, + 0, + { 0, &asn_PER_memb_extensionValue_constr_152, memb_extensionValue_constraint_149 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tag2el_149[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_specs_149 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tag2el_149, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs = { + "E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs", + "E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_tags_149[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_149, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_specs_149 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_156 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_156 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_156 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_153[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_154, memb_id_constraint_153 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_155, memb_criticality_constraint_153 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_156, + 0, + { 0, &asn_PER_memb_extensionValue_constr_156, memb_extensionValue_constraint_153 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tag2el_153[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_specs_153 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tag2el_153, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs = { + "E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs", + "E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_tags_153[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_153, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_specs_153 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_160 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_160 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_160 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_157[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_158, memb_id_constraint_157 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_159, memb_criticality_constraint_157 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_160, + 0, + { 0, &asn_PER_memb_extensionValue_constr_160, memb_extensionValue_constraint_157 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tag2el_157[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_specs_157 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tag2el_157, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs = { + "E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs", + "E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_tags_157[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_157, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_specs_157 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_164 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_164 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_164 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_161[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_162, memb_id_constraint_161 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_163, memb_criticality_constraint_161 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_164, + 0, + { 0, &asn_PER_memb_extensionValue_constr_164, memb_extensionValue_constraint_161 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tag2el_161[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_specs_161 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs), + offsetof(struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tag2el_161, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs = { + "E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs", + "E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_tags_161[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_161, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_specs_161 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_168 = { + sizeof(struct E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue), + offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_168 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_168 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheckItemExtIEs_165[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_166, memb_id_constraint_165 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_167, memb_criticality_constraint_165 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_168, + 0, + { 0, &asn_PER_memb_extensionValue_constr_168, memb_extensionValue_constraint_165 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToCounterCheckItemExtIEs_tag2el_165[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToCounterCheckItemExtIEs_specs_165 = { + sizeof(struct E_RABs_SubjectToCounterCheckItemExtIEs), + offsetof(struct E_RABs_SubjectToCounterCheckItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToCounterCheckItemExtIEs_tag2el_165, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs = { + "E-RABs-SubjectToCounterCheckItemExtIEs", + "E-RABs-SubjectToCounterCheckItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165, + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs_tags_165[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToCounterCheckItemExtIEs_165, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToCounterCheckItemExtIEs_specs_165 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_172[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve_ExtIEs__extensionValue, choice.UESidelinkAggregateMaximumBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UESidelinkAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UESidelinkAggregateMaximumBitRate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_172[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* UESidelinkAggregateMaximumBitRate */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_172 = { + sizeof(struct UE_ContextInformationRetrieve_ExtIEs__extensionValue), + offsetof(struct UE_ContextInformationRetrieve_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextInformationRetrieve_ExtIEs__extensionValue, present), + sizeof(((struct UE_ContextInformationRetrieve_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_172, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_172 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_172, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_172 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextInformationRetrieve_ExtIEs_169[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_170, memb_id_constraint_169 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UE_ContextInformationRetrieve_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_171, memb_criticality_constraint_169 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_172, + select_UE_ContextInformationRetrieve_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_172, memb_extensionValue_constraint_169 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformationRetrieve_ExtIEs_tag2el_169[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationRetrieve_ExtIEs_specs_169 = { + sizeof(struct UE_ContextInformationRetrieve_ExtIEs), + offsetof(struct UE_ContextInformationRetrieve_ExtIEs, _asn_ctx), + asn_MAP_UE_ContextInformationRetrieve_ExtIEs_tag2el_169, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationRetrieve_ExtIEs = { + "UE-ContextInformationRetrieve-ExtIEs", + "UE-ContextInformationRetrieve-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169, + sizeof(asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169) + /sizeof(asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169[0]), /* 1 */ + asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169) + /sizeof(asn_DEF_UE_ContextInformationRetrieve_ExtIEs_tags_169[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformationRetrieve_ExtIEs_169, + 3, /* Elements count */ + &asn_SPC_UE_ContextInformationRetrieve_ExtIEs_specs_169 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_176[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue, choice.GTPtunnelEndpoint), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GTPtunnelEndpoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue, choice.DL_Forwarding), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_DL_Forwarding, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DL-Forwarding" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_176[] = { 1, 0 }; +static const unsigned asn_MAP_extensionValue_from_canonical_176[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_176[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* DL-Forwarding */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GTPtunnelEndpoint */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_176 = { + sizeof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_176, + 2, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_176, + asn_MAP_extensionValue_from_canonical_176, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_176 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_176, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_176 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetupRetrieve_ItemExtIEs_173[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_174, memb_id_constraint_173 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeSetupRetrieve_ItemExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_175, memb_criticality_constraint_173 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_176, + select_E_RABs_ToBeSetupRetrieve_ItemExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_176, memb_extensionValue_constraint_173 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tag2el_173[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetupRetrieve_ItemExtIEs_specs_173 = { + sizeof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tag2el_173, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs = { + "E-RABs-ToBeSetupRetrieve-ItemExtIEs", + "E-RABs-ToBeSetupRetrieve-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173, + sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173) + /sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173[0]), /* 1 */ + asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173) + /sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs_tags_173[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetupRetrieve_ItemExtIEs_173, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetupRetrieve_ItemExtIEs_specs_173 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_180 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_180 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_180 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_177[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_178, memb_id_constraint_177 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_179, memb_criticality_constraint_177 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_180, + 0, + { 0, &asn_PER_memb_extensionValue_constr_180, memb_extensionValue_constraint_177 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tag2el_177[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_specs_177 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tag2el_177, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs = { + "E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs", + "E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_tags_177[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_177, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_specs_177 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_184[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.RLCMode), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLCMode" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_184[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* RLCMode */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_184 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_184, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_184 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_184, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_184 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_181[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_182, memb_id_constraint_181 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_183, memb_criticality_constraint_181 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_184, + select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_184, memb_extensionValue_constraint_181 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tag2el_181[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_specs_181 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tag2el_181, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_tags_181[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_181, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_specs_181 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_188[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.DuplicationActivation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_DuplicationActivation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DuplicationActivation" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_188[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 1 }, /* PDCPSnLength */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, -1, 0 } /* DuplicationActivation */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_188 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_188, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_188 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_188, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_188 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_185[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_186, memb_id_constraint_185 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_187, memb_criticality_constraint_185 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_188, + select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_188, memb_extensionValue_constraint_185 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_185[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_specs_185 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_185, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_tags_185[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_185, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_specs_185 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_192 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_192 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_192 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_189[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_190, memb_id_constraint_189 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_191, memb_criticality_constraint_189 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_192, + 0, + { 0, &asn_PER_memb_extensionValue_constr_192, memb_extensionValue_constraint_189 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tag2el_189[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_specs_189 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tag2el_189, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs = { + "E-RABs-ToBeAdded-SgNBAddReqAck-ItemExtIEs", + "E-RABs-ToBeAdded-SgNBAddReqAck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_tags_189[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_189, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_specs_189 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_196[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_196[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* PDCPSnLength */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_196 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_196, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_196 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_196, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_196 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_193[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_194, memb_id_constraint_193 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_195, memb_criticality_constraint_193 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_196, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_196, memb_extensionValue_constraint_193 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tag2el_193[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_specs_193 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tag2el_193, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresentExtIEs", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_tags_193[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_193, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_specs_193 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_200[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.LCID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_LCID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LCID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_200[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* LCID */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_200 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_200, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_200 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_200, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_200 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_197[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_198, memb_id_constraint_197 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_199, memb_criticality_constraint_197 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_200, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_200, memb_extensionValue_constraint_197 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_197[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_specs_197 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_197, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_tags_197[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_197, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_specs_197 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_204 = { + sizeof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue), + offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue, present), + sizeof(((struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_204 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_204 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_201[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_202, memb_id_constraint_201 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_203, memb_criticality_constraint_201 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_204, + 0, + { 0, &asn_PER_memb_extensionValue_constr_204, memb_extensionValue_constraint_201 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tag2el_201[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_specs_201 = { + sizeof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs), + offsetof(struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs, _asn_ctx), + asn_MAP_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tag2el_201, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs = { + "ResponseInformationSgNBReconfComp-SuccessItemExtIEs", + "ResponseInformationSgNBReconfComp-SuccessItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201, + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201[0]), /* 1 */ + asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_tags_201[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_201, + 3, /* Elements count */ + &asn_SPC_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_specs_201 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_208 = { + sizeof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue), + offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue, present), + sizeof(((struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_208 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_208 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_205[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_206, memb_id_constraint_205 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_207, memb_criticality_constraint_205 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_208, + 0, + { 0, &asn_PER_memb_extensionValue_constr_208, memb_extensionValue_constraint_205 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tag2el_205[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_specs_205 = { + sizeof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs), + offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs, _asn_ctx), + asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tag2el_205, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs = { + "ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs", + "ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205, + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205[0]), /* 1 */ + asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_tags_205[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_205, + 3, /* Elements count */ + &asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_specs_205 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_212[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSgNBModReqExtIEs__extensionValue, choice.SubscriberProfileIDforRFP), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SubscriberProfileIDforRFP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SubscriberProfileIDforRFP" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_212[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* SubscriberProfileIDforRFP */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_212 = { + sizeof(struct UE_ContextInformationSgNBModReqExtIEs__extensionValue), + offsetof(struct UE_ContextInformationSgNBModReqExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_ContextInformationSgNBModReqExtIEs__extensionValue, present), + sizeof(((struct UE_ContextInformationSgNBModReqExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_212, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_212 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_212, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_212 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_ContextInformationSgNBModReqExtIEs_209[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSgNBModReqExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_210, memb_id_constraint_209 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSgNBModReqExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UE_ContextInformationSgNBModReqExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_211, memb_criticality_constraint_209 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationSgNBModReqExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_212, + select_UE_ContextInformationSgNBModReqExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_212, memb_extensionValue_constraint_209 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformationSgNBModReqExtIEs_tag2el_209[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationSgNBModReqExtIEs_specs_209 = { + sizeof(struct UE_ContextInformationSgNBModReqExtIEs), + offsetof(struct UE_ContextInformationSgNBModReqExtIEs, _asn_ctx), + asn_MAP_UE_ContextInformationSgNBModReqExtIEs_tag2el_209, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationSgNBModReqExtIEs = { + "UE-ContextInformationSgNBModReqExtIEs", + "UE-ContextInformationSgNBModReqExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209, + sizeof(asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209) + /sizeof(asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209[0]), /* 1 */ + asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209) + /sizeof(asn_DEF_UE_ContextInformationSgNBModReqExtIEs_tags_209[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformationSgNBModReqExtIEs_209, + 3, /* Elements count */ + &asn_SPC_UE_ContextInformationSgNBModReqExtIEs_specs_209 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_216 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_216 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_216 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_213[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_214, memb_id_constraint_213 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_215, memb_criticality_constraint_213 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_216, + 0, + { 0, &asn_PER_memb_extensionValue_constr_216, memb_extensionValue_constraint_213 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tag2el_213[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_specs_213 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tag2el_213, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs = { + "E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs", + "E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_tags_213[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_213, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_specs_213 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_220[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.RLCMode), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLCMode" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_220[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* RLCMode */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_220 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_220, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_220 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_220, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_220 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_217[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_218, memb_id_constraint_217 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_219, memb_criticality_constraint_217 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_220, + select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_220, memb_extensionValue_constraint_217 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_217[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_217 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_217, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_217[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_217, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_217 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_224[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.DuplicationActivation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_DuplicationActivation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DuplicationActivation" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_224[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 1 }, /* PDCPSnLength */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, -1, 0 } /* DuplicationActivation */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_224 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_224, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_224 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_224, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_224 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_221[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_222, memb_id_constraint_221 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_223, memb_criticality_constraint_221 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_224, + select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_224, memb_extensionValue_constraint_221 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_221[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_221 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_221, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_221[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_221, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_221 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_228 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_228 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_228 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_225[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_226, memb_id_constraint_225 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_227, memb_criticality_constraint_225 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_228, + 0, + { 0, &asn_PER_memb_extensionValue_constr_228, memb_extensionValue_constraint_225 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tag2el_225[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_specs_225 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tag2el_225, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs = { + "E-RABs-ToBeModified-SgNBModReq-ItemExtIEs", + "E-RABs-ToBeModified-SgNBModReq-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_tags_225[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_225, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_specs_225 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_232[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.RLC_Status), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RLC_Status, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLC-Status" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_232[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RLC-Status */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_232 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_232, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_232 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_232, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_232 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_229[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_230, memb_id_constraint_229 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_231, memb_criticality_constraint_229 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_232, + select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_232, memb_extensionValue_constraint_229 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_229[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_229 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_229, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_229[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_229, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_229 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_236[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.GTPtunnelEndpoint), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GTPtunnelEndpoint" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_236[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* PDCPSnLength */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* GTPtunnelEndpoint */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_236 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_236, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_236 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_236, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_236 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_233[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_234, memb_id_constraint_233 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_235, memb_criticality_constraint_233 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_236, + select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_236, memb_extensionValue_constraint_233 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_233[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_233 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_233, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_233[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_233, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_233 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_240 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_240 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_240 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_237[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_238, memb_id_constraint_237 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_239, memb_criticality_constraint_237 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_240, + 0, + { 0, &asn_PER_memb_extensionValue_constr_240, memb_extensionValue_constraint_237 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tag2el_237[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_specs_237 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tag2el_237, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_tags_237[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_237, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_specs_237 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_244 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_244 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_244 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_241[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_242, memb_id_constraint_241 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_243, memb_criticality_constraint_241 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_244, + 0, + { 0, &asn_PER_memb_extensionValue_constr_244, memb_extensionValue_constraint_241 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_241[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_241 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tag2el_241, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_tags_241[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_241, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_241 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_248 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_248 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_248 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_245[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_246, memb_id_constraint_245 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_247, memb_criticality_constraint_245 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_248, + 0, + { 0, &asn_PER_memb_extensionValue_constr_248, memb_extensionValue_constraint_245 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_245[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_245 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_245, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_tags_245[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_245, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_245 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_252 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_252 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_252 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_249[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_250, memb_id_constraint_249 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_251, memb_criticality_constraint_249 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_252, + 0, + { 0, &asn_PER_memb_extensionValue_constr_252, memb_extensionValue_constraint_249 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tag2el_249[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_specs_249 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tag2el_249, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_tags_249[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_249, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_specs_249 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_256[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_256[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* PDCPSnLength */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_256 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_256, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_256 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_256, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_256 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_253[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_254, memb_id_constraint_253 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_255, memb_criticality_constraint_253 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_256, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_256, memb_extensionValue_constraint_253 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_253[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_253 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_253, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_253[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_253, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_253 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_260[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.LCID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_LCID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LCID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_260[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* LCID */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_260 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_260, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_260 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_260, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_260 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_257[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_258, memb_id_constraint_257 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_259, memb_criticality_constraint_257 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_260, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_260, memb_extensionValue_constraint_257 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_257[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_257 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_257, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_257[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_257, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_257 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_264 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_264 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_264 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_261[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_262, memb_id_constraint_261 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_263, memb_criticality_constraint_261 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_264, + 0, + { 0, &asn_PER_memb_extensionValue_constr_264, memb_extensionValue_constraint_261 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tag2el_261[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_specs_261 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tag2el_261, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs = { + "E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs", + "E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_tags_261[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_261, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_specs_261 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_268[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_268[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* PDCPSnLength */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_268 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_268, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_268 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_268, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_268 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_265[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_266, memb_id_constraint_265 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_267, memb_criticality_constraint_265 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_268, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_268, memb_extensionValue_constraint_265 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_265[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_265 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_265, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_265[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_265, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_265 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_272[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.GTPtunnelEndpoint), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GTPtunnelEndpoint, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GTPtunnelEndpoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.RLC_Status), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RLC_Status, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLC-Status" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_272[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GTPtunnelEndpoint */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RLC-Status */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_272 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_272, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_272 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_272, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_272 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_269[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_270, memb_id_constraint_269 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_271, memb_criticality_constraint_269 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_272, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_272, memb_extensionValue_constraint_269 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_269[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_269 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_269, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_269[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_269, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_269 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_276 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_276 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_276 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_273[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_274, memb_id_constraint_273 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_275, memb_criticality_constraint_273 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_276, + 0, + { 0, &asn_PER_memb_extensionValue_constr_276, memb_extensionValue_constraint_273 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tag2el_273[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_specs_273 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tag2el_273, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_tags_273[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_273, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_specs_273 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_280 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_280 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_280 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_277[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_278, memb_id_constraint_277 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_279, memb_criticality_constraint_277 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_280, + 0, + { 0, &asn_PER_memb_extensionValue_constr_280, memb_extensionValue_constraint_277 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_277[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_277 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tag2el_277, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_tags_277[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_277, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_277 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_284 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_284 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_284 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_281[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_282, memb_id_constraint_281 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_283, memb_criticality_constraint_281 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_284, + 0, + { 0, &asn_PER_memb_extensionValue_constr_284, memb_extensionValue_constraint_281 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_281[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_281 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tag2el_281, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_tags_281[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_281, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_281 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_288[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue, choice.RLCMode), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RLCMode, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLCMode" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_288[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* RLCMode */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_288 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_288, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_288 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_288, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_288 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_285[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_286, memb_id_constraint_285 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_287, memb_criticality_constraint_285 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_288, + select_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_288, memb_extensionValue_constraint_285 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tag2el_285[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_specs_285 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tag2el_285, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_tags_285[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_285, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_specs_285 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_292 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_292 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_292 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_289[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_290, memb_id_constraint_289 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_291, memb_criticality_constraint_289 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_292, + 0, + { 0, &asn_PER_memb_extensionValue_constr_292, memb_extensionValue_constraint_289 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tag2el_289[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_specs_289 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tag2el_289, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs = { + "E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs", + "E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_tags_289[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_289, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_specs_289 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_296[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue, choice.NewDRBIDrequest), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NewDRBIDrequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NewDRBIDrequest" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_296[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 1 }, /* PDCPSnLength */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, -1, 0 } /* NewDRBIDrequest */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_296 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_296, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_296 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_296, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_296 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_293[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_294, memb_id_constraint_293 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_295, memb_criticality_constraint_293 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_296, + select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_296, memb_extensionValue_constraint_293 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tag2el_293[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_specs_293 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tag2el_293, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_tags_293[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_293, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_specs_293 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_300[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.RLC_Status), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RLC_Status, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLC-Status" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.LCID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_LCID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LCID" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_300[] = { 1, 0 }; +static const unsigned asn_MAP_extensionValue_from_canonical_300[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_300[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* LCID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RLC-Status */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_300 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_300, + 2, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_300, + asn_MAP_extensionValue_from_canonical_300, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_300 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_300, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_300 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_297[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_298, memb_id_constraint_297 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_299, memb_criticality_constraint_297 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_300, + select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_300, memb_extensionValue_constraint_297 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tag2el_297[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_specs_297 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tag2el_297, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_tags_297[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_297, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_specs_297 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_304 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_304 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_304 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_301[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_302, memb_id_constraint_301 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_303, memb_criticality_constraint_301 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_304, + 0, + { 0, &asn_PER_memb_extensionValue_constr_304, memb_extensionValue_constraint_301 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tag2el_301[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_specs_301 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tag2el_301, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs = { + "E-RABs-AdmittedToBeModified-SgNBModConf-ItemExtIEs", + "E-RABs-AdmittedToBeModified-SgNBModConf-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_tags_301[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_301, + 3, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_specs_301 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_308 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_308 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_308 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_305[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_306, memb_id_constraint_305 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_307, memb_criticality_constraint_305 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_308, + 0, + { 0, &asn_PER_memb_extensionValue_constr_308, memb_extensionValue_constraint_305 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tag2el_305[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_specs_305 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tag2el_305, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresentExtIEs", + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_tags_305[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_305, + 3, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_specs_305 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_312[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, choice.PDCPSnLength), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPSnLength, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPSnLength" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_312[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* PDCPSnLength */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_312 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_312, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_312 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_312, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_312 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_309[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_310, memb_id_constraint_309 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_311, memb_criticality_constraint_309 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_312, + select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_312, memb_extensionValue_constraint_309 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_309[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_specs_309 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_309, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_tags_309[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_309, + 3, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_specs_309 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_316 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_316 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_316 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_313[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_314, memb_id_constraint_313 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_315, memb_criticality_constraint_313 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_316, + 0, + { 0, &asn_PER_memb_extensionValue_constr_316, memb_extensionValue_constraint_313 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tag2el_313[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_specs_313 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tag2el_313, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_tags_313[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_313, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_specs_313 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_320 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_320 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_320 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_317[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_318, memb_id_constraint_317 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_319, memb_criticality_constraint_317 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_320, + 0, + { 0, &asn_PER_memb_extensionValue_constr_320, memb_extensionValue_constraint_317 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tag2el_317[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_specs_317 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tag2el_317, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_tags_317[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_317, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_specs_317 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_324 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_324 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_324 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_321[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_322, memb_id_constraint_321 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_323, memb_criticality_constraint_321 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_324, + 0, + { 0, &asn_PER_memb_extensionValue_constr_324, memb_extensionValue_constraint_321 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_321[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_specs_321 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tag2el_321, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_tags_321[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_321, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_specs_321 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_328 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_328 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_328 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_325[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_326, memb_id_constraint_325 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_327, memb_criticality_constraint_325 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_328, + 0, + { 0, &asn_PER_memb_extensionValue_constr_328, memb_extensionValue_constraint_325 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tag2el_325[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_specs_325 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tag2el_325, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs = { + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemExtIEs", + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_tags_325[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_325, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_specs_325 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_332 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_332 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_332 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_329[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_330, memb_id_constraint_329 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_331, memb_criticality_constraint_329 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_332, + 0, + { 0, &asn_PER_memb_extensionValue_constr_332, memb_extensionValue_constraint_329 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tag2el_329[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_specs_329 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tag2el_329, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBRelReqd-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBRelReqd-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_tags_329[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_329, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_specs_329 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_336 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_336 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_336 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_333[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_334, memb_id_constraint_333 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_335, memb_criticality_constraint_333 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_336, + 0, + { 0, &asn_PER_memb_extensionValue_constr_336, memb_extensionValue_constraint_333 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tag2el_333[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_specs_333 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tag2el_333, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_tags_333[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_333, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_specs_333 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_340 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_340 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_340 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_337[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_338, memb_id_constraint_337 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_339, memb_criticality_constraint_337 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_340, + 0, + { 0, &asn_PER_memb_extensionValue_constr_340, memb_extensionValue_constraint_337 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tag2el_337[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_specs_337 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tag2el_337, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_tags_337[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_337, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_specs_337 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_344 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_344 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_344 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_341[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_342, memb_id_constraint_341 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_343, memb_criticality_constraint_341 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_344, + 0, + { 0, &asn_PER_memb_extensionValue_constr_344, memb_extensionValue_constraint_341 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_341[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_specs_341 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_341, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_tags_341[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_341, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_specs_341 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_348 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_348 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_348 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_345[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_346, memb_id_constraint_345 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_347, memb_criticality_constraint_345 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_348, + 0, + { 0, &asn_PER_memb_extensionValue_constr_348, memb_extensionValue_constraint_345 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tag2el_345[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_specs_345 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tag2el_345, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs = { + "E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs", + "E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345, + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_tags_345[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_345, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_specs_345 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_352 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_352 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_352 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_349[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_350, memb_id_constraint_349 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_351, memb_criticality_constraint_349 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_352, + 0, + { 0, &asn_PER_memb_extensionValue_constr_352, memb_extensionValue_constraint_349 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tag2el_349[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_specs_349 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tag2el_349, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs = { + "E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs", + "E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_tags_349[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_349, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_specs_349 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_356 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_356 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_356 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_353[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_354, memb_id_constraint_353 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_355, memb_criticality_constraint_353 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_356, + 0, + { 0, &asn_PER_memb_extensionValue_constr_356, memb_extensionValue_constraint_353 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tag2el_353[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_specs_353 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tag2el_353, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs", + "E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_tags_353[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_353, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_specs_353 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_360 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_360 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_360 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_357[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_358, memb_id_constraint_357 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_359, memb_criticality_constraint_357 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_360, + 0, + { 0, &asn_PER_memb_extensionValue_constr_360, memb_extensionValue_constraint_357 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_357[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_specs_357 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tag2el_357, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs = { + "E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs", + "E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_tags_357[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_357, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_specs_357 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_364 = { + sizeof(struct ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue), + offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue, present), + sizeof(((struct ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_364 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_364 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedEUTRAcellsENDCX2Management_ExtIEs_361[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_362, memb_id_constraint_361 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_363, memb_criticality_constraint_361 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_364, + 0, + { 0, &asn_PER_memb_extensionValue_constr_364, memb_extensionValue_constraint_361 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedEUTRAcellsENDCX2Management_ExtIEs_tag2el_361[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedEUTRAcellsENDCX2Management_ExtIEs_specs_361 = { + sizeof(struct ServedEUTRAcellsENDCX2Management_ExtIEs), + offsetof(struct ServedEUTRAcellsENDCX2Management_ExtIEs, _asn_ctx), + asn_MAP_ServedEUTRAcellsENDCX2Management_ExtIEs_tag2el_361, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs = { + "ServedEUTRAcellsENDCX2Management-ExtIEs", + "ServedEUTRAcellsENDCX2Management-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361, + sizeof(asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361) + /sizeof(asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361[0]), /* 1 */ + asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361, /* Same as above */ + sizeof(asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361) + /sizeof(asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs_tags_361[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedEUTRAcellsENDCX2Management_ExtIEs_361, + 3, /* Elements count */ + &asn_SPC_ServedEUTRAcellsENDCX2Management_ExtIEs_specs_361 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_368 = { + sizeof(struct En_gNBServedCells_ExtIEs__extensionValue), + offsetof(struct En_gNBServedCells_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct En_gNBServedCells_ExtIEs__extensionValue, present), + sizeof(((struct En_gNBServedCells_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_368 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_368 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNBServedCells_ExtIEs_365[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNBServedCells_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_366, memb_id_constraint_365 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNBServedCells_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_367, memb_criticality_constraint_365 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNBServedCells_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_368, + 0, + { 0, &asn_PER_memb_extensionValue_constr_368, memb_extensionValue_constraint_365 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNBServedCells_ExtIEs_tags_365[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNBServedCells_ExtIEs_tag2el_365[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNBServedCells_ExtIEs_specs_365 = { + sizeof(struct En_gNBServedCells_ExtIEs), + offsetof(struct En_gNBServedCells_ExtIEs, _asn_ctx), + asn_MAP_En_gNBServedCells_ExtIEs_tag2el_365, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNBServedCells_ExtIEs = { + "En-gNBServedCells-ExtIEs", + "En-gNBServedCells-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNBServedCells_ExtIEs_tags_365, + sizeof(asn_DEF_En_gNBServedCells_ExtIEs_tags_365) + /sizeof(asn_DEF_En_gNBServedCells_ExtIEs_tags_365[0]), /* 1 */ + asn_DEF_En_gNBServedCells_ExtIEs_tags_365, /* Same as above */ + sizeof(asn_DEF_En_gNBServedCells_ExtIEs_tags_365) + /sizeof(asn_DEF_En_gNBServedCells_ExtIEs_tags_365[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNBServedCells_ExtIEs_365, + 3, /* Elements count */ + &asn_SPC_En_gNBServedCells_ExtIEs_specs_365 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_372 = { + sizeof(struct ServedNRCell_Information_ExtIEs__extensionValue), + offsetof(struct ServedNRCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedNRCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct ServedNRCell_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_372 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_372 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedNRCell_Information_ExtIEs_369[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_370, memb_id_constraint_369 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_371, memb_criticality_constraint_369 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_372, + 0, + { 0, &asn_PER_memb_extensionValue_constr_372, memb_extensionValue_constraint_369 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRCell_Information_ExtIEs_tags_369[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedNRCell_Information_ExtIEs_tag2el_369[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedNRCell_Information_ExtIEs_specs_369 = { + sizeof(struct ServedNRCell_Information_ExtIEs), + offsetof(struct ServedNRCell_Information_ExtIEs, _asn_ctx), + asn_MAP_ServedNRCell_Information_ExtIEs_tag2el_369, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCell_Information_ExtIEs = { + "ServedNRCell-Information-ExtIEs", + "ServedNRCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedNRCell_Information_ExtIEs_tags_369, + sizeof(asn_DEF_ServedNRCell_Information_ExtIEs_tags_369) + /sizeof(asn_DEF_ServedNRCell_Information_ExtIEs_tags_369[0]), /* 1 */ + asn_DEF_ServedNRCell_Information_ExtIEs_tags_369, /* Same as above */ + sizeof(asn_DEF_ServedNRCell_Information_ExtIEs_tags_369) + /sizeof(asn_DEF_ServedNRCell_Information_ExtIEs_tags_369[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedNRCell_Information_ExtIEs_369, + 3, /* Elements count */ + &asn_SPC_ServedNRCell_Information_ExtIEs_specs_369 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_376 = { + sizeof(struct FDD_InfoServedNRCell_Information_ExtIEs__extensionValue), + offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct FDD_InfoServedNRCell_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_376 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_376 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_FDD_InfoServedNRCell_Information_ExtIEs_373[] = { + { ATF_NOFLAGS, 0, offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_374, memb_id_constraint_373 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_375, memb_criticality_constraint_373 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_376, + 0, + { 0, &asn_PER_memb_extensionValue_constr_376, memb_extensionValue_constraint_373 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FDD_InfoServedNRCell_Information_ExtIEs_tag2el_373[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoServedNRCell_Information_ExtIEs_specs_373 = { + sizeof(struct FDD_InfoServedNRCell_Information_ExtIEs), + offsetof(struct FDD_InfoServedNRCell_Information_ExtIEs, _asn_ctx), + asn_MAP_FDD_InfoServedNRCell_Information_ExtIEs_tag2el_373, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs = { + "FDD-InfoServedNRCell-Information-ExtIEs", + "FDD-InfoServedNRCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373, + sizeof(asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373) + /sizeof(asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373[0]), /* 1 */ + asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373, /* Same as above */ + sizeof(asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373) + /sizeof(asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs_tags_373[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FDD_InfoServedNRCell_Information_ExtIEs_373, + 3, /* Elements count */ + &asn_SPC_FDD_InfoServedNRCell_Information_ExtIEs_specs_373 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_380 = { + sizeof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue), + offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_380 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_380 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_377[] = { + { ATF_NOFLAGS, 0, offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_378, memb_id_constraint_377 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_379, memb_criticality_constraint_377 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_380, + 0, + { 0, &asn_PER_memb_extensionValue_constr_380, memb_extensionValue_constraint_377 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tag2el_377[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_377 = { + sizeof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs), + offsetof(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs, _asn_ctx), + asn_MAP_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tag2el_377, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs = { + "FDD-InfoNeighbourServedNRCell-Information-ExtIEs", + "FDD-InfoNeighbourServedNRCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377, + sizeof(asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377) + /sizeof(asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377[0]), /* 1 */ + asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377, /* Same as above */ + sizeof(asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377) + /sizeof(asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_377[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_377, + 3, /* Elements count */ + &asn_SPC_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_377 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_384 = { + sizeof(struct TDD_InfoServedNRCell_Information_ExtIEs__extensionValue), + offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct TDD_InfoServedNRCell_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_384 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_384 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TDD_InfoServedNRCell_Information_ExtIEs_381[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_382, memb_id_constraint_381 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_383, memb_criticality_constraint_381 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_384, + 0, + { 0, &asn_PER_memb_extensionValue_constr_384, memb_extensionValue_constraint_381 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_InfoServedNRCell_Information_ExtIEs_tag2el_381[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoServedNRCell_Information_ExtIEs_specs_381 = { + sizeof(struct TDD_InfoServedNRCell_Information_ExtIEs), + offsetof(struct TDD_InfoServedNRCell_Information_ExtIEs, _asn_ctx), + asn_MAP_TDD_InfoServedNRCell_Information_ExtIEs_tag2el_381, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs = { + "TDD-InfoServedNRCell-Information-ExtIEs", + "TDD-InfoServedNRCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381, + sizeof(asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381) + /sizeof(asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381[0]), /* 1 */ + asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381, /* Same as above */ + sizeof(asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381) + /sizeof(asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs_tags_381[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_InfoServedNRCell_Information_ExtIEs_381, + 3, /* Elements count */ + &asn_SPC_TDD_InfoServedNRCell_Information_ExtIEs_specs_381 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_388 = { + sizeof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue), + offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_388 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_388 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_385[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_386, memb_id_constraint_385 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_387, memb_criticality_constraint_385 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_388, + 0, + { 0, &asn_PER_memb_extensionValue_constr_388, memb_extensionValue_constraint_385 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tag2el_385[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_385 = { + sizeof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs), + offsetof(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs, _asn_ctx), + asn_MAP_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tag2el_385, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs = { + "TDD-InfoNeighbourServedNRCell-Information-ExtIEs", + "TDD-InfoNeighbourServedNRCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385, + sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385) + /sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385[0]), /* 1 */ + asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385, /* Same as above */ + sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385) + /sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_tags_385[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_385, + 3, /* Elements count */ + &asn_SPC_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_385 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_392 = { + sizeof(struct NRNeighbour_Information_ExtIEs__extensionValue), + offsetof(struct NRNeighbour_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct NRNeighbour_Information_ExtIEs__extensionValue, present), + sizeof(((struct NRNeighbour_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_392 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_392 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRNeighbour_Information_ExtIEs_389[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_390, memb_id_constraint_389 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_391, memb_criticality_constraint_389 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct NRNeighbour_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_392, + 0, + { 0, &asn_PER_memb_extensionValue_constr_392, memb_extensionValue_constraint_389 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_NRNeighbour_Information_ExtIEs_tags_389[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRNeighbour_Information_ExtIEs_tag2el_389[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRNeighbour_Information_ExtIEs_specs_389 = { + sizeof(struct NRNeighbour_Information_ExtIEs), + offsetof(struct NRNeighbour_Information_ExtIEs, _asn_ctx), + asn_MAP_NRNeighbour_Information_ExtIEs_tag2el_389, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information_ExtIEs = { + "NRNeighbour-Information-ExtIEs", + "NRNeighbour-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_NRNeighbour_Information_ExtIEs_tags_389, + sizeof(asn_DEF_NRNeighbour_Information_ExtIEs_tags_389) + /sizeof(asn_DEF_NRNeighbour_Information_ExtIEs_tags_389[0]), /* 1 */ + asn_DEF_NRNeighbour_Information_ExtIEs_tags_389, /* Same as above */ + sizeof(asn_DEF_NRNeighbour_Information_ExtIEs_tags_389) + /sizeof(asn_DEF_NRNeighbour_Information_ExtIEs_tags_389[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRNeighbour_Information_ExtIEs_389, + 3, /* Elements count */ + &asn_SPC_NRNeighbour_Information_ExtIEs_specs_389 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_396 = { + sizeof(struct Limited_list_ExtIEs__extensionValue), + offsetof(struct Limited_list_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct Limited_list_ExtIEs__extensionValue, present), + sizeof(((struct Limited_list_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_396 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_396 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Limited_list_ExtIEs_393[] = { + { ATF_NOFLAGS, 0, offsetof(struct Limited_list_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_394, memb_id_constraint_393 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct Limited_list_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_395, memb_criticality_constraint_393 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Limited_list_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_396, + 0, + { 0, &asn_PER_memb_extensionValue_constr_396, memb_extensionValue_constraint_393 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Limited_list_ExtIEs_tags_393[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Limited_list_ExtIEs_tag2el_393[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Limited_list_ExtIEs_specs_393 = { + sizeof(struct Limited_list_ExtIEs), + offsetof(struct Limited_list_ExtIEs, _asn_ctx), + asn_MAP_Limited_list_ExtIEs_tag2el_393, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Limited_list_ExtIEs = { + "Limited-list-ExtIEs", + "Limited-list-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_Limited_list_ExtIEs_tags_393, + sizeof(asn_DEF_Limited_list_ExtIEs_tags_393) + /sizeof(asn_DEF_Limited_list_ExtIEs_tags_393[0]), /* 1 */ + asn_DEF_Limited_list_ExtIEs_tags_393, /* Same as above */ + sizeof(asn_DEF_Limited_list_ExtIEs_tags_393) + /sizeof(asn_DEF_Limited_list_ExtIEs_tags_393[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Limited_list_ExtIEs_393, + 3, /* Elements count */ + &asn_SPC_Limited_list_ExtIEs_specs_393 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_400 = { + sizeof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue), + offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue, present), + sizeof(((struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_400 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_400 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_397[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_398, memb_id_constraint_397 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_399, memb_criticality_constraint_397 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_400, + 0, + { 0, &asn_PER_memb_extensionValue_constr_400, memb_extensionValue_constraint_397 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tag2el_397[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_specs_397 = { + sizeof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs), + offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs, _asn_ctx), + asn_MAP_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tag2el_397, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs = { + "ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs", + "ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397, + sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397) + /sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397[0]), /* 1 */ + asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397, /* Same as above */ + sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397) + /sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_tags_397[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_397, + 3, /* Elements count */ + &asn_SPC_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_specs_397 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_404 = { + sizeof(struct ServedNRCellsToModify_Item_ExtIEs__extensionValue), + offsetof(struct ServedNRCellsToModify_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedNRCellsToModify_Item_ExtIEs__extensionValue, present), + sizeof(((struct ServedNRCellsToModify_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_404 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_404 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedNRCellsToModify_Item_ExtIEs_401[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToModify_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_402, memb_id_constraint_401 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToModify_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_403, memb_criticality_constraint_401 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToModify_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_404, + 0, + { 0, &asn_PER_memb_extensionValue_constr_404, memb_extensionValue_constraint_401 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedNRCellsToModify_Item_ExtIEs_tag2el_401[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToModify_Item_ExtIEs_specs_401 = { + sizeof(struct ServedNRCellsToModify_Item_ExtIEs), + offsetof(struct ServedNRCellsToModify_Item_ExtIEs, _asn_ctx), + asn_MAP_ServedNRCellsToModify_Item_ExtIEs_tag2el_401, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToModify_Item_ExtIEs = { + "ServedNRCellsToModify-Item-ExtIEs", + "ServedNRCellsToModify-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401, + sizeof(asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401) + /sizeof(asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401[0]), /* 1 */ + asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401, /* Same as above */ + sizeof(asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401) + /sizeof(asn_DEF_ServedNRCellsToModify_Item_ExtIEs_tags_401[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedNRCellsToModify_Item_ExtIEs_401, + 3, /* Elements count */ + &asn_SPC_ServedNRCellsToModify_Item_ExtIEs_specs_401 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_408 = { + sizeof(struct ServedNRCellsToActivate_Item_ExtIEs__extensionValue), + offsetof(struct ServedNRCellsToActivate_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedNRCellsToActivate_Item_ExtIEs__extensionValue, present), + sizeof(((struct ServedNRCellsToActivate_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_408 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_408 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedNRCellsToActivate_Item_ExtIEs_405[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToActivate_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_406, memb_id_constraint_405 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToActivate_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_407, memb_criticality_constraint_405 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToActivate_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_408, + 0, + { 0, &asn_PER_memb_extensionValue_constr_408, memb_extensionValue_constraint_405 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedNRCellsToActivate_Item_ExtIEs_tag2el_405[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToActivate_Item_ExtIEs_specs_405 = { + sizeof(struct ServedNRCellsToActivate_Item_ExtIEs), + offsetof(struct ServedNRCellsToActivate_Item_ExtIEs, _asn_ctx), + asn_MAP_ServedNRCellsToActivate_Item_ExtIEs_tag2el_405, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToActivate_Item_ExtIEs = { + "ServedNRCellsToActivate-Item-ExtIEs", + "ServedNRCellsToActivate-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405, + sizeof(asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405) + /sizeof(asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405[0]), /* 1 */ + asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405, /* Same as above */ + sizeof(asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405) + /sizeof(asn_DEF_ServedNRCellsToActivate_Item_ExtIEs_tags_405[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedNRCellsToActivate_Item_ExtIEs_405, + 3, /* Elements count */ + &asn_SPC_ServedNRCellsToActivate_Item_ExtIEs_specs_405 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_412 = { + sizeof(struct ActivatedNRCellList_Item_ExtIEs__extensionValue), + offsetof(struct ActivatedNRCellList_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ActivatedNRCellList_Item_ExtIEs__extensionValue, present), + sizeof(((struct ActivatedNRCellList_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_412 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_412 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ActivatedNRCellList_Item_ExtIEs_409[] = { + { ATF_NOFLAGS, 0, offsetof(struct ActivatedNRCellList_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_410, memb_id_constraint_409 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ActivatedNRCellList_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_411, memb_criticality_constraint_409 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ActivatedNRCellList_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_412, + 0, + { 0, &asn_PER_memb_extensionValue_constr_412, memb_extensionValue_constraint_409 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ActivatedNRCellList_Item_ExtIEs_tag2el_409[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ActivatedNRCellList_Item_ExtIEs_specs_409 = { + sizeof(struct ActivatedNRCellList_Item_ExtIEs), + offsetof(struct ActivatedNRCellList_Item_ExtIEs, _asn_ctx), + asn_MAP_ActivatedNRCellList_Item_ExtIEs_tag2el_409, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ActivatedNRCellList_Item_ExtIEs = { + "ActivatedNRCellList-Item-ExtIEs", + "ActivatedNRCellList-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409, + sizeof(asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409) + /sizeof(asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409[0]), /* 1 */ + asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409, /* Same as above */ + sizeof(asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409) + /sizeof(asn_DEF_ActivatedNRCellList_Item_ExtIEs_tags_409[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ActivatedNRCellList_Item_ExtIEs_409, + 3, /* Elements count */ + &asn_SPC_ActivatedNRCellList_Item_ExtIEs_specs_409 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_416 = { + sizeof(struct E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue), + offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue, present), + sizeof(((struct E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_416 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_416 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_ItemExtIEs_413[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_414, memb_id_constraint_413 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_415, memb_criticality_constraint_413 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_416, + 0, + { 0, &asn_PER_memb_extensionValue_constr_416, memb_extensionValue_constraint_413 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_DataForwardingAddress_ItemExtIEs_tag2el_413[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_DataForwardingAddress_ItemExtIEs_specs_413 = { + sizeof(struct E_RABs_DataForwardingAddress_ItemExtIEs), + offsetof(struct E_RABs_DataForwardingAddress_ItemExtIEs, _asn_ctx), + asn_MAP_E_RABs_DataForwardingAddress_ItemExtIEs_tag2el_413, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs = { + "E-RABs-DataForwardingAddress-ItemExtIEs", + "E-RABs-DataForwardingAddress-ItemExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413, + sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413[0]), /* 1 */ + asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413, /* Same as above */ + sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs_tags_413[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_DataForwardingAddress_ItemExtIEs_413, + 3, /* Elements count */ + &asn_SPC_E_RABs_DataForwardingAddress_ItemExtIEs_specs_413 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_420 = { + sizeof(struct ABSInformationFDD_ExtIEs__extensionValue), + offsetof(struct ABSInformationFDD_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ABSInformationFDD_ExtIEs__extensionValue, present), + sizeof(((struct ABSInformationFDD_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_420 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_420 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ABSInformationFDD_ExtIEs_417[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_418, memb_id_constraint_417 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_419, memb_criticality_constraint_417 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_420, + 0, + { 0, &asn_PER_memb_extensionValue_constr_420, memb_extensionValue_constraint_417 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ABSInformationFDD_ExtIEs_tags_417[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABSInformationFDD_ExtIEs_tag2el_417[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_ExtIEs_specs_417 = { + sizeof(struct ABSInformationFDD_ExtIEs), + offsetof(struct ABSInformationFDD_ExtIEs, _asn_ctx), + asn_MAP_ABSInformationFDD_ExtIEs_tag2el_417, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD_ExtIEs = { + "ABSInformationFDD-ExtIEs", + "ABSInformationFDD-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ABSInformationFDD_ExtIEs_tags_417, + sizeof(asn_DEF_ABSInformationFDD_ExtIEs_tags_417) + /sizeof(asn_DEF_ABSInformationFDD_ExtIEs_tags_417[0]), /* 1 */ + asn_DEF_ABSInformationFDD_ExtIEs_tags_417, /* Same as above */ + sizeof(asn_DEF_ABSInformationFDD_ExtIEs_tags_417) + /sizeof(asn_DEF_ABSInformationFDD_ExtIEs_tags_417[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABSInformationFDD_ExtIEs_417, + 3, /* Elements count */ + &asn_SPC_ABSInformationFDD_ExtIEs_specs_417 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_424 = { + sizeof(struct ABSInformationTDD_ExtIEs__extensionValue), + offsetof(struct ABSInformationTDD_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ABSInformationTDD_ExtIEs__extensionValue, present), + sizeof(((struct ABSInformationTDD_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_424 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_424 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ABSInformationTDD_ExtIEs_421[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_422, memb_id_constraint_421 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_423, memb_criticality_constraint_421 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_424, + 0, + { 0, &asn_PER_memb_extensionValue_constr_424, memb_extensionValue_constraint_421 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ABSInformationTDD_ExtIEs_tags_421[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABSInformationTDD_ExtIEs_tag2el_421[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_ExtIEs_specs_421 = { + sizeof(struct ABSInformationTDD_ExtIEs), + offsetof(struct ABSInformationTDD_ExtIEs, _asn_ctx), + asn_MAP_ABSInformationTDD_ExtIEs_tag2el_421, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD_ExtIEs = { + "ABSInformationTDD-ExtIEs", + "ABSInformationTDD-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ABSInformationTDD_ExtIEs_tags_421, + sizeof(asn_DEF_ABSInformationTDD_ExtIEs_tags_421) + /sizeof(asn_DEF_ABSInformationTDD_ExtIEs_tags_421[0]), /* 1 */ + asn_DEF_ABSInformationTDD_ExtIEs_tags_421, /* Same as above */ + sizeof(asn_DEF_ABSInformationTDD_ExtIEs_tags_421) + /sizeof(asn_DEF_ABSInformationTDD_ExtIEs_tags_421[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABSInformationTDD_ExtIEs_421, + 3, /* Elements count */ + &asn_SPC_ABSInformationTDD_ExtIEs_specs_421 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_428 = { + sizeof(struct ABS_Status_ExtIEs__extensionValue), + offsetof(struct ABS_Status_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ABS_Status_ExtIEs__extensionValue, present), + sizeof(((struct ABS_Status_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_428 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_428 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ABS_Status_ExtIEs_425[] = { + { ATF_NOFLAGS, 0, offsetof(struct ABS_Status_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_426, memb_id_constraint_425 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ABS_Status_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_427, memb_criticality_constraint_425 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ABS_Status_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_428, + 0, + { 0, &asn_PER_memb_extensionValue_constr_428, memb_extensionValue_constraint_425 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ABS_Status_ExtIEs_tags_425[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ABS_Status_ExtIEs_tag2el_425[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ABS_Status_ExtIEs_specs_425 = { + sizeof(struct ABS_Status_ExtIEs), + offsetof(struct ABS_Status_ExtIEs, _asn_ctx), + asn_MAP_ABS_Status_ExtIEs_tag2el_425, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ABS_Status_ExtIEs = { + "ABS-Status-ExtIEs", + "ABS-Status-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ABS_Status_ExtIEs_tags_425, + sizeof(asn_DEF_ABS_Status_ExtIEs_tags_425) + /sizeof(asn_DEF_ABS_Status_ExtIEs_tags_425[0]), /* 1 */ + asn_DEF_ABS_Status_ExtIEs_tags_425, /* Same as above */ + sizeof(asn_DEF_ABS_Status_ExtIEs_tags_425) + /sizeof(asn_DEF_ABS_Status_ExtIEs_tags_425[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ABS_Status_ExtIEs_425, + 3, /* Elements count */ + &asn_SPC_ABS_Status_ExtIEs_specs_425 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_432 = { + sizeof(struct AdditionalSpecialSubframe_Info_ExtIEs__extensionValue), + offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs__extensionValue, present), + sizeof(((struct AdditionalSpecialSubframe_Info_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_432 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_432 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AdditionalSpecialSubframe_Info_ExtIEs_429[] = { + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_430, memb_id_constraint_429 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_431, memb_criticality_constraint_429 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_432, + 0, + { 0, &asn_PER_memb_extensionValue_constr_432, memb_extensionValue_constraint_429 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AdditionalSpecialSubframe_Info_ExtIEs_tag2el_429[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AdditionalSpecialSubframe_Info_ExtIEs_specs_429 = { + sizeof(struct AdditionalSpecialSubframe_Info_ExtIEs), + offsetof(struct AdditionalSpecialSubframe_Info_ExtIEs, _asn_ctx), + asn_MAP_AdditionalSpecialSubframe_Info_ExtIEs_tag2el_429, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs = { + "AdditionalSpecialSubframe-Info-ExtIEs", + "AdditionalSpecialSubframe-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429, + sizeof(asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429) + /sizeof(asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429[0]), /* 1 */ + asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429, /* Same as above */ + sizeof(asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429) + /sizeof(asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs_tags_429[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AdditionalSpecialSubframe_Info_ExtIEs_429, + 3, /* Elements count */ + &asn_SPC_AdditionalSpecialSubframe_Info_ExtIEs_specs_429 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_436 = { + sizeof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue), + offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue, present), + sizeof(((struct AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_436 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_436 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AdditionalSpecialSubframeExtension_Info_ExtIEs_433[] = { + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_434, memb_id_constraint_433 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_435, memb_criticality_constraint_433 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_436, + 0, + { 0, &asn_PER_memb_extensionValue_constr_436, memb_extensionValue_constraint_433 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AdditionalSpecialSubframeExtension_Info_ExtIEs_tag2el_433[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AdditionalSpecialSubframeExtension_Info_ExtIEs_specs_433 = { + sizeof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs), + offsetof(struct AdditionalSpecialSubframeExtension_Info_ExtIEs, _asn_ctx), + asn_MAP_AdditionalSpecialSubframeExtension_Info_ExtIEs_tag2el_433, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs = { + "AdditionalSpecialSubframeExtension-Info-ExtIEs", + "AdditionalSpecialSubframeExtension-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433, + sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433) + /sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433[0]), /* 1 */ + asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433, /* Same as above */ + sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433) + /sizeof(asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs_tags_433[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AdditionalSpecialSubframeExtension_Info_ExtIEs_433, + 3, /* Elements count */ + &asn_SPC_AdditionalSpecialSubframeExtension_Info_ExtIEs_specs_433 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_440 = { + sizeof(struct AllocationAndRetentionPriority_ExtIEs__extensionValue), + offsetof(struct AllocationAndRetentionPriority_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct AllocationAndRetentionPriority_ExtIEs__extensionValue, present), + sizeof(((struct AllocationAndRetentionPriority_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_440 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_440 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AllocationAndRetentionPriority_ExtIEs_437[] = { + { ATF_NOFLAGS, 0, offsetof(struct AllocationAndRetentionPriority_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_438, memb_id_constraint_437 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct AllocationAndRetentionPriority_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_439, memb_criticality_constraint_437 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct AllocationAndRetentionPriority_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_440, + 0, + { 0, &asn_PER_memb_extensionValue_constr_440, memb_extensionValue_constraint_437 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AllocationAndRetentionPriority_ExtIEs_tag2el_437[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AllocationAndRetentionPriority_ExtIEs_specs_437 = { + sizeof(struct AllocationAndRetentionPriority_ExtIEs), + offsetof(struct AllocationAndRetentionPriority_ExtIEs, _asn_ctx), + asn_MAP_AllocationAndRetentionPriority_ExtIEs_tag2el_437, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AllocationAndRetentionPriority_ExtIEs = { + "AllocationAndRetentionPriority-ExtIEs", + "AllocationAndRetentionPriority-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437, + sizeof(asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437) + /sizeof(asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437[0]), /* 1 */ + asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437, /* Same as above */ + sizeof(asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437) + /sizeof(asn_DEF_AllocationAndRetentionPriority_ExtIEs_tags_437[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AllocationAndRetentionPriority_ExtIEs_437, + 3, /* Elements count */ + &asn_SPC_AllocationAndRetentionPriority_ExtIEs_specs_437 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_444 = { + sizeof(struct AS_SecurityInformation_ExtIEs__extensionValue), + offsetof(struct AS_SecurityInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct AS_SecurityInformation_ExtIEs__extensionValue, present), + sizeof(((struct AS_SecurityInformation_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_444 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_444 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AS_SecurityInformation_ExtIEs_441[] = { + { ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_442, memb_id_constraint_441 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_443, memb_criticality_constraint_441 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_444, + 0, + { 0, &asn_PER_memb_extensionValue_constr_444, memb_extensionValue_constraint_441 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_AS_SecurityInformation_ExtIEs_tags_441[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AS_SecurityInformation_ExtIEs_tag2el_441[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AS_SecurityInformation_ExtIEs_specs_441 = { + sizeof(struct AS_SecurityInformation_ExtIEs), + offsetof(struct AS_SecurityInformation_ExtIEs, _asn_ctx), + asn_MAP_AS_SecurityInformation_ExtIEs_tag2el_441, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AS_SecurityInformation_ExtIEs = { + "AS-SecurityInformation-ExtIEs", + "AS-SecurityInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_AS_SecurityInformation_ExtIEs_tags_441, + sizeof(asn_DEF_AS_SecurityInformation_ExtIEs_tags_441) + /sizeof(asn_DEF_AS_SecurityInformation_ExtIEs_tags_441[0]), /* 1 */ + asn_DEF_AS_SecurityInformation_ExtIEs_tags_441, /* Same as above */ + sizeof(asn_DEF_AS_SecurityInformation_ExtIEs_tags_441) + /sizeof(asn_DEF_AS_SecurityInformation_ExtIEs_tags_441[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_AS_SecurityInformation_ExtIEs_441, + 3, /* Elements count */ + &asn_SPC_AS_SecurityInformation_ExtIEs_specs_441 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_448 = { + sizeof(struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue), + offsetof(struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue, present), + sizeof(((struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_448 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_448 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_BluetoothMeasurementConfiguration_ExtIEs_445[] = { + { ATF_NOFLAGS, 0, offsetof(struct BluetoothMeasurementConfiguration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_446, memb_id_constraint_445 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct BluetoothMeasurementConfiguration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_447, memb_criticality_constraint_445 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct BluetoothMeasurementConfiguration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_448, + 0, + { 0, &asn_PER_memb_extensionValue_constr_448, memb_extensionValue_constraint_445 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BluetoothMeasurementConfiguration_ExtIEs_tag2el_445[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BluetoothMeasurementConfiguration_ExtIEs_specs_445 = { + sizeof(struct BluetoothMeasurementConfiguration_ExtIEs), + offsetof(struct BluetoothMeasurementConfiguration_ExtIEs, _asn_ctx), + asn_MAP_BluetoothMeasurementConfiguration_ExtIEs_tag2el_445, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration_ExtIEs = { + "BluetoothMeasurementConfiguration-ExtIEs", + "BluetoothMeasurementConfiguration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445, + sizeof(asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445) + /sizeof(asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445[0]), /* 1 */ + asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445, /* Same as above */ + sizeof(asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445) + /sizeof(asn_DEF_BluetoothMeasurementConfiguration_ExtIEs_tags_445[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_BluetoothMeasurementConfiguration_ExtIEs_445, + 3, /* Elements count */ + &asn_SPC_BluetoothMeasurementConfiguration_ExtIEs_specs_445 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_452 = { + sizeof(struct CellBasedMDT_ExtIEs__extensionValue), + offsetof(struct CellBasedMDT_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellBasedMDT_ExtIEs__extensionValue, present), + sizeof(((struct CellBasedMDT_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_452 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_452 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellBasedMDT_ExtIEs_449[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellBasedMDT_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_450, memb_id_constraint_449 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellBasedMDT_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_451, memb_criticality_constraint_449 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellBasedMDT_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_452, + 0, + { 0, &asn_PER_memb_extensionValue_constr_452, memb_extensionValue_constraint_449 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellBasedMDT_ExtIEs_tags_449[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellBasedMDT_ExtIEs_tag2el_449[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_ExtIEs_specs_449 = { + sizeof(struct CellBasedMDT_ExtIEs), + offsetof(struct CellBasedMDT_ExtIEs, _asn_ctx), + asn_MAP_CellBasedMDT_ExtIEs_tag2el_449, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellBasedMDT_ExtIEs = { + "CellBasedMDT-ExtIEs", + "CellBasedMDT-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellBasedMDT_ExtIEs_tags_449, + sizeof(asn_DEF_CellBasedMDT_ExtIEs_tags_449) + /sizeof(asn_DEF_CellBasedMDT_ExtIEs_tags_449[0]), /* 1 */ + asn_DEF_CellBasedMDT_ExtIEs_tags_449, /* Same as above */ + sizeof(asn_DEF_CellBasedMDT_ExtIEs_tags_449) + /sizeof(asn_DEF_CellBasedMDT_ExtIEs_tags_449[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellBasedMDT_ExtIEs_449, + 3, /* Elements count */ + &asn_SPC_CellBasedMDT_ExtIEs_specs_449 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_456 = { + sizeof(struct CellBasedQMC_ExtIEs__extensionValue), + offsetof(struct CellBasedQMC_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellBasedQMC_ExtIEs__extensionValue, present), + sizeof(((struct CellBasedQMC_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_456 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_456 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellBasedQMC_ExtIEs_453[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellBasedQMC_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_454, memb_id_constraint_453 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellBasedQMC_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_455, memb_criticality_constraint_453 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellBasedQMC_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_456, + 0, + { 0, &asn_PER_memb_extensionValue_constr_456, memb_extensionValue_constraint_453 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellBasedQMC_ExtIEs_tags_453[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellBasedQMC_ExtIEs_tag2el_453[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellBasedQMC_ExtIEs_specs_453 = { + sizeof(struct CellBasedQMC_ExtIEs), + offsetof(struct CellBasedQMC_ExtIEs, _asn_ctx), + asn_MAP_CellBasedQMC_ExtIEs_tag2el_453, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellBasedQMC_ExtIEs = { + "CellBasedQMC-ExtIEs", + "CellBasedQMC-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellBasedQMC_ExtIEs_tags_453, + sizeof(asn_DEF_CellBasedQMC_ExtIEs_tags_453) + /sizeof(asn_DEF_CellBasedQMC_ExtIEs_tags_453[0]), /* 1 */ + asn_DEF_CellBasedQMC_ExtIEs_tags_453, /* Same as above */ + sizeof(asn_DEF_CellBasedQMC_ExtIEs_tags_453) + /sizeof(asn_DEF_CellBasedQMC_ExtIEs_tags_453[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellBasedQMC_ExtIEs_453, + 3, /* Elements count */ + &asn_SPC_CellBasedQMC_ExtIEs_specs_453 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_460 = { + sizeof(struct CellReplacingInfo_ExtIEs__extensionValue), + offsetof(struct CellReplacingInfo_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellReplacingInfo_ExtIEs__extensionValue, present), + sizeof(((struct CellReplacingInfo_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_460 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_460 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellReplacingInfo_ExtIEs_457[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellReplacingInfo_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_458, memb_id_constraint_457 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellReplacingInfo_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_459, memb_criticality_constraint_457 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellReplacingInfo_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_460, + 0, + { 0, &asn_PER_memb_extensionValue_constr_460, memb_extensionValue_constraint_457 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellReplacingInfo_ExtIEs_tags_457[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellReplacingInfo_ExtIEs_tag2el_457[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellReplacingInfo_ExtIEs_specs_457 = { + sizeof(struct CellReplacingInfo_ExtIEs), + offsetof(struct CellReplacingInfo_ExtIEs, _asn_ctx), + asn_MAP_CellReplacingInfo_ExtIEs_tag2el_457, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellReplacingInfo_ExtIEs = { + "CellReplacingInfo-ExtIEs", + "CellReplacingInfo-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellReplacingInfo_ExtIEs_tags_457, + sizeof(asn_DEF_CellReplacingInfo_ExtIEs_tags_457) + /sizeof(asn_DEF_CellReplacingInfo_ExtIEs_tags_457[0]), /* 1 */ + asn_DEF_CellReplacingInfo_ExtIEs_tags_457, /* Same as above */ + sizeof(asn_DEF_CellReplacingInfo_ExtIEs_tags_457) + /sizeof(asn_DEF_CellReplacingInfo_ExtIEs_tags_457[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellReplacingInfo_ExtIEs_457, + 3, /* Elements count */ + &asn_SPC_CellReplacingInfo_ExtIEs_specs_457 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_464 = { + sizeof(struct CellType_ExtIEs__extensionValue), + offsetof(struct CellType_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CellType_ExtIEs__extensionValue, present), + sizeof(((struct CellType_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_464 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_464 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellType_ExtIEs_461[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellType_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_462, memb_id_constraint_461 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellType_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_463, memb_criticality_constraint_461 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellType_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_464, + 0, + { 0, &asn_PER_memb_extensionValue_constr_464, memb_extensionValue_constraint_461 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellType_ExtIEs_tags_461[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellType_ExtIEs_tag2el_461[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellType_ExtIEs_specs_461 = { + sizeof(struct CellType_ExtIEs), + offsetof(struct CellType_ExtIEs, _asn_ctx), + asn_MAP_CellType_ExtIEs_tag2el_461, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellType_ExtIEs = { + "CellType-ExtIEs", + "CellType-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellType_ExtIEs_tags_461, + sizeof(asn_DEF_CellType_ExtIEs_tags_461) + /sizeof(asn_DEF_CellType_ExtIEs_tags_461[0]), /* 1 */ + asn_DEF_CellType_ExtIEs_tags_461, /* Same as above */ + sizeof(asn_DEF_CellType_ExtIEs_tags_461) + /sizeof(asn_DEF_CellType_ExtIEs_tags_461[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellType_ExtIEs_461, + 3, /* Elements count */ + &asn_SPC_CellType_ExtIEs_specs_461 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_468 = { + sizeof(struct CNTypeRestrictionsItem_ExtIEs__extensionValue), + offsetof(struct CNTypeRestrictionsItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CNTypeRestrictionsItem_ExtIEs__extensionValue, present), + sizeof(((struct CNTypeRestrictionsItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_468 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_468 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CNTypeRestrictionsItem_ExtIEs_465[] = { + { ATF_NOFLAGS, 0, offsetof(struct CNTypeRestrictionsItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_466, memb_id_constraint_465 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CNTypeRestrictionsItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_467, memb_criticality_constraint_465 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CNTypeRestrictionsItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_468, + 0, + { 0, &asn_PER_memb_extensionValue_constr_468, memb_extensionValue_constraint_465 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CNTypeRestrictionsItem_ExtIEs_tag2el_465[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictionsItem_ExtIEs_specs_465 = { + sizeof(struct CNTypeRestrictionsItem_ExtIEs), + offsetof(struct CNTypeRestrictionsItem_ExtIEs, _asn_ctx), + asn_MAP_CNTypeRestrictionsItem_ExtIEs_tag2el_465, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictionsItem_ExtIEs = { + "CNTypeRestrictionsItem-ExtIEs", + "CNTypeRestrictionsItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465, + sizeof(asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465) + /sizeof(asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465[0]), /* 1 */ + asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465, /* Same as above */ + sizeof(asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465) + /sizeof(asn_DEF_CNTypeRestrictionsItem_ExtIEs_tags_465[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CNTypeRestrictionsItem_ExtIEs_465, + 3, /* Elements count */ + &asn_SPC_CNTypeRestrictionsItem_ExtIEs_specs_465 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_472 = { + sizeof(struct CoMPHypothesisSetItem_ExtIEs__extensionValue), + offsetof(struct CoMPHypothesisSetItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CoMPHypothesisSetItem_ExtIEs__extensionValue, present), + sizeof(((struct CoMPHypothesisSetItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_472 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_472 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPHypothesisSetItem_ExtIEs_469[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPHypothesisSetItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_470, memb_id_constraint_469 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPHypothesisSetItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_471, memb_criticality_constraint_469 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CoMPHypothesisSetItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_472, + 0, + { 0, &asn_PER_memb_extensionValue_constr_472, memb_extensionValue_constraint_469 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPHypothesisSetItem_ExtIEs_tag2el_469[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoMPHypothesisSetItem_ExtIEs_specs_469 = { + sizeof(struct CoMPHypothesisSetItem_ExtIEs), + offsetof(struct CoMPHypothesisSetItem_ExtIEs, _asn_ctx), + asn_MAP_CoMPHypothesisSetItem_ExtIEs_tag2el_469, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSetItem_ExtIEs = { + "CoMPHypothesisSetItem-ExtIEs", + "CoMPHypothesisSetItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469, + sizeof(asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469) + /sizeof(asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469[0]), /* 1 */ + asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469, /* Same as above */ + sizeof(asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469) + /sizeof(asn_DEF_CoMPHypothesisSetItem_ExtIEs_tags_469[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPHypothesisSetItem_ExtIEs_469, + 3, /* Elements count */ + &asn_SPC_CoMPHypothesisSetItem_ExtIEs_specs_469 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_476 = { + sizeof(struct CoMPInformation_ExtIEs__extensionValue), + offsetof(struct CoMPInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CoMPInformation_ExtIEs__extensionValue, present), + sizeof(((struct CoMPInformation_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_476 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_476 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPInformation_ExtIEs_473[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_474, memb_id_constraint_473 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_475, memb_criticality_constraint_473 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CoMPInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_476, + 0, + { 0, &asn_PER_memb_extensionValue_constr_476, memb_extensionValue_constraint_473 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPInformation_ExtIEs_tags_473[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPInformation_ExtIEs_tag2el_473[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoMPInformation_ExtIEs_specs_473 = { + sizeof(struct CoMPInformation_ExtIEs), + offsetof(struct CoMPInformation_ExtIEs, _asn_ctx), + asn_MAP_CoMPInformation_ExtIEs_tag2el_473, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformation_ExtIEs = { + "CoMPInformation-ExtIEs", + "CoMPInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CoMPInformation_ExtIEs_tags_473, + sizeof(asn_DEF_CoMPInformation_ExtIEs_tags_473) + /sizeof(asn_DEF_CoMPInformation_ExtIEs_tags_473[0]), /* 1 */ + asn_DEF_CoMPInformation_ExtIEs_tags_473, /* Same as above */ + sizeof(asn_DEF_CoMPInformation_ExtIEs_tags_473) + /sizeof(asn_DEF_CoMPInformation_ExtIEs_tags_473[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPInformation_ExtIEs_473, + 3, /* Elements count */ + &asn_SPC_CoMPInformation_ExtIEs_specs_473 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_480 = { + sizeof(struct CoMPInformationItem_ExtIEs__extensionValue), + offsetof(struct CoMPInformationItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CoMPInformationItem_ExtIEs__extensionValue, present), + sizeof(((struct CoMPInformationItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_480 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_480 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPInformationItem_ExtIEs_477[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_478, memb_id_constraint_477 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_479, memb_criticality_constraint_477 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CoMPInformationItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_480, + 0, + { 0, &asn_PER_memb_extensionValue_constr_480, memb_extensionValue_constraint_477 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPInformationItem_ExtIEs_tags_477[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPInformationItem_ExtIEs_tag2el_477[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoMPInformationItem_ExtIEs_specs_477 = { + sizeof(struct CoMPInformationItem_ExtIEs), + offsetof(struct CoMPInformationItem_ExtIEs, _asn_ctx), + asn_MAP_CoMPInformationItem_ExtIEs_tag2el_477, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformationItem_ExtIEs = { + "CoMPInformationItem-ExtIEs", + "CoMPInformationItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CoMPInformationItem_ExtIEs_tags_477, + sizeof(asn_DEF_CoMPInformationItem_ExtIEs_tags_477) + /sizeof(asn_DEF_CoMPInformationItem_ExtIEs_tags_477[0]), /* 1 */ + asn_DEF_CoMPInformationItem_ExtIEs_tags_477, /* Same as above */ + sizeof(asn_DEF_CoMPInformationItem_ExtIEs_tags_477) + /sizeof(asn_DEF_CoMPInformationItem_ExtIEs_tags_477[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPInformationItem_ExtIEs_477, + 3, /* Elements count */ + &asn_SPC_CoMPInformationItem_ExtIEs_specs_477 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_484 = { + sizeof(struct CoMPInformationStartTime_ExtIEs__extensionValue), + offsetof(struct CoMPInformationStartTime_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CoMPInformationStartTime_ExtIEs__extensionValue, present), + sizeof(((struct CoMPInformationStartTime_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_484 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_484 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CoMPInformationStartTime_ExtIEs_481[] = { + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationStartTime_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_482, memb_id_constraint_481 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CoMPInformationStartTime_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_483, memb_criticality_constraint_481 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CoMPInformationStartTime_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_484, + 0, + { 0, &asn_PER_memb_extensionValue_constr_484, memb_extensionValue_constraint_481 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CoMPInformationStartTime_ExtIEs_tag2el_481[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CoMPInformationStartTime_ExtIEs_specs_481 = { + sizeof(struct CoMPInformationStartTime_ExtIEs), + offsetof(struct CoMPInformationStartTime_ExtIEs, _asn_ctx), + asn_MAP_CoMPInformationStartTime_ExtIEs_tag2el_481, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CoMPInformationStartTime_ExtIEs = { + "CoMPInformationStartTime-ExtIEs", + "CoMPInformationStartTime-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481, + sizeof(asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481) + /sizeof(asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481[0]), /* 1 */ + asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481, /* Same as above */ + sizeof(asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481) + /sizeof(asn_DEF_CoMPInformationStartTime_ExtIEs_tags_481[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CoMPInformationStartTime_ExtIEs_481, + 3, /* Elements count */ + &asn_SPC_CoMPInformationStartTime_ExtIEs_specs_481 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_488 = { + sizeof(struct CompositeAvailableCapacity_ExtIEs__extensionValue), + offsetof(struct CompositeAvailableCapacity_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CompositeAvailableCapacity_ExtIEs__extensionValue, present), + sizeof(((struct CompositeAvailableCapacity_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_488 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_488 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CompositeAvailableCapacity_ExtIEs_485[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacity_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_486, memb_id_constraint_485 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacity_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_487, memb_criticality_constraint_485 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacity_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_488, + 0, + { 0, &asn_PER_memb_extensionValue_constr_488, memb_extensionValue_constraint_485 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompositeAvailableCapacity_ExtIEs_tag2el_485[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacity_ExtIEs_specs_485 = { + sizeof(struct CompositeAvailableCapacity_ExtIEs), + offsetof(struct CompositeAvailableCapacity_ExtIEs, _asn_ctx), + asn_MAP_CompositeAvailableCapacity_ExtIEs_tag2el_485, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacity_ExtIEs = { + "CompositeAvailableCapacity-ExtIEs", + "CompositeAvailableCapacity-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485, + sizeof(asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485) + /sizeof(asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485[0]), /* 1 */ + asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485, /* Same as above */ + sizeof(asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485) + /sizeof(asn_DEF_CompositeAvailableCapacity_ExtIEs_tags_485[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompositeAvailableCapacity_ExtIEs_485, + 3, /* Elements count */ + &asn_SPC_CompositeAvailableCapacity_ExtIEs_specs_485 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_492 = { + sizeof(struct CompositeAvailableCapacityGroup_ExtIEs__extensionValue), + offsetof(struct CompositeAvailableCapacityGroup_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CompositeAvailableCapacityGroup_ExtIEs__extensionValue, present), + sizeof(((struct CompositeAvailableCapacityGroup_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_492 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_492 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CompositeAvailableCapacityGroup_ExtIEs_489[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacityGroup_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_490, memb_id_constraint_489 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacityGroup_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_491, memb_criticality_constraint_489 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CompositeAvailableCapacityGroup_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_492, + 0, + { 0, &asn_PER_memb_extensionValue_constr_492, memb_extensionValue_constraint_489 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompositeAvailableCapacityGroup_ExtIEs_tag2el_489[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacityGroup_ExtIEs_specs_489 = { + sizeof(struct CompositeAvailableCapacityGroup_ExtIEs), + offsetof(struct CompositeAvailableCapacityGroup_ExtIEs, _asn_ctx), + asn_MAP_CompositeAvailableCapacityGroup_ExtIEs_tag2el_489, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacityGroup_ExtIEs = { + "CompositeAvailableCapacityGroup-ExtIEs", + "CompositeAvailableCapacityGroup-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489, + sizeof(asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489) + /sizeof(asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489[0]), /* 1 */ + asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489, /* Same as above */ + sizeof(asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489) + /sizeof(asn_DEF_CompositeAvailableCapacityGroup_ExtIEs_tags_489[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompositeAvailableCapacityGroup_ExtIEs_489, + 3, /* Elements count */ + &asn_SPC_CompositeAvailableCapacityGroup_ExtIEs_specs_489 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_496 = { + sizeof(struct COUNTvalue_ExtIEs__extensionValue), + offsetof(struct COUNTvalue_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct COUNTvalue_ExtIEs__extensionValue, present), + sizeof(((struct COUNTvalue_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_496 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_496 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_COUNTvalue_ExtIEs_493[] = { + { ATF_NOFLAGS, 0, offsetof(struct COUNTvalue_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_494, memb_id_constraint_493 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct COUNTvalue_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_495, memb_criticality_constraint_493 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct COUNTvalue_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_496, + 0, + { 0, &asn_PER_memb_extensionValue_constr_496, memb_extensionValue_constraint_493 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_COUNTvalue_ExtIEs_tags_493[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_COUNTvalue_ExtIEs_tag2el_493[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_ExtIEs_specs_493 = { + sizeof(struct COUNTvalue_ExtIEs), + offsetof(struct COUNTvalue_ExtIEs, _asn_ctx), + asn_MAP_COUNTvalue_ExtIEs_tag2el_493, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_COUNTvalue_ExtIEs = { + "COUNTvalue-ExtIEs", + "COUNTvalue-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_COUNTvalue_ExtIEs_tags_493, + sizeof(asn_DEF_COUNTvalue_ExtIEs_tags_493) + /sizeof(asn_DEF_COUNTvalue_ExtIEs_tags_493[0]), /* 1 */ + asn_DEF_COUNTvalue_ExtIEs_tags_493, /* Same as above */ + sizeof(asn_DEF_COUNTvalue_ExtIEs_tags_493) + /sizeof(asn_DEF_COUNTvalue_ExtIEs_tags_493[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_COUNTvalue_ExtIEs_493, + 3, /* Elements count */ + &asn_SPC_COUNTvalue_ExtIEs_specs_493 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_500 = { + sizeof(struct COUNTValueExtended_ExtIEs__extensionValue), + offsetof(struct COUNTValueExtended_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct COUNTValueExtended_ExtIEs__extensionValue, present), + sizeof(((struct COUNTValueExtended_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_500 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_500 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_COUNTValueExtended_ExtIEs_497[] = { + { ATF_NOFLAGS, 0, offsetof(struct COUNTValueExtended_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_498, memb_id_constraint_497 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct COUNTValueExtended_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_499, memb_criticality_constraint_497 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct COUNTValueExtended_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_500, + 0, + { 0, &asn_PER_memb_extensionValue_constr_500, memb_extensionValue_constraint_497 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_COUNTValueExtended_ExtIEs_tags_497[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_COUNTValueExtended_ExtIEs_tag2el_497[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_COUNTValueExtended_ExtIEs_specs_497 = { + sizeof(struct COUNTValueExtended_ExtIEs), + offsetof(struct COUNTValueExtended_ExtIEs, _asn_ctx), + asn_MAP_COUNTValueExtended_ExtIEs_tag2el_497, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended_ExtIEs = { + "COUNTValueExtended-ExtIEs", + "COUNTValueExtended-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_COUNTValueExtended_ExtIEs_tags_497, + sizeof(asn_DEF_COUNTValueExtended_ExtIEs_tags_497) + /sizeof(asn_DEF_COUNTValueExtended_ExtIEs_tags_497[0]), /* 1 */ + asn_DEF_COUNTValueExtended_ExtIEs_tags_497, /* Same as above */ + sizeof(asn_DEF_COUNTValueExtended_ExtIEs_tags_497) + /sizeof(asn_DEF_COUNTValueExtended_ExtIEs_tags_497[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_COUNTValueExtended_ExtIEs_497, + 3, /* Elements count */ + &asn_SPC_COUNTValueExtended_ExtIEs_specs_497 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_504 = { + sizeof(struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue), + offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue, present), + sizeof(((struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_504 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_504 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_COUNTvaluePDCP_SNlength18_ExtIEs_501[] = { + { ATF_NOFLAGS, 0, offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_502, memb_id_constraint_501 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_503, memb_criticality_constraint_501 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_504, + 0, + { 0, &asn_PER_memb_extensionValue_constr_504, memb_extensionValue_constraint_501 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_COUNTvaluePDCP_SNlength18_ExtIEs_tag2el_501[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_COUNTvaluePDCP_SNlength18_ExtIEs_specs_501 = { + sizeof(struct COUNTvaluePDCP_SNlength18_ExtIEs), + offsetof(struct COUNTvaluePDCP_SNlength18_ExtIEs, _asn_ctx), + asn_MAP_COUNTvaluePDCP_SNlength18_ExtIEs_tag2el_501, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs = { + "COUNTvaluePDCP-SNlength18-ExtIEs", + "COUNTvaluePDCP-SNlength18-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501, + sizeof(asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501) + /sizeof(asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501[0]), /* 1 */ + asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501, /* Same as above */ + sizeof(asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501) + /sizeof(asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs_tags_501[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_COUNTvaluePDCP_SNlength18_ExtIEs_501, + 3, /* Elements count */ + &asn_SPC_COUNTvaluePDCP_SNlength18_ExtIEs_specs_501 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_508 = { + sizeof(struct CriticalityDiagnostics_ExtIEs__extensionValue), + offsetof(struct CriticalityDiagnostics_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CriticalityDiagnostics_ExtIEs__extensionValue, present), + sizeof(((struct CriticalityDiagnostics_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_508 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_508 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_ExtIEs_505[] = { + { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_506, memb_id_constraint_505 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_507, memb_criticality_constraint_505 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_508, + 0, + { 0, &asn_PER_memb_extensionValue_constr_508, memb_extensionValue_constraint_505 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_ExtIEs_tag2el_505[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_ExtIEs_specs_505 = { + sizeof(struct CriticalityDiagnostics_ExtIEs), + offsetof(struct CriticalityDiagnostics_ExtIEs, _asn_ctx), + asn_MAP_CriticalityDiagnostics_ExtIEs_tag2el_505, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_ExtIEs = { + "CriticalityDiagnostics-ExtIEs", + "CriticalityDiagnostics-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505, + sizeof(asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505) + /sizeof(asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505[0]), /* 1 */ + asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505, /* Same as above */ + sizeof(asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505) + /sizeof(asn_DEF_CriticalityDiagnostics_ExtIEs_tags_505[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CriticalityDiagnostics_ExtIEs_505, + 3, /* Elements count */ + &asn_SPC_CriticalityDiagnostics_ExtIEs_specs_505 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_512 = { + sizeof(struct CriticalityDiagnostics_IE_List_ExtIEs__extensionValue), + offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs__extensionValue, present), + sizeof(((struct CriticalityDiagnostics_IE_List_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_512 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_512 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_ExtIEs_509[] = { + { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_510, memb_id_constraint_509 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_511, memb_criticality_constraint_509 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_512, + 0, + { 0, &asn_PER_memb_extensionValue_constr_512, memb_extensionValue_constraint_509 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_IE_List_ExtIEs_tag2el_509[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_ExtIEs_specs_509 = { + sizeof(struct CriticalityDiagnostics_IE_List_ExtIEs), + offsetof(struct CriticalityDiagnostics_IE_List_ExtIEs, _asn_ctx), + asn_MAP_CriticalityDiagnostics_IE_List_ExtIEs_tag2el_509, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs = { + "CriticalityDiagnostics-IE-List-ExtIEs", + "CriticalityDiagnostics-IE-List-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509, + sizeof(asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509) + /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509[0]), /* 1 */ + asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509, /* Same as above */ + sizeof(asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509) + /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs_tags_509[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CriticalityDiagnostics_IE_List_ExtIEs_509, + 3, /* Elements count */ + &asn_SPC_CriticalityDiagnostics_IE_List_ExtIEs_specs_509 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_516 = { + sizeof(struct CSIReportList_ExtIEs__extensionValue), + offsetof(struct CSIReportList_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CSIReportList_ExtIEs__extensionValue, present), + sizeof(((struct CSIReportList_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_516 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_516 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CSIReportList_ExtIEs_513[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSIReportList_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_514, memb_id_constraint_513 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportList_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_515, memb_criticality_constraint_513 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CSIReportList_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_516, + 0, + { 0, &asn_PER_memb_extensionValue_constr_516, memb_extensionValue_constraint_513 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSIReportList_ExtIEs_tags_513[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CSIReportList_ExtIEs_tag2el_513[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CSIReportList_ExtIEs_specs_513 = { + sizeof(struct CSIReportList_ExtIEs), + offsetof(struct CSIReportList_ExtIEs, _asn_ctx), + asn_MAP_CSIReportList_ExtIEs_tag2el_513, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CSIReportList_ExtIEs = { + "CSIReportList-ExtIEs", + "CSIReportList-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CSIReportList_ExtIEs_tags_513, + sizeof(asn_DEF_CSIReportList_ExtIEs_tags_513) + /sizeof(asn_DEF_CSIReportList_ExtIEs_tags_513[0]), /* 1 */ + asn_DEF_CSIReportList_ExtIEs_tags_513, /* Same as above */ + sizeof(asn_DEF_CSIReportList_ExtIEs_tags_513) + /sizeof(asn_DEF_CSIReportList_ExtIEs_tags_513[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CSIReportList_ExtIEs_513, + 3, /* Elements count */ + &asn_SPC_CSIReportList_ExtIEs_specs_513 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_520 = { + sizeof(struct CSIReportPerCSIProcess_ExtIEs__extensionValue), + offsetof(struct CSIReportPerCSIProcess_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CSIReportPerCSIProcess_ExtIEs__extensionValue, present), + sizeof(((struct CSIReportPerCSIProcess_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_520 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_520 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcess_ExtIEs_517[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcess_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_518, memb_id_constraint_517 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcess_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_519, memb_criticality_constraint_517 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcess_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_520, + 0, + { 0, &asn_PER_memb_extensionValue_constr_520, memb_extensionValue_constraint_517 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CSIReportPerCSIProcess_ExtIEs_tag2el_517[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CSIReportPerCSIProcess_ExtIEs_specs_517 = { + sizeof(struct CSIReportPerCSIProcess_ExtIEs), + offsetof(struct CSIReportPerCSIProcess_ExtIEs, _asn_ctx), + asn_MAP_CSIReportPerCSIProcess_ExtIEs_tag2el_517, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcess_ExtIEs = { + "CSIReportPerCSIProcess-ExtIEs", + "CSIReportPerCSIProcess-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517, + sizeof(asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517) + /sizeof(asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517[0]), /* 1 */ + asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517, /* Same as above */ + sizeof(asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517) + /sizeof(asn_DEF_CSIReportPerCSIProcess_ExtIEs_tags_517[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CSIReportPerCSIProcess_ExtIEs_517, + 3, /* Elements count */ + &asn_SPC_CSIReportPerCSIProcess_ExtIEs_specs_517 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_524 = { + sizeof(struct CSIReportPerCSIProcessItem_ExtIEs__extensionValue), + offsetof(struct CSIReportPerCSIProcessItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct CSIReportPerCSIProcessItem_ExtIEs__extensionValue, present), + sizeof(((struct CSIReportPerCSIProcessItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_524 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_524 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcessItem_ExtIEs_521[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_522, memb_id_constraint_521 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_523, memb_criticality_constraint_521 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CSIReportPerCSIProcessItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_524, + 0, + { 0, &asn_PER_memb_extensionValue_constr_524, memb_extensionValue_constraint_521 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CSIReportPerCSIProcessItem_ExtIEs_tag2el_521[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CSIReportPerCSIProcessItem_ExtIEs_specs_521 = { + sizeof(struct CSIReportPerCSIProcessItem_ExtIEs), + offsetof(struct CSIReportPerCSIProcessItem_ExtIEs, _asn_ctx), + asn_MAP_CSIReportPerCSIProcessItem_ExtIEs_tag2el_521, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcessItem_ExtIEs = { + "CSIReportPerCSIProcessItem-ExtIEs", + "CSIReportPerCSIProcessItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521, + sizeof(asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521) + /sizeof(asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521[0]), /* 1 */ + asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521, /* Same as above */ + sizeof(asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521) + /sizeof(asn_DEF_CSIReportPerCSIProcessItem_ExtIEs_tags_521[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CSIReportPerCSIProcessItem_ExtIEs_521, + 3, /* Elements count */ + &asn_SPC_CSIReportPerCSIProcessItem_ExtIEs_specs_521 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_528 = { + sizeof(struct DataTrafficResourceIndication_ExtIEs__extensionValue), + offsetof(struct DataTrafficResourceIndication_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct DataTrafficResourceIndication_ExtIEs__extensionValue, present), + sizeof(((struct DataTrafficResourceIndication_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_528 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_528 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DataTrafficResourceIndication_ExtIEs_525[] = { + { ATF_NOFLAGS, 0, offsetof(struct DataTrafficResourceIndication_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_526, memb_id_constraint_525 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct DataTrafficResourceIndication_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_527, memb_criticality_constraint_525 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct DataTrafficResourceIndication_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_528, + 0, + { 0, &asn_PER_memb_extensionValue_constr_528, memb_extensionValue_constraint_525 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DataTrafficResourceIndication_ExtIEs_tag2el_525[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DataTrafficResourceIndication_ExtIEs_specs_525 = { + sizeof(struct DataTrafficResourceIndication_ExtIEs), + offsetof(struct DataTrafficResourceIndication_ExtIEs, _asn_ctx), + asn_MAP_DataTrafficResourceIndication_ExtIEs_tag2el_525, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DataTrafficResourceIndication_ExtIEs = { + "DataTrafficResourceIndication-ExtIEs", + "DataTrafficResourceIndication-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525, + sizeof(asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525) + /sizeof(asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525[0]), /* 1 */ + asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525, /* Same as above */ + sizeof(asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525) + /sizeof(asn_DEF_DataTrafficResourceIndication_ExtIEs_tags_525[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DataTrafficResourceIndication_ExtIEs_525, + 3, /* Elements count */ + &asn_SPC_DataTrafficResourceIndication_ExtIEs_specs_525 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_532 = { + sizeof(struct DeliveryStatus_ExtIEs__extensionValue), + offsetof(struct DeliveryStatus_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct DeliveryStatus_ExtIEs__extensionValue, present), + sizeof(((struct DeliveryStatus_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_532 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_532 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DeliveryStatus_ExtIEs_529[] = { + { ATF_NOFLAGS, 0, offsetof(struct DeliveryStatus_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_530, memb_id_constraint_529 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct DeliveryStatus_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_531, memb_criticality_constraint_529 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct DeliveryStatus_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_532, + 0, + { 0, &asn_PER_memb_extensionValue_constr_532, memb_extensionValue_constraint_529 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_DeliveryStatus_ExtIEs_tags_529[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DeliveryStatus_ExtIEs_tag2el_529[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DeliveryStatus_ExtIEs_specs_529 = { + sizeof(struct DeliveryStatus_ExtIEs), + offsetof(struct DeliveryStatus_ExtIEs, _asn_ctx), + asn_MAP_DeliveryStatus_ExtIEs_tag2el_529, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DeliveryStatus_ExtIEs = { + "DeliveryStatus-ExtIEs", + "DeliveryStatus-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_DeliveryStatus_ExtIEs_tags_529, + sizeof(asn_DEF_DeliveryStatus_ExtIEs_tags_529) + /sizeof(asn_DEF_DeliveryStatus_ExtIEs_tags_529[0]), /* 1 */ + asn_DEF_DeliveryStatus_ExtIEs_tags_529, /* Same as above */ + sizeof(asn_DEF_DeliveryStatus_ExtIEs_tags_529) + /sizeof(asn_DEF_DeliveryStatus_ExtIEs_tags_529[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DeliveryStatus_ExtIEs_529, + 3, /* Elements count */ + &asn_SPC_DeliveryStatus_ExtIEs_specs_529 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_536 = { + sizeof(struct DynamicNAICSInformation_ExtIEs__extensionValue), + offsetof(struct DynamicNAICSInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct DynamicNAICSInformation_ExtIEs__extensionValue, present), + sizeof(((struct DynamicNAICSInformation_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_536 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_536 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DynamicNAICSInformation_ExtIEs_533[] = { + { ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_534, memb_id_constraint_533 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_535, memb_criticality_constraint_533 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct DynamicNAICSInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_536, + 0, + { 0, &asn_PER_memb_extensionValue_constr_536, memb_extensionValue_constraint_533 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DynamicNAICSInformation_ExtIEs_tag2el_533[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DynamicNAICSInformation_ExtIEs_specs_533 = { + sizeof(struct DynamicNAICSInformation_ExtIEs), + offsetof(struct DynamicNAICSInformation_ExtIEs, _asn_ctx), + asn_MAP_DynamicNAICSInformation_ExtIEs_tag2el_533, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation_ExtIEs = { + "DynamicNAICSInformation-ExtIEs", + "DynamicNAICSInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533, + sizeof(asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533) + /sizeof(asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533[0]), /* 1 */ + asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533, /* Same as above */ + sizeof(asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533) + /sizeof(asn_DEF_DynamicNAICSInformation_ExtIEs_tags_533[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DynamicNAICSInformation_ExtIEs_533, + 3, /* Elements count */ + &asn_SPC_DynamicNAICSInformation_ExtIEs_specs_533 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_540 = { + sizeof(struct ECGI_ExtIEs__extensionValue), + offsetof(struct ECGI_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ECGI_ExtIEs__extensionValue, present), + sizeof(((struct ECGI_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_540 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_540 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ECGI_ExtIEs_537[] = { + { ATF_NOFLAGS, 0, offsetof(struct ECGI_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_538, memb_id_constraint_537 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ECGI_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_539, memb_criticality_constraint_537 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ECGI_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_540, + 0, + { 0, &asn_PER_memb_extensionValue_constr_540, memb_extensionValue_constraint_537 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ECGI_ExtIEs_tags_537[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ECGI_ExtIEs_tag2el_537[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ECGI_ExtIEs_specs_537 = { + sizeof(struct ECGI_ExtIEs), + offsetof(struct ECGI_ExtIEs, _asn_ctx), + asn_MAP_ECGI_ExtIEs_tag2el_537, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ECGI_ExtIEs = { + "ECGI-ExtIEs", + "ECGI-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ECGI_ExtIEs_tags_537, + sizeof(asn_DEF_ECGI_ExtIEs_tags_537) + /sizeof(asn_DEF_ECGI_ExtIEs_tags_537[0]), /* 1 */ + asn_DEF_ECGI_ExtIEs_tags_537, /* Same as above */ + sizeof(asn_DEF_ECGI_ExtIEs_tags_537) + /sizeof(asn_DEF_ECGI_ExtIEs_tags_537[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ECGI_ExtIEs_537, + 3, /* Elements count */ + &asn_SPC_ECGI_ExtIEs_specs_537 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_544 = { + sizeof(struct EnhancedRNTP_ExtIEs__extensionValue), + offsetof(struct EnhancedRNTP_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct EnhancedRNTP_ExtIEs__extensionValue, present), + sizeof(((struct EnhancedRNTP_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_544 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_544 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EnhancedRNTP_ExtIEs_541[] = { + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTP_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_542, memb_id_constraint_541 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTP_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_543, memb_criticality_constraint_541 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTP_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_544, + 0, + { 0, &asn_PER_memb_extensionValue_constr_544, memb_extensionValue_constraint_541 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_EnhancedRNTP_ExtIEs_tags_541[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EnhancedRNTP_ExtIEs_tag2el_541[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTP_ExtIEs_specs_541 = { + sizeof(struct EnhancedRNTP_ExtIEs), + offsetof(struct EnhancedRNTP_ExtIEs, _asn_ctx), + asn_MAP_EnhancedRNTP_ExtIEs_tag2el_541, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EnhancedRNTP_ExtIEs = { + "EnhancedRNTP-ExtIEs", + "EnhancedRNTP-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_EnhancedRNTP_ExtIEs_tags_541, + sizeof(asn_DEF_EnhancedRNTP_ExtIEs_tags_541) + /sizeof(asn_DEF_EnhancedRNTP_ExtIEs_tags_541[0]), /* 1 */ + asn_DEF_EnhancedRNTP_ExtIEs_tags_541, /* Same as above */ + sizeof(asn_DEF_EnhancedRNTP_ExtIEs_tags_541) + /sizeof(asn_DEF_EnhancedRNTP_ExtIEs_tags_541[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EnhancedRNTP_ExtIEs_541, + 3, /* Elements count */ + &asn_SPC_EnhancedRNTP_ExtIEs_specs_541 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_548 = { + sizeof(struct EnhancedRNTPStartTime_ExtIEs__extensionValue), + offsetof(struct EnhancedRNTPStartTime_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct EnhancedRNTPStartTime_ExtIEs__extensionValue, present), + sizeof(((struct EnhancedRNTPStartTime_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_548 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_548 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EnhancedRNTPStartTime_ExtIEs_545[] = { + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTPStartTime_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_546, memb_id_constraint_545 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTPStartTime_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_547, memb_criticality_constraint_545 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct EnhancedRNTPStartTime_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_548, + 0, + { 0, &asn_PER_memb_extensionValue_constr_548, memb_extensionValue_constraint_545 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EnhancedRNTPStartTime_ExtIEs_tag2el_545[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTPStartTime_ExtIEs_specs_545 = { + sizeof(struct EnhancedRNTPStartTime_ExtIEs), + offsetof(struct EnhancedRNTPStartTime_ExtIEs, _asn_ctx), + asn_MAP_EnhancedRNTPStartTime_ExtIEs_tag2el_545, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EnhancedRNTPStartTime_ExtIEs = { + "EnhancedRNTPStartTime-ExtIEs", + "EnhancedRNTPStartTime-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545, + sizeof(asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545) + /sizeof(asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545[0]), /* 1 */ + asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545, /* Same as above */ + sizeof(asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545) + /sizeof(asn_DEF_EnhancedRNTPStartTime_ExtIEs_tags_545[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EnhancedRNTPStartTime_ExtIEs_545, + 3, /* Elements count */ + &asn_SPC_EnhancedRNTPStartTime_ExtIEs_specs_545 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_552 = { + sizeof(struct EN_DC_ResourceConfigurationExtIEs__extensionValue), + offsetof(struct EN_DC_ResourceConfigurationExtIEs__extensionValue, _asn_ctx), + offsetof(struct EN_DC_ResourceConfigurationExtIEs__extensionValue, present), + sizeof(((struct EN_DC_ResourceConfigurationExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_552 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_552 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EN_DC_ResourceConfigurationExtIEs_549[] = { + { ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfigurationExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_550, memb_id_constraint_549 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfigurationExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_551, memb_criticality_constraint_549 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct EN_DC_ResourceConfigurationExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_552, + 0, + { 0, &asn_PER_memb_extensionValue_constr_552, memb_extensionValue_constraint_549 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EN_DC_ResourceConfigurationExtIEs_tag2el_549[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EN_DC_ResourceConfigurationExtIEs_specs_549 = { + sizeof(struct EN_DC_ResourceConfigurationExtIEs), + offsetof(struct EN_DC_ResourceConfigurationExtIEs, _asn_ctx), + asn_MAP_EN_DC_ResourceConfigurationExtIEs_tag2el_549, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EN_DC_ResourceConfigurationExtIEs = { + "EN-DC-ResourceConfigurationExtIEs", + "EN-DC-ResourceConfigurationExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549, + sizeof(asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549) + /sizeof(asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549[0]), /* 1 */ + asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549, /* Same as above */ + sizeof(asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549) + /sizeof(asn_DEF_EN_DC_ResourceConfigurationExtIEs_tags_549[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EN_DC_ResourceConfigurationExtIEs_549, + 3, /* Elements count */ + &asn_SPC_EN_DC_ResourceConfigurationExtIEs_specs_549 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_556 = { + sizeof(struct ERABActivityNotifyItem_ExtIEs__extensionValue), + offsetof(struct ERABActivityNotifyItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ERABActivityNotifyItem_ExtIEs__extensionValue, present), + sizeof(((struct ERABActivityNotifyItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_556 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_556 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ERABActivityNotifyItem_ExtIEs_553[] = { + { ATF_NOFLAGS, 0, offsetof(struct ERABActivityNotifyItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_554, memb_id_constraint_553 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ERABActivityNotifyItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_555, memb_criticality_constraint_553 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ERABActivityNotifyItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_556, + 0, + { 0, &asn_PER_memb_extensionValue_constr_556, memb_extensionValue_constraint_553 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ERABActivityNotifyItem_ExtIEs_tag2el_553[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ERABActivityNotifyItem_ExtIEs_specs_553 = { + sizeof(struct ERABActivityNotifyItem_ExtIEs), + offsetof(struct ERABActivityNotifyItem_ExtIEs, _asn_ctx), + asn_MAP_ERABActivityNotifyItem_ExtIEs_tag2el_553, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItem_ExtIEs = { + "ERABActivityNotifyItem-ExtIEs", + "ERABActivityNotifyItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553, + sizeof(asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553) + /sizeof(asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553[0]), /* 1 */ + asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553, /* Same as above */ + sizeof(asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553) + /sizeof(asn_DEF_ERABActivityNotifyItem_ExtIEs_tags_553[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ERABActivityNotifyItem_ExtIEs_553, + 3, /* Elements count */ + &asn_SPC_ERABActivityNotifyItem_ExtIEs_specs_553 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_560[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue, choice.Packet_LossRate), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Packet_LossRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Packet-LossRate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_560[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* Packet-LossRate */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_560 = { + sizeof(struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue), + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue, present), + sizeof(((struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_560, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_560 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_560, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_560 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RAB_Level_QoS_Parameters_ExtIEs_557[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_558, memb_id_constraint_557 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RAB_Level_QoS_Parameters_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_559, memb_criticality_constraint_557 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_560, + select_E_RAB_Level_QoS_Parameters_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_560, memb_extensionValue_constraint_557 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RAB_Level_QoS_Parameters_ExtIEs_tag2el_557[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Level_QoS_Parameters_ExtIEs_specs_557 = { + sizeof(struct E_RAB_Level_QoS_Parameters_ExtIEs), + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, _asn_ctx), + asn_MAP_E_RAB_Level_QoS_Parameters_ExtIEs_tag2el_557, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs = { + "E-RAB-Level-QoS-Parameters-ExtIEs", + "E-RAB-Level-QoS-Parameters-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557, + sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557) + /sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557[0]), /* 1 */ + asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557, /* Same as above */ + sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557) + /sizeof(asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs_tags_557[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_Level_QoS_Parameters_ExtIEs_557, + 3, /* Elements count */ + &asn_SPC_E_RAB_Level_QoS_Parameters_ExtIEs_specs_557 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_564 = { + sizeof(struct E_RAB_Item_ExtIEs__extensionValue), + offsetof(struct E_RAB_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RAB_Item_ExtIEs__extensionValue, present), + sizeof(((struct E_RAB_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_564 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_564 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RAB_Item_ExtIEs_561[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_562, memb_id_constraint_561 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_563, memb_criticality_constraint_561 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RAB_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_564, + 0, + { 0, &asn_PER_memb_extensionValue_constr_564, memb_extensionValue_constraint_561 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RAB_Item_ExtIEs_tags_561[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RAB_Item_ExtIEs_tag2el_561[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Item_ExtIEs_specs_561 = { + sizeof(struct E_RAB_Item_ExtIEs), + offsetof(struct E_RAB_Item_ExtIEs, _asn_ctx), + asn_MAP_E_RAB_Item_ExtIEs_tag2el_561, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_Item_ExtIEs = { + "E-RAB-Item-ExtIEs", + "E-RAB-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RAB_Item_ExtIEs_tags_561, + sizeof(asn_DEF_E_RAB_Item_ExtIEs_tags_561) + /sizeof(asn_DEF_E_RAB_Item_ExtIEs_tags_561[0]), /* 1 */ + asn_DEF_E_RAB_Item_ExtIEs_tags_561, /* Same as above */ + sizeof(asn_DEF_E_RAB_Item_ExtIEs_tags_561) + /sizeof(asn_DEF_E_RAB_Item_ExtIEs_tags_561[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_Item_ExtIEs_561, + 3, /* Elements count */ + &asn_SPC_E_RAB_Item_ExtIEs_specs_561 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_568 = { + sizeof(struct E_RABUsageReport_Item_ExtIEs__extensionValue), + offsetof(struct E_RABUsageReport_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct E_RABUsageReport_Item_ExtIEs__extensionValue, present), + sizeof(((struct E_RABUsageReport_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_568 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_568 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABUsageReport_Item_ExtIEs_565[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_566, memb_id_constraint_565 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_567, memb_criticality_constraint_565 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_568, + 0, + { 0, &asn_PER_memb_extensionValue_constr_568, memb_extensionValue_constraint_565 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABUsageReport_Item_ExtIEs_tag2el_565[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_Item_ExtIEs_specs_565 = { + sizeof(struct E_RABUsageReport_Item_ExtIEs), + offsetof(struct E_RABUsageReport_Item_ExtIEs, _asn_ctx), + asn_MAP_E_RABUsageReport_Item_ExtIEs_tag2el_565, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item_ExtIEs = { + "E-RABUsageReport-Item-ExtIEs", + "E-RABUsageReport-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565, + sizeof(asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565) + /sizeof(asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565[0]), /* 1 */ + asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565, /* Same as above */ + sizeof(asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565) + /sizeof(asn_DEF_E_RABUsageReport_Item_ExtIEs_tags_565[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABUsageReport_Item_ExtIEs_565, + 3, /* Elements count */ + &asn_SPC_E_RABUsageReport_Item_ExtIEs_specs_565 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_572 = { + sizeof(struct ExpectedUEBehaviour_ExtIEs__extensionValue), + offsetof(struct ExpectedUEBehaviour_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ExpectedUEBehaviour_ExtIEs__extensionValue, present), + sizeof(((struct ExpectedUEBehaviour_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_572 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_572 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ExpectedUEBehaviour_ExtIEs_569[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExpectedUEBehaviour_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_570, memb_id_constraint_569 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExpectedUEBehaviour_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_571, memb_criticality_constraint_569 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ExpectedUEBehaviour_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_572, + 0, + { 0, &asn_PER_memb_extensionValue_constr_572, memb_extensionValue_constraint_569 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExpectedUEBehaviour_ExtIEs_tag2el_569[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEBehaviour_ExtIEs_specs_569 = { + sizeof(struct ExpectedUEBehaviour_ExtIEs), + offsetof(struct ExpectedUEBehaviour_ExtIEs, _asn_ctx), + asn_MAP_ExpectedUEBehaviour_ExtIEs_tag2el_569, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour_ExtIEs = { + "ExpectedUEBehaviour-ExtIEs", + "ExpectedUEBehaviour-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569, + sizeof(asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569) + /sizeof(asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569[0]), /* 1 */ + asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569, /* Same as above */ + sizeof(asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569) + /sizeof(asn_DEF_ExpectedUEBehaviour_ExtIEs_tags_569[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExpectedUEBehaviour_ExtIEs_569, + 3, /* Elements count */ + &asn_SPC_ExpectedUEBehaviour_ExtIEs_specs_569 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_576 = { + sizeof(struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue), + offsetof(struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue, present), + sizeof(((struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_576 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_576 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_ExtIEs_573[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExpectedUEActivityBehaviour_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_574, memb_id_constraint_573 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExpectedUEActivityBehaviour_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_575, memb_criticality_constraint_573 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ExpectedUEActivityBehaviour_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_576, + 0, + { 0, &asn_PER_memb_extensionValue_constr_576, memb_extensionValue_constraint_573 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExpectedUEActivityBehaviour_ExtIEs_tag2el_573[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_ExtIEs_specs_573 = { + sizeof(struct ExpectedUEActivityBehaviour_ExtIEs), + offsetof(struct ExpectedUEActivityBehaviour_ExtIEs, _asn_ctx), + asn_MAP_ExpectedUEActivityBehaviour_ExtIEs_tag2el_573, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour_ExtIEs = { + "ExpectedUEActivityBehaviour-ExtIEs", + "ExpectedUEActivityBehaviour-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573, + sizeof(asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573) + /sizeof(asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573[0]), /* 1 */ + asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573, /* Same as above */ + sizeof(asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573) + /sizeof(asn_DEF_ExpectedUEActivityBehaviour_ExtIEs_tags_573[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExpectedUEActivityBehaviour_ExtIEs_573, + 3, /* Elements count */ + &asn_SPC_ExpectedUEActivityBehaviour_ExtIEs_specs_573 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_580 = { + sizeof(struct ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue), + offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue, present), + sizeof(((struct ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_580 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_580 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ExtendedULInterferenceOverloadInfo_ExtIEs_577[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_578, memb_id_constraint_577 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_579, memb_criticality_constraint_577 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_580, + 0, + { 0, &asn_PER_memb_extensionValue_constr_580, memb_extensionValue_constraint_577 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExtendedULInterferenceOverloadInfo_ExtIEs_tag2el_577[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExtendedULInterferenceOverloadInfo_ExtIEs_specs_577 = { + sizeof(struct ExtendedULInterferenceOverloadInfo_ExtIEs), + offsetof(struct ExtendedULInterferenceOverloadInfo_ExtIEs, _asn_ctx), + asn_MAP_ExtendedULInterferenceOverloadInfo_ExtIEs_tag2el_577, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs = { + "ExtendedULInterferenceOverloadInfo-ExtIEs", + "ExtendedULInterferenceOverloadInfo-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577, + sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577) + /sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577[0]), /* 1 */ + asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577, /* Same as above */ + sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577) + /sizeof(asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs_tags_577[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ExtendedULInterferenceOverloadInfo_ExtIEs_577, + 3, /* Elements count */ + &asn_SPC_ExtendedULInterferenceOverloadInfo_ExtIEs_specs_577 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_584[] = { + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs__extensionValue, choice.EARFCNExtension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_EARFCNExtension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EARFCNExtension" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs__extensionValue, choice.OffsetOfNbiotChannelNumberToEARFCN), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_OffsetOfNbiotChannelNumberToEARFCN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "OffsetOfNbiotChannelNumberToEARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs__extensionValue, choice.NRS_NSSS_PowerOffset), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NRS_NSSS_PowerOffset, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRS-NSSS-PowerOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs__extensionValue, choice.NSSS_NumOccasionDifferentPrecoder), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NSSS_NumOccasionDifferentPrecoder, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NSSS-NumOccasionDifferentPrecoder" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_584[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* EARFCNExtension */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 2 }, /* OffsetOfNbiotChannelNumberToEARFCN */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, -1, 1 }, /* NRS-NSSS-PowerOffset */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, -2, 0 } /* NSSS-NumOccasionDifferentPrecoder */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_584 = { + sizeof(struct FDD_Info_ExtIEs__extensionValue), + offsetof(struct FDD_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct FDD_Info_ExtIEs__extensionValue, present), + sizeof(((struct FDD_Info_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_584, + 4, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_584 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_584, + 4, /* Elements count */ + &asn_SPC_extensionValue_specs_584 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_FDD_Info_ExtIEs_581[] = { + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_582, memb_id_constraint_581 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_FDD_Info_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_583, memb_criticality_constraint_581 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct FDD_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_584, + select_FDD_Info_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_584, memb_extensionValue_constraint_581 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_FDD_Info_ExtIEs_tags_581[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FDD_Info_ExtIEs_tag2el_581[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FDD_Info_ExtIEs_specs_581 = { + sizeof(struct FDD_Info_ExtIEs), + offsetof(struct FDD_Info_ExtIEs, _asn_ctx), + asn_MAP_FDD_Info_ExtIEs_tag2el_581, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FDD_Info_ExtIEs = { + "FDD-Info-ExtIEs", + "FDD-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_FDD_Info_ExtIEs_tags_581, + sizeof(asn_DEF_FDD_Info_ExtIEs_tags_581) + /sizeof(asn_DEF_FDD_Info_ExtIEs_tags_581[0]), /* 1 */ + asn_DEF_FDD_Info_ExtIEs_tags_581, /* Same as above */ + sizeof(asn_DEF_FDD_Info_ExtIEs_tags_581) + /sizeof(asn_DEF_FDD_Info_ExtIEs_tags_581[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FDD_Info_ExtIEs_581, + 3, /* Elements count */ + &asn_SPC_FDD_Info_ExtIEs_specs_581 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_588 = { + sizeof(struct ForbiddenTAs_Item_ExtIEs__extensionValue), + offsetof(struct ForbiddenTAs_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ForbiddenTAs_Item_ExtIEs__extensionValue, present), + sizeof(((struct ForbiddenTAs_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_588 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_588 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_ExtIEs_585[] = { + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenTAs_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_586, memb_id_constraint_585 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenTAs_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_587, memb_criticality_constraint_585 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ForbiddenTAs_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_588, + 0, + { 0, &asn_PER_memb_extensionValue_constr_588, memb_extensionValue_constraint_585 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ForbiddenTAs_Item_ExtIEs_tag2el_585[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_ExtIEs_specs_585 = { + sizeof(struct ForbiddenTAs_Item_ExtIEs), + offsetof(struct ForbiddenTAs_Item_ExtIEs, _asn_ctx), + asn_MAP_ForbiddenTAs_Item_ExtIEs_tag2el_585, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item_ExtIEs = { + "ForbiddenTAs-Item-ExtIEs", + "ForbiddenTAs-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585, + sizeof(asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585) + /sizeof(asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585[0]), /* 1 */ + asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585, /* Same as above */ + sizeof(asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585) + /sizeof(asn_DEF_ForbiddenTAs_Item_ExtIEs_tags_585[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ForbiddenTAs_Item_ExtIEs_585, + 3, /* Elements count */ + &asn_SPC_ForbiddenTAs_Item_ExtIEs_specs_585 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_592 = { + sizeof(struct ForbiddenLAs_Item_ExtIEs__extensionValue), + offsetof(struct ForbiddenLAs_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ForbiddenLAs_Item_ExtIEs__extensionValue, present), + sizeof(((struct ForbiddenLAs_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_592 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_592 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_ExtIEs_589[] = { + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenLAs_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_590, memb_id_constraint_589 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ForbiddenLAs_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_591, memb_criticality_constraint_589 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ForbiddenLAs_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_592, + 0, + { 0, &asn_PER_memb_extensionValue_constr_592, memb_extensionValue_constraint_589 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ForbiddenLAs_Item_ExtIEs_tag2el_589[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_ExtIEs_specs_589 = { + sizeof(struct ForbiddenLAs_Item_ExtIEs), + offsetof(struct ForbiddenLAs_Item_ExtIEs, _asn_ctx), + asn_MAP_ForbiddenLAs_Item_ExtIEs_tag2el_589, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item_ExtIEs = { + "ForbiddenLAs-Item-ExtIEs", + "ForbiddenLAs-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589, + sizeof(asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589) + /sizeof(asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589[0]), /* 1 */ + asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589, /* Same as above */ + sizeof(asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589) + /sizeof(asn_DEF_ForbiddenLAs_Item_ExtIEs_tags_589[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ForbiddenLAs_Item_ExtIEs_589, + 3, /* Elements count */ + &asn_SPC_ForbiddenLAs_Item_ExtIEs_specs_589 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_596 = { + sizeof(struct FreqBandNrItem_ExtIEs__extensionValue), + offsetof(struct FreqBandNrItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct FreqBandNrItem_ExtIEs__extensionValue, present), + sizeof(((struct FreqBandNrItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_596 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_596 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_FreqBandNrItem_ExtIEs_593[] = { + { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_594, memb_id_constraint_593 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_595, memb_criticality_constraint_593 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_596, + 0, + { 0, &asn_PER_memb_extensionValue_constr_596, memb_extensionValue_constraint_593 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_FreqBandNrItem_ExtIEs_tags_593[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FreqBandNrItem_ExtIEs_tag2el_593[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_ExtIEs_specs_593 = { + sizeof(struct FreqBandNrItem_ExtIEs), + offsetof(struct FreqBandNrItem_ExtIEs, _asn_ctx), + asn_MAP_FreqBandNrItem_ExtIEs_tag2el_593, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem_ExtIEs = { + "FreqBandNrItem-ExtIEs", + "FreqBandNrItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_FreqBandNrItem_ExtIEs_tags_593, + sizeof(asn_DEF_FreqBandNrItem_ExtIEs_tags_593) + /sizeof(asn_DEF_FreqBandNrItem_ExtIEs_tags_593[0]), /* 1 */ + asn_DEF_FreqBandNrItem_ExtIEs_tags_593, /* Same as above */ + sizeof(asn_DEF_FreqBandNrItem_ExtIEs_tags_593) + /sizeof(asn_DEF_FreqBandNrItem_ExtIEs_tags_593[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_FreqBandNrItem_ExtIEs_593, + 3, /* Elements count */ + &asn_SPC_FreqBandNrItem_ExtIEs_specs_593 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_600[] = { + { ATF_NOFLAGS, 0, offsetof(struct GBR_QosInformation_ExtIEs__extensionValue, choice.ExtendedBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ExtendedBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExtendedBitRate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_600[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* ExtendedBitRate */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_600 = { + sizeof(struct GBR_QosInformation_ExtIEs__extensionValue), + offsetof(struct GBR_QosInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GBR_QosInformation_ExtIEs__extensionValue, present), + sizeof(((struct GBR_QosInformation_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_600, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_600 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_600, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_600 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GBR_QosInformation_ExtIEs_597[] = { + { ATF_NOFLAGS, 0, offsetof(struct GBR_QosInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_598, memb_id_constraint_597 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GBR_QosInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_GBR_QosInformation_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_599, memb_criticality_constraint_597 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GBR_QosInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_600, + select_GBR_QosInformation_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_600, memb_extensionValue_constraint_597 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GBR_QosInformation_ExtIEs_tags_597[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GBR_QosInformation_ExtIEs_tag2el_597[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GBR_QosInformation_ExtIEs_specs_597 = { + sizeof(struct GBR_QosInformation_ExtIEs), + offsetof(struct GBR_QosInformation_ExtIEs, _asn_ctx), + asn_MAP_GBR_QosInformation_ExtIEs_tag2el_597, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GBR_QosInformation_ExtIEs = { + "GBR-QosInformation-ExtIEs", + "GBR-QosInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GBR_QosInformation_ExtIEs_tags_597, + sizeof(asn_DEF_GBR_QosInformation_ExtIEs_tags_597) + /sizeof(asn_DEF_GBR_QosInformation_ExtIEs_tags_597[0]), /* 1 */ + asn_DEF_GBR_QosInformation_ExtIEs_tags_597, /* Same as above */ + sizeof(asn_DEF_GBR_QosInformation_ExtIEs_tags_597) + /sizeof(asn_DEF_GBR_QosInformation_ExtIEs_tags_597[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GBR_QosInformation_ExtIEs_597, + 3, /* Elements count */ + &asn_SPC_GBR_QosInformation_ExtIEs_specs_597 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_604 = { + sizeof(struct GlobalENB_ID_ExtIEs__extensionValue), + offsetof(struct GlobalENB_ID_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GlobalENB_ID_ExtIEs__extensionValue, present), + sizeof(((struct GlobalENB_ID_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_604 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_604 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GlobalENB_ID_ExtIEs_601[] = { + { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_602, memb_id_constraint_601 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_603, memb_criticality_constraint_601 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_604, + 0, + { 0, &asn_PER_memb_extensionValue_constr_604, memb_extensionValue_constraint_601 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GlobalENB_ID_ExtIEs_tags_601[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GlobalENB_ID_ExtIEs_tag2el_601[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_ExtIEs_specs_601 = { + sizeof(struct GlobalENB_ID_ExtIEs), + offsetof(struct GlobalENB_ID_ExtIEs, _asn_ctx), + asn_MAP_GlobalENB_ID_ExtIEs_tag2el_601, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GlobalENB_ID_ExtIEs = { + "GlobalENB-ID-ExtIEs", + "GlobalENB-ID-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GlobalENB_ID_ExtIEs_tags_601, + sizeof(asn_DEF_GlobalENB_ID_ExtIEs_tags_601) + /sizeof(asn_DEF_GlobalENB_ID_ExtIEs_tags_601[0]), /* 1 */ + asn_DEF_GlobalENB_ID_ExtIEs_tags_601, /* Same as above */ + sizeof(asn_DEF_GlobalENB_ID_ExtIEs_tags_601) + /sizeof(asn_DEF_GlobalENB_ID_ExtIEs_tags_601[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GlobalENB_ID_ExtIEs_601, + 3, /* Elements count */ + &asn_SPC_GlobalENB_ID_ExtIEs_specs_601 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_608 = { + sizeof(struct GlobalGNB_ID_ExtIEs__extensionValue), + offsetof(struct GlobalGNB_ID_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GlobalGNB_ID_ExtIEs__extensionValue, present), + sizeof(((struct GlobalGNB_ID_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_608 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_608 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GlobalGNB_ID_ExtIEs_605[] = { + { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_606, memb_id_constraint_605 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_607, memb_criticality_constraint_605 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_608, + 0, + { 0, &asn_PER_memb_extensionValue_constr_608, memb_extensionValue_constraint_605 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GlobalGNB_ID_ExtIEs_tags_605[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GlobalGNB_ID_ExtIEs_tag2el_605[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_ExtIEs_specs_605 = { + sizeof(struct GlobalGNB_ID_ExtIEs), + offsetof(struct GlobalGNB_ID_ExtIEs, _asn_ctx), + asn_MAP_GlobalGNB_ID_ExtIEs_tag2el_605, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID_ExtIEs = { + "GlobalGNB-ID-ExtIEs", + "GlobalGNB-ID-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GlobalGNB_ID_ExtIEs_tags_605, + sizeof(asn_DEF_GlobalGNB_ID_ExtIEs_tags_605) + /sizeof(asn_DEF_GlobalGNB_ID_ExtIEs_tags_605[0]), /* 1 */ + asn_DEF_GlobalGNB_ID_ExtIEs_tags_605, /* Same as above */ + sizeof(asn_DEF_GlobalGNB_ID_ExtIEs_tags_605) + /sizeof(asn_DEF_GlobalGNB_ID_ExtIEs_tags_605[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GlobalGNB_ID_ExtIEs_605, + 3, /* Elements count */ + &asn_SPC_GlobalGNB_ID_ExtIEs_specs_605 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_612 = { + sizeof(struct GTPtunnelEndpoint_ExtIEs__extensionValue), + offsetof(struct GTPtunnelEndpoint_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GTPtunnelEndpoint_ExtIEs__extensionValue, present), + sizeof(((struct GTPtunnelEndpoint_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_612 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_612 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GTPtunnelEndpoint_ExtIEs_609[] = { + { ATF_NOFLAGS, 0, offsetof(struct GTPtunnelEndpoint_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_610, memb_id_constraint_609 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GTPtunnelEndpoint_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_611, memb_criticality_constraint_609 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GTPtunnelEndpoint_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_612, + 0, + { 0, &asn_PER_memb_extensionValue_constr_612, memb_extensionValue_constraint_609 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GTPtunnelEndpoint_ExtIEs_tag2el_609[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GTPtunnelEndpoint_ExtIEs_specs_609 = { + sizeof(struct GTPtunnelEndpoint_ExtIEs), + offsetof(struct GTPtunnelEndpoint_ExtIEs, _asn_ctx), + asn_MAP_GTPtunnelEndpoint_ExtIEs_tag2el_609, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GTPtunnelEndpoint_ExtIEs = { + "GTPtunnelEndpoint-ExtIEs", + "GTPtunnelEndpoint-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609, + sizeof(asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609) + /sizeof(asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609[0]), /* 1 */ + asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609, /* Same as above */ + sizeof(asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609) + /sizeof(asn_DEF_GTPtunnelEndpoint_ExtIEs_tags_609[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GTPtunnelEndpoint_ExtIEs_609, + 3, /* Elements count */ + &asn_SPC_GTPtunnelEndpoint_ExtIEs_specs_609 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_616 = { + sizeof(struct GU_Group_ID_ExtIEs__extensionValue), + offsetof(struct GU_Group_ID_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GU_Group_ID_ExtIEs__extensionValue, present), + sizeof(((struct GU_Group_ID_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_616 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_616 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GU_Group_ID_ExtIEs_613[] = { + { ATF_NOFLAGS, 0, offsetof(struct GU_Group_ID_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_614, memb_id_constraint_613 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GU_Group_ID_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_615, memb_criticality_constraint_613 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GU_Group_ID_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_616, + 0, + { 0, &asn_PER_memb_extensionValue_constr_616, memb_extensionValue_constraint_613 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GU_Group_ID_ExtIEs_tags_613[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GU_Group_ID_ExtIEs_tag2el_613[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GU_Group_ID_ExtIEs_specs_613 = { + sizeof(struct GU_Group_ID_ExtIEs), + offsetof(struct GU_Group_ID_ExtIEs, _asn_ctx), + asn_MAP_GU_Group_ID_ExtIEs_tag2el_613, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GU_Group_ID_ExtIEs = { + "GU-Group-ID-ExtIEs", + "GU-Group-ID-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GU_Group_ID_ExtIEs_tags_613, + sizeof(asn_DEF_GU_Group_ID_ExtIEs_tags_613) + /sizeof(asn_DEF_GU_Group_ID_ExtIEs_tags_613[0]), /* 1 */ + asn_DEF_GU_Group_ID_ExtIEs_tags_613, /* Same as above */ + sizeof(asn_DEF_GU_Group_ID_ExtIEs_tags_613) + /sizeof(asn_DEF_GU_Group_ID_ExtIEs_tags_613[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GU_Group_ID_ExtIEs_613, + 3, /* Elements count */ + &asn_SPC_GU_Group_ID_ExtIEs_specs_613 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_620 = { + sizeof(struct GUMMEI_ExtIEs__extensionValue), + offsetof(struct GUMMEI_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct GUMMEI_ExtIEs__extensionValue, present), + sizeof(((struct GUMMEI_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_620 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_620 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GUMMEI_ExtIEs_617[] = { + { ATF_NOFLAGS, 0, offsetof(struct GUMMEI_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_618, memb_id_constraint_617 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GUMMEI_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_619, memb_criticality_constraint_617 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GUMMEI_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_620, + 0, + { 0, &asn_PER_memb_extensionValue_constr_620, memb_extensionValue_constraint_617 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_GUMMEI_ExtIEs_tags_617[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GUMMEI_ExtIEs_tag2el_617[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_ExtIEs_specs_617 = { + sizeof(struct GUMMEI_ExtIEs), + offsetof(struct GUMMEI_ExtIEs, _asn_ctx), + asn_MAP_GUMMEI_ExtIEs_tag2el_617, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GUMMEI_ExtIEs = { + "GUMMEI-ExtIEs", + "GUMMEI-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_GUMMEI_ExtIEs_tags_617, + sizeof(asn_DEF_GUMMEI_ExtIEs_tags_617) + /sizeof(asn_DEF_GUMMEI_ExtIEs_tags_617[0]), /* 1 */ + asn_DEF_GUMMEI_ExtIEs_tags_617, /* Same as above */ + sizeof(asn_DEF_GUMMEI_ExtIEs_tags_617) + /sizeof(asn_DEF_GUMMEI_ExtIEs_tags_617[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GUMMEI_ExtIEs_617, + 3, /* Elements count */ + &asn_SPC_GUMMEI_ExtIEs_specs_617 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_624[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs__extensionValue, choice.NRrestrictioninEPSasSecondaryRAT), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NRrestrictioninEPSasSecondaryRAT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRrestrictioninEPSasSecondaryRAT" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs__extensionValue, choice.CNTypeRestrictions), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CNTypeRestrictions, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CNTypeRestrictions" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs__extensionValue, choice.NRrestrictionin5GS), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NRrestrictionin5GS, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRrestrictionin5GS" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_624[] = { 0, 2, 1 }; +static const unsigned asn_MAP_extensionValue_from_canonical_624[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_624[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 1 }, /* NRrestrictioninEPSasSecondaryRAT */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, -1, 0 }, /* NRrestrictionin5GS */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* CNTypeRestrictions */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_624 = { + sizeof(struct HandoverRestrictionList_ExtIEs__extensionValue), + offsetof(struct HandoverRestrictionList_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct HandoverRestrictionList_ExtIEs__extensionValue, present), + sizeof(((struct HandoverRestrictionList_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_624, + 3, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_624, + asn_MAP_extensionValue_from_canonical_624, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_624 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_624, + 3, /* Elements count */ + &asn_SPC_extensionValue_specs_624 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverRestrictionList_ExtIEs_621[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_622, memb_id_constraint_621 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverRestrictionList_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_623, memb_criticality_constraint_621 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverRestrictionList_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_624, + select_HandoverRestrictionList_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_624, memb_extensionValue_constraint_621 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverRestrictionList_ExtIEs_tags_621[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverRestrictionList_ExtIEs_tag2el_621[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_ExtIEs_specs_621 = { + sizeof(struct HandoverRestrictionList_ExtIEs), + offsetof(struct HandoverRestrictionList_ExtIEs, _asn_ctx), + asn_MAP_HandoverRestrictionList_ExtIEs_tag2el_621, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList_ExtIEs = { + "HandoverRestrictionList-ExtIEs", + "HandoverRestrictionList-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverRestrictionList_ExtIEs_tags_621, + sizeof(asn_DEF_HandoverRestrictionList_ExtIEs_tags_621) + /sizeof(asn_DEF_HandoverRestrictionList_ExtIEs_tags_621[0]), /* 1 */ + asn_DEF_HandoverRestrictionList_ExtIEs_tags_621, /* Same as above */ + sizeof(asn_DEF_HandoverRestrictionList_ExtIEs_tags_621) + /sizeof(asn_DEF_HandoverRestrictionList_ExtIEs_tags_621[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverRestrictionList_ExtIEs_621, + 3, /* Elements count */ + &asn_SPC_HandoverRestrictionList_ExtIEs_specs_621 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_628 = { + sizeof(struct HWLoadIndicator_ExtIEs__extensionValue), + offsetof(struct HWLoadIndicator_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct HWLoadIndicator_ExtIEs__extensionValue, present), + sizeof(((struct HWLoadIndicator_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_628 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_628 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HWLoadIndicator_ExtIEs_625[] = { + { ATF_NOFLAGS, 0, offsetof(struct HWLoadIndicator_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_626, memb_id_constraint_625 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HWLoadIndicator_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_627, memb_criticality_constraint_625 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HWLoadIndicator_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_628, + 0, + { 0, &asn_PER_memb_extensionValue_constr_628, memb_extensionValue_constraint_625 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_HWLoadIndicator_ExtIEs_tags_625[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HWLoadIndicator_ExtIEs_tag2el_625[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HWLoadIndicator_ExtIEs_specs_625 = { + sizeof(struct HWLoadIndicator_ExtIEs), + offsetof(struct HWLoadIndicator_ExtIEs, _asn_ctx), + asn_MAP_HWLoadIndicator_ExtIEs_tag2el_625, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HWLoadIndicator_ExtIEs = { + "HWLoadIndicator-ExtIEs", + "HWLoadIndicator-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_HWLoadIndicator_ExtIEs_tags_625, + sizeof(asn_DEF_HWLoadIndicator_ExtIEs_tags_625) + /sizeof(asn_DEF_HWLoadIndicator_ExtIEs_tags_625[0]), /* 1 */ + asn_DEF_HWLoadIndicator_ExtIEs_tags_625, /* Same as above */ + sizeof(asn_DEF_HWLoadIndicator_ExtIEs_tags_625) + /sizeof(asn_DEF_HWLoadIndicator_ExtIEs_tags_625[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HWLoadIndicator_ExtIEs_625, + 3, /* Elements count */ + &asn_SPC_HWLoadIndicator_ExtIEs_specs_625 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_632[] = { + { ATF_NOFLAGS, 0, offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue, choice.Time_UE_StayedInCell_EnhancedGranularity), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Time_UE_StayedInCell_EnhancedGranularity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Time-UE-StayedInCell-EnhancedGranularity" + }, + { ATF_NOFLAGS, 0, offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_632[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* Time-UE-StayedInCell-EnhancedGranularity */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_632 = { + sizeof(struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue), + offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue, present), + sizeof(((struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_632, + 5, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_632 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_632, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_632 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_LastVisitedEUTRANCellInformation_ExtIEs_629[] = { + { ATF_NOFLAGS, 0, offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_630, memb_id_constraint_629 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_LastVisitedEUTRANCellInformation_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_631, memb_criticality_constraint_629 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_632, + select_LastVisitedEUTRANCellInformation_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_632, memb_extensionValue_constraint_629 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LastVisitedEUTRANCellInformation_ExtIEs_tag2el_629[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LastVisitedEUTRANCellInformation_ExtIEs_specs_629 = { + sizeof(struct LastVisitedEUTRANCellInformation_ExtIEs), + offsetof(struct LastVisitedEUTRANCellInformation_ExtIEs, _asn_ctx), + asn_MAP_LastVisitedEUTRANCellInformation_ExtIEs_tag2el_629, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs = { + "LastVisitedEUTRANCellInformation-ExtIEs", + "LastVisitedEUTRANCellInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629, + sizeof(asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629) + /sizeof(asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629[0]), /* 1 */ + asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629, /* Same as above */ + sizeof(asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629) + /sizeof(asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs_tags_629[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_LastVisitedEUTRANCellInformation_ExtIEs_629, + 3, /* Elements count */ + &asn_SPC_LastVisitedEUTRANCellInformation_ExtIEs_specs_629 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_636 = { + sizeof(struct LocationReportingInformation_ExtIEs__extensionValue), + offsetof(struct LocationReportingInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct LocationReportingInformation_ExtIEs__extensionValue, present), + sizeof(((struct LocationReportingInformation_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_636 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_636 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_LocationReportingInformation_ExtIEs_633[] = { + { ATF_NOFLAGS, 0, offsetof(struct LocationReportingInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_634, memb_id_constraint_633 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct LocationReportingInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_635, memb_criticality_constraint_633 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct LocationReportingInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_636, + 0, + { 0, &asn_PER_memb_extensionValue_constr_636, memb_extensionValue_constraint_633 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_LocationReportingInformation_ExtIEs_tags_633[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LocationReportingInformation_ExtIEs_tag2el_633[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LocationReportingInformation_ExtIEs_specs_633 = { + sizeof(struct LocationReportingInformation_ExtIEs), + offsetof(struct LocationReportingInformation_ExtIEs, _asn_ctx), + asn_MAP_LocationReportingInformation_ExtIEs_tag2el_633, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LocationReportingInformation_ExtIEs = { + "LocationReportingInformation-ExtIEs", + "LocationReportingInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_LocationReportingInformation_ExtIEs_tags_633, + sizeof(asn_DEF_LocationReportingInformation_ExtIEs_tags_633) + /sizeof(asn_DEF_LocationReportingInformation_ExtIEs_tags_633[0]), /* 1 */ + asn_DEF_LocationReportingInformation_ExtIEs_tags_633, /* Same as above */ + sizeof(asn_DEF_LocationReportingInformation_ExtIEs_tags_633) + /sizeof(asn_DEF_LocationReportingInformation_ExtIEs_tags_633[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_LocationReportingInformation_ExtIEs_633, + 3, /* Elements count */ + &asn_SPC_LocationReportingInformation_ExtIEs_specs_633 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_640 = { + sizeof(struct M1PeriodicReporting_ExtIEs__extensionValue), + offsetof(struct M1PeriodicReporting_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M1PeriodicReporting_ExtIEs__extensionValue, present), + sizeof(((struct M1PeriodicReporting_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_640 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_640 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M1PeriodicReporting_ExtIEs_637[] = { + { ATF_NOFLAGS, 0, offsetof(struct M1PeriodicReporting_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_638, memb_id_constraint_637 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M1PeriodicReporting_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_639, memb_criticality_constraint_637 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M1PeriodicReporting_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_640, + 0, + { 0, &asn_PER_memb_extensionValue_constr_640, memb_extensionValue_constraint_637 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M1PeriodicReporting_ExtIEs_tags_637[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M1PeriodicReporting_ExtIEs_tag2el_637[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M1PeriodicReporting_ExtIEs_specs_637 = { + sizeof(struct M1PeriodicReporting_ExtIEs), + offsetof(struct M1PeriodicReporting_ExtIEs, _asn_ctx), + asn_MAP_M1PeriodicReporting_ExtIEs_tag2el_637, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M1PeriodicReporting_ExtIEs = { + "M1PeriodicReporting-ExtIEs", + "M1PeriodicReporting-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M1PeriodicReporting_ExtIEs_tags_637, + sizeof(asn_DEF_M1PeriodicReporting_ExtIEs_tags_637) + /sizeof(asn_DEF_M1PeriodicReporting_ExtIEs_tags_637[0]), /* 1 */ + asn_DEF_M1PeriodicReporting_ExtIEs_tags_637, /* Same as above */ + sizeof(asn_DEF_M1PeriodicReporting_ExtIEs_tags_637) + /sizeof(asn_DEF_M1PeriodicReporting_ExtIEs_tags_637[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M1PeriodicReporting_ExtIEs_637, + 3, /* Elements count */ + &asn_SPC_M1PeriodicReporting_ExtIEs_specs_637 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_644 = { + sizeof(struct M1ThresholdEventA2_ExtIEs__extensionValue), + offsetof(struct M1ThresholdEventA2_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M1ThresholdEventA2_ExtIEs__extensionValue, present), + sizeof(((struct M1ThresholdEventA2_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_644 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_644 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M1ThresholdEventA2_ExtIEs_641[] = { + { ATF_NOFLAGS, 0, offsetof(struct M1ThresholdEventA2_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_642, memb_id_constraint_641 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M1ThresholdEventA2_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_643, memb_criticality_constraint_641 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M1ThresholdEventA2_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_644, + 0, + { 0, &asn_PER_memb_extensionValue_constr_644, memb_extensionValue_constraint_641 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M1ThresholdEventA2_ExtIEs_tag2el_641[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M1ThresholdEventA2_ExtIEs_specs_641 = { + sizeof(struct M1ThresholdEventA2_ExtIEs), + offsetof(struct M1ThresholdEventA2_ExtIEs, _asn_ctx), + asn_MAP_M1ThresholdEventA2_ExtIEs_tag2el_641, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M1ThresholdEventA2_ExtIEs = { + "M1ThresholdEventA2-ExtIEs", + "M1ThresholdEventA2-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641, + sizeof(asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641) + /sizeof(asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641[0]), /* 1 */ + asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641, /* Same as above */ + sizeof(asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641) + /sizeof(asn_DEF_M1ThresholdEventA2_ExtIEs_tags_641[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M1ThresholdEventA2_ExtIEs_641, + 3, /* Elements count */ + &asn_SPC_M1ThresholdEventA2_ExtIEs_specs_641 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_648 = { + sizeof(struct M3Configuration_ExtIEs__extensionValue), + offsetof(struct M3Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M3Configuration_ExtIEs__extensionValue, present), + sizeof(((struct M3Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_648 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_648 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M3Configuration_ExtIEs_645[] = { + { ATF_NOFLAGS, 0, offsetof(struct M3Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_646, memb_id_constraint_645 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M3Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_647, memb_criticality_constraint_645 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M3Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_648, + 0, + { 0, &asn_PER_memb_extensionValue_constr_648, memb_extensionValue_constraint_645 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M3Configuration_ExtIEs_tags_645[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M3Configuration_ExtIEs_tag2el_645[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M3Configuration_ExtIEs_specs_645 = { + sizeof(struct M3Configuration_ExtIEs), + offsetof(struct M3Configuration_ExtIEs, _asn_ctx), + asn_MAP_M3Configuration_ExtIEs_tag2el_645, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M3Configuration_ExtIEs = { + "M3Configuration-ExtIEs", + "M3Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M3Configuration_ExtIEs_tags_645, + sizeof(asn_DEF_M3Configuration_ExtIEs_tags_645) + /sizeof(asn_DEF_M3Configuration_ExtIEs_tags_645[0]), /* 1 */ + asn_DEF_M3Configuration_ExtIEs_tags_645, /* Same as above */ + sizeof(asn_DEF_M3Configuration_ExtIEs_tags_645) + /sizeof(asn_DEF_M3Configuration_ExtIEs_tags_645[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M3Configuration_ExtIEs_645, + 3, /* Elements count */ + &asn_SPC_M3Configuration_ExtIEs_specs_645 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_652 = { + sizeof(struct M4Configuration_ExtIEs__extensionValue), + offsetof(struct M4Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M4Configuration_ExtIEs__extensionValue, present), + sizeof(((struct M4Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_652 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_652 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M4Configuration_ExtIEs_649[] = { + { ATF_NOFLAGS, 0, offsetof(struct M4Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_650, memb_id_constraint_649 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M4Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_651, memb_criticality_constraint_649 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M4Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_652, + 0, + { 0, &asn_PER_memb_extensionValue_constr_652, memb_extensionValue_constraint_649 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M4Configuration_ExtIEs_tags_649[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M4Configuration_ExtIEs_tag2el_649[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M4Configuration_ExtIEs_specs_649 = { + sizeof(struct M4Configuration_ExtIEs), + offsetof(struct M4Configuration_ExtIEs, _asn_ctx), + asn_MAP_M4Configuration_ExtIEs_tag2el_649, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M4Configuration_ExtIEs = { + "M4Configuration-ExtIEs", + "M4Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M4Configuration_ExtIEs_tags_649, + sizeof(asn_DEF_M4Configuration_ExtIEs_tags_649) + /sizeof(asn_DEF_M4Configuration_ExtIEs_tags_649[0]), /* 1 */ + asn_DEF_M4Configuration_ExtIEs_tags_649, /* Same as above */ + sizeof(asn_DEF_M4Configuration_ExtIEs_tags_649) + /sizeof(asn_DEF_M4Configuration_ExtIEs_tags_649[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M4Configuration_ExtIEs_649, + 3, /* Elements count */ + &asn_SPC_M4Configuration_ExtIEs_specs_649 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_656 = { + sizeof(struct M5Configuration_ExtIEs__extensionValue), + offsetof(struct M5Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M5Configuration_ExtIEs__extensionValue, present), + sizeof(((struct M5Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_656 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_656 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M5Configuration_ExtIEs_653[] = { + { ATF_NOFLAGS, 0, offsetof(struct M5Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_654, memb_id_constraint_653 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M5Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_655, memb_criticality_constraint_653 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M5Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_656, + 0, + { 0, &asn_PER_memb_extensionValue_constr_656, memb_extensionValue_constraint_653 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M5Configuration_ExtIEs_tags_653[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M5Configuration_ExtIEs_tag2el_653[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M5Configuration_ExtIEs_specs_653 = { + sizeof(struct M5Configuration_ExtIEs), + offsetof(struct M5Configuration_ExtIEs, _asn_ctx), + asn_MAP_M5Configuration_ExtIEs_tag2el_653, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M5Configuration_ExtIEs = { + "M5Configuration-ExtIEs", + "M5Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M5Configuration_ExtIEs_tags_653, + sizeof(asn_DEF_M5Configuration_ExtIEs_tags_653) + /sizeof(asn_DEF_M5Configuration_ExtIEs_tags_653[0]), /* 1 */ + asn_DEF_M5Configuration_ExtIEs_tags_653, /* Same as above */ + sizeof(asn_DEF_M5Configuration_ExtIEs_tags_653) + /sizeof(asn_DEF_M5Configuration_ExtIEs_tags_653[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M5Configuration_ExtIEs_653, + 3, /* Elements count */ + &asn_SPC_M5Configuration_ExtIEs_specs_653 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_660 = { + sizeof(struct M6Configuration_ExtIEs__extensionValue), + offsetof(struct M6Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M6Configuration_ExtIEs__extensionValue, present), + sizeof(((struct M6Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_660 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_660 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M6Configuration_ExtIEs_657[] = { + { ATF_NOFLAGS, 0, offsetof(struct M6Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_658, memb_id_constraint_657 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M6Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_659, memb_criticality_constraint_657 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M6Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_660, + 0, + { 0, &asn_PER_memb_extensionValue_constr_660, memb_extensionValue_constraint_657 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M6Configuration_ExtIEs_tags_657[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M6Configuration_ExtIEs_tag2el_657[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M6Configuration_ExtIEs_specs_657 = { + sizeof(struct M6Configuration_ExtIEs), + offsetof(struct M6Configuration_ExtIEs, _asn_ctx), + asn_MAP_M6Configuration_ExtIEs_tag2el_657, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M6Configuration_ExtIEs = { + "M6Configuration-ExtIEs", + "M6Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M6Configuration_ExtIEs_tags_657, + sizeof(asn_DEF_M6Configuration_ExtIEs_tags_657) + /sizeof(asn_DEF_M6Configuration_ExtIEs_tags_657[0]), /* 1 */ + asn_DEF_M6Configuration_ExtIEs_tags_657, /* Same as above */ + sizeof(asn_DEF_M6Configuration_ExtIEs_tags_657) + /sizeof(asn_DEF_M6Configuration_ExtIEs_tags_657[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M6Configuration_ExtIEs_657, + 3, /* Elements count */ + &asn_SPC_M6Configuration_ExtIEs_specs_657 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_664 = { + sizeof(struct M7Configuration_ExtIEs__extensionValue), + offsetof(struct M7Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct M7Configuration_ExtIEs__extensionValue, present), + sizeof(((struct M7Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_664 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_664 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_M7Configuration_ExtIEs_661[] = { + { ATF_NOFLAGS, 0, offsetof(struct M7Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_662, memb_id_constraint_661 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct M7Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_663, memb_criticality_constraint_661 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct M7Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_664, + 0, + { 0, &asn_PER_memb_extensionValue_constr_664, memb_extensionValue_constraint_661 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_M7Configuration_ExtIEs_tags_661[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_M7Configuration_ExtIEs_tag2el_661[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_M7Configuration_ExtIEs_specs_661 = { + sizeof(struct M7Configuration_ExtIEs), + offsetof(struct M7Configuration_ExtIEs, _asn_ctx), + asn_MAP_M7Configuration_ExtIEs_tag2el_661, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_M7Configuration_ExtIEs = { + "M7Configuration-ExtIEs", + "M7Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_M7Configuration_ExtIEs_tags_661, + sizeof(asn_DEF_M7Configuration_ExtIEs_tags_661) + /sizeof(asn_DEF_M7Configuration_ExtIEs_tags_661[0]), /* 1 */ + asn_DEF_M7Configuration_ExtIEs_tags_661, /* Same as above */ + sizeof(asn_DEF_M7Configuration_ExtIEs_tags_661) + /sizeof(asn_DEF_M7Configuration_ExtIEs_tags_661[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_M7Configuration_ExtIEs_661, + 3, /* Elements count */ + &asn_SPC_M7Configuration_ExtIEs_specs_661 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_668[] = { + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.M3Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M3Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "M3Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.M4Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M4Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "M4Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.M5Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M5Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "M5Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.MDT_Location_Info), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_MDT_Location_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MDT-Location-Info" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.MDTPLMNList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MDTPLMNList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MDTPLMNList" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.M6Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M6Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "M6Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.M7Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_M7Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "M7Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.BluetoothMeasurementConfiguration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BluetoothMeasurementConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "BluetoothMeasurementConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs__extensionValue, choice.WLANMeasurementConfiguration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_WLANMeasurementConfiguration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "WLANMeasurementConfiguration" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_668[] = { 3, 0, 1, 2, 4, 5, 6, 7, 8 }; +static const unsigned asn_MAP_extensionValue_from_canonical_668[] = { 1, 2, 3, 0, 4, 5, 6, 7, 8 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_668[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 3, 0, 0 }, /* MDT-Location-Info */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 7 }, /* M3Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 6 }, /* M4Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 5 }, /* M5Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -3, 4 }, /* MDTPLMNList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -4, 3 }, /* M6Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -5, 2 }, /* M7Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -6, 1 }, /* BluetoothMeasurementConfiguration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -7, 0 } /* WLANMeasurementConfiguration */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_668 = { + sizeof(struct MDT_Configuration_ExtIEs__extensionValue), + offsetof(struct MDT_Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct MDT_Configuration_ExtIEs__extensionValue, present), + sizeof(((struct MDT_Configuration_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_668, + 9, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_668, + asn_MAP_extensionValue_from_canonical_668, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_668 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_668, + 9, /* Elements count */ + &asn_SPC_extensionValue_specs_668 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MDT_Configuration_ExtIEs_665[] = { + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_666, memb_id_constraint_665 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MDT_Configuration_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_667, memb_criticality_constraint_665 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MDT_Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_668, + select_MDT_Configuration_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_668, memb_extensionValue_constraint_665 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_MDT_Configuration_ExtIEs_tags_665[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MDT_Configuration_ExtIEs_tag2el_665[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MDT_Configuration_ExtIEs_specs_665 = { + sizeof(struct MDT_Configuration_ExtIEs), + offsetof(struct MDT_Configuration_ExtIEs, _asn_ctx), + asn_MAP_MDT_Configuration_ExtIEs_tag2el_665, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MDT_Configuration_ExtIEs = { + "MDT-Configuration-ExtIEs", + "MDT-Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_MDT_Configuration_ExtIEs_tags_665, + sizeof(asn_DEF_MDT_Configuration_ExtIEs_tags_665) + /sizeof(asn_DEF_MDT_Configuration_ExtIEs_tags_665[0]), /* 1 */ + asn_DEF_MDT_Configuration_ExtIEs_tags_665, /* Same as above */ + sizeof(asn_DEF_MDT_Configuration_ExtIEs_tags_665) + /sizeof(asn_DEF_MDT_Configuration_ExtIEs_tags_665[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MDT_Configuration_ExtIEs_665, + 3, /* Elements count */ + &asn_SPC_MDT_Configuration_ExtIEs_specs_665 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_672[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformationExtIEs__extensionValue, choice.NRCGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRCGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformationExtIEs__extensionValue, choice.MeNBCoordinationAssistanceInformation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_MeNBCoordinationAssistanceInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBCoordinationAssistanceInformation" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_672[] = { 1, 0 }; +static const unsigned asn_MAP_extensionValue_from_canonical_672[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_672[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* MeNBCoordinationAssistanceInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* NRCGI */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_672 = { + sizeof(struct MeNBResourceCoordinationInformationExtIEs__extensionValue), + offsetof(struct MeNBResourceCoordinationInformationExtIEs__extensionValue, _asn_ctx), + offsetof(struct MeNBResourceCoordinationInformationExtIEs__extensionValue, present), + sizeof(((struct MeNBResourceCoordinationInformationExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_672, + 2, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_672, + asn_MAP_extensionValue_from_canonical_672, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_672 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_672, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_672 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MeNBResourceCoordinationInformationExtIEs_669[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformationExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_670, memb_id_constraint_669 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformationExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MeNBResourceCoordinationInformationExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_671, memb_criticality_constraint_669 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MeNBResourceCoordinationInformationExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_672, + select_MeNBResourceCoordinationInformationExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_672, memb_extensionValue_constraint_669 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeNBResourceCoordinationInformationExtIEs_tag2el_669[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MeNBResourceCoordinationInformationExtIEs_specs_669 = { + sizeof(struct MeNBResourceCoordinationInformationExtIEs), + offsetof(struct MeNBResourceCoordinationInformationExtIEs, _asn_ctx), + asn_MAP_MeNBResourceCoordinationInformationExtIEs_tag2el_669, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeNBResourceCoordinationInformationExtIEs = { + "MeNBResourceCoordinationInformationExtIEs", + "MeNBResourceCoordinationInformationExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669, + sizeof(asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669) + /sizeof(asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669[0]), /* 1 */ + asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669, /* Same as above */ + sizeof(asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669) + /sizeof(asn_DEF_MeNBResourceCoordinationInformationExtIEs_tags_669[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeNBResourceCoordinationInformationExtIEs_669, + 3, /* Elements count */ + &asn_SPC_MeNBResourceCoordinationInformationExtIEs_specs_669 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_676 = { + sizeof(struct MBSFN_Subframe_Info_ExtIEs__extensionValue), + offsetof(struct MBSFN_Subframe_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct MBSFN_Subframe_Info_ExtIEs__extensionValue, present), + sizeof(((struct MBSFN_Subframe_Info_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_676 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_676 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MBSFN_Subframe_Info_ExtIEs_673[] = { + { ATF_NOFLAGS, 0, offsetof(struct MBSFN_Subframe_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_674, memb_id_constraint_673 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MBSFN_Subframe_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_675, memb_criticality_constraint_673 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MBSFN_Subframe_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_676, + 0, + { 0, &asn_PER_memb_extensionValue_constr_676, memb_extensionValue_constraint_673 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MBSFN_Subframe_Info_ExtIEs_tag2el_673[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MBSFN_Subframe_Info_ExtIEs_specs_673 = { + sizeof(struct MBSFN_Subframe_Info_ExtIEs), + offsetof(struct MBSFN_Subframe_Info_ExtIEs, _asn_ctx), + asn_MAP_MBSFN_Subframe_Info_ExtIEs_tag2el_673, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MBSFN_Subframe_Info_ExtIEs = { + "MBSFN-Subframe-Info-ExtIEs", + "MBSFN-Subframe-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673, + sizeof(asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673) + /sizeof(asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673[0]), /* 1 */ + asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673, /* Same as above */ + sizeof(asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673) + /sizeof(asn_DEF_MBSFN_Subframe_Info_ExtIEs_tags_673[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MBSFN_Subframe_Info_ExtIEs_673, + 3, /* Elements count */ + &asn_SPC_MBSFN_Subframe_Info_ExtIEs_specs_673 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_680 = { + sizeof(struct BandInfo_ExtIEs__extensionValue), + offsetof(struct BandInfo_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct BandInfo_ExtIEs__extensionValue, present), + sizeof(((struct BandInfo_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_680 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_680 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_BandInfo_ExtIEs_677[] = { + { ATF_NOFLAGS, 0, offsetof(struct BandInfo_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_678, memb_id_constraint_677 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct BandInfo_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_679, memb_criticality_constraint_677 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct BandInfo_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_680, + 0, + { 0, &asn_PER_memb_extensionValue_constr_680, memb_extensionValue_constraint_677 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_BandInfo_ExtIEs_tags_677[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BandInfo_ExtIEs_tag2el_677[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BandInfo_ExtIEs_specs_677 = { + sizeof(struct BandInfo_ExtIEs), + offsetof(struct BandInfo_ExtIEs, _asn_ctx), + asn_MAP_BandInfo_ExtIEs_tag2el_677, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BandInfo_ExtIEs = { + "BandInfo-ExtIEs", + "BandInfo-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_BandInfo_ExtIEs_tags_677, + sizeof(asn_DEF_BandInfo_ExtIEs_tags_677) + /sizeof(asn_DEF_BandInfo_ExtIEs_tags_677[0]), /* 1 */ + asn_DEF_BandInfo_ExtIEs_tags_677, /* Same as above */ + sizeof(asn_DEF_BandInfo_ExtIEs_tags_677) + /sizeof(asn_DEF_BandInfo_ExtIEs_tags_677[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_BandInfo_ExtIEs_677, + 3, /* Elements count */ + &asn_SPC_BandInfo_ExtIEs_specs_677 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_684 = { + sizeof(struct SplitSRB_ExtIEs__extensionValue), + offsetof(struct SplitSRB_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SplitSRB_ExtIEs__extensionValue, present), + sizeof(((struct SplitSRB_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_684 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_684 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SplitSRB_ExtIEs_681[] = { + { ATF_NOFLAGS, 0, offsetof(struct SplitSRB_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_682, memb_id_constraint_681 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SplitSRB_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_683, memb_criticality_constraint_681 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SplitSRB_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_684, + 0, + { 0, &asn_PER_memb_extensionValue_constr_684, memb_extensionValue_constraint_681 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SplitSRB_ExtIEs_tags_681[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SplitSRB_ExtIEs_tag2el_681[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SplitSRB_ExtIEs_specs_681 = { + sizeof(struct SplitSRB_ExtIEs), + offsetof(struct SplitSRB_ExtIEs, _asn_ctx), + asn_MAP_SplitSRB_ExtIEs_tag2el_681, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SplitSRB_ExtIEs = { + "SplitSRB-ExtIEs", + "SplitSRB-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SplitSRB_ExtIEs_tags_681, + sizeof(asn_DEF_SplitSRB_ExtIEs_tags_681) + /sizeof(asn_DEF_SplitSRB_ExtIEs_tags_681[0]), /* 1 */ + asn_DEF_SplitSRB_ExtIEs_tags_681, /* Same as above */ + sizeof(asn_DEF_SplitSRB_ExtIEs_tags_681) + /sizeof(asn_DEF_SplitSRB_ExtIEs_tags_681[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SplitSRB_ExtIEs_681, + 3, /* Elements count */ + &asn_SPC_SplitSRB_ExtIEs_specs_681 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_688 = { + sizeof(struct UENRMeasurement_ExtIEs__extensionValue), + offsetof(struct UENRMeasurement_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UENRMeasurement_ExtIEs__extensionValue, present), + sizeof(((struct UENRMeasurement_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_688 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_688 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UENRMeasurement_ExtIEs_685[] = { + { ATF_NOFLAGS, 0, offsetof(struct UENRMeasurement_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_686, memb_id_constraint_685 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UENRMeasurement_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_687, memb_criticality_constraint_685 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UENRMeasurement_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_688, + 0, + { 0, &asn_PER_memb_extensionValue_constr_688, memb_extensionValue_constraint_685 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UENRMeasurement_ExtIEs_tags_685[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UENRMeasurement_ExtIEs_tag2el_685[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UENRMeasurement_ExtIEs_specs_685 = { + sizeof(struct UENRMeasurement_ExtIEs), + offsetof(struct UENRMeasurement_ExtIEs, _asn_ctx), + asn_MAP_UENRMeasurement_ExtIEs_tag2el_685, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UENRMeasurement_ExtIEs = { + "UENRMeasurement-ExtIEs", + "UENRMeasurement-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UENRMeasurement_ExtIEs_tags_685, + sizeof(asn_DEF_UENRMeasurement_ExtIEs_tags_685) + /sizeof(asn_DEF_UENRMeasurement_ExtIEs_tags_685[0]), /* 1 */ + asn_DEF_UENRMeasurement_ExtIEs_tags_685, /* Same as above */ + sizeof(asn_DEF_UENRMeasurement_ExtIEs_tags_685) + /sizeof(asn_DEF_UENRMeasurement_ExtIEs_tags_685[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UENRMeasurement_ExtIEs_685, + 3, /* Elements count */ + &asn_SPC_UENRMeasurement_ExtIEs_specs_685 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_692[] = { + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information_ExtIEs__extensionValue, choice.TAC), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information_ExtIEs__extensionValue, choice.EARFCNExtension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_EARFCNExtension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EARFCNExtension" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_692[] = { 1, 0 }; +static const unsigned asn_MAP_extensionValue_from_canonical_692[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_692[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* EARFCNExtension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* TAC */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_692 = { + sizeof(struct Neighbour_Information_ExtIEs__extensionValue), + offsetof(struct Neighbour_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct Neighbour_Information_ExtIEs__extensionValue, present), + sizeof(((struct Neighbour_Information_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_692, + 2, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_692, + asn_MAP_extensionValue_from_canonical_692, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_692 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_692, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_692 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Neighbour_Information_ExtIEs_689[] = { + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_690, memb_id_constraint_689 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_Neighbour_Information_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_691, memb_criticality_constraint_689 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Neighbour_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_692, + select_Neighbour_Information_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_692, memb_extensionValue_constraint_689 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Neighbour_Information_ExtIEs_tags_689[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Neighbour_Information_ExtIEs_tag2el_689[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Neighbour_Information_ExtIEs_specs_689 = { + sizeof(struct Neighbour_Information_ExtIEs), + offsetof(struct Neighbour_Information_ExtIEs, _asn_ctx), + asn_MAP_Neighbour_Information_ExtIEs_tag2el_689, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Neighbour_Information_ExtIEs = { + "Neighbour-Information-ExtIEs", + "Neighbour-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_Neighbour_Information_ExtIEs_tags_689, + sizeof(asn_DEF_Neighbour_Information_ExtIEs_tags_689) + /sizeof(asn_DEF_Neighbour_Information_ExtIEs_tags_689[0]), /* 1 */ + asn_DEF_Neighbour_Information_ExtIEs_tags_689, /* Same as above */ + sizeof(asn_DEF_Neighbour_Information_ExtIEs_tags_689) + /sizeof(asn_DEF_Neighbour_Information_ExtIEs_tags_689[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Neighbour_Information_ExtIEs_689, + 3, /* Elements count */ + &asn_SPC_Neighbour_Information_ExtIEs_specs_689 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_696 = { + sizeof(struct NRFreqInfo_ExtIEs__extensionValue), + offsetof(struct NRFreqInfo_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct NRFreqInfo_ExtIEs__extensionValue, present), + sizeof(((struct NRFreqInfo_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_696 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_696 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRFreqInfo_ExtIEs_693[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRFreqInfo_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_694, memb_id_constraint_693 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRFreqInfo_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_695, memb_criticality_constraint_693 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct NRFreqInfo_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_696, + 0, + { 0, &asn_PER_memb_extensionValue_constr_696, memb_extensionValue_constraint_693 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_NRFreqInfo_ExtIEs_tags_693[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRFreqInfo_ExtIEs_tag2el_693[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRFreqInfo_ExtIEs_specs_693 = { + sizeof(struct NRFreqInfo_ExtIEs), + offsetof(struct NRFreqInfo_ExtIEs, _asn_ctx), + asn_MAP_NRFreqInfo_ExtIEs_tag2el_693, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRFreqInfo_ExtIEs = { + "NRFreqInfo-ExtIEs", + "NRFreqInfo-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_NRFreqInfo_ExtIEs_tags_693, + sizeof(asn_DEF_NRFreqInfo_ExtIEs_tags_693) + /sizeof(asn_DEF_NRFreqInfo_ExtIEs_tags_693[0]), /* 1 */ + asn_DEF_NRFreqInfo_ExtIEs_tags_693, /* Same as above */ + sizeof(asn_DEF_NRFreqInfo_ExtIEs_tags_693) + /sizeof(asn_DEF_NRFreqInfo_ExtIEs_tags_693[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRFreqInfo_ExtIEs_693, + 3, /* Elements count */ + &asn_SPC_NRFreqInfo_ExtIEs_specs_693 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_700 = { + sizeof(struct NRCGI_ExtIEs__extensionValue), + offsetof(struct NRCGI_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct NRCGI_ExtIEs__extensionValue, present), + sizeof(((struct NRCGI_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_700 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_700 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRCGI_ExtIEs_697[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRCGI_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_698, memb_id_constraint_697 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRCGI_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_699, memb_criticality_constraint_697 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct NRCGI_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_700, + 0, + { 0, &asn_PER_memb_extensionValue_constr_700, memb_extensionValue_constraint_697 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_NRCGI_ExtIEs_tags_697[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRCGI_ExtIEs_tag2el_697[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRCGI_ExtIEs_specs_697 = { + sizeof(struct NRCGI_ExtIEs), + offsetof(struct NRCGI_ExtIEs, _asn_ctx), + asn_MAP_NRCGI_ExtIEs_tag2el_697, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRCGI_ExtIEs = { + "NRCGI-ExtIEs", + "NRCGI-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_NRCGI_ExtIEs_tags_697, + sizeof(asn_DEF_NRCGI_ExtIEs_tags_697) + /sizeof(asn_DEF_NRCGI_ExtIEs_tags_697[0]), /* 1 */ + asn_DEF_NRCGI_ExtIEs_tags_697, /* Same as above */ + sizeof(asn_DEF_NRCGI_ExtIEs_tags_697) + /sizeof(asn_DEF_NRCGI_ExtIEs_tags_697[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRCGI_ExtIEs_697, + 3, /* Elements count */ + &asn_SPC_NRCGI_ExtIEs_specs_697 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_704 = { + sizeof(struct NR_TxBW_ExtIEs__extensionValue), + offsetof(struct NR_TxBW_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct NR_TxBW_ExtIEs__extensionValue, present), + sizeof(((struct NR_TxBW_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_704 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_704 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NR_TxBW_ExtIEs_701[] = { + { ATF_NOFLAGS, 0, offsetof(struct NR_TxBW_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_702, memb_id_constraint_701 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct NR_TxBW_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_703, memb_criticality_constraint_701 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct NR_TxBW_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_704, + 0, + { 0, &asn_PER_memb_extensionValue_constr_704, memb_extensionValue_constraint_701 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_NR_TxBW_ExtIEs_tags_701[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NR_TxBW_ExtIEs_tag2el_701[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NR_TxBW_ExtIEs_specs_701 = { + sizeof(struct NR_TxBW_ExtIEs), + offsetof(struct NR_TxBW_ExtIEs, _asn_ctx), + asn_MAP_NR_TxBW_ExtIEs_tag2el_701, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NR_TxBW_ExtIEs = { + "NR-TxBW-ExtIEs", + "NR-TxBW-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_NR_TxBW_ExtIEs_tags_701, + sizeof(asn_DEF_NR_TxBW_ExtIEs_tags_701) + /sizeof(asn_DEF_NR_TxBW_ExtIEs_tags_701[0]), /* 1 */ + asn_DEF_NR_TxBW_ExtIEs_tags_701, /* Same as above */ + sizeof(asn_DEF_NR_TxBW_ExtIEs_tags_701) + /sizeof(asn_DEF_NR_TxBW_ExtIEs_tags_701[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NR_TxBW_ExtIEs_701, + 3, /* Elements count */ + &asn_SPC_NR_TxBW_ExtIEs_specs_701 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_708 = { + sizeof(struct NRUESecurityCapabilities_ExtIEs__extensionValue), + offsetof(struct NRUESecurityCapabilities_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct NRUESecurityCapabilities_ExtIEs__extensionValue, present), + sizeof(((struct NRUESecurityCapabilities_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_708 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_708 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_ExtIEs_705[] = { + { ATF_NOFLAGS, 0, offsetof(struct NRUESecurityCapabilities_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_706, memb_id_constraint_705 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct NRUESecurityCapabilities_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_707, memb_criticality_constraint_705 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct NRUESecurityCapabilities_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_708, + 0, + { 0, &asn_PER_memb_extensionValue_constr_708, memb_extensionValue_constraint_705 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NRUESecurityCapabilities_ExtIEs_tag2el_705[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_ExtIEs_specs_705 = { + sizeof(struct NRUESecurityCapabilities_ExtIEs), + offsetof(struct NRUESecurityCapabilities_ExtIEs, _asn_ctx), + asn_MAP_NRUESecurityCapabilities_ExtIEs_tag2el_705, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities_ExtIEs = { + "NRUESecurityCapabilities-ExtIEs", + "NRUESecurityCapabilities-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705, + sizeof(asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705) + /sizeof(asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705[0]), /* 1 */ + asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705, /* Same as above */ + sizeof(asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705) + /sizeof(asn_DEF_NRUESecurityCapabilities_ExtIEs_tags_705[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_NRUESecurityCapabilities_ExtIEs_705, + 3, /* Elements count */ + &asn_SPC_NRUESecurityCapabilities_ExtIEs_specs_705 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_712 = { + sizeof(struct PRACH_Configuration_ExtIEs__extensionValue), + offsetof(struct PRACH_Configuration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct PRACH_Configuration_ExtIEs__extensionValue, present), + sizeof(((struct PRACH_Configuration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_712 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_712 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PRACH_Configuration_ExtIEs_709[] = { + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_710, memb_id_constraint_709 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_711, memb_criticality_constraint_709 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct PRACH_Configuration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_712, + 0, + { 0, &asn_PER_memb_extensionValue_constr_712, memb_extensionValue_constraint_709 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_PRACH_Configuration_ExtIEs_tags_709[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PRACH_Configuration_ExtIEs_tag2el_709[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PRACH_Configuration_ExtIEs_specs_709 = { + sizeof(struct PRACH_Configuration_ExtIEs), + offsetof(struct PRACH_Configuration_ExtIEs, _asn_ctx), + asn_MAP_PRACH_Configuration_ExtIEs_tag2el_709, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PRACH_Configuration_ExtIEs = { + "PRACH-Configuration-ExtIEs", + "PRACH-Configuration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_PRACH_Configuration_ExtIEs_tags_709, + sizeof(asn_DEF_PRACH_Configuration_ExtIEs_tags_709) + /sizeof(asn_DEF_PRACH_Configuration_ExtIEs_tags_709[0]), /* 1 */ + asn_DEF_PRACH_Configuration_ExtIEs_tags_709, /* Same as above */ + sizeof(asn_DEF_PRACH_Configuration_ExtIEs_tags_709) + /sizeof(asn_DEF_PRACH_Configuration_ExtIEs_tags_709[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PRACH_Configuration_ExtIEs_709, + 3, /* Elements count */ + &asn_SPC_PRACH_Configuration_ExtIEs_specs_709 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_716 = { + sizeof(struct PLMNAreaBasedQMC_ExtIEs__extensionValue), + offsetof(struct PLMNAreaBasedQMC_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct PLMNAreaBasedQMC_ExtIEs__extensionValue, present), + sizeof(((struct PLMNAreaBasedQMC_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_716 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_716 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PLMNAreaBasedQMC_ExtIEs_713[] = { + { ATF_NOFLAGS, 0, offsetof(struct PLMNAreaBasedQMC_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_714, memb_id_constraint_713 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct PLMNAreaBasedQMC_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_715, memb_criticality_constraint_713 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct PLMNAreaBasedQMC_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_716, + 0, + { 0, &asn_PER_memb_extensionValue_constr_716, memb_extensionValue_constraint_713 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PLMNAreaBasedQMC_ExtIEs_tag2el_713[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PLMNAreaBasedQMC_ExtIEs_specs_713 = { + sizeof(struct PLMNAreaBasedQMC_ExtIEs), + offsetof(struct PLMNAreaBasedQMC_ExtIEs, _asn_ctx), + asn_MAP_PLMNAreaBasedQMC_ExtIEs_tag2el_713, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PLMNAreaBasedQMC_ExtIEs = { + "PLMNAreaBasedQMC-ExtIEs", + "PLMNAreaBasedQMC-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713, + sizeof(asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713) + /sizeof(asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713[0]), /* 1 */ + asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713, /* Same as above */ + sizeof(asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713) + /sizeof(asn_DEF_PLMNAreaBasedQMC_ExtIEs_tags_713[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_PLMNAreaBasedQMC_ExtIEs_713, + 3, /* Elements count */ + &asn_SPC_PLMNAreaBasedQMC_ExtIEs_specs_713 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_720[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProSeAuthorized_ExtIEs__extensionValue, choice.ProSeUEtoNetworkRelaying), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ProSeUEtoNetworkRelaying, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ProSeUEtoNetworkRelaying" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_720[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* ProSeUEtoNetworkRelaying */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_720 = { + sizeof(struct ProSeAuthorized_ExtIEs__extensionValue), + offsetof(struct ProSeAuthorized_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ProSeAuthorized_ExtIEs__extensionValue, present), + sizeof(((struct ProSeAuthorized_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_720, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_720 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_720, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_720 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProSeAuthorized_ExtIEs_717[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProSeAuthorized_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_718, memb_id_constraint_717 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProSeAuthorized_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ProSeAuthorized_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_719, memb_criticality_constraint_717 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ProSeAuthorized_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_720, + select_ProSeAuthorized_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_720, memb_extensionValue_constraint_717 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProSeAuthorized_ExtIEs_tags_717[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProSeAuthorized_ExtIEs_tag2el_717[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProSeAuthorized_ExtIEs_specs_717 = { + sizeof(struct ProSeAuthorized_ExtIEs), + offsetof(struct ProSeAuthorized_ExtIEs, _asn_ctx), + asn_MAP_ProSeAuthorized_ExtIEs_tag2el_717, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized_ExtIEs = { + "ProSeAuthorized-ExtIEs", + "ProSeAuthorized-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ProSeAuthorized_ExtIEs_tags_717, + sizeof(asn_DEF_ProSeAuthorized_ExtIEs_tags_717) + /sizeof(asn_DEF_ProSeAuthorized_ExtIEs_tags_717[0]), /* 1 */ + asn_DEF_ProSeAuthorized_ExtIEs_tags_717, /* Same as above */ + sizeof(asn_DEF_ProSeAuthorized_ExtIEs_tags_717) + /sizeof(asn_DEF_ProSeAuthorized_ExtIEs_tags_717[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProSeAuthorized_ExtIEs_717, + 3, /* Elements count */ + &asn_SPC_ProSeAuthorized_ExtIEs_specs_717 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_724 = { + sizeof(struct ProtectedEUTRAResourceIndication_ExtIEs__extensionValue), + offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs__extensionValue, present), + sizeof(((struct ProtectedEUTRAResourceIndication_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_724 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_724 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtectedEUTRAResourceIndication_ExtIEs_721[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_722, memb_id_constraint_721 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_723, memb_criticality_constraint_721 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_724, + 0, + { 0, &asn_PER_memb_extensionValue_constr_724, memb_extensionValue_constraint_721 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedEUTRAResourceIndication_ExtIEs_tag2el_721[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProtectedEUTRAResourceIndication_ExtIEs_specs_721 = { + sizeof(struct ProtectedEUTRAResourceIndication_ExtIEs), + offsetof(struct ProtectedEUTRAResourceIndication_ExtIEs, _asn_ctx), + asn_MAP_ProtectedEUTRAResourceIndication_ExtIEs_tag2el_721, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs = { + "ProtectedEUTRAResourceIndication-ExtIEs", + "ProtectedEUTRAResourceIndication-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721, + sizeof(asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721) + /sizeof(asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721[0]), /* 1 */ + asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721, /* Same as above */ + sizeof(asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721) + /sizeof(asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs_tags_721[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedEUTRAResourceIndication_ExtIEs_721, + 3, /* Elements count */ + &asn_SPC_ProtectedEUTRAResourceIndication_ExtIEs_specs_721 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_728 = { + sizeof(struct ProtectedFootprintTimePattern_ExtIEs__extensionValue), + offsetof(struct ProtectedFootprintTimePattern_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ProtectedFootprintTimePattern_ExtIEs__extensionValue, present), + sizeof(((struct ProtectedFootprintTimePattern_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_728 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_728 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtectedFootprintTimePattern_ExtIEs_725[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedFootprintTimePattern_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_726, memb_id_constraint_725 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedFootprintTimePattern_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_727, memb_criticality_constraint_725 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ProtectedFootprintTimePattern_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_728, + 0, + { 0, &asn_PER_memb_extensionValue_constr_728, memb_extensionValue_constraint_725 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedFootprintTimePattern_ExtIEs_tag2el_725[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProtectedFootprintTimePattern_ExtIEs_specs_725 = { + sizeof(struct ProtectedFootprintTimePattern_ExtIEs), + offsetof(struct ProtectedFootprintTimePattern_ExtIEs, _asn_ctx), + asn_MAP_ProtectedFootprintTimePattern_ExtIEs_tag2el_725, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedFootprintTimePattern_ExtIEs = { + "ProtectedFootprintTimePattern-ExtIEs", + "ProtectedFootprintTimePattern-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725, + sizeof(asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725) + /sizeof(asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725[0]), /* 1 */ + asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725, /* Same as above */ + sizeof(asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725) + /sizeof(asn_DEF_ProtectedFootprintTimePattern_ExtIEs_tags_725[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedFootprintTimePattern_ExtIEs_725, + 3, /* Elements count */ + &asn_SPC_ProtectedFootprintTimePattern_ExtIEs_specs_725 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_732 = { + sizeof(struct ProtectedResourceList_Item_ExtIEs__extensionValue), + offsetof(struct ProtectedResourceList_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ProtectedResourceList_Item_ExtIEs__extensionValue, present), + sizeof(((struct ProtectedResourceList_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_732 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_732 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProtectedResourceList_Item_ExtIEs_729[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_730, memb_id_constraint_729 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_731, memb_criticality_constraint_729 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ProtectedResourceList_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_732, + 0, + { 0, &asn_PER_memb_extensionValue_constr_732, memb_extensionValue_constraint_729 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProtectedResourceList_Item_ExtIEs_tag2el_729[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProtectedResourceList_Item_ExtIEs_specs_729 = { + sizeof(struct ProtectedResourceList_Item_ExtIEs), + offsetof(struct ProtectedResourceList_Item_ExtIEs, _asn_ctx), + asn_MAP_ProtectedResourceList_Item_ExtIEs_tag2el_729, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProtectedResourceList_Item_ExtIEs = { + "ProtectedResourceList-Item-ExtIEs", + "ProtectedResourceList-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729, + sizeof(asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729) + /sizeof(asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729[0]), /* 1 */ + asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729, /* Same as above */ + sizeof(asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729) + /sizeof(asn_DEF_ProtectedResourceList_Item_ExtIEs_tags_729[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ProtectedResourceList_Item_ExtIEs_729, + 3, /* Elements count */ + &asn_SPC_ProtectedResourceList_Item_ExtIEs_specs_729 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_736[] = { + { ATF_NOFLAGS, 0, offsetof(struct RadioResourceStatus_ExtIEs__extensionValue, choice.DL_scheduling_PDCCH_CCE_usage), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_DL_scheduling_PDCCH_CCE_usage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DL-scheduling-PDCCH-CCE-usage" + }, + { ATF_NOFLAGS, 0, offsetof(struct RadioResourceStatus_ExtIEs__extensionValue, choice.UL_scheduling_PDCCH_CCE_usage), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UL_scheduling_PDCCH_CCE_usage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UL-scheduling-PDCCH-CCE-usage" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_736[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* DL-scheduling-PDCCH-CCE-usage */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* UL-scheduling-PDCCH-CCE-usage */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_736 = { + sizeof(struct RadioResourceStatus_ExtIEs__extensionValue), + offsetof(struct RadioResourceStatus_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RadioResourceStatus_ExtIEs__extensionValue, present), + sizeof(((struct RadioResourceStatus_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_736, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_736 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_736, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_736 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RadioResourceStatus_ExtIEs_733[] = { + { ATF_NOFLAGS, 0, offsetof(struct RadioResourceStatus_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_734, memb_id_constraint_733 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RadioResourceStatus_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RadioResourceStatus_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_735, memb_criticality_constraint_733 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RadioResourceStatus_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_736, + select_RadioResourceStatus_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_736, memb_extensionValue_constraint_733 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RadioResourceStatus_ExtIEs_tags_733[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RadioResourceStatus_ExtIEs_tag2el_733[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RadioResourceStatus_ExtIEs_specs_733 = { + sizeof(struct RadioResourceStatus_ExtIEs), + offsetof(struct RadioResourceStatus_ExtIEs, _asn_ctx), + asn_MAP_RadioResourceStatus_ExtIEs_tag2el_733, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RadioResourceStatus_ExtIEs = { + "RadioResourceStatus-ExtIEs", + "RadioResourceStatus-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RadioResourceStatus_ExtIEs_tags_733, + sizeof(asn_DEF_RadioResourceStatus_ExtIEs_tags_733) + /sizeof(asn_DEF_RadioResourceStatus_ExtIEs_tags_733[0]), /* 1 */ + asn_DEF_RadioResourceStatus_ExtIEs_tags_733, /* Same as above */ + sizeof(asn_DEF_RadioResourceStatus_ExtIEs_tags_733) + /sizeof(asn_DEF_RadioResourceStatus_ExtIEs_tags_733[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RadioResourceStatus_ExtIEs_733, + 3, /* Elements count */ + &asn_SPC_RadioResourceStatus_ExtIEs_specs_733 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_740[] = { + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower_ExtIEs__extensionValue, choice.EnhancedRNTP), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EnhancedRNTP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EnhancedRNTP" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_740[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* EnhancedRNTP */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_740 = { + sizeof(struct RelativeNarrowbandTxPower_ExtIEs__extensionValue), + offsetof(struct RelativeNarrowbandTxPower_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RelativeNarrowbandTxPower_ExtIEs__extensionValue, present), + sizeof(((struct RelativeNarrowbandTxPower_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_740, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_740 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_740, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_740 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RelativeNarrowbandTxPower_ExtIEs_737[] = { + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_738, memb_id_constraint_737 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RelativeNarrowbandTxPower_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_739, memb_criticality_constraint_737 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_740, + select_RelativeNarrowbandTxPower_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_740, memb_extensionValue_constraint_737 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RelativeNarrowbandTxPower_ExtIEs_tag2el_737[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RelativeNarrowbandTxPower_ExtIEs_specs_737 = { + sizeof(struct RelativeNarrowbandTxPower_ExtIEs), + offsetof(struct RelativeNarrowbandTxPower_ExtIEs, _asn_ctx), + asn_MAP_RelativeNarrowbandTxPower_ExtIEs_tag2el_737, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RelativeNarrowbandTxPower_ExtIEs = { + "RelativeNarrowbandTxPower-ExtIEs", + "RelativeNarrowbandTxPower-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737, + sizeof(asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737) + /sizeof(asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737[0]), /* 1 */ + asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737, /* Same as above */ + sizeof(asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737) + /sizeof(asn_DEF_RelativeNarrowbandTxPower_ExtIEs_tags_737[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RelativeNarrowbandTxPower_ExtIEs_737, + 3, /* Elements count */ + &asn_SPC_RelativeNarrowbandTxPower_ExtIEs_specs_737 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_744 = { + sizeof(struct ReservedSubframePattern_ExtIEs__extensionValue), + offsetof(struct ReservedSubframePattern_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ReservedSubframePattern_ExtIEs__extensionValue, present), + sizeof(((struct ReservedSubframePattern_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_744 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_744 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ReservedSubframePattern_ExtIEs_741[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_742, memb_id_constraint_741 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_743, memb_criticality_constraint_741 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_744, + 0, + { 0, &asn_PER_memb_extensionValue_constr_744, memb_extensionValue_constraint_741 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReservedSubframePattern_ExtIEs_tags_741[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReservedSubframePattern_ExtIEs_tag2el_741[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ReservedSubframePattern_ExtIEs_specs_741 = { + sizeof(struct ReservedSubframePattern_ExtIEs), + offsetof(struct ReservedSubframePattern_ExtIEs, _asn_ctx), + asn_MAP_ReservedSubframePattern_ExtIEs_tag2el_741, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReservedSubframePattern_ExtIEs = { + "ReservedSubframePattern-ExtIEs", + "ReservedSubframePattern-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ReservedSubframePattern_ExtIEs_tags_741, + sizeof(asn_DEF_ReservedSubframePattern_ExtIEs_tags_741) + /sizeof(asn_DEF_ReservedSubframePattern_ExtIEs_tags_741[0]), /* 1 */ + asn_DEF_ReservedSubframePattern_ExtIEs_tags_741, /* Same as above */ + sizeof(asn_DEF_ReservedSubframePattern_ExtIEs_tags_741) + /sizeof(asn_DEF_ReservedSubframePattern_ExtIEs_tags_741[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ReservedSubframePattern_ExtIEs_741, + 3, /* Elements count */ + &asn_SPC_ReservedSubframePattern_ExtIEs_specs_741 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_748 = { + sizeof(struct RLC_Status_ExtIEs__extensionValue), + offsetof(struct RLC_Status_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RLC_Status_ExtIEs__extensionValue, present), + sizeof(((struct RLC_Status_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_748 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_748 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RLC_Status_ExtIEs_745[] = { + { ATF_NOFLAGS, 0, offsetof(struct RLC_Status_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_746, memb_id_constraint_745 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLC_Status_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_747, memb_criticality_constraint_745 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RLC_Status_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_748, + 0, + { 0, &asn_PER_memb_extensionValue_constr_748, memb_extensionValue_constraint_745 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RLC_Status_ExtIEs_tags_745[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RLC_Status_ExtIEs_tag2el_745[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RLC_Status_ExtIEs_specs_745 = { + sizeof(struct RLC_Status_ExtIEs), + offsetof(struct RLC_Status_ExtIEs, _asn_ctx), + asn_MAP_RLC_Status_ExtIEs_tag2el_745, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RLC_Status_ExtIEs = { + "RLC-Status-ExtIEs", + "RLC-Status-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RLC_Status_ExtIEs_tags_745, + sizeof(asn_DEF_RLC_Status_ExtIEs_tags_745) + /sizeof(asn_DEF_RLC_Status_ExtIEs_tags_745[0]), /* 1 */ + asn_DEF_RLC_Status_ExtIEs_tags_745, /* Same as above */ + sizeof(asn_DEF_RLC_Status_ExtIEs_tags_745) + /sizeof(asn_DEF_RLC_Status_ExtIEs_tags_745[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RLC_Status_ExtIEs_745, + 3, /* Elements count */ + &asn_SPC_RLC_Status_ExtIEs_specs_745 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_752 = { + sizeof(struct RSRPMeasurementResult_ExtIEs__extensionValue), + offsetof(struct RSRPMeasurementResult_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RSRPMeasurementResult_ExtIEs__extensionValue, present), + sizeof(((struct RSRPMeasurementResult_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_752 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_752 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RSRPMeasurementResult_ExtIEs_749[] = { + { ATF_NOFLAGS, 0, offsetof(struct RSRPMeasurementResult_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_750, memb_id_constraint_749 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RSRPMeasurementResult_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_751, memb_criticality_constraint_749 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RSRPMeasurementResult_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_752, + 0, + { 0, &asn_PER_memb_extensionValue_constr_752, memb_extensionValue_constraint_749 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RSRPMeasurementResult_ExtIEs_tag2el_749[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RSRPMeasurementResult_ExtIEs_specs_749 = { + sizeof(struct RSRPMeasurementResult_ExtIEs), + offsetof(struct RSRPMeasurementResult_ExtIEs, _asn_ctx), + asn_MAP_RSRPMeasurementResult_ExtIEs_tag2el_749, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RSRPMeasurementResult_ExtIEs = { + "RSRPMeasurementResult-ExtIEs", + "RSRPMeasurementResult-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749, + sizeof(asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749) + /sizeof(asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749[0]), /* 1 */ + asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749, /* Same as above */ + sizeof(asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749) + /sizeof(asn_DEF_RSRPMeasurementResult_ExtIEs_tags_749[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RSRPMeasurementResult_ExtIEs_749, + 3, /* Elements count */ + &asn_SPC_RSRPMeasurementResult_ExtIEs_specs_749 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_756[] = { + { ATF_NOFLAGS, 0, offsetof(struct RSRPMRList_ExtIEs__extensionValue, choice.UEID), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_UEID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_756[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* UEID */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_756 = { + sizeof(struct RSRPMRList_ExtIEs__extensionValue), + offsetof(struct RSRPMRList_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct RSRPMRList_ExtIEs__extensionValue, present), + sizeof(((struct RSRPMRList_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_756, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_756 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_756, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_756 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RSRPMRList_ExtIEs_753[] = { + { ATF_NOFLAGS, 0, offsetof(struct RSRPMRList_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_754, memb_id_constraint_753 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RSRPMRList_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RSRPMRList_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_755, memb_criticality_constraint_753 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RSRPMRList_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_756, + select_RSRPMRList_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_756, memb_extensionValue_constraint_753 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_RSRPMRList_ExtIEs_tags_753[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RSRPMRList_ExtIEs_tag2el_753[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RSRPMRList_ExtIEs_specs_753 = { + sizeof(struct RSRPMRList_ExtIEs), + offsetof(struct RSRPMRList_ExtIEs, _asn_ctx), + asn_MAP_RSRPMRList_ExtIEs_tag2el_753, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RSRPMRList_ExtIEs = { + "RSRPMRList-ExtIEs", + "RSRPMRList-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_RSRPMRList_ExtIEs_tags_753, + sizeof(asn_DEF_RSRPMRList_ExtIEs_tags_753) + /sizeof(asn_DEF_RSRPMRList_ExtIEs_tags_753[0]), /* 1 */ + asn_DEF_RSRPMRList_ExtIEs_tags_753, /* Same as above */ + sizeof(asn_DEF_RSRPMRList_ExtIEs_tags_753) + /sizeof(asn_DEF_RSRPMRList_ExtIEs_tags_753[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RSRPMRList_ExtIEs_753, + 3, /* Elements count */ + &asn_SPC_RSRPMRList_ExtIEs_specs_753 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_760 = { + sizeof(struct S1TNLLoadIndicator_ExtIEs__extensionValue), + offsetof(struct S1TNLLoadIndicator_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct S1TNLLoadIndicator_ExtIEs__extensionValue, present), + sizeof(((struct S1TNLLoadIndicator_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_760 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_760 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_S1TNLLoadIndicator_ExtIEs_757[] = { + { ATF_NOFLAGS, 0, offsetof(struct S1TNLLoadIndicator_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_758, memb_id_constraint_757 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct S1TNLLoadIndicator_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_759, memb_criticality_constraint_757 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct S1TNLLoadIndicator_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_760, + 0, + { 0, &asn_PER_memb_extensionValue_constr_760, memb_extensionValue_constraint_757 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_S1TNLLoadIndicator_ExtIEs_tag2el_757[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_S1TNLLoadIndicator_ExtIEs_specs_757 = { + sizeof(struct S1TNLLoadIndicator_ExtIEs), + offsetof(struct S1TNLLoadIndicator_ExtIEs, _asn_ctx), + asn_MAP_S1TNLLoadIndicator_ExtIEs_tag2el_757, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_S1TNLLoadIndicator_ExtIEs = { + "S1TNLLoadIndicator-ExtIEs", + "S1TNLLoadIndicator-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757, + sizeof(asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757) + /sizeof(asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757[0]), /* 1 */ + asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757, /* Same as above */ + sizeof(asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757) + /sizeof(asn_DEF_S1TNLLoadIndicator_ExtIEs_tags_757[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_S1TNLLoadIndicator_ExtIEs_757, + 3, /* Elements count */ + &asn_SPC_S1TNLLoadIndicator_ExtIEs_specs_757 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_764 = { + sizeof(struct SecondaryRATUsageReport_Item_ExtIEs__extensionValue), + offsetof(struct SecondaryRATUsageReport_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SecondaryRATUsageReport_Item_ExtIEs__extensionValue, present), + sizeof(((struct SecondaryRATUsageReport_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_764 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_764 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SecondaryRATUsageReport_Item_ExtIEs_761[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_762, memb_id_constraint_761 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_763, memb_criticality_constraint_761 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_764, + 0, + { 0, &asn_PER_memb_extensionValue_constr_764, memb_extensionValue_constraint_761 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SecondaryRATUsageReport_Item_ExtIEs_tag2el_761[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATUsageReport_Item_ExtIEs_specs_761 = { + sizeof(struct SecondaryRATUsageReport_Item_ExtIEs), + offsetof(struct SecondaryRATUsageReport_Item_ExtIEs, _asn_ctx), + asn_MAP_SecondaryRATUsageReport_Item_ExtIEs_tag2el_761, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_Item_ExtIEs = { + "SecondaryRATUsageReport-Item-ExtIEs", + "SecondaryRATUsageReport-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761, + sizeof(asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761) + /sizeof(asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761[0]), /* 1 */ + asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761, /* Same as above */ + sizeof(asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761) + /sizeof(asn_DEF_SecondaryRATUsageReport_Item_ExtIEs_tags_761[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SecondaryRATUsageReport_Item_ExtIEs_761, + 3, /* Elements count */ + &asn_SPC_SecondaryRATUsageReport_Item_ExtIEs_specs_761 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_768 = { + sizeof(struct ServedCell_ExtIEs__extensionValue), + offsetof(struct ServedCell_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedCell_ExtIEs__extensionValue, present), + sizeof(((struct ServedCell_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_768 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_768 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedCell_ExtIEs_765[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_766, memb_id_constraint_765 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_767, memb_criticality_constraint_765 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedCell_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_768, + 0, + { 0, &asn_PER_memb_extensionValue_constr_768, memb_extensionValue_constraint_765 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCell_ExtIEs_tags_765[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedCell_ExtIEs_tag2el_765[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedCell_ExtIEs_specs_765 = { + sizeof(struct ServedCell_ExtIEs), + offsetof(struct ServedCell_ExtIEs, _asn_ctx), + asn_MAP_ServedCell_ExtIEs_tag2el_765, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCell_ExtIEs = { + "ServedCell-ExtIEs", + "ServedCell-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedCell_ExtIEs_tags_765, + sizeof(asn_DEF_ServedCell_ExtIEs_tags_765) + /sizeof(asn_DEF_ServedCell_ExtIEs_tags_765[0]), /* 1 */ + asn_DEF_ServedCell_ExtIEs_tags_765, /* Same as above */ + sizeof(asn_DEF_ServedCell_ExtIEs_tags_765) + /sizeof(asn_DEF_ServedCell_ExtIEs_tags_765[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedCell_ExtIEs_765, + 3, /* Elements count */ + &asn_SPC_ServedCell_ExtIEs_specs_765 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_772[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.Number_of_Antennaports), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_Number_of_Antennaports, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Number-of-Antennaports" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.PRACH_Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PRACH_Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PRACH-Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.MBSFN_Subframe_Infolist), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MBSFN_Subframe_Infolist, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MBSFN-Subframe-Infolist" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.CSG_Id), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_CSG_Id, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CSG-Id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.MBMS_Service_Area_Identity_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MBMS_Service_Area_Identity_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MBMS-Service-Area-Identity-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.MultibandInfoList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MultibandInfoList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MultibandInfoList" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.FreqBandIndicatorPriority), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_FreqBandIndicatorPriority, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "FreqBandIndicatorPriority" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.BandwidthReducedSI), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_BandwidthReducedSI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "BandwidthReducedSI" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs__extensionValue, choice.ProtectedEUTRAResourceIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtectedEUTRAResourceIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ProtectedEUTRAResourceIndication" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_772[] = { 3, 0, 6, 7, 1, 2, 4, 5, 8 }; +static const unsigned asn_MAP_extensionValue_from_canonical_772[] = { 1, 4, 5, 0, 6, 7, 2, 3, 8 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_772[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 3, 0, 0 }, /* CSG-Id */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 2 }, /* Number-of-Antennaports */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 6, -1, 1 }, /* FreqBandIndicatorPriority */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 7, -2, 0 }, /* BandwidthReducedSI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 4 }, /* PRACH-Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 3 }, /* MBSFN-Subframe-Infolist */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 2 }, /* MBMS-Service-Area-Identity-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -3, 1 }, /* MultibandInfoList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -4, 0 } /* ProtectedEUTRAResourceIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_772 = { + sizeof(struct ServedCell_Information_ExtIEs__extensionValue), + offsetof(struct ServedCell_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ServedCell_Information_ExtIEs__extensionValue, present), + sizeof(((struct ServedCell_Information_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_772, + 9, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_772, + asn_MAP_extensionValue_from_canonical_772, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_772 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_772, + 9, /* Elements count */ + &asn_SPC_extensionValue_specs_772 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedCell_Information_ExtIEs_769[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_770, memb_id_constraint_769 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ServedCell_Information_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_771, memb_criticality_constraint_769 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ServedCell_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_772, + select_ServedCell_Information_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_772, memb_extensionValue_constraint_769 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCell_Information_ExtIEs_tags_769[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedCell_Information_ExtIEs_tag2el_769[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedCell_Information_ExtIEs_specs_769 = { + sizeof(struct ServedCell_Information_ExtIEs), + offsetof(struct ServedCell_Information_ExtIEs, _asn_ctx), + asn_MAP_ServedCell_Information_ExtIEs_tag2el_769, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCell_Information_ExtIEs = { + "ServedCell-Information-ExtIEs", + "ServedCell-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ServedCell_Information_ExtIEs_tags_769, + sizeof(asn_DEF_ServedCell_Information_ExtIEs_tags_769) + /sizeof(asn_DEF_ServedCell_Information_ExtIEs_tags_769[0]), /* 1 */ + asn_DEF_ServedCell_Information_ExtIEs_tags_769, /* Same as above */ + sizeof(asn_DEF_ServedCell_Information_ExtIEs_tags_769) + /sizeof(asn_DEF_ServedCell_Information_ExtIEs_tags_769[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedCell_Information_ExtIEs_769, + 3, /* Elements count */ + &asn_SPC_ServedCell_Information_ExtIEs_specs_769 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_776[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformationExtIEs__extensionValue, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformationExtIEs__extensionValue, choice.SgNBCoordinationAssistanceInformation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SgNBCoordinationAssistanceInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBCoordinationAssistanceInformation" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_776[] = { 1, 0 }; +static const unsigned asn_MAP_extensionValue_from_canonical_776[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_776[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* SgNBCoordinationAssistanceInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* ECGI */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_776 = { + sizeof(struct SgNBResourceCoordinationInformationExtIEs__extensionValue), + offsetof(struct SgNBResourceCoordinationInformationExtIEs__extensionValue, _asn_ctx), + offsetof(struct SgNBResourceCoordinationInformationExtIEs__extensionValue, present), + sizeof(((struct SgNBResourceCoordinationInformationExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_776, + 2, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_776, + asn_MAP_extensionValue_from_canonical_776, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_776 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_776, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_776 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBResourceCoordinationInformationExtIEs_773[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformationExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_774, memb_id_constraint_773 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformationExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBResourceCoordinationInformationExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_775, memb_criticality_constraint_773 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformationExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_776, + select_SgNBResourceCoordinationInformationExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_776, memb_extensionValue_constraint_773 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBResourceCoordinationInformationExtIEs_tag2el_773[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBResourceCoordinationInformationExtIEs_specs_773 = { + sizeof(struct SgNBResourceCoordinationInformationExtIEs), + offsetof(struct SgNBResourceCoordinationInformationExtIEs, _asn_ctx), + asn_MAP_SgNBResourceCoordinationInformationExtIEs_tag2el_773, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBResourceCoordinationInformationExtIEs = { + "SgNBResourceCoordinationInformationExtIEs", + "SgNBResourceCoordinationInformationExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773, + sizeof(asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773) + /sizeof(asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773[0]), /* 1 */ + asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773, /* Same as above */ + sizeof(asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773) + /sizeof(asn_DEF_SgNBResourceCoordinationInformationExtIEs_tags_773[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBResourceCoordinationInformationExtIEs_773, + 3, /* Elements count */ + &asn_SPC_SgNBResourceCoordinationInformationExtIEs_specs_773 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_780 = { + sizeof(struct SpecialSubframe_Info_ExtIEs__extensionValue), + offsetof(struct SpecialSubframe_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SpecialSubframe_Info_ExtIEs__extensionValue, present), + sizeof(((struct SpecialSubframe_Info_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_780 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_780 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SpecialSubframe_Info_ExtIEs_777[] = { + { ATF_NOFLAGS, 0, offsetof(struct SpecialSubframe_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_778, memb_id_constraint_777 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SpecialSubframe_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_779, memb_criticality_constraint_777 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SpecialSubframe_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_780, + 0, + { 0, &asn_PER_memb_extensionValue_constr_780, memb_extensionValue_constraint_777 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SpecialSubframe_Info_ExtIEs_tag2el_777[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SpecialSubframe_Info_ExtIEs_specs_777 = { + sizeof(struct SpecialSubframe_Info_ExtIEs), + offsetof(struct SpecialSubframe_Info_ExtIEs, _asn_ctx), + asn_MAP_SpecialSubframe_Info_ExtIEs_tag2el_777, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SpecialSubframe_Info_ExtIEs = { + "SpecialSubframe-Info-ExtIEs", + "SpecialSubframe-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777, + sizeof(asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777) + /sizeof(asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777[0]), /* 1 */ + asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777, /* Same as above */ + sizeof(asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777) + /sizeof(asn_DEF_SpecialSubframe_Info_ExtIEs_tags_777[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SpecialSubframe_Info_ExtIEs_777, + 3, /* Elements count */ + &asn_SPC_SpecialSubframe_Info_ExtIEs_specs_777 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_784 = { + sizeof(struct SubbandCQI_ExtIEs__extensionValue), + offsetof(struct SubbandCQI_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SubbandCQI_ExtIEs__extensionValue, present), + sizeof(((struct SubbandCQI_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_784 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_784 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SubbandCQI_ExtIEs_781[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQI_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_782, memb_id_constraint_781 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQI_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_783, memb_criticality_constraint_781 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SubbandCQI_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_784, + 0, + { 0, &asn_PER_memb_extensionValue_constr_784, memb_extensionValue_constraint_781 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SubbandCQI_ExtIEs_tags_781[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SubbandCQI_ExtIEs_tag2el_781[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SubbandCQI_ExtIEs_specs_781 = { + sizeof(struct SubbandCQI_ExtIEs), + offsetof(struct SubbandCQI_ExtIEs, _asn_ctx), + asn_MAP_SubbandCQI_ExtIEs_tag2el_781, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQI_ExtIEs = { + "SubbandCQI-ExtIEs", + "SubbandCQI-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SubbandCQI_ExtIEs_tags_781, + sizeof(asn_DEF_SubbandCQI_ExtIEs_tags_781) + /sizeof(asn_DEF_SubbandCQI_ExtIEs_tags_781[0]), /* 1 */ + asn_DEF_SubbandCQI_ExtIEs_tags_781, /* Same as above */ + sizeof(asn_DEF_SubbandCQI_ExtIEs_tags_781) + /sizeof(asn_DEF_SubbandCQI_ExtIEs_tags_781[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SubbandCQI_ExtIEs_781, + 3, /* Elements count */ + &asn_SPC_SubbandCQI_ExtIEs_specs_781 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_788 = { + sizeof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue), + offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue, present), + sizeof(((struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_788 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_788 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Subscription_Based_UE_DifferentiationInfo_ExtIEs_785[] = { + { ATF_NOFLAGS, 0, offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_786, memb_id_constraint_785 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_787, memb_criticality_constraint_785 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_788, + 0, + { 0, &asn_PER_memb_extensionValue_constr_788, memb_extensionValue_constraint_785 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tag2el_785[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Subscription_Based_UE_DifferentiationInfo_ExtIEs_specs_785 = { + sizeof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs), + offsetof(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs, _asn_ctx), + asn_MAP_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tag2el_785, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs = { + "Subscription-Based-UE-DifferentiationInfo-ExtIEs", + "Subscription-Based-UE-DifferentiationInfo-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785, + sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785) + /sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785[0]), /* 1 */ + asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785, /* Same as above */ + sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785) + /sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs_tags_785[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Subscription_Based_UE_DifferentiationInfo_ExtIEs_785, + 3, /* Elements count */ + &asn_SPC_Subscription_Based_UE_DifferentiationInfo_ExtIEs_specs_785 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_792 = { + sizeof(struct ScheduledCommunicationTime_ExtIEs__extensionValue), + offsetof(struct ScheduledCommunicationTime_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ScheduledCommunicationTime_ExtIEs__extensionValue, present), + sizeof(((struct ScheduledCommunicationTime_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_792 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_792 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_ExtIEs_789[] = { + { ATF_NOFLAGS, 0, offsetof(struct ScheduledCommunicationTime_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_790, memb_id_constraint_789 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ScheduledCommunicationTime_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_791, memb_criticality_constraint_789 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ScheduledCommunicationTime_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_792, + 0, + { 0, &asn_PER_memb_extensionValue_constr_792, memb_extensionValue_constraint_789 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ScheduledCommunicationTime_ExtIEs_tag2el_789[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_ExtIEs_specs_789 = { + sizeof(struct ScheduledCommunicationTime_ExtIEs), + offsetof(struct ScheduledCommunicationTime_ExtIEs, _asn_ctx), + asn_MAP_ScheduledCommunicationTime_ExtIEs_tag2el_789, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime_ExtIEs = { + "ScheduledCommunicationTime-ExtIEs", + "ScheduledCommunicationTime-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789, + sizeof(asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789) + /sizeof(asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789[0]), /* 1 */ + asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789, /* Same as above */ + sizeof(asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789) + /sizeof(asn_DEF_ScheduledCommunicationTime_ExtIEs_tags_789[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ScheduledCommunicationTime_ExtIEs_789, + 3, /* Elements count */ + &asn_SPC_ScheduledCommunicationTime_ExtIEs_specs_789 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_796 = { + sizeof(struct SubbandCQIItem_ExtIEs__extensionValue), + offsetof(struct SubbandCQIItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SubbandCQIItem_ExtIEs__extensionValue, present), + sizeof(((struct SubbandCQIItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_796 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_796 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SubbandCQIItem_ExtIEs_793[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQIItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_794, memb_id_constraint_793 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQIItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_795, memb_criticality_constraint_793 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SubbandCQIItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_796, + 0, + { 0, &asn_PER_memb_extensionValue_constr_796, memb_extensionValue_constraint_793 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SubbandCQIItem_ExtIEs_tags_793[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SubbandCQIItem_ExtIEs_tag2el_793[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SubbandCQIItem_ExtIEs_specs_793 = { + sizeof(struct SubbandCQIItem_ExtIEs), + offsetof(struct SubbandCQIItem_ExtIEs, _asn_ctx), + asn_MAP_SubbandCQIItem_ExtIEs_tag2el_793, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQIItem_ExtIEs = { + "SubbandCQIItem-ExtIEs", + "SubbandCQIItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SubbandCQIItem_ExtIEs_tags_793, + sizeof(asn_DEF_SubbandCQIItem_ExtIEs_tags_793) + /sizeof(asn_DEF_SubbandCQIItem_ExtIEs_tags_793[0]), /* 1 */ + asn_DEF_SubbandCQIItem_ExtIEs_tags_793, /* Same as above */ + sizeof(asn_DEF_SubbandCQIItem_ExtIEs_tags_793) + /sizeof(asn_DEF_SubbandCQIItem_ExtIEs_tags_793[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SubbandCQIItem_ExtIEs_793, + 3, /* Elements count */ + &asn_SPC_SubbandCQIItem_ExtIEs_specs_793 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_800 = { + sizeof(struct SULInformation_ExtIEs__extensionValue), + offsetof(struct SULInformation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SULInformation_ExtIEs__extensionValue, present), + sizeof(((struct SULInformation_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_800 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_800 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SULInformation_ExtIEs_797[] = { + { ATF_NOFLAGS, 0, offsetof(struct SULInformation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_798, memb_id_constraint_797 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SULInformation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_799, memb_criticality_constraint_797 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SULInformation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_800, + 0, + { 0, &asn_PER_memb_extensionValue_constr_800, memb_extensionValue_constraint_797 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SULInformation_ExtIEs_tags_797[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SULInformation_ExtIEs_tag2el_797[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SULInformation_ExtIEs_specs_797 = { + sizeof(struct SULInformation_ExtIEs), + offsetof(struct SULInformation_ExtIEs, _asn_ctx), + asn_MAP_SULInformation_ExtIEs_tag2el_797, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SULInformation_ExtIEs = { + "SULInformation-ExtIEs", + "SULInformation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SULInformation_ExtIEs_tags_797, + sizeof(asn_DEF_SULInformation_ExtIEs_tags_797) + /sizeof(asn_DEF_SULInformation_ExtIEs_tags_797[0]), /* 1 */ + asn_DEF_SULInformation_ExtIEs_tags_797, /* Same as above */ + sizeof(asn_DEF_SULInformation_ExtIEs_tags_797) + /sizeof(asn_DEF_SULInformation_ExtIEs_tags_797[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SULInformation_ExtIEs_797, + 3, /* Elements count */ + &asn_SPC_SULInformation_ExtIEs_specs_797 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_804 = { + sizeof(struct SupportedSULFreqBandItem_ExtIEs__extensionValue), + offsetof(struct SupportedSULFreqBandItem_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct SupportedSULFreqBandItem_ExtIEs__extensionValue, present), + sizeof(((struct SupportedSULFreqBandItem_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_804 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_804 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_ExtIEs_801[] = { + { ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_802, memb_id_constraint_801 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_803, memb_criticality_constraint_801 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_804, + 0, + { 0, &asn_PER_memb_extensionValue_constr_804, memb_extensionValue_constraint_801 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SupportedSULFreqBandItem_ExtIEs_tag2el_801[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_ExtIEs_specs_801 = { + sizeof(struct SupportedSULFreqBandItem_ExtIEs), + offsetof(struct SupportedSULFreqBandItem_ExtIEs, _asn_ctx), + asn_MAP_SupportedSULFreqBandItem_ExtIEs_tag2el_801, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem_ExtIEs = { + "SupportedSULFreqBandItem-ExtIEs", + "SupportedSULFreqBandItem-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801, + sizeof(asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801) + /sizeof(asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801[0]), /* 1 */ + asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801, /* Same as above */ + sizeof(asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801) + /sizeof(asn_DEF_SupportedSULFreqBandItem_ExtIEs_tags_801[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SupportedSULFreqBandItem_ExtIEs_801, + 3, /* Elements count */ + &asn_SPC_SupportedSULFreqBandItem_ExtIEs_specs_801 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_808 = { + sizeof(struct TABasedMDT_ExtIEs__extensionValue), + offsetof(struct TABasedMDT_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TABasedMDT_ExtIEs__extensionValue, present), + sizeof(((struct TABasedMDT_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_808 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_808 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TABasedMDT_ExtIEs_805[] = { + { ATF_NOFLAGS, 0, offsetof(struct TABasedMDT_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_806, memb_id_constraint_805 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TABasedMDT_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_807, memb_criticality_constraint_805 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TABasedMDT_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_808, + 0, + { 0, &asn_PER_memb_extensionValue_constr_808, memb_extensionValue_constraint_805 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TABasedMDT_ExtIEs_tags_805[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TABasedMDT_ExtIEs_tag2el_805[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TABasedMDT_ExtIEs_specs_805 = { + sizeof(struct TABasedMDT_ExtIEs), + offsetof(struct TABasedMDT_ExtIEs, _asn_ctx), + asn_MAP_TABasedMDT_ExtIEs_tag2el_805, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TABasedMDT_ExtIEs = { + "TABasedMDT-ExtIEs", + "TABasedMDT-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TABasedMDT_ExtIEs_tags_805, + sizeof(asn_DEF_TABasedMDT_ExtIEs_tags_805) + /sizeof(asn_DEF_TABasedMDT_ExtIEs_tags_805[0]), /* 1 */ + asn_DEF_TABasedMDT_ExtIEs_tags_805, /* Same as above */ + sizeof(asn_DEF_TABasedMDT_ExtIEs_tags_805) + /sizeof(asn_DEF_TABasedMDT_ExtIEs_tags_805[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TABasedMDT_ExtIEs_805, + 3, /* Elements count */ + &asn_SPC_TABasedMDT_ExtIEs_specs_805 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_812 = { + sizeof(struct TAIBasedMDT_ExtIEs__extensionValue), + offsetof(struct TAIBasedMDT_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TAIBasedMDT_ExtIEs__extensionValue, present), + sizeof(((struct TAIBasedMDT_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_812 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_812 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TAIBasedMDT_ExtIEs_809[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedMDT_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_810, memb_id_constraint_809 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedMDT_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_811, memb_criticality_constraint_809 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TAIBasedMDT_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_812, + 0, + { 0, &asn_PER_memb_extensionValue_constr_812, memb_extensionValue_constraint_809 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAIBasedMDT_ExtIEs_tags_809[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAIBasedMDT_ExtIEs_tag2el_809[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_ExtIEs_specs_809 = { + sizeof(struct TAIBasedMDT_ExtIEs), + offsetof(struct TAIBasedMDT_ExtIEs, _asn_ctx), + asn_MAP_TAIBasedMDT_ExtIEs_tag2el_809, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT_ExtIEs = { + "TAIBasedMDT-ExtIEs", + "TAIBasedMDT-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TAIBasedMDT_ExtIEs_tags_809, + sizeof(asn_DEF_TAIBasedMDT_ExtIEs_tags_809) + /sizeof(asn_DEF_TAIBasedMDT_ExtIEs_tags_809[0]), /* 1 */ + asn_DEF_TAIBasedMDT_ExtIEs_tags_809, /* Same as above */ + sizeof(asn_DEF_TAIBasedMDT_ExtIEs_tags_809) + /sizeof(asn_DEF_TAIBasedMDT_ExtIEs_tags_809[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAIBasedMDT_ExtIEs_809, + 3, /* Elements count */ + &asn_SPC_TAIBasedMDT_ExtIEs_specs_809 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_816 = { + sizeof(struct TAI_Item_ExtIEs__extensionValue), + offsetof(struct TAI_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TAI_Item_ExtIEs__extensionValue, present), + sizeof(((struct TAI_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_816 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_816 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TAI_Item_ExtIEs_813[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAI_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_814, memb_id_constraint_813 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TAI_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_815, memb_criticality_constraint_813 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TAI_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_816, + 0, + { 0, &asn_PER_memb_extensionValue_constr_816, memb_extensionValue_constraint_813 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAI_Item_ExtIEs_tags_813[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAI_Item_ExtIEs_tag2el_813[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAI_Item_ExtIEs_specs_813 = { + sizeof(struct TAI_Item_ExtIEs), + offsetof(struct TAI_Item_ExtIEs, _asn_ctx), + asn_MAP_TAI_Item_ExtIEs_tag2el_813, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAI_Item_ExtIEs = { + "TAI-Item-ExtIEs", + "TAI-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TAI_Item_ExtIEs_tags_813, + sizeof(asn_DEF_TAI_Item_ExtIEs_tags_813) + /sizeof(asn_DEF_TAI_Item_ExtIEs_tags_813[0]), /* 1 */ + asn_DEF_TAI_Item_ExtIEs_tags_813, /* Same as above */ + sizeof(asn_DEF_TAI_Item_ExtIEs_tags_813) + /sizeof(asn_DEF_TAI_Item_ExtIEs_tags_813[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAI_Item_ExtIEs_813, + 3, /* Elements count */ + &asn_SPC_TAI_Item_ExtIEs_specs_813 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_820 = { + sizeof(struct TABasedQMC_ExtIEs__extensionValue), + offsetof(struct TABasedQMC_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TABasedQMC_ExtIEs__extensionValue, present), + sizeof(((struct TABasedQMC_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_820 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_820 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TABasedQMC_ExtIEs_817[] = { + { ATF_NOFLAGS, 0, offsetof(struct TABasedQMC_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_818, memb_id_constraint_817 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TABasedQMC_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_819, memb_criticality_constraint_817 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TABasedQMC_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_820, + 0, + { 0, &asn_PER_memb_extensionValue_constr_820, memb_extensionValue_constraint_817 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TABasedQMC_ExtIEs_tags_817[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TABasedQMC_ExtIEs_tag2el_817[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TABasedQMC_ExtIEs_specs_817 = { + sizeof(struct TABasedQMC_ExtIEs), + offsetof(struct TABasedQMC_ExtIEs, _asn_ctx), + asn_MAP_TABasedQMC_ExtIEs_tag2el_817, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TABasedQMC_ExtIEs = { + "TABasedQMC-ExtIEs", + "TABasedQMC-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TABasedQMC_ExtIEs_tags_817, + sizeof(asn_DEF_TABasedQMC_ExtIEs_tags_817) + /sizeof(asn_DEF_TABasedQMC_ExtIEs_tags_817[0]), /* 1 */ + asn_DEF_TABasedQMC_ExtIEs_tags_817, /* Same as above */ + sizeof(asn_DEF_TABasedQMC_ExtIEs_tags_817) + /sizeof(asn_DEF_TABasedQMC_ExtIEs_tags_817[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TABasedQMC_ExtIEs_817, + 3, /* Elements count */ + &asn_SPC_TABasedQMC_ExtIEs_specs_817 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_824 = { + sizeof(struct TAIBasedQMC_ExtIEs__extensionValue), + offsetof(struct TAIBasedQMC_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TAIBasedQMC_ExtIEs__extensionValue, present), + sizeof(((struct TAIBasedQMC_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_824 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_824 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TAIBasedQMC_ExtIEs_821[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedQMC_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_822, memb_id_constraint_821 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedQMC_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_823, memb_criticality_constraint_821 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TAIBasedQMC_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_824, + 0, + { 0, &asn_PER_memb_extensionValue_constr_824, memb_extensionValue_constraint_821 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAIBasedQMC_ExtIEs_tags_821[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAIBasedQMC_ExtIEs_tag2el_821[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_ExtIEs_specs_821 = { + sizeof(struct TAIBasedQMC_ExtIEs), + offsetof(struct TAIBasedQMC_ExtIEs, _asn_ctx), + asn_MAP_TAIBasedQMC_ExtIEs_tag2el_821, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC_ExtIEs = { + "TAIBasedQMC-ExtIEs", + "TAIBasedQMC-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TAIBasedQMC_ExtIEs_tags_821, + sizeof(asn_DEF_TAIBasedQMC_ExtIEs_tags_821) + /sizeof(asn_DEF_TAIBasedQMC_ExtIEs_tags_821[0]), /* 1 */ + asn_DEF_TAIBasedQMC_ExtIEs_tags_821, /* Same as above */ + sizeof(asn_DEF_TAIBasedQMC_ExtIEs_tags_821) + /sizeof(asn_DEF_TAIBasedQMC_ExtIEs_tags_821[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAIBasedQMC_ExtIEs_821, + 3, /* Elements count */ + &asn_SPC_TAIBasedQMC_ExtIEs_specs_821 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_828[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs__extensionValue, choice.AdditionalSpecialSubframe_Info), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AdditionalSpecialSubframe_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "AdditionalSpecialSubframe-Info" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs__extensionValue, choice.EARFCNExtension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_EARFCNExtension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EARFCNExtension" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs__extensionValue, choice.AdditionalSpecialSubframeExtension_Info), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AdditionalSpecialSubframeExtension_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "AdditionalSpecialSubframeExtension-Info" + }, +}; +static const unsigned asn_MAP_extensionValue_to_canonical_828[] = { 1, 0, 2 }; +static const unsigned asn_MAP_extensionValue_from_canonical_828[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_828[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* EARFCNExtension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* AdditionalSpecialSubframe-Info */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* AdditionalSpecialSubframeExtension-Info */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_828 = { + sizeof(struct TDD_Info_ExtIEs__extensionValue), + offsetof(struct TDD_Info_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TDD_Info_ExtIEs__extensionValue, present), + sizeof(((struct TDD_Info_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_828, + 3, /* Count of tags in the map */ + asn_MAP_extensionValue_to_canonical_828, + asn_MAP_extensionValue_from_canonical_828, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_828 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_828, + 3, /* Elements count */ + &asn_SPC_extensionValue_specs_828 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TDD_Info_ExtIEs_825[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_826, memb_id_constraint_825 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_TDD_Info_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_827, memb_criticality_constraint_825 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TDD_Info_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_828, + select_TDD_Info_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_828, memb_extensionValue_constraint_825 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TDD_Info_ExtIEs_tags_825[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_Info_ExtIEs_tag2el_825[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_Info_ExtIEs_specs_825 = { + sizeof(struct TDD_Info_ExtIEs), + offsetof(struct TDD_Info_ExtIEs, _asn_ctx), + asn_MAP_TDD_Info_ExtIEs_tag2el_825, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_Info_ExtIEs = { + "TDD-Info-ExtIEs", + "TDD-Info-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TDD_Info_ExtIEs_tags_825, + sizeof(asn_DEF_TDD_Info_ExtIEs_tags_825) + /sizeof(asn_DEF_TDD_Info_ExtIEs_tags_825[0]), /* 1 */ + asn_DEF_TDD_Info_ExtIEs_tags_825, /* Same as above */ + sizeof(asn_DEF_TDD_Info_ExtIEs_tags_825) + /sizeof(asn_DEF_TDD_Info_ExtIEs_tags_825[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_Info_ExtIEs_825, + 3, /* Elements count */ + &asn_SPC_TDD_Info_ExtIEs_specs_825 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_832[] = { + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation_ExtIEs__extensionValue, choice.MDT_Configuration), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MDT_Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MDT-Configuration" + }, + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation_ExtIEs__extensionValue, choice.UEAppLayerMeasConfig), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEAppLayerMeasConfig, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEAppLayerMeasConfig" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_832[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* MDT-Configuration */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* UEAppLayerMeasConfig */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_832 = { + sizeof(struct TraceActivation_ExtIEs__extensionValue), + offsetof(struct TraceActivation_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct TraceActivation_ExtIEs__extensionValue, present), + sizeof(((struct TraceActivation_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_832, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_832 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_832, + 2, /* Elements count */ + &asn_SPC_extensionValue_specs_832 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TraceActivation_ExtIEs_829[] = { + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_830, memb_id_constraint_829 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_TraceActivation_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_831, memb_criticality_constraint_829 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TraceActivation_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_832, + select_TraceActivation_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_832, memb_extensionValue_constraint_829 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_TraceActivation_ExtIEs_tags_829[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TraceActivation_ExtIEs_tag2el_829[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TraceActivation_ExtIEs_specs_829 = { + sizeof(struct TraceActivation_ExtIEs), + offsetof(struct TraceActivation_ExtIEs, _asn_ctx), + asn_MAP_TraceActivation_ExtIEs_tag2el_829, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TraceActivation_ExtIEs = { + "TraceActivation-ExtIEs", + "TraceActivation-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_TraceActivation_ExtIEs_tags_829, + sizeof(asn_DEF_TraceActivation_ExtIEs_tags_829) + /sizeof(asn_DEF_TraceActivation_ExtIEs_tags_829[0]), /* 1 */ + asn_DEF_TraceActivation_ExtIEs_tags_829, /* Same as above */ + sizeof(asn_DEF_TraceActivation_ExtIEs_tags_829) + /sizeof(asn_DEF_TraceActivation_ExtIEs_tags_829[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TraceActivation_ExtIEs_829, + 3, /* Elements count */ + &asn_SPC_TraceActivation_ExtIEs_specs_829 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_836 = { + sizeof(struct Tunnel_Information_ExtIEs__extensionValue), + offsetof(struct Tunnel_Information_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct Tunnel_Information_ExtIEs__extensionValue, present), + sizeof(((struct Tunnel_Information_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_836 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_836 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Tunnel_Information_ExtIEs_833[] = { + { ATF_NOFLAGS, 0, offsetof(struct Tunnel_Information_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_834, memb_id_constraint_833 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct Tunnel_Information_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_835, memb_criticality_constraint_833 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Tunnel_Information_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_836, + 0, + { 0, &asn_PER_memb_extensionValue_constr_836, memb_extensionValue_constraint_833 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Tunnel_Information_ExtIEs_tags_833[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Tunnel_Information_ExtIEs_tag2el_833[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Tunnel_Information_ExtIEs_specs_833 = { + sizeof(struct Tunnel_Information_ExtIEs), + offsetof(struct Tunnel_Information_ExtIEs, _asn_ctx), + asn_MAP_Tunnel_Information_ExtIEs_tag2el_833, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Tunnel_Information_ExtIEs = { + "Tunnel-Information-ExtIEs", + "Tunnel-Information-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_Tunnel_Information_ExtIEs_tags_833, + sizeof(asn_DEF_Tunnel_Information_ExtIEs_tags_833) + /sizeof(asn_DEF_Tunnel_Information_ExtIEs_tags_833[0]), /* 1 */ + asn_DEF_Tunnel_Information_ExtIEs_tags_833, /* Same as above */ + sizeof(asn_DEF_Tunnel_Information_ExtIEs_tags_833) + /sizeof(asn_DEF_Tunnel_Information_ExtIEs_tags_833[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Tunnel_Information_ExtIEs_833, + 3, /* Elements count */ + &asn_SPC_Tunnel_Information_ExtIEs_specs_833 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_840[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue, choice.ExtendedBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ExtendedBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExtendedBitRate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_840[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* ExtendedBitRate */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_840 = { + sizeof(struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue), + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue, present), + sizeof(((struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_840, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_840 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_840, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_840 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UEAggregate_MaximumBitrate_ExtIEs_837[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_838, memb_id_constraint_837 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UEAggregate_MaximumBitrate_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_839, memb_criticality_constraint_837 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_840, + select_UEAggregate_MaximumBitrate_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_840, memb_extensionValue_constraint_837 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEAggregate_MaximumBitrate_ExtIEs_tag2el_837[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UEAggregate_MaximumBitrate_ExtIEs_specs_837 = { + sizeof(struct UEAggregate_MaximumBitrate_ExtIEs), + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, _asn_ctx), + asn_MAP_UEAggregate_MaximumBitrate_ExtIEs_tag2el_837, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEAggregate_MaximumBitrate_ExtIEs = { + "UEAggregate-MaximumBitrate-ExtIEs", + "UEAggregate-MaximumBitrate-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837, + sizeof(asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837) + /sizeof(asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837[0]), /* 1 */ + asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837, /* Same as above */ + sizeof(asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837) + /sizeof(asn_DEF_UEAggregate_MaximumBitrate_ExtIEs_tags_837[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEAggregate_MaximumBitrate_ExtIEs_837, + 3, /* Elements count */ + &asn_SPC_UEAggregate_MaximumBitrate_ExtIEs_specs_837 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_extensionValue_844[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig_ExtIEs__extensionValue, choice.ServiceType), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ServiceType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServiceType" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_extensionValue_tag2el_844[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* ServiceType */ +}; +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_844 = { + sizeof(struct UEAppLayerMeasConfig_ExtIEs__extensionValue), + offsetof(struct UEAppLayerMeasConfig_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UEAppLayerMeasConfig_ExtIEs__extensionValue, present), + sizeof(((struct UEAppLayerMeasConfig_ExtIEs__extensionValue *)0)->present), + asn_MAP_extensionValue_tag2el_844, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_844 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_extensionValue_844, + 1, /* Elements count */ + &asn_SPC_extensionValue_specs_844 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_ExtIEs_841[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_842, memb_id_constraint_841 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UEAppLayerMeasConfig_ExtIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_843, memb_criticality_constraint_841 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_844, + select_UEAppLayerMeasConfig_ExtIEs_extensionValue_type, + { 0, &asn_PER_memb_extensionValue_constr_844, memb_extensionValue_constraint_841 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEAppLayerMeasConfig_ExtIEs_tag2el_841[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_ExtIEs_specs_841 = { + sizeof(struct UEAppLayerMeasConfig_ExtIEs), + offsetof(struct UEAppLayerMeasConfig_ExtIEs, _asn_ctx), + asn_MAP_UEAppLayerMeasConfig_ExtIEs_tag2el_841, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig_ExtIEs = { + "UEAppLayerMeasConfig-ExtIEs", + "UEAppLayerMeasConfig-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841, + sizeof(asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841) + /sizeof(asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841[0]), /* 1 */ + asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841, /* Same as above */ + sizeof(asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841) + /sizeof(asn_DEF_UEAppLayerMeasConfig_ExtIEs_tags_841[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEAppLayerMeasConfig_ExtIEs_841, + 3, /* Elements count */ + &asn_SPC_UEAppLayerMeasConfig_ExtIEs_specs_841 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_848 = { + sizeof(struct UESecurityCapabilities_ExtIEs__extensionValue), + offsetof(struct UESecurityCapabilities_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UESecurityCapabilities_ExtIEs__extensionValue, present), + sizeof(((struct UESecurityCapabilities_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_848 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_848 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UESecurityCapabilities_ExtIEs_845[] = { + { ATF_NOFLAGS, 0, offsetof(struct UESecurityCapabilities_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_846, memb_id_constraint_845 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UESecurityCapabilities_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_847, memb_criticality_constraint_845 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UESecurityCapabilities_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_848, + 0, + { 0, &asn_PER_memb_extensionValue_constr_848, memb_extensionValue_constraint_845 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UESecurityCapabilities_ExtIEs_tags_845[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UESecurityCapabilities_ExtIEs_tag2el_845[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_ExtIEs_specs_845 = { + sizeof(struct UESecurityCapabilities_ExtIEs), + offsetof(struct UESecurityCapabilities_ExtIEs, _asn_ctx), + asn_MAP_UESecurityCapabilities_ExtIEs_tag2el_845, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities_ExtIEs = { + "UESecurityCapabilities-ExtIEs", + "UESecurityCapabilities-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UESecurityCapabilities_ExtIEs_tags_845, + sizeof(asn_DEF_UESecurityCapabilities_ExtIEs_tags_845) + /sizeof(asn_DEF_UESecurityCapabilities_ExtIEs_tags_845[0]), /* 1 */ + asn_DEF_UESecurityCapabilities_ExtIEs_tags_845, /* Same as above */ + sizeof(asn_DEF_UESecurityCapabilities_ExtIEs_tags_845) + /sizeof(asn_DEF_UESecurityCapabilities_ExtIEs_tags_845[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UESecurityCapabilities_ExtIEs_845, + 3, /* Elements count */ + &asn_SPC_UESecurityCapabilities_ExtIEs_specs_845 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_852 = { + sizeof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue), + offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue, present), + sizeof(((struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_852 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_852 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_849[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_850, memb_id_constraint_849 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_851, memb_criticality_constraint_849 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_852, + 0, + { 0, &asn_PER_memb_extensionValue_constr_852, memb_extensionValue_constraint_849 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tag2el_849[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_specs_849 = { + sizeof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs), + offsetof(struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs, _asn_ctx), + asn_MAP_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tag2el_849, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs = { + "UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs", + "UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849, + sizeof(asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849) + /sizeof(asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849[0]), /* 1 */ + asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849, /* Same as above */ + sizeof(asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849) + /sizeof(asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_tags_849[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_849, + 3, /* Elements count */ + &asn_SPC_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_specs_849 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_856 = { + sizeof(struct UEsToBeResetList_Item_ExtIEs__extensionValue), + offsetof(struct UEsToBeResetList_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UEsToBeResetList_Item_ExtIEs__extensionValue, present), + sizeof(((struct UEsToBeResetList_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_856 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_856 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UEsToBeResetList_Item_ExtIEs_853[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEsToBeResetList_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_854, memb_id_constraint_853 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEsToBeResetList_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_855, memb_criticality_constraint_853 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UEsToBeResetList_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_856, + 0, + { 0, &asn_PER_memb_extensionValue_constr_856, memb_extensionValue_constraint_853 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEsToBeResetList_Item_ExtIEs_tag2el_853[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UEsToBeResetList_Item_ExtIEs_specs_853 = { + sizeof(struct UEsToBeResetList_Item_ExtIEs), + offsetof(struct UEsToBeResetList_Item_ExtIEs, _asn_ctx), + asn_MAP_UEsToBeResetList_Item_ExtIEs_tag2el_853, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEsToBeResetList_Item_ExtIEs = { + "UEsToBeResetList-Item-ExtIEs", + "UEsToBeResetList-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853, + sizeof(asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853) + /sizeof(asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853[0]), /* 1 */ + asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853, /* Same as above */ + sizeof(asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853) + /sizeof(asn_DEF_UEsToBeResetList_Item_ExtIEs_tags_853[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEsToBeResetList_Item_ExtIEs_853, + 3, /* Elements count */ + &asn_SPC_UEsToBeResetList_Item_ExtIEs_specs_853 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_860 = { + sizeof(struct ULandDLSharing_ExtIEs__extensionValue), + offsetof(struct ULandDLSharing_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ULandDLSharing_ExtIEs__extensionValue, present), + sizeof(((struct ULandDLSharing_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_860 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_860 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ULandDLSharing_ExtIEs_857[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULandDLSharing_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_858, memb_id_constraint_857 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ULandDLSharing_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_859, memb_criticality_constraint_857 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ULandDLSharing_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_860, + 0, + { 0, &asn_PER_memb_extensionValue_constr_860, memb_extensionValue_constraint_857 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ULandDLSharing_ExtIEs_tags_857[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ULandDLSharing_ExtIEs_tag2el_857[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ULandDLSharing_ExtIEs_specs_857 = { + sizeof(struct ULandDLSharing_ExtIEs), + offsetof(struct ULandDLSharing_ExtIEs, _asn_ctx), + asn_MAP_ULandDLSharing_ExtIEs_tag2el_857, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ULandDLSharing_ExtIEs = { + "ULandDLSharing-ExtIEs", + "ULandDLSharing-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ULandDLSharing_ExtIEs_tags_857, + sizeof(asn_DEF_ULandDLSharing_ExtIEs_tags_857) + /sizeof(asn_DEF_ULandDLSharing_ExtIEs_tags_857[0]), /* 1 */ + asn_DEF_ULandDLSharing_ExtIEs_tags_857, /* Same as above */ + sizeof(asn_DEF_ULandDLSharing_ExtIEs_tags_857) + /sizeof(asn_DEF_ULandDLSharing_ExtIEs_tags_857[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ULandDLSharing_ExtIEs_857, + 3, /* Elements count */ + &asn_SPC_ULandDLSharing_ExtIEs_specs_857 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_864 = { + sizeof(struct ULConfiguration_ExtIEs__extensionValue), + offsetof(struct ULConfiguration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ULConfiguration_ExtIEs__extensionValue, present), + sizeof(((struct ULConfiguration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_864 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_864 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ULConfiguration_ExtIEs_861[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULConfiguration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_862, memb_id_constraint_861 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ULConfiguration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_863, memb_criticality_constraint_861 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ULConfiguration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_864, + 0, + { 0, &asn_PER_memb_extensionValue_constr_864, memb_extensionValue_constraint_861 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ULConfiguration_ExtIEs_tags_861[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ULConfiguration_ExtIEs_tag2el_861[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ULConfiguration_ExtIEs_specs_861 = { + sizeof(struct ULConfiguration_ExtIEs), + offsetof(struct ULConfiguration_ExtIEs, _asn_ctx), + asn_MAP_ULConfiguration_ExtIEs_tag2el_861, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ULConfiguration_ExtIEs = { + "ULConfiguration-ExtIEs", + "ULConfiguration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ULConfiguration_ExtIEs_tags_861, + sizeof(asn_DEF_ULConfiguration_ExtIEs_tags_861) + /sizeof(asn_DEF_ULConfiguration_ExtIEs_tags_861[0]), /* 1 */ + asn_DEF_ULConfiguration_ExtIEs_tags_861, /* Same as above */ + sizeof(asn_DEF_ULConfiguration_ExtIEs_tags_861) + /sizeof(asn_DEF_ULConfiguration_ExtIEs_tags_861[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ULConfiguration_ExtIEs_861, + 3, /* Elements count */ + &asn_SPC_ULConfiguration_ExtIEs_specs_861 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_868 = { + sizeof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue), + offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue, present), + sizeof(((struct UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_868 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_868 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UL_HighInterferenceIndicationInfo_Item_ExtIEs_865[] = { + { ATF_NOFLAGS, 0, offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_866, memb_id_constraint_865 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_867, memb_criticality_constraint_865 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_868, + 0, + { 0, &asn_PER_memb_extensionValue_constr_868, memb_extensionValue_constraint_865 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tag2el_865[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UL_HighInterferenceIndicationInfo_Item_ExtIEs_specs_865 = { + sizeof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs), + offsetof(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs, _asn_ctx), + asn_MAP_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tag2el_865, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs = { + "UL-HighInterferenceIndicationInfo-Item-ExtIEs", + "UL-HighInterferenceIndicationInfo-Item-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865, + sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865) + /sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865[0]), /* 1 */ + asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865, /* Same as above */ + sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865) + /sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs_tags_865[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UL_HighInterferenceIndicationInfo_Item_ExtIEs_865, + 3, /* Elements count */ + &asn_SPC_UL_HighInterferenceIndicationInfo_Item_ExtIEs_specs_865 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_872 = { + sizeof(struct ULOnlySharing_ExtIEs__extensionValue), + offsetof(struct ULOnlySharing_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct ULOnlySharing_ExtIEs__extensionValue, present), + sizeof(((struct ULOnlySharing_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_872 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_872 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ULOnlySharing_ExtIEs_869[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULOnlySharing_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_870, memb_id_constraint_869 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ULOnlySharing_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_871, memb_criticality_constraint_869 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ULOnlySharing_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_872, + 0, + { 0, &asn_PER_memb_extensionValue_constr_872, memb_extensionValue_constraint_869 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_ULOnlySharing_ExtIEs_tags_869[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ULOnlySharing_ExtIEs_tag2el_869[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ULOnlySharing_ExtIEs_specs_869 = { + sizeof(struct ULOnlySharing_ExtIEs), + offsetof(struct ULOnlySharing_ExtIEs, _asn_ctx), + asn_MAP_ULOnlySharing_ExtIEs_tag2el_869, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ULOnlySharing_ExtIEs = { + "ULOnlySharing-ExtIEs", + "ULOnlySharing-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_ULOnlySharing_ExtIEs_tags_869, + sizeof(asn_DEF_ULOnlySharing_ExtIEs_tags_869) + /sizeof(asn_DEF_ULOnlySharing_ExtIEs_tags_869[0]), /* 1 */ + asn_DEF_ULOnlySharing_ExtIEs_tags_869, /* Same as above */ + sizeof(asn_DEF_ULOnlySharing_ExtIEs_tags_869) + /sizeof(asn_DEF_ULOnlySharing_ExtIEs_tags_869[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ULOnlySharing_ExtIEs_869, + 3, /* Elements count */ + &asn_SPC_ULOnlySharing_ExtIEs_specs_869 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_876 = { + sizeof(struct UsableABSInformationFDD_ExtIEs__extensionValue), + offsetof(struct UsableABSInformationFDD_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UsableABSInformationFDD_ExtIEs__extensionValue, present), + sizeof(((struct UsableABSInformationFDD_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_876 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_876 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UsableABSInformationFDD_ExtIEs_873[] = { + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationFDD_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_874, memb_id_constraint_873 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationFDD_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_875, memb_criticality_constraint_873 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationFDD_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_876, + 0, + { 0, &asn_PER_memb_extensionValue_constr_876, memb_extensionValue_constraint_873 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UsableABSInformationFDD_ExtIEs_tag2el_873[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationFDD_ExtIEs_specs_873 = { + sizeof(struct UsableABSInformationFDD_ExtIEs), + offsetof(struct UsableABSInformationFDD_ExtIEs, _asn_ctx), + asn_MAP_UsableABSInformationFDD_ExtIEs_tag2el_873, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UsableABSInformationFDD_ExtIEs = { + "UsableABSInformationFDD-ExtIEs", + "UsableABSInformationFDD-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873, + sizeof(asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873) + /sizeof(asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873[0]), /* 1 */ + asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873, /* Same as above */ + sizeof(asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873) + /sizeof(asn_DEF_UsableABSInformationFDD_ExtIEs_tags_873[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UsableABSInformationFDD_ExtIEs_873, + 3, /* Elements count */ + &asn_SPC_UsableABSInformationFDD_ExtIEs_specs_873 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_880 = { + sizeof(struct UsableABSInformationTDD_ExtIEs__extensionValue), + offsetof(struct UsableABSInformationTDD_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct UsableABSInformationTDD_ExtIEs__extensionValue, present), + sizeof(((struct UsableABSInformationTDD_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_880 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_880 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UsableABSInformationTDD_ExtIEs_877[] = { + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationTDD_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_878, memb_id_constraint_877 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationTDD_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_879, memb_criticality_constraint_877 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationTDD_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_880, + 0, + { 0, &asn_PER_memb_extensionValue_constr_880, memb_extensionValue_constraint_877 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UsableABSInformationTDD_ExtIEs_tag2el_877[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationTDD_ExtIEs_specs_877 = { + sizeof(struct UsableABSInformationTDD_ExtIEs), + offsetof(struct UsableABSInformationTDD_ExtIEs, _asn_ctx), + asn_MAP_UsableABSInformationTDD_ExtIEs_tag2el_877, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UsableABSInformationTDD_ExtIEs = { + "UsableABSInformationTDD-ExtIEs", + "UsableABSInformationTDD-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877, + sizeof(asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877) + /sizeof(asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877[0]), /* 1 */ + asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877, /* Same as above */ + sizeof(asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877) + /sizeof(asn_DEF_UsableABSInformationTDD_ExtIEs_tags_877[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UsableABSInformationTDD_ExtIEs_877, + 3, /* Elements count */ + &asn_SPC_UsableABSInformationTDD_ExtIEs_specs_877 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_884 = { + sizeof(struct V2XServicesAuthorized_ExtIEs__extensionValue), + offsetof(struct V2XServicesAuthorized_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct V2XServicesAuthorized_ExtIEs__extensionValue, present), + sizeof(((struct V2XServicesAuthorized_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_884 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_884 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_V2XServicesAuthorized_ExtIEs_881[] = { + { ATF_NOFLAGS, 0, offsetof(struct V2XServicesAuthorized_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_882, memb_id_constraint_881 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct V2XServicesAuthorized_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_883, memb_criticality_constraint_881 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct V2XServicesAuthorized_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_884, + 0, + { 0, &asn_PER_memb_extensionValue_constr_884, memb_extensionValue_constraint_881 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_V2XServicesAuthorized_ExtIEs_tag2el_881[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_V2XServicesAuthorized_ExtIEs_specs_881 = { + sizeof(struct V2XServicesAuthorized_ExtIEs), + offsetof(struct V2XServicesAuthorized_ExtIEs, _asn_ctx), + asn_MAP_V2XServicesAuthorized_ExtIEs_tag2el_881, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_V2XServicesAuthorized_ExtIEs = { + "V2XServicesAuthorized-ExtIEs", + "V2XServicesAuthorized-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881, + sizeof(asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881) + /sizeof(asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881[0]), /* 1 */ + asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881, /* Same as above */ + sizeof(asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881) + /sizeof(asn_DEF_V2XServicesAuthorized_ExtIEs_tags_881[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_V2XServicesAuthorized_ExtIEs_881, + 3, /* Elements count */ + &asn_SPC_V2XServicesAuthorized_ExtIEs_specs_881 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_888 = { + sizeof(struct WidebandCQI_ExtIEs__extensionValue), + offsetof(struct WidebandCQI_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct WidebandCQI_ExtIEs__extensionValue, present), + sizeof(((struct WidebandCQI_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_888 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_888 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_WidebandCQI_ExtIEs_885[] = { + { ATF_NOFLAGS, 0, offsetof(struct WidebandCQI_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_886, memb_id_constraint_885 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct WidebandCQI_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_887, memb_criticality_constraint_885 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct WidebandCQI_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_888, + 0, + { 0, &asn_PER_memb_extensionValue_constr_888, memb_extensionValue_constraint_885 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_WidebandCQI_ExtIEs_tags_885[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WidebandCQI_ExtIEs_tag2el_885[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WidebandCQI_ExtIEs_specs_885 = { + sizeof(struct WidebandCQI_ExtIEs), + offsetof(struct WidebandCQI_ExtIEs, _asn_ctx), + asn_MAP_WidebandCQI_ExtIEs_tag2el_885, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WidebandCQI_ExtIEs = { + "WidebandCQI-ExtIEs", + "WidebandCQI-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_WidebandCQI_ExtIEs_tags_885, + sizeof(asn_DEF_WidebandCQI_ExtIEs_tags_885) + /sizeof(asn_DEF_WidebandCQI_ExtIEs_tags_885[0]), /* 1 */ + asn_DEF_WidebandCQI_ExtIEs_tags_885, /* Same as above */ + sizeof(asn_DEF_WidebandCQI_ExtIEs_tags_885) + /sizeof(asn_DEF_WidebandCQI_ExtIEs_tags_885[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_WidebandCQI_ExtIEs_885, + 3, /* Elements count */ + &asn_SPC_WidebandCQI_ExtIEs_specs_885 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_extensionValue_specs_892 = { + sizeof(struct WLANMeasurementConfiguration_ExtIEs__extensionValue), + offsetof(struct WLANMeasurementConfiguration_ExtIEs__extensionValue, _asn_ctx), + offsetof(struct WLANMeasurementConfiguration_ExtIEs__extensionValue, present), + sizeof(((struct WLANMeasurementConfiguration_ExtIEs__extensionValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_extensionValue_892 = { + "extensionValue", + "extensionValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_extensionValue_specs_892 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_WLANMeasurementConfiguration_ExtIEs_889[] = { + { ATF_NOFLAGS, 0, offsetof(struct WLANMeasurementConfiguration_ExtIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_890, memb_id_constraint_889 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct WLANMeasurementConfiguration_ExtIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_891, memb_criticality_constraint_889 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct WLANMeasurementConfiguration_ExtIEs, extensionValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_extensionValue_892, + 0, + { 0, &asn_PER_memb_extensionValue_constr_892, memb_extensionValue_constraint_889 }, + 0, 0, /* No default value */ + "extensionValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WLANMeasurementConfiguration_ExtIEs_tag2el_889[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* extensionValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WLANMeasurementConfiguration_ExtIEs_specs_889 = { + sizeof(struct WLANMeasurementConfiguration_ExtIEs), + offsetof(struct WLANMeasurementConfiguration_ExtIEs, _asn_ctx), + asn_MAP_WLANMeasurementConfiguration_ExtIEs_tag2el_889, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration_ExtIEs = { + "WLANMeasurementConfiguration-ExtIEs", + "WLANMeasurementConfiguration-ExtIEs", + &asn_OP_SEQUENCE, + asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889, + sizeof(asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889) + /sizeof(asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889[0]), /* 1 */ + asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889, /* Same as above */ + sizeof(asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889) + /sizeof(asn_DEF_WLANMeasurementConfiguration_ExtIEs_tags_889[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_WLANMeasurementConfiguration_ExtIEs_889, + 3, /* Elements count */ + &asn_SPC_WLANMeasurementConfiguration_ExtIEs_specs_889 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtocolExtensionField.h b/asn1c_defs/all-defs/ProtocolExtensionField.h new file mode 100755 index 0000000..53ed879 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolExtensionField.h @@ -0,0 +1,5163 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolExtensionField_H_ +#define _ProtocolExtensionField_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-ID.h" +#include "Criticality.h" +#include +#include +#include "ManagementBasedMDTallowed.h" +#include "Presence.h" +#include "MDTPLMNList.h" +#include "UESidelinkAggregateMaximumBitRate.h" +#include +#include +#include +#include "BearerType.h" +#include "ReceiveStatusOfULPDCPSDUsExtended.h" +#include "COUNTValueExtended.h" +#include "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h" +#include "COUNTvaluePDCP-SNlength18.h" +#include "ABSInformation.h" +#include "InvokeIndication.h" +#include "SubframeAssignment.h" +#include "ExtendedULInterferenceOverloadInfo.h" +#include "CoMPInformation.h" +#include "DynamicDLTransmissionInformation.h" +#include "DeactivationIndication.h" +#include "CompositeAvailableCapacityGroup.h" +#include "ABS-Status.h" +#include "RSRPMRList.h" +#include "CSIReportList.h" +#include "CellReportingIndicator.h" +#include "Correlation-ID.h" +#include "GTPtunnelEndpoint.h" +#include "DL-Forwarding.h" +#include "RLCMode.h" +#include "PDCPSnLength.h" +#include "DuplicationActivation.h" +#include "LCID.h" +#include "SubscriberProfileIDforRFP.h" +#include "RLC-Status.h" +#include "NewDRBIDrequest.h" +#include "Packet-LossRate.h" +#include "EARFCNExtension.h" +#include "OffsetOfNbiotChannelNumberToEARFCN.h" +#include "NRS-NSSS-PowerOffset.h" +#include "NSSS-NumOccasionDifferentPrecoder.h" +#include "ExtendedBitRate.h" +#include "NRrestrictioninEPSasSecondaryRAT.h" +#include "CNTypeRestrictions.h" +#include "NRrestrictionin5GS.h" +#include "Time-UE-StayedInCell-EnhancedGranularity.h" +#include "Cause.h" +#include "M3Configuration.h" +#include "M4Configuration.h" +#include "M5Configuration.h" +#include "MDT-Location-Info.h" +#include "M6Configuration.h" +#include "M7Configuration.h" +#include "BluetoothMeasurementConfiguration.h" +#include "WLANMeasurementConfiguration.h" +#include "NRCGI.h" +#include "MeNBCoordinationAssistanceInformation.h" +#include "TAC.h" +#include "ProSeUEtoNetworkRelaying.h" +#include "DL-scheduling-PDCCH-CCE-usage.h" +#include "UL-scheduling-PDCCH-CCE-usage.h" +#include "EnhancedRNTP.h" +#include "UEID.h" +#include "Number-of-Antennaports.h" +#include "PRACH-Configuration.h" +#include "MBSFN-Subframe-Infolist.h" +#include "CSG-Id.h" +#include "MBMS-Service-Area-Identity-List.h" +#include "MultibandInfoList.h" +#include "FreqBandIndicatorPriority.h" +#include "BandwidthReducedSI.h" +#include "ProtectedEUTRAResourceIndication.h" +#include "ECGI.h" +#include "SgNBCoordinationAssistanceInformation.h" +#include "AdditionalSpecialSubframe-Info.h" +#include "AdditionalSpecialSubframeExtension-Info.h" +#include "MDT-Configuration.h" +#include "UEAppLayerMeasConfig.h" +#include "ServiceType.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UE_ContextInformation_ExtIEs__extensionValue_PR { + UE_ContextInformation_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + UE_ContextInformation_ExtIEs__extensionValue_PR_ManagementBasedMDTallowed, + UE_ContextInformation_ExtIEs__extensionValue_PR_MDTPLMNList, + UE_ContextInformation_ExtIEs__extensionValue_PR_UESidelinkAggregateMaximumBitRate +} UE_ContextInformation_ExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeSetup_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeSetup_ItemExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeSetup_ItemExtIEs__extensionValue_PR_BearerType +} E_RABs_ToBeSetup_ItemExtIEs__extensionValue_PR; +typedef enum UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue_PR { + UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue_PR; +typedef enum UE_ContextReferenceAtWT_ItemExtIEs__extensionValue_PR { + UE_ContextReferenceAtWT_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UE_ContextReferenceAtWT_ItemExtIEs__extensionValue_PR; +typedef enum UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue_PR { + UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_Item_ExtIEs__extensionValue_PR { + E_RABs_Admitted_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_Item_ExtIEs__extensionValue_PR; +typedef enum E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR { + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsExtended, + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTValueExtended, + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTvaluePDCP_SNlength18 +} E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR; +typedef enum CellInformation_Item_ExtIEs__extensionValue_PR { + CellInformation_Item_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + CellInformation_Item_ExtIEs__extensionValue_PR_ABSInformation, + CellInformation_Item_ExtIEs__extensionValue_PR_InvokeIndication, + CellInformation_Item_ExtIEs__extensionValue_PR_SubframeAssignment, + CellInformation_Item_ExtIEs__extensionValue_PR_ExtendedULInterferenceOverloadInfo, + CellInformation_Item_ExtIEs__extensionValue_PR_CoMPInformation, + CellInformation_Item_ExtIEs__extensionValue_PR_DynamicDLTransmissionInformation +} CellInformation_Item_ExtIEs__extensionValue_PR; +typedef enum ServedCellsToModify_Item_ExtIEs__extensionValue_PR { + ServedCellsToModify_Item_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + ServedCellsToModify_Item_ExtIEs__extensionValue_PR_DeactivationIndication +} ServedCellsToModify_Item_ExtIEs__extensionValue_PR; +typedef enum CellToReport_Item_ExtIEs__extensionValue_PR { + CellToReport_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CellToReport_Item_ExtIEs__extensionValue_PR; +typedef enum MeasurementInitiationResult_Item_ExtIEs__extensionValue_PR { + MeasurementInitiationResult_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} MeasurementInitiationResult_Item_ExtIEs__extensionValue_PR; +typedef enum MeasurementFailureCause_Item_ExtIEs__extensionValue_PR { + MeasurementFailureCause_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} MeasurementFailureCause_Item_ExtIEs__extensionValue_PR; +typedef enum CompleteFailureCauseInformation_Item_ExtIEs__extensionValue_PR { + CompleteFailureCauseInformation_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CompleteFailureCauseInformation_Item_ExtIEs__extensionValue_PR; +typedef enum CellMeasurementResult_Item_ExtIEs__extensionValue_PR { + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_CompositeAvailableCapacityGroup, + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_ABS_Status, + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_RSRPMRList, + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_CSIReportList, + CellMeasurementResult_Item_ExtIEs__extensionValue_PR_CellReportingIndicator +} CellMeasurementResult_Item_ExtIEs__extensionValue_PR; +typedef enum ServedCellsToActivate_Item_ExtIEs__extensionValue_PR { + ServedCellsToActivate_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedCellsToActivate_Item_ExtIEs__extensionValue_PR; +typedef enum ActivatedCellList_Item_ExtIEs__extensionValue_PR { + ActivatedCellList_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ActivatedCellList_Item_ExtIEs__extensionValue_PR; +typedef enum RNL_Header_Item_ExtIEs__extensionValue_PR { + RNL_Header_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} RNL_Header_Item_ExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID +} E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR; +typedef enum ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue_PR { + ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue_PR; +typedef enum ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR { + ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR; +typedef enum UE_ContextInformationSeNBModReqExtIEs__extensionValue_PR { + UE_ContextInformationSeNBModReqExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UE_ContextInformationSeNBModReqExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID +} E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue_PR; +typedef enum E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue_PR { + E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue_PR; +typedef enum UE_ContextInformationRetrieve_ExtIEs__extensionValue_PR { + UE_ContextInformationRetrieve_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + UE_ContextInformationRetrieve_ExtIEs__extensionValue_PR_UESidelinkAggregateMaximumBitRate +} UE_ContextInformationRetrieve_ExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR_GTPtunnelEndpoint, + E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR_DL_Forwarding +} E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_RLCMode +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength, + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_DuplicationActivation +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_LCID +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue_PR { + ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue_PR; +typedef enum ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR { + ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR; +typedef enum UE_ContextInformationSgNBModReqExtIEs__extensionValue_PR { + UE_ContextInformationSgNBModReqExtIEs__extensionValue_PR_NOTHING, /* No components present */ + UE_ContextInformationSgNBModReqExtIEs__extensionValue_PR_SubscriberProfileIDforRFP +} UE_ContextInformationSgNBModReqExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_RLCMode +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength, + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_DuplicationActivation +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_RLC_Status +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength, + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_GTPtunnelEndpoint +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_LCID +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_GTPtunnelEndpoint, + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_RLC_Status +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_PR_RLCMode +} E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength, + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NewDRBIDrequest +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_RLC_Status, + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_LCID +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue_PR { + E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue_PR { + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue_PR { + E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR; +typedef enum E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR { + E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR; +typedef enum ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue_PR { + ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue_PR; +typedef enum En_gNBServedCells_ExtIEs__extensionValue_PR { + En_gNBServedCells_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} En_gNBServedCells_ExtIEs__extensionValue_PR; +typedef enum ServedNRCell_Information_ExtIEs__extensionValue_PR { + ServedNRCell_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedNRCell_Information_ExtIEs__extensionValue_PR; +typedef enum FDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR { + FDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} FDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR; +typedef enum FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR { + FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR; +typedef enum TDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR { + TDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR; +typedef enum TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR { + TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR; +typedef enum NRNeighbour_Information_ExtIEs__extensionValue_PR { + NRNeighbour_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} NRNeighbour_Information_ExtIEs__extensionValue_PR; +typedef enum Limited_list_ExtIEs__extensionValue_PR { + Limited_list_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} Limited_list_ExtIEs__extensionValue_PR; +typedef enum ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue_PR { + ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue_PR; +typedef enum ServedNRCellsToModify_Item_ExtIEs__extensionValue_PR { + ServedNRCellsToModify_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedNRCellsToModify_Item_ExtIEs__extensionValue_PR; +typedef enum ServedNRCellsToActivate_Item_ExtIEs__extensionValue_PR { + ServedNRCellsToActivate_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedNRCellsToActivate_Item_ExtIEs__extensionValue_PR; +typedef enum ActivatedNRCellList_Item_ExtIEs__extensionValue_PR { + ActivatedNRCellList_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ActivatedNRCellList_Item_ExtIEs__extensionValue_PR; +typedef enum E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue_PR { + E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue_PR; +typedef enum ABSInformationFDD_ExtIEs__extensionValue_PR { + ABSInformationFDD_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ABSInformationFDD_ExtIEs__extensionValue_PR; +typedef enum ABSInformationTDD_ExtIEs__extensionValue_PR { + ABSInformationTDD_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ABSInformationTDD_ExtIEs__extensionValue_PR; +typedef enum ABS_Status_ExtIEs__extensionValue_PR { + ABS_Status_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ABS_Status_ExtIEs__extensionValue_PR; +typedef enum AdditionalSpecialSubframe_Info_ExtIEs__extensionValue_PR { + AdditionalSpecialSubframe_Info_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} AdditionalSpecialSubframe_Info_ExtIEs__extensionValue_PR; +typedef enum AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue_PR { + AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue_PR; +typedef enum AllocationAndRetentionPriority_ExtIEs__extensionValue_PR { + AllocationAndRetentionPriority_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} AllocationAndRetentionPriority_ExtIEs__extensionValue_PR; +typedef enum AS_SecurityInformation_ExtIEs__extensionValue_PR { + AS_SecurityInformation_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} AS_SecurityInformation_ExtIEs__extensionValue_PR; +typedef enum BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR { + BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR; +typedef enum CellBasedMDT_ExtIEs__extensionValue_PR { + CellBasedMDT_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CellBasedMDT_ExtIEs__extensionValue_PR; +typedef enum CellBasedQMC_ExtIEs__extensionValue_PR { + CellBasedQMC_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CellBasedQMC_ExtIEs__extensionValue_PR; +typedef enum CellReplacingInfo_ExtIEs__extensionValue_PR { + CellReplacingInfo_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CellReplacingInfo_ExtIEs__extensionValue_PR; +typedef enum CellType_ExtIEs__extensionValue_PR { + CellType_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CellType_ExtIEs__extensionValue_PR; +typedef enum CNTypeRestrictionsItem_ExtIEs__extensionValue_PR { + CNTypeRestrictionsItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CNTypeRestrictionsItem_ExtIEs__extensionValue_PR; +typedef enum CoMPHypothesisSetItem_ExtIEs__extensionValue_PR { + CoMPHypothesisSetItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CoMPHypothesisSetItem_ExtIEs__extensionValue_PR; +typedef enum CoMPInformation_ExtIEs__extensionValue_PR { + CoMPInformation_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CoMPInformation_ExtIEs__extensionValue_PR; +typedef enum CoMPInformationItem_ExtIEs__extensionValue_PR { + CoMPInformationItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CoMPInformationItem_ExtIEs__extensionValue_PR; +typedef enum CoMPInformationStartTime_ExtIEs__extensionValue_PR { + CoMPInformationStartTime_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CoMPInformationStartTime_ExtIEs__extensionValue_PR; +typedef enum CompositeAvailableCapacity_ExtIEs__extensionValue_PR { + CompositeAvailableCapacity_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CompositeAvailableCapacity_ExtIEs__extensionValue_PR; +typedef enum CompositeAvailableCapacityGroup_ExtIEs__extensionValue_PR { + CompositeAvailableCapacityGroup_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CompositeAvailableCapacityGroup_ExtIEs__extensionValue_PR; +typedef enum COUNTvalue_ExtIEs__extensionValue_PR { + COUNTvalue_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} COUNTvalue_ExtIEs__extensionValue_PR; +typedef enum COUNTValueExtended_ExtIEs__extensionValue_PR { + COUNTValueExtended_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} COUNTValueExtended_ExtIEs__extensionValue_PR; +typedef enum COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR { + COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR; +typedef enum CriticalityDiagnostics_ExtIEs__extensionValue_PR { + CriticalityDiagnostics_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CriticalityDiagnostics_ExtIEs__extensionValue_PR; +typedef enum CriticalityDiagnostics_IE_List_ExtIEs__extensionValue_PR { + CriticalityDiagnostics_IE_List_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CriticalityDiagnostics_IE_List_ExtIEs__extensionValue_PR; +typedef enum CSIReportList_ExtIEs__extensionValue_PR { + CSIReportList_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CSIReportList_ExtIEs__extensionValue_PR; +typedef enum CSIReportPerCSIProcess_ExtIEs__extensionValue_PR { + CSIReportPerCSIProcess_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CSIReportPerCSIProcess_ExtIEs__extensionValue_PR; +typedef enum CSIReportPerCSIProcessItem_ExtIEs__extensionValue_PR { + CSIReportPerCSIProcessItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} CSIReportPerCSIProcessItem_ExtIEs__extensionValue_PR; +typedef enum DataTrafficResourceIndication_ExtIEs__extensionValue_PR { + DataTrafficResourceIndication_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} DataTrafficResourceIndication_ExtIEs__extensionValue_PR; +typedef enum DeliveryStatus_ExtIEs__extensionValue_PR { + DeliveryStatus_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} DeliveryStatus_ExtIEs__extensionValue_PR; +typedef enum DynamicNAICSInformation_ExtIEs__extensionValue_PR { + DynamicNAICSInformation_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} DynamicNAICSInformation_ExtIEs__extensionValue_PR; +typedef enum ECGI_ExtIEs__extensionValue_PR { + ECGI_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ECGI_ExtIEs__extensionValue_PR; +typedef enum EnhancedRNTP_ExtIEs__extensionValue_PR { + EnhancedRNTP_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} EnhancedRNTP_ExtIEs__extensionValue_PR; +typedef enum EnhancedRNTPStartTime_ExtIEs__extensionValue_PR { + EnhancedRNTPStartTime_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} EnhancedRNTPStartTime_ExtIEs__extensionValue_PR; +typedef enum EN_DC_ResourceConfigurationExtIEs__extensionValue_PR { + EN_DC_ResourceConfigurationExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} EN_DC_ResourceConfigurationExtIEs__extensionValue_PR; +typedef enum ERABActivityNotifyItem_ExtIEs__extensionValue_PR { + ERABActivityNotifyItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ERABActivityNotifyItem_ExtIEs__extensionValue_PR; +typedef enum E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR { + E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR_Packet_LossRate +} E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR; +typedef enum E_RAB_Item_ExtIEs__extensionValue_PR { + E_RAB_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RAB_Item_ExtIEs__extensionValue_PR; +typedef enum E_RABUsageReport_Item_ExtIEs__extensionValue_PR { + E_RABUsageReport_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} E_RABUsageReport_Item_ExtIEs__extensionValue_PR; +typedef enum ExpectedUEBehaviour_ExtIEs__extensionValue_PR { + ExpectedUEBehaviour_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ExpectedUEBehaviour_ExtIEs__extensionValue_PR; +typedef enum ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR { + ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR; +typedef enum ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue_PR { + ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue_PR; +typedef enum FDD_Info_ExtIEs__extensionValue_PR { + FDD_Info_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + FDD_Info_ExtIEs__extensionValue_PR_EARFCNExtension, + FDD_Info_ExtIEs__extensionValue_PR_OffsetOfNbiotChannelNumberToEARFCN, + FDD_Info_ExtIEs__extensionValue_PR_NRS_NSSS_PowerOffset, + FDD_Info_ExtIEs__extensionValue_PR_NSSS_NumOccasionDifferentPrecoder +} FDD_Info_ExtIEs__extensionValue_PR; +typedef enum ForbiddenTAs_Item_ExtIEs__extensionValue_PR { + ForbiddenTAs_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ForbiddenTAs_Item_ExtIEs__extensionValue_PR; +typedef enum ForbiddenLAs_Item_ExtIEs__extensionValue_PR { + ForbiddenLAs_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ForbiddenLAs_Item_ExtIEs__extensionValue_PR; +typedef enum FreqBandNrItem_ExtIEs__extensionValue_PR { + FreqBandNrItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} FreqBandNrItem_ExtIEs__extensionValue_PR; +typedef enum GBR_QosInformation_ExtIEs__extensionValue_PR { + GBR_QosInformation_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate +} GBR_QosInformation_ExtIEs__extensionValue_PR; +typedef enum GlobalENB_ID_ExtIEs__extensionValue_PR { + GlobalENB_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} GlobalENB_ID_ExtIEs__extensionValue_PR; +typedef enum GlobalGNB_ID_ExtIEs__extensionValue_PR { + GlobalGNB_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} GlobalGNB_ID_ExtIEs__extensionValue_PR; +typedef enum GTPtunnelEndpoint_ExtIEs__extensionValue_PR { + GTPtunnelEndpoint_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} GTPtunnelEndpoint_ExtIEs__extensionValue_PR; +typedef enum GU_Group_ID_ExtIEs__extensionValue_PR { + GU_Group_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} GU_Group_ID_ExtIEs__extensionValue_PR; +typedef enum GUMMEI_ExtIEs__extensionValue_PR { + GUMMEI_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} GUMMEI_ExtIEs__extensionValue_PR; +typedef enum HandoverRestrictionList_ExtIEs__extensionValue_PR { + HandoverRestrictionList_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + HandoverRestrictionList_ExtIEs__extensionValue_PR_NRrestrictioninEPSasSecondaryRAT, + HandoverRestrictionList_ExtIEs__extensionValue_PR_CNTypeRestrictions, + HandoverRestrictionList_ExtIEs__extensionValue_PR_NRrestrictionin5GS +} HandoverRestrictionList_ExtIEs__extensionValue_PR; +typedef enum HWLoadIndicator_ExtIEs__extensionValue_PR { + HWLoadIndicator_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} HWLoadIndicator_ExtIEs__extensionValue_PR; +typedef enum LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR { + LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_Time_UE_StayedInCell_EnhancedGranularity, + LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_Cause +} LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR; +typedef enum LocationReportingInformation_ExtIEs__extensionValue_PR { + LocationReportingInformation_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} LocationReportingInformation_ExtIEs__extensionValue_PR; +typedef enum M1PeriodicReporting_ExtIEs__extensionValue_PR { + M1PeriodicReporting_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M1PeriodicReporting_ExtIEs__extensionValue_PR; +typedef enum M1ThresholdEventA2_ExtIEs__extensionValue_PR { + M1ThresholdEventA2_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M1ThresholdEventA2_ExtIEs__extensionValue_PR; +typedef enum M3Configuration_ExtIEs__extensionValue_PR { + M3Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M3Configuration_ExtIEs__extensionValue_PR; +typedef enum M4Configuration_ExtIEs__extensionValue_PR { + M4Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M4Configuration_ExtIEs__extensionValue_PR; +typedef enum M5Configuration_ExtIEs__extensionValue_PR { + M5Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M5Configuration_ExtIEs__extensionValue_PR; +typedef enum M6Configuration_ExtIEs__extensionValue_PR { + M6Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M6Configuration_ExtIEs__extensionValue_PR; +typedef enum M7Configuration_ExtIEs__extensionValue_PR { + M7Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} M7Configuration_ExtIEs__extensionValue_PR; +typedef enum MDT_Configuration_ExtIEs__extensionValue_PR { + MDT_Configuration_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + MDT_Configuration_ExtIEs__extensionValue_PR_M3Configuration, + MDT_Configuration_ExtIEs__extensionValue_PR_M4Configuration, + MDT_Configuration_ExtIEs__extensionValue_PR_M5Configuration, + MDT_Configuration_ExtIEs__extensionValue_PR_MDT_Location_Info, + MDT_Configuration_ExtIEs__extensionValue_PR_MDTPLMNList, + MDT_Configuration_ExtIEs__extensionValue_PR_M6Configuration, + MDT_Configuration_ExtIEs__extensionValue_PR_M7Configuration, + MDT_Configuration_ExtIEs__extensionValue_PR_BluetoothMeasurementConfiguration, + MDT_Configuration_ExtIEs__extensionValue_PR_WLANMeasurementConfiguration +} MDT_Configuration_ExtIEs__extensionValue_PR; +typedef enum MeNBResourceCoordinationInformationExtIEs__extensionValue_PR { + MeNBResourceCoordinationInformationExtIEs__extensionValue_PR_NOTHING, /* No components present */ + MeNBResourceCoordinationInformationExtIEs__extensionValue_PR_NRCGI, + MeNBResourceCoordinationInformationExtIEs__extensionValue_PR_MeNBCoordinationAssistanceInformation +} MeNBResourceCoordinationInformationExtIEs__extensionValue_PR; +typedef enum MBSFN_Subframe_Info_ExtIEs__extensionValue_PR { + MBSFN_Subframe_Info_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} MBSFN_Subframe_Info_ExtIEs__extensionValue_PR; +typedef enum BandInfo_ExtIEs__extensionValue_PR { + BandInfo_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} BandInfo_ExtIEs__extensionValue_PR; +typedef enum SplitSRB_ExtIEs__extensionValue_PR { + SplitSRB_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SplitSRB_ExtIEs__extensionValue_PR; +typedef enum UENRMeasurement_ExtIEs__extensionValue_PR { + UENRMeasurement_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UENRMeasurement_ExtIEs__extensionValue_PR; +typedef enum Neighbour_Information_ExtIEs__extensionValue_PR { + Neighbour_Information_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + Neighbour_Information_ExtIEs__extensionValue_PR_TAC, + Neighbour_Information_ExtIEs__extensionValue_PR_EARFCNExtension +} Neighbour_Information_ExtIEs__extensionValue_PR; +typedef enum NRFreqInfo_ExtIEs__extensionValue_PR { + NRFreqInfo_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} NRFreqInfo_ExtIEs__extensionValue_PR; +typedef enum NRCGI_ExtIEs__extensionValue_PR { + NRCGI_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} NRCGI_ExtIEs__extensionValue_PR; +typedef enum NR_TxBW_ExtIEs__extensionValue_PR { + NR_TxBW_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} NR_TxBW_ExtIEs__extensionValue_PR; +typedef enum NRUESecurityCapabilities_ExtIEs__extensionValue_PR { + NRUESecurityCapabilities_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} NRUESecurityCapabilities_ExtIEs__extensionValue_PR; +typedef enum PRACH_Configuration_ExtIEs__extensionValue_PR { + PRACH_Configuration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} PRACH_Configuration_ExtIEs__extensionValue_PR; +typedef enum PLMNAreaBasedQMC_ExtIEs__extensionValue_PR { + PLMNAreaBasedQMC_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} PLMNAreaBasedQMC_ExtIEs__extensionValue_PR; +typedef enum ProSeAuthorized_ExtIEs__extensionValue_PR { + ProSeAuthorized_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + ProSeAuthorized_ExtIEs__extensionValue_PR_ProSeUEtoNetworkRelaying +} ProSeAuthorized_ExtIEs__extensionValue_PR; +typedef enum ProtectedEUTRAResourceIndication_ExtIEs__extensionValue_PR { + ProtectedEUTRAResourceIndication_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ProtectedEUTRAResourceIndication_ExtIEs__extensionValue_PR; +typedef enum ProtectedFootprintTimePattern_ExtIEs__extensionValue_PR { + ProtectedFootprintTimePattern_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ProtectedFootprintTimePattern_ExtIEs__extensionValue_PR; +typedef enum ProtectedResourceList_Item_ExtIEs__extensionValue_PR { + ProtectedResourceList_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ProtectedResourceList_Item_ExtIEs__extensionValue_PR; +typedef enum RadioResourceStatus_ExtIEs__extensionValue_PR { + RadioResourceStatus_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + RadioResourceStatus_ExtIEs__extensionValue_PR_DL_scheduling_PDCCH_CCE_usage, + RadioResourceStatus_ExtIEs__extensionValue_PR_UL_scheduling_PDCCH_CCE_usage +} RadioResourceStatus_ExtIEs__extensionValue_PR; +typedef enum RelativeNarrowbandTxPower_ExtIEs__extensionValue_PR { + RelativeNarrowbandTxPower_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + RelativeNarrowbandTxPower_ExtIEs__extensionValue_PR_EnhancedRNTP +} RelativeNarrowbandTxPower_ExtIEs__extensionValue_PR; +typedef enum ReservedSubframePattern_ExtIEs__extensionValue_PR { + ReservedSubframePattern_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ReservedSubframePattern_ExtIEs__extensionValue_PR; +typedef enum RLC_Status_ExtIEs__extensionValue_PR { + RLC_Status_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} RLC_Status_ExtIEs__extensionValue_PR; +typedef enum RSRPMeasurementResult_ExtIEs__extensionValue_PR { + RSRPMeasurementResult_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} RSRPMeasurementResult_ExtIEs__extensionValue_PR; +typedef enum RSRPMRList_ExtIEs__extensionValue_PR { + RSRPMRList_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + RSRPMRList_ExtIEs__extensionValue_PR_UEID +} RSRPMRList_ExtIEs__extensionValue_PR; +typedef enum S1TNLLoadIndicator_ExtIEs__extensionValue_PR { + S1TNLLoadIndicator_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} S1TNLLoadIndicator_ExtIEs__extensionValue_PR; +typedef enum SecondaryRATUsageReport_Item_ExtIEs__extensionValue_PR { + SecondaryRATUsageReport_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SecondaryRATUsageReport_Item_ExtIEs__extensionValue_PR; +typedef enum ServedCell_ExtIEs__extensionValue_PR { + ServedCell_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ServedCell_ExtIEs__extensionValue_PR; +typedef enum ServedCell_Information_ExtIEs__extensionValue_PR { + ServedCell_Information_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + ServedCell_Information_ExtIEs__extensionValue_PR_Number_of_Antennaports, + ServedCell_Information_ExtIEs__extensionValue_PR_PRACH_Configuration, + ServedCell_Information_ExtIEs__extensionValue_PR_MBSFN_Subframe_Infolist, + ServedCell_Information_ExtIEs__extensionValue_PR_CSG_Id, + ServedCell_Information_ExtIEs__extensionValue_PR_MBMS_Service_Area_Identity_List, + ServedCell_Information_ExtIEs__extensionValue_PR_MultibandInfoList, + ServedCell_Information_ExtIEs__extensionValue_PR_FreqBandIndicatorPriority, + ServedCell_Information_ExtIEs__extensionValue_PR_BandwidthReducedSI, + ServedCell_Information_ExtIEs__extensionValue_PR_ProtectedEUTRAResourceIndication +} ServedCell_Information_ExtIEs__extensionValue_PR; +typedef enum SgNBResourceCoordinationInformationExtIEs__extensionValue_PR { + SgNBResourceCoordinationInformationExtIEs__extensionValue_PR_NOTHING, /* No components present */ + SgNBResourceCoordinationInformationExtIEs__extensionValue_PR_ECGI, + SgNBResourceCoordinationInformationExtIEs__extensionValue_PR_SgNBCoordinationAssistanceInformation +} SgNBResourceCoordinationInformationExtIEs__extensionValue_PR; +typedef enum SpecialSubframe_Info_ExtIEs__extensionValue_PR { + SpecialSubframe_Info_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SpecialSubframe_Info_ExtIEs__extensionValue_PR; +typedef enum SubbandCQI_ExtIEs__extensionValue_PR { + SubbandCQI_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SubbandCQI_ExtIEs__extensionValue_PR; +typedef enum Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR { + Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR; +typedef enum ScheduledCommunicationTime_ExtIEs__extensionValue_PR { + ScheduledCommunicationTime_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ScheduledCommunicationTime_ExtIEs__extensionValue_PR; +typedef enum SubbandCQIItem_ExtIEs__extensionValue_PR { + SubbandCQIItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SubbandCQIItem_ExtIEs__extensionValue_PR; +typedef enum SULInformation_ExtIEs__extensionValue_PR { + SULInformation_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SULInformation_ExtIEs__extensionValue_PR; +typedef enum SupportedSULFreqBandItem_ExtIEs__extensionValue_PR { + SupportedSULFreqBandItem_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} SupportedSULFreqBandItem_ExtIEs__extensionValue_PR; +typedef enum TABasedMDT_ExtIEs__extensionValue_PR { + TABasedMDT_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TABasedMDT_ExtIEs__extensionValue_PR; +typedef enum TAIBasedMDT_ExtIEs__extensionValue_PR { + TAIBasedMDT_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TAIBasedMDT_ExtIEs__extensionValue_PR; +typedef enum TAI_Item_ExtIEs__extensionValue_PR { + TAI_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TAI_Item_ExtIEs__extensionValue_PR; +typedef enum TABasedQMC_ExtIEs__extensionValue_PR { + TABasedQMC_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TABasedQMC_ExtIEs__extensionValue_PR; +typedef enum TAIBasedQMC_ExtIEs__extensionValue_PR { + TAIBasedQMC_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} TAIBasedQMC_ExtIEs__extensionValue_PR; +typedef enum TDD_Info_ExtIEs__extensionValue_PR { + TDD_Info_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + TDD_Info_ExtIEs__extensionValue_PR_AdditionalSpecialSubframe_Info, + TDD_Info_ExtIEs__extensionValue_PR_EARFCNExtension, + TDD_Info_ExtIEs__extensionValue_PR_AdditionalSpecialSubframeExtension_Info +} TDD_Info_ExtIEs__extensionValue_PR; +typedef enum TraceActivation_ExtIEs__extensionValue_PR { + TraceActivation_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + TraceActivation_ExtIEs__extensionValue_PR_MDT_Configuration, + TraceActivation_ExtIEs__extensionValue_PR_UEAppLayerMeasConfig +} TraceActivation_ExtIEs__extensionValue_PR; +typedef enum Tunnel_Information_ExtIEs__extensionValue_PR { + Tunnel_Information_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} Tunnel_Information_ExtIEs__extensionValue_PR; +typedef enum UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR { + UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR_ExtendedBitRate +} UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR; +typedef enum UEAppLayerMeasConfig_ExtIEs__extensionValue_PR { + UEAppLayerMeasConfig_ExtIEs__extensionValue_PR_NOTHING, /* No components present */ + UEAppLayerMeasConfig_ExtIEs__extensionValue_PR_ServiceType +} UEAppLayerMeasConfig_ExtIEs__extensionValue_PR; +typedef enum UESecurityCapabilities_ExtIEs__extensionValue_PR { + UESecurityCapabilities_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UESecurityCapabilities_ExtIEs__extensionValue_PR; +typedef enum UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue_PR { + UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue_PR; +typedef enum UEsToBeResetList_Item_ExtIEs__extensionValue_PR { + UEsToBeResetList_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UEsToBeResetList_Item_ExtIEs__extensionValue_PR; +typedef enum ULandDLSharing_ExtIEs__extensionValue_PR { + ULandDLSharing_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ULandDLSharing_ExtIEs__extensionValue_PR; +typedef enum ULConfiguration_ExtIEs__extensionValue_PR { + ULConfiguration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ULConfiguration_ExtIEs__extensionValue_PR; +typedef enum UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue_PR { + UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue_PR; +typedef enum ULOnlySharing_ExtIEs__extensionValue_PR { + ULOnlySharing_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} ULOnlySharing_ExtIEs__extensionValue_PR; +typedef enum UsableABSInformationFDD_ExtIEs__extensionValue_PR { + UsableABSInformationFDD_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UsableABSInformationFDD_ExtIEs__extensionValue_PR; +typedef enum UsableABSInformationTDD_ExtIEs__extensionValue_PR { + UsableABSInformationTDD_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} UsableABSInformationTDD_ExtIEs__extensionValue_PR; +typedef enum V2XServicesAuthorized_ExtIEs__extensionValue_PR { + V2XServicesAuthorized_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} V2XServicesAuthorized_ExtIEs__extensionValue_PR; +typedef enum WidebandCQI_ExtIEs__extensionValue_PR { + WidebandCQI_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} WidebandCQI_ExtIEs__extensionValue_PR; +typedef enum WLANMeasurementConfiguration_ExtIEs__extensionValue_PR { + WLANMeasurementConfiguration_ExtIEs__extensionValue_PR_NOTHING /* No components present */ + +} WLANMeasurementConfiguration_ExtIEs__extensionValue_PR; + +/* ProtocolExtensionField */ +typedef struct UE_ContextInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextInformation_ExtIEs__extensionValue { + UE_ContextInformation_ExtIEs__extensionValue_PR present; + union UE_ContextInformation_ExtIEs__extensionValue_u { + ManagementBasedMDTallowed_t ManagementBasedMDTallowed; + MDTPLMNList_t MDTPLMNList; + UESidelinkAggregateMaximumBitRate_t UESidelinkAggregateMaximumBitRate; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformation_ExtIEs_t; +typedef struct E_RABs_ToBeSetup_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeSetup_ItemExtIEs__extensionValue { + E_RABs_ToBeSetup_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeSetup_ItemExtIEs__extensionValue_u { + BearerType_t BearerType; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetup_ItemExtIEs_t; +typedef struct UE_ContextReferenceAtSeNB_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue { + UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue_PR present; + union UE_ContextReferenceAtSeNB_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtSeNB_ItemExtIEs_t; +typedef struct UE_ContextReferenceAtWT_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextReferenceAtWT_ItemExtIEs__extensionValue { + UE_ContextReferenceAtWT_ItemExtIEs__extensionValue_PR present; + union UE_ContextReferenceAtWT_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtWT_ItemExtIEs_t; +typedef struct UE_ContextReferenceAtSgNB_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue { + UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue_PR present; + union UE_ContextReferenceAtSgNB_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtSgNB_ItemExtIEs_t; +typedef struct E_RABs_Admitted_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_Item_ExtIEs__extensionValue { + E_RABs_Admitted_Item_ExtIEs__extensionValue_PR present; + union E_RABs_Admitted_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_Item_ExtIEs_t; +typedef struct E_RABs_SubjectToStatusTransfer_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue { + E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR present; + union E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_u { + ReceiveStatusOfULPDCPSDUsExtended_t ReceiveStatusOfULPDCPSDUsExtended; + COUNTValueExtended_t COUNTValueExtended; + ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_t ReceiveStatusOfULPDCPSDUsPDCP_SNlength18; + COUNTvaluePDCP_SNlength18_t COUNTvaluePDCP_SNlength18; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToStatusTransfer_ItemExtIEs_t; +typedef struct CellInformation_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellInformation_Item_ExtIEs__extensionValue { + CellInformation_Item_ExtIEs__extensionValue_PR present; + union CellInformation_Item_ExtIEs__extensionValue_u { + ABSInformation_t ABSInformation; + InvokeIndication_t InvokeIndication; + SubframeAssignment_t SubframeAssignment; + ExtendedULInterferenceOverloadInfo_t ExtendedULInterferenceOverloadInfo; + CoMPInformation_t CoMPInformation; + DynamicDLTransmissionInformation_t DynamicDLTransmissionInformation; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellInformation_Item_ExtIEs_t; +typedef struct ServedCellsToModify_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedCellsToModify_Item_ExtIEs__extensionValue { + ServedCellsToModify_Item_ExtIEs__extensionValue_PR present; + union ServedCellsToModify_Item_ExtIEs__extensionValue_u { + DeactivationIndication_t DeactivationIndication; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToModify_Item_ExtIEs_t; +typedef struct CellToReport_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellToReport_Item_ExtIEs__extensionValue { + CellToReport_Item_ExtIEs__extensionValue_PR present; + union CellToReport_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellToReport_Item_ExtIEs_t; +typedef struct MeasurementInitiationResult_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MeasurementInitiationResult_Item_ExtIEs__extensionValue { + MeasurementInitiationResult_Item_ExtIEs__extensionValue_PR present; + union MeasurementInitiationResult_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementInitiationResult_Item_ExtIEs_t; +typedef struct MeasurementFailureCause_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MeasurementFailureCause_Item_ExtIEs__extensionValue { + MeasurementFailureCause_Item_ExtIEs__extensionValue_PR present; + union MeasurementFailureCause_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeasurementFailureCause_Item_ExtIEs_t; +typedef struct CompleteFailureCauseInformation_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CompleteFailureCauseInformation_Item_ExtIEs__extensionValue { + CompleteFailureCauseInformation_Item_ExtIEs__extensionValue_PR present; + union CompleteFailureCauseInformation_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompleteFailureCauseInformation_Item_ExtIEs_t; +typedef struct CellMeasurementResult_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellMeasurementResult_Item_ExtIEs__extensionValue { + CellMeasurementResult_Item_ExtIEs__extensionValue_PR present; + union CellMeasurementResult_Item_ExtIEs__extensionValue_u { + CompositeAvailableCapacityGroup_t CompositeAvailableCapacityGroup; + ABS_Status_t ABS_Status; + RSRPMRList_t RSRPMRList; + CSIReportList_t CSIReportList; + CellReportingIndicator_t CellReportingIndicator; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellMeasurementResult_Item_ExtIEs_t; +typedef struct ServedCellsToActivate_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedCellsToActivate_Item_ExtIEs__extensionValue { + ServedCellsToActivate_Item_ExtIEs__extensionValue_PR present; + union ServedCellsToActivate_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToActivate_Item_ExtIEs_t; +typedef struct ActivatedCellList_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ActivatedCellList_Item_ExtIEs__extensionValue { + ActivatedCellList_Item_ExtIEs__extensionValue_PR present; + union ActivatedCellList_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedCellList_Item_ExtIEs_t; +typedef struct RNL_Header_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RNL_Header_Item_ExtIEs__extensionValue { + RNL_Header_Item_ExtIEs__extensionValue_PR present; + union RNL_Header_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RNL_Header_Item_ExtIEs_t; +typedef struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_u { + Correlation_ID_t Correlation_ID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_Item_Split_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_t; +typedef struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue { + ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue_PR present; + union ResponseInformationSeNBReconfComp_SuccessItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSeNBReconfComp_SuccessItemExtIEs_t; +typedef struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue { + ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR present; + union ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_t; +typedef struct UE_ContextInformationSeNBModReqExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextInformationSeNBModReqExtIEs__extensionValue { + UE_ContextInformationSeNBModReqExtIEs__extensionValue_PR present; + union UE_ContextInformationSeNBModReqExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformationSeNBModReqExtIEs_t; +typedef struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_u { + Correlation_ID_t Correlation_ID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_t; +typedef struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue { + E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_ModReqdItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue { + E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_ModReqdItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_ModReqdItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_t; +typedef struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue { + E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_t; +typedef struct E_RABs_SubjectToCounterCheckItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue { + E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue_PR present; + union E_RABs_SubjectToCounterCheckItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToCounterCheckItemExtIEs_t; +typedef struct UE_ContextInformationRetrieve_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextInformationRetrieve_ExtIEs__extensionValue { + UE_ContextInformationRetrieve_ExtIEs__extensionValue_PR present; + union UE_ContextInformationRetrieve_ExtIEs__extensionValue_u { + UESidelinkAggregateMaximumBitRate_t UESidelinkAggregateMaximumBitRate; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformationRetrieve_ExtIEs_t; +typedef struct E_RABs_ToBeSetupRetrieve_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue { + E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeSetupRetrieve_ItemExtIEs__extensionValue_u { + GTPtunnelEndpoint_t GTPtunnelEndpoint; + DL_Forwarding_t DL_Forwarding; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeSetupRetrieve_ItemExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + RLCMode_t RLCMode; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + DuplicationActivation_t DuplicationActivation; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + LCID_t LCID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue { + ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue_PR present; + union ResponseInformationSgNBReconfComp_SuccessItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSgNBReconfComp_SuccessItemExtIEs_t; +typedef struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue { + ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_PR present; + union ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_t; +typedef struct UE_ContextInformationSgNBModReqExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_ContextInformationSgNBModReqExtIEs__extensionValue { + UE_ContextInformationSgNBModReqExtIEs__extensionValue_PR present; + union UE_ContextInformationSgNBModReqExtIEs__extensionValue_u { + SubscriberProfileIDforRFP_t SubscriberProfileIDforRFP; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformationSgNBModReqExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + RLCMode_t RLCMode; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + DuplicationActivation_t DuplicationActivation; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReq_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + RLC_Status_t RLC_Status; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + GTPtunnelEndpoint_t GTPtunnelEndpoint; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + LCID_t LCID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue { + E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + GTPtunnelEndpoint_t GTPtunnelEndpoint; + RLC_Status_t RLC_Status; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs__extensionValue_u { + RLCMode_t RLCMode; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + NewDRBIDrequest_t NewDRBIDrequest; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + RLC_Status_t RLC_Status; + LCID_t LCID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue { + E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue_PR present; + union E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_t; +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + PDCPSnLength_t PDCPSnLength; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue { + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue_PR present; + union E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue { + E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue_PR present; + union E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue { + E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR present; + union E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_t; +typedef struct ServedEUTRAcellsENDCX2Management_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue { + ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue_PR present; + union ServedEUTRAcellsENDCX2Management_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsENDCX2Management_ExtIEs_t; +typedef struct En_gNBServedCells_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNBServedCells_ExtIEs__extensionValue { + En_gNBServedCells_ExtIEs__extensionValue_PR present; + union En_gNBServedCells_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} En_gNBServedCells_ExtIEs_t; +typedef struct ServedNRCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedNRCell_Information_ExtIEs__extensionValue { + ServedNRCell_Information_ExtIEs__extensionValue_PR present; + union ServedNRCell_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCell_Information_ExtIEs_t; +typedef struct FDD_InfoServedNRCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct FDD_InfoServedNRCell_Information_ExtIEs__extensionValue { + FDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR present; + union FDD_InfoServedNRCell_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_InfoServedNRCell_Information_ExtIEs_t; +typedef struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue { + FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR present; + union FDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_InfoNeighbourServedNRCell_Information_ExtIEs_t; +typedef struct TDD_InfoServedNRCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TDD_InfoServedNRCell_Information_ExtIEs__extensionValue { + TDD_InfoServedNRCell_Information_ExtIEs__extensionValue_PR present; + union TDD_InfoServedNRCell_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_InfoServedNRCell_Information_ExtIEs_t; +typedef struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue { + TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_PR present; + union TDD_InfoNeighbourServedNRCell_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_InfoNeighbourServedNRCell_Information_ExtIEs_t; +typedef struct NRNeighbour_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct NRNeighbour_Information_ExtIEs__extensionValue { + NRNeighbour_Information_ExtIEs__extensionValue_PR present; + union NRNeighbour_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRNeighbour_Information_ExtIEs_t; +typedef struct Limited_list_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct Limited_list_ExtIEs__extensionValue { + Limited_list_ExtIEs__extensionValue_PR present; + union Limited_list_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Limited_list_ExtIEs_t; +typedef struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue { + ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue_PR present; + union ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_t; +typedef struct ServedNRCellsToModify_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedNRCellsToModify_Item_ExtIEs__extensionValue { + ServedNRCellsToModify_Item_ExtIEs__extensionValue_PR present; + union ServedNRCellsToModify_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCellsToModify_Item_ExtIEs_t; +typedef struct ServedNRCellsToActivate_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedNRCellsToActivate_Item_ExtIEs__extensionValue { + ServedNRCellsToActivate_Item_ExtIEs__extensionValue_PR present; + union ServedNRCellsToActivate_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCellsToActivate_Item_ExtIEs_t; +typedef struct ActivatedNRCellList_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ActivatedNRCellList_Item_ExtIEs__extensionValue { + ActivatedNRCellList_Item_ExtIEs__extensionValue_PR present; + union ActivatedNRCellList_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ActivatedNRCellList_Item_ExtIEs_t; +typedef struct E_RABs_DataForwardingAddress_ItemExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue { + E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue_PR present; + union E_RABs_DataForwardingAddress_ItemExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABs_DataForwardingAddress_ItemExtIEs_t; +typedef struct ABSInformationFDD_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ABSInformationFDD_ExtIEs__extensionValue { + ABSInformationFDD_ExtIEs__extensionValue_PR present; + union ABSInformationFDD_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABSInformationFDD_ExtIEs_t; +typedef struct ABSInformationTDD_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ABSInformationTDD_ExtIEs__extensionValue { + ABSInformationTDD_ExtIEs__extensionValue_PR present; + union ABSInformationTDD_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABSInformationTDD_ExtIEs_t; +typedef struct ABS_Status_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ABS_Status_ExtIEs__extensionValue { + ABS_Status_ExtIEs__extensionValue_PR present; + union ABS_Status_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ABS_Status_ExtIEs_t; +typedef struct AdditionalSpecialSubframe_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct AdditionalSpecialSubframe_Info_ExtIEs__extensionValue { + AdditionalSpecialSubframe_Info_ExtIEs__extensionValue_PR present; + union AdditionalSpecialSubframe_Info_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AdditionalSpecialSubframe_Info_ExtIEs_t; +typedef struct AdditionalSpecialSubframeExtension_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue { + AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue_PR present; + union AdditionalSpecialSubframeExtension_Info_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AdditionalSpecialSubframeExtension_Info_ExtIEs_t; +typedef struct AllocationAndRetentionPriority_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct AllocationAndRetentionPriority_ExtIEs__extensionValue { + AllocationAndRetentionPriority_ExtIEs__extensionValue_PR present; + union AllocationAndRetentionPriority_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AllocationAndRetentionPriority_ExtIEs_t; +typedef struct AS_SecurityInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct AS_SecurityInformation_ExtIEs__extensionValue { + AS_SecurityInformation_ExtIEs__extensionValue_PR present; + union AS_SecurityInformation_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AS_SecurityInformation_ExtIEs_t; +typedef struct BluetoothMeasurementConfiguration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue { + BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR present; + union BluetoothMeasurementConfiguration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BluetoothMeasurementConfiguration_ExtIEs_t; +typedef struct CellBasedMDT_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellBasedMDT_ExtIEs__extensionValue { + CellBasedMDT_ExtIEs__extensionValue_PR present; + union CellBasedMDT_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellBasedMDT_ExtIEs_t; +typedef struct CellBasedQMC_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellBasedQMC_ExtIEs__extensionValue { + CellBasedQMC_ExtIEs__extensionValue_PR present; + union CellBasedQMC_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellBasedQMC_ExtIEs_t; +typedef struct CellReplacingInfo_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellReplacingInfo_ExtIEs__extensionValue { + CellReplacingInfo_ExtIEs__extensionValue_PR present; + union CellReplacingInfo_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellReplacingInfo_ExtIEs_t; +typedef struct CellType_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellType_ExtIEs__extensionValue { + CellType_ExtIEs__extensionValue_PR present; + union CellType_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CellType_ExtIEs_t; +typedef struct CNTypeRestrictionsItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CNTypeRestrictionsItem_ExtIEs__extensionValue { + CNTypeRestrictionsItem_ExtIEs__extensionValue_PR present; + union CNTypeRestrictionsItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CNTypeRestrictionsItem_ExtIEs_t; +typedef struct CoMPHypothesisSetItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CoMPHypothesisSetItem_ExtIEs__extensionValue { + CoMPHypothesisSetItem_ExtIEs__extensionValue_PR present; + union CoMPHypothesisSetItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPHypothesisSetItem_ExtIEs_t; +typedef struct CoMPInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CoMPInformation_ExtIEs__extensionValue { + CoMPInformation_ExtIEs__extensionValue_PR present; + union CoMPInformation_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformation_ExtIEs_t; +typedef struct CoMPInformationItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CoMPInformationItem_ExtIEs__extensionValue { + CoMPInformationItem_ExtIEs__extensionValue_PR present; + union CoMPInformationItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationItem_ExtIEs_t; +typedef struct CoMPInformationStartTime_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CoMPInformationStartTime_ExtIEs__extensionValue { + CoMPInformationStartTime_ExtIEs__extensionValue_PR present; + union CoMPInformationStartTime_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CoMPInformationStartTime_ExtIEs_t; +typedef struct CompositeAvailableCapacity_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CompositeAvailableCapacity_ExtIEs__extensionValue { + CompositeAvailableCapacity_ExtIEs__extensionValue_PR present; + union CompositeAvailableCapacity_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompositeAvailableCapacity_ExtIEs_t; +typedef struct CompositeAvailableCapacityGroup_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CompositeAvailableCapacityGroup_ExtIEs__extensionValue { + CompositeAvailableCapacityGroup_ExtIEs__extensionValue_PR present; + union CompositeAvailableCapacityGroup_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CompositeAvailableCapacityGroup_ExtIEs_t; +typedef struct COUNTvalue_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct COUNTvalue_ExtIEs__extensionValue { + COUNTvalue_ExtIEs__extensionValue_PR present; + union COUNTvalue_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTvalue_ExtIEs_t; +typedef struct COUNTValueExtended_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct COUNTValueExtended_ExtIEs__extensionValue { + COUNTValueExtended_ExtIEs__extensionValue_PR present; + union COUNTValueExtended_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTValueExtended_ExtIEs_t; +typedef struct COUNTvaluePDCP_SNlength18_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue { + COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR present; + union COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} COUNTvaluePDCP_SNlength18_ExtIEs_t; +typedef struct CriticalityDiagnostics_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CriticalityDiagnostics_ExtIEs__extensionValue { + CriticalityDiagnostics_ExtIEs__extensionValue_PR present; + union CriticalityDiagnostics_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_ExtIEs_t; +typedef struct CriticalityDiagnostics_IE_List_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CriticalityDiagnostics_IE_List_ExtIEs__extensionValue { + CriticalityDiagnostics_IE_List_ExtIEs__extensionValue_PR present; + union CriticalityDiagnostics_IE_List_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_IE_List_ExtIEs_t; +typedef struct CSIReportList_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CSIReportList_ExtIEs__extensionValue { + CSIReportList_ExtIEs__extensionValue_PR present; + union CSIReportList_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportList_ExtIEs_t; +typedef struct CSIReportPerCSIProcess_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CSIReportPerCSIProcess_ExtIEs__extensionValue { + CSIReportPerCSIProcess_ExtIEs__extensionValue_PR present; + union CSIReportPerCSIProcess_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcess_ExtIEs_t; +typedef struct CSIReportPerCSIProcessItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CSIReportPerCSIProcessItem_ExtIEs__extensionValue { + CSIReportPerCSIProcessItem_ExtIEs__extensionValue_PR present; + union CSIReportPerCSIProcessItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSIReportPerCSIProcessItem_ExtIEs_t; +typedef struct DataTrafficResourceIndication_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct DataTrafficResourceIndication_ExtIEs__extensionValue { + DataTrafficResourceIndication_ExtIEs__extensionValue_PR present; + union DataTrafficResourceIndication_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DataTrafficResourceIndication_ExtIEs_t; +typedef struct DeliveryStatus_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct DeliveryStatus_ExtIEs__extensionValue { + DeliveryStatus_ExtIEs__extensionValue_PR present; + union DeliveryStatus_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DeliveryStatus_ExtIEs_t; +typedef struct DynamicNAICSInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct DynamicNAICSInformation_ExtIEs__extensionValue { + DynamicNAICSInformation_ExtIEs__extensionValue_PR present; + union DynamicNAICSInformation_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} DynamicNAICSInformation_ExtIEs_t; +typedef struct ECGI_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ECGI_ExtIEs__extensionValue { + ECGI_ExtIEs__extensionValue_PR present; + union ECGI_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ECGI_ExtIEs_t; +typedef struct EnhancedRNTP_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct EnhancedRNTP_ExtIEs__extensionValue { + EnhancedRNTP_ExtIEs__extensionValue_PR present; + union EnhancedRNTP_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EnhancedRNTP_ExtIEs_t; +typedef struct EnhancedRNTPStartTime_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct EnhancedRNTPStartTime_ExtIEs__extensionValue { + EnhancedRNTPStartTime_ExtIEs__extensionValue_PR present; + union EnhancedRNTPStartTime_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EnhancedRNTPStartTime_ExtIEs_t; +typedef struct EN_DC_ResourceConfigurationExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct EN_DC_ResourceConfigurationExtIEs__extensionValue { + EN_DC_ResourceConfigurationExtIEs__extensionValue_PR present; + union EN_DC_ResourceConfigurationExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} EN_DC_ResourceConfigurationExtIEs_t; +typedef struct ERABActivityNotifyItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ERABActivityNotifyItem_ExtIEs__extensionValue { + ERABActivityNotifyItem_ExtIEs__extensionValue_PR present; + union ERABActivityNotifyItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ERABActivityNotifyItem_ExtIEs_t; +typedef struct E_RAB_Level_QoS_Parameters_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue { + E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR present; + union E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_u { + Packet_LossRate_t Packet_LossRate; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RAB_Level_QoS_Parameters_ExtIEs_t; +typedef struct E_RAB_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RAB_Item_ExtIEs__extensionValue { + E_RAB_Item_ExtIEs__extensionValue_PR present; + union E_RAB_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RAB_Item_ExtIEs_t; +typedef struct E_RABUsageReport_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABUsageReport_Item_ExtIEs__extensionValue { + E_RABUsageReport_Item_ExtIEs__extensionValue_PR present; + union E_RABUsageReport_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} E_RABUsageReport_Item_ExtIEs_t; +typedef struct ExpectedUEBehaviour_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ExpectedUEBehaviour_ExtIEs__extensionValue { + ExpectedUEBehaviour_ExtIEs__extensionValue_PR present; + union ExpectedUEBehaviour_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExpectedUEBehaviour_ExtIEs_t; +typedef struct ExpectedUEActivityBehaviour_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue { + ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR present; + union ExpectedUEActivityBehaviour_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExpectedUEActivityBehaviour_ExtIEs_t; +typedef struct ExtendedULInterferenceOverloadInfo_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue { + ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue_PR present; + union ExtendedULInterferenceOverloadInfo_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ExtendedULInterferenceOverloadInfo_ExtIEs_t; +typedef struct FDD_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct FDD_Info_ExtIEs__extensionValue { + FDD_Info_ExtIEs__extensionValue_PR present; + union FDD_Info_ExtIEs__extensionValue_u { + EARFCNExtension_t EARFCNExtension; + OffsetOfNbiotChannelNumberToEARFCN_t OffsetOfNbiotChannelNumberToEARFCN; + NRS_NSSS_PowerOffset_t NRS_NSSS_PowerOffset; + NSSS_NumOccasionDifferentPrecoder_t NSSS_NumOccasionDifferentPrecoder; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FDD_Info_ExtIEs_t; +typedef struct ForbiddenTAs_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ForbiddenTAs_Item_ExtIEs__extensionValue { + ForbiddenTAs_Item_ExtIEs__extensionValue_PR present; + union ForbiddenTAs_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenTAs_Item_ExtIEs_t; +typedef struct ForbiddenLAs_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ForbiddenLAs_Item_ExtIEs__extensionValue { + ForbiddenLAs_Item_ExtIEs__extensionValue_PR present; + union ForbiddenLAs_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ForbiddenLAs_Item_ExtIEs_t; +typedef struct FreqBandNrItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct FreqBandNrItem_ExtIEs__extensionValue { + FreqBandNrItem_ExtIEs__extensionValue_PR present; + union FreqBandNrItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} FreqBandNrItem_ExtIEs_t; +typedef struct GBR_QosInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GBR_QosInformation_ExtIEs__extensionValue { + GBR_QosInformation_ExtIEs__extensionValue_PR present; + union GBR_QosInformation_ExtIEs__extensionValue_u { + ExtendedBitRate_t ExtendedBitRate; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GBR_QosInformation_ExtIEs_t; +typedef struct GlobalENB_ID_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GlobalENB_ID_ExtIEs__extensionValue { + GlobalENB_ID_ExtIEs__extensionValue_PR present; + union GlobalENB_ID_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GlobalENB_ID_ExtIEs_t; +typedef struct GlobalGNB_ID_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GlobalGNB_ID_ExtIEs__extensionValue { + GlobalGNB_ID_ExtIEs__extensionValue_PR present; + union GlobalGNB_ID_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GlobalGNB_ID_ExtIEs_t; +typedef struct GTPtunnelEndpoint_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GTPtunnelEndpoint_ExtIEs__extensionValue { + GTPtunnelEndpoint_ExtIEs__extensionValue_PR present; + union GTPtunnelEndpoint_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GTPtunnelEndpoint_ExtIEs_t; +typedef struct GU_Group_ID_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GU_Group_ID_ExtIEs__extensionValue { + GU_Group_ID_ExtIEs__extensionValue_PR present; + union GU_Group_ID_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GU_Group_ID_ExtIEs_t; +typedef struct GUMMEI_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GUMMEI_ExtIEs__extensionValue { + GUMMEI_ExtIEs__extensionValue_PR present; + union GUMMEI_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GUMMEI_ExtIEs_t; +typedef struct HandoverRestrictionList_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverRestrictionList_ExtIEs__extensionValue { + HandoverRestrictionList_ExtIEs__extensionValue_PR present; + union HandoverRestrictionList_ExtIEs__extensionValue_u { + NRrestrictioninEPSasSecondaryRAT_t NRrestrictioninEPSasSecondaryRAT; + CNTypeRestrictions_t CNTypeRestrictions; + NRrestrictionin5GS_t NRrestrictionin5GS; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HandoverRestrictionList_ExtIEs_t; +typedef struct HWLoadIndicator_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HWLoadIndicator_ExtIEs__extensionValue { + HWLoadIndicator_ExtIEs__extensionValue_PR present; + union HWLoadIndicator_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HWLoadIndicator_ExtIEs_t; +typedef struct LastVisitedEUTRANCellInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue { + LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR present; + union LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_u { + Time_UE_StayedInCell_EnhancedGranularity_t Time_UE_StayedInCell_EnhancedGranularity; + Cause_t Cause; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LastVisitedEUTRANCellInformation_ExtIEs_t; +typedef struct LocationReportingInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct LocationReportingInformation_ExtIEs__extensionValue { + LocationReportingInformation_ExtIEs__extensionValue_PR present; + union LocationReportingInformation_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LocationReportingInformation_ExtIEs_t; +typedef struct M1PeriodicReporting_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M1PeriodicReporting_ExtIEs__extensionValue { + M1PeriodicReporting_ExtIEs__extensionValue_PR present; + union M1PeriodicReporting_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M1PeriodicReporting_ExtIEs_t; +typedef struct M1ThresholdEventA2_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M1ThresholdEventA2_ExtIEs__extensionValue { + M1ThresholdEventA2_ExtIEs__extensionValue_PR present; + union M1ThresholdEventA2_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M1ThresholdEventA2_ExtIEs_t; +typedef struct M3Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M3Configuration_ExtIEs__extensionValue { + M3Configuration_ExtIEs__extensionValue_PR present; + union M3Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M3Configuration_ExtIEs_t; +typedef struct M4Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M4Configuration_ExtIEs__extensionValue { + M4Configuration_ExtIEs__extensionValue_PR present; + union M4Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M4Configuration_ExtIEs_t; +typedef struct M5Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M5Configuration_ExtIEs__extensionValue { + M5Configuration_ExtIEs__extensionValue_PR present; + union M5Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M5Configuration_ExtIEs_t; +typedef struct M6Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M6Configuration_ExtIEs__extensionValue { + M6Configuration_ExtIEs__extensionValue_PR present; + union M6Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M6Configuration_ExtIEs_t; +typedef struct M7Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct M7Configuration_ExtIEs__extensionValue { + M7Configuration_ExtIEs__extensionValue_PR present; + union M7Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} M7Configuration_ExtIEs_t; +typedef struct MDT_Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MDT_Configuration_ExtIEs__extensionValue { + MDT_Configuration_ExtIEs__extensionValue_PR present; + union MDT_Configuration_ExtIEs__extensionValue_u { + M3Configuration_t M3Configuration; + M4Configuration_t M4Configuration; + M5Configuration_t M5Configuration; + MDT_Location_Info_t MDT_Location_Info; + MDTPLMNList_t MDTPLMNList; + M6Configuration_t M6Configuration; + M7Configuration_t M7Configuration; + BluetoothMeasurementConfiguration_t BluetoothMeasurementConfiguration; + WLANMeasurementConfiguration_t WLANMeasurementConfiguration; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MDT_Configuration_ExtIEs_t; +typedef struct MeNBResourceCoordinationInformationExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MeNBResourceCoordinationInformationExtIEs__extensionValue { + MeNBResourceCoordinationInformationExtIEs__extensionValue_PR present; + union MeNBResourceCoordinationInformationExtIEs__extensionValue_u { + NRCGI_t NRCGI; + MeNBCoordinationAssistanceInformation_t MeNBCoordinationAssistanceInformation; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MeNBResourceCoordinationInformationExtIEs_t; +typedef struct MBSFN_Subframe_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MBSFN_Subframe_Info_ExtIEs__extensionValue { + MBSFN_Subframe_Info_ExtIEs__extensionValue_PR present; + union MBSFN_Subframe_Info_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MBSFN_Subframe_Info_ExtIEs_t; +typedef struct BandInfo_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct BandInfo_ExtIEs__extensionValue { + BandInfo_ExtIEs__extensionValue_PR present; + union BandInfo_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} BandInfo_ExtIEs_t; +typedef struct SplitSRB_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SplitSRB_ExtIEs__extensionValue { + SplitSRB_ExtIEs__extensionValue_PR present; + union SplitSRB_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SplitSRB_ExtIEs_t; +typedef struct UENRMeasurement_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UENRMeasurement_ExtIEs__extensionValue { + UENRMeasurement_ExtIEs__extensionValue_PR present; + union UENRMeasurement_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UENRMeasurement_ExtIEs_t; +typedef struct Neighbour_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct Neighbour_Information_ExtIEs__extensionValue { + Neighbour_Information_ExtIEs__extensionValue_PR present; + union Neighbour_Information_ExtIEs__extensionValue_u { + TAC_t TAC; + EARFCNExtension_t EARFCNExtension; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Neighbour_Information_ExtIEs_t; +typedef struct NRFreqInfo_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct NRFreqInfo_ExtIEs__extensionValue { + NRFreqInfo_ExtIEs__extensionValue_PR present; + union NRFreqInfo_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRFreqInfo_ExtIEs_t; +typedef struct NRCGI_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct NRCGI_ExtIEs__extensionValue { + NRCGI_ExtIEs__extensionValue_PR present; + union NRCGI_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRCGI_ExtIEs_t; +typedef struct NR_TxBW_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct NR_TxBW_ExtIEs__extensionValue { + NR_TxBW_ExtIEs__extensionValue_PR present; + union NR_TxBW_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NR_TxBW_ExtIEs_t; +typedef struct NRUESecurityCapabilities_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct NRUESecurityCapabilities_ExtIEs__extensionValue { + NRUESecurityCapabilities_ExtIEs__extensionValue_PR present; + union NRUESecurityCapabilities_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NRUESecurityCapabilities_ExtIEs_t; +typedef struct PRACH_Configuration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct PRACH_Configuration_ExtIEs__extensionValue { + PRACH_Configuration_ExtIEs__extensionValue_PR present; + union PRACH_Configuration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PRACH_Configuration_ExtIEs_t; +typedef struct PLMNAreaBasedQMC_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct PLMNAreaBasedQMC_ExtIEs__extensionValue { + PLMNAreaBasedQMC_ExtIEs__extensionValue_PR present; + union PLMNAreaBasedQMC_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PLMNAreaBasedQMC_ExtIEs_t; +typedef struct ProSeAuthorized_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ProSeAuthorized_ExtIEs__extensionValue { + ProSeAuthorized_ExtIEs__extensionValue_PR present; + union ProSeAuthorized_ExtIEs__extensionValue_u { + ProSeUEtoNetworkRelaying_t ProSeUEtoNetworkRelaying; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProSeAuthorized_ExtIEs_t; +typedef struct ProtectedEUTRAResourceIndication_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ProtectedEUTRAResourceIndication_ExtIEs__extensionValue { + ProtectedEUTRAResourceIndication_ExtIEs__extensionValue_PR present; + union ProtectedEUTRAResourceIndication_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedEUTRAResourceIndication_ExtIEs_t; +typedef struct ProtectedFootprintTimePattern_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ProtectedFootprintTimePattern_ExtIEs__extensionValue { + ProtectedFootprintTimePattern_ExtIEs__extensionValue_PR present; + union ProtectedFootprintTimePattern_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedFootprintTimePattern_ExtIEs_t; +typedef struct ProtectedResourceList_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ProtectedResourceList_Item_ExtIEs__extensionValue { + ProtectedResourceList_Item_ExtIEs__extensionValue_PR present; + union ProtectedResourceList_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtectedResourceList_Item_ExtIEs_t; +typedef struct RadioResourceStatus_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RadioResourceStatus_ExtIEs__extensionValue { + RadioResourceStatus_ExtIEs__extensionValue_PR present; + union RadioResourceStatus_ExtIEs__extensionValue_u { + DL_scheduling_PDCCH_CCE_usage_t DL_scheduling_PDCCH_CCE_usage; + UL_scheduling_PDCCH_CCE_usage_t UL_scheduling_PDCCH_CCE_usage; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RadioResourceStatus_ExtIEs_t; +typedef struct RelativeNarrowbandTxPower_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RelativeNarrowbandTxPower_ExtIEs__extensionValue { + RelativeNarrowbandTxPower_ExtIEs__extensionValue_PR present; + union RelativeNarrowbandTxPower_ExtIEs__extensionValue_u { + EnhancedRNTP_t EnhancedRNTP; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RelativeNarrowbandTxPower_ExtIEs_t; +typedef struct ReservedSubframePattern_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ReservedSubframePattern_ExtIEs__extensionValue { + ReservedSubframePattern_ExtIEs__extensionValue_PR present; + union ReservedSubframePattern_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ReservedSubframePattern_ExtIEs_t; +typedef struct RLC_Status_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RLC_Status_ExtIEs__extensionValue { + RLC_Status_ExtIEs__extensionValue_PR present; + union RLC_Status_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RLC_Status_ExtIEs_t; +typedef struct RSRPMeasurementResult_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RSRPMeasurementResult_ExtIEs__extensionValue { + RSRPMeasurementResult_ExtIEs__extensionValue_PR present; + union RSRPMeasurementResult_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMeasurementResult_ExtIEs_t; +typedef struct RSRPMRList_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RSRPMRList_ExtIEs__extensionValue { + RSRPMRList_ExtIEs__extensionValue_PR present; + union RSRPMRList_ExtIEs__extensionValue_u { + UEID_t UEID; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMRList_ExtIEs_t; +typedef struct S1TNLLoadIndicator_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct S1TNLLoadIndicator_ExtIEs__extensionValue { + S1TNLLoadIndicator_ExtIEs__extensionValue_PR present; + union S1TNLLoadIndicator_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} S1TNLLoadIndicator_ExtIEs_t; +typedef struct SecondaryRATUsageReport_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SecondaryRATUsageReport_Item_ExtIEs__extensionValue { + SecondaryRATUsageReport_Item_ExtIEs__extensionValue_PR present; + union SecondaryRATUsageReport_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SecondaryRATUsageReport_Item_ExtIEs_t; +typedef struct ServedCell_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedCell_ExtIEs__extensionValue { + ServedCell_ExtIEs__extensionValue_PR present; + union ServedCell_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCell_ExtIEs_t; +typedef struct ServedCell_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ServedCell_Information_ExtIEs__extensionValue { + ServedCell_Information_ExtIEs__extensionValue_PR present; + union ServedCell_Information_ExtIEs__extensionValue_u { + Number_of_Antennaports_t Number_of_Antennaports; + PRACH_Configuration_t PRACH_Configuration; + MBSFN_Subframe_Infolist_t MBSFN_Subframe_Infolist; + CSG_Id_t CSG_Id; + MBMS_Service_Area_Identity_List_t MBMS_Service_Area_Identity_List; + MultibandInfoList_t MultibandInfoList; + FreqBandIndicatorPriority_t FreqBandIndicatorPriority; + BandwidthReducedSI_t BandwidthReducedSI; + ProtectedEUTRAResourceIndication_t ProtectedEUTRAResourceIndication; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCell_Information_ExtIEs_t; +typedef struct SgNBResourceCoordinationInformationExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBResourceCoordinationInformationExtIEs__extensionValue { + SgNBResourceCoordinationInformationExtIEs__extensionValue_PR present; + union SgNBResourceCoordinationInformationExtIEs__extensionValue_u { + ECGI_t ECGI; + SgNBCoordinationAssistanceInformation_t SgNBCoordinationAssistanceInformation; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBResourceCoordinationInformationExtIEs_t; +typedef struct SpecialSubframe_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SpecialSubframe_Info_ExtIEs__extensionValue { + SpecialSubframe_Info_ExtIEs__extensionValue_PR present; + union SpecialSubframe_Info_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SpecialSubframe_Info_ExtIEs_t; +typedef struct SubbandCQI_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SubbandCQI_ExtIEs__extensionValue { + SubbandCQI_ExtIEs__extensionValue_PR present; + union SubbandCQI_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQI_ExtIEs_t; +typedef struct Subscription_Based_UE_DifferentiationInfo_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue { + Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR present; + union Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Subscription_Based_UE_DifferentiationInfo_ExtIEs_t; +typedef struct ScheduledCommunicationTime_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ScheduledCommunicationTime_ExtIEs__extensionValue { + ScheduledCommunicationTime_ExtIEs__extensionValue_PR present; + union ScheduledCommunicationTime_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ScheduledCommunicationTime_ExtIEs_t; +typedef struct SubbandCQIItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SubbandCQIItem_ExtIEs__extensionValue { + SubbandCQIItem_ExtIEs__extensionValue_PR present; + union SubbandCQIItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQIItem_ExtIEs_t; +typedef struct SULInformation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SULInformation_ExtIEs__extensionValue { + SULInformation_ExtIEs__extensionValue_PR present; + union SULInformation_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SULInformation_ExtIEs_t; +typedef struct SupportedSULFreqBandItem_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SupportedSULFreqBandItem_ExtIEs__extensionValue { + SupportedSULFreqBandItem_ExtIEs__extensionValue_PR present; + union SupportedSULFreqBandItem_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SupportedSULFreqBandItem_ExtIEs_t; +typedef struct TABasedMDT_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TABasedMDT_ExtIEs__extensionValue { + TABasedMDT_ExtIEs__extensionValue_PR present; + union TABasedMDT_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TABasedMDT_ExtIEs_t; +typedef struct TAIBasedMDT_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TAIBasedMDT_ExtIEs__extensionValue { + TAIBasedMDT_ExtIEs__extensionValue_PR present; + union TAIBasedMDT_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIBasedMDT_ExtIEs_t; +typedef struct TAI_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TAI_Item_ExtIEs__extensionValue { + TAI_Item_ExtIEs__extensionValue_PR present; + union TAI_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAI_Item_ExtIEs_t; +typedef struct TABasedQMC_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TABasedQMC_ExtIEs__extensionValue { + TABasedQMC_ExtIEs__extensionValue_PR present; + union TABasedQMC_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TABasedQMC_ExtIEs_t; +typedef struct TAIBasedQMC_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TAIBasedQMC_ExtIEs__extensionValue { + TAIBasedQMC_ExtIEs__extensionValue_PR present; + union TAIBasedQMC_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIBasedQMC_ExtIEs_t; +typedef struct TDD_Info_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TDD_Info_ExtIEs__extensionValue { + TDD_Info_ExtIEs__extensionValue_PR present; + union TDD_Info_ExtIEs__extensionValue_u { + AdditionalSpecialSubframe_Info_t AdditionalSpecialSubframe_Info; + EARFCNExtension_t EARFCNExtension; + AdditionalSpecialSubframeExtension_Info_t AdditionalSpecialSubframeExtension_Info; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_Info_ExtIEs_t; +typedef struct TraceActivation_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct TraceActivation_ExtIEs__extensionValue { + TraceActivation_ExtIEs__extensionValue_PR present; + union TraceActivation_ExtIEs__extensionValue_u { + MDT_Configuration_t MDT_Configuration; + UEAppLayerMeasConfig_t UEAppLayerMeasConfig; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TraceActivation_ExtIEs_t; +typedef struct Tunnel_Information_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct Tunnel_Information_ExtIEs__extensionValue { + Tunnel_Information_ExtIEs__extensionValue_PR present; + union Tunnel_Information_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Tunnel_Information_ExtIEs_t; +typedef struct UEAggregate_MaximumBitrate_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UEAggregate_MaximumBitrate_ExtIEs__extensionValue { + UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR present; + union UEAggregate_MaximumBitrate_ExtIEs__extensionValue_u { + ExtendedBitRate_t ExtendedBitRate; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEAggregate_MaximumBitrate_ExtIEs_t; +typedef struct UEAppLayerMeasConfig_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UEAppLayerMeasConfig_ExtIEs__extensionValue { + UEAppLayerMeasConfig_ExtIEs__extensionValue_PR present; + union UEAppLayerMeasConfig_ExtIEs__extensionValue_u { + ServiceType_t ServiceType; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEAppLayerMeasConfig_ExtIEs_t; +typedef struct UESecurityCapabilities_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UESecurityCapabilities_ExtIEs__extensionValue { + UESecurityCapabilities_ExtIEs__extensionValue_PR present; + union UESecurityCapabilities_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UESecurityCapabilities_ExtIEs_t; +typedef struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue { + UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue_PR present; + union UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_t; +typedef struct UEsToBeResetList_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UEsToBeResetList_Item_ExtIEs__extensionValue { + UEsToBeResetList_Item_ExtIEs__extensionValue_PR present; + union UEsToBeResetList_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEsToBeResetList_Item_ExtIEs_t; +typedef struct ULandDLSharing_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ULandDLSharing_ExtIEs__extensionValue { + ULandDLSharing_ExtIEs__extensionValue_PR present; + union ULandDLSharing_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULandDLSharing_ExtIEs_t; +typedef struct ULConfiguration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ULConfiguration_ExtIEs__extensionValue { + ULConfiguration_ExtIEs__extensionValue_PR present; + union ULConfiguration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULConfiguration_ExtIEs_t; +typedef struct UL_HighInterferenceIndicationInfo_Item_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue { + UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue_PR present; + union UL_HighInterferenceIndicationInfo_Item_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UL_HighInterferenceIndicationInfo_Item_ExtIEs_t; +typedef struct ULOnlySharing_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ULOnlySharing_ExtIEs__extensionValue { + ULOnlySharing_ExtIEs__extensionValue_PR present; + union ULOnlySharing_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULOnlySharing_ExtIEs_t; +typedef struct UsableABSInformationFDD_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UsableABSInformationFDD_ExtIEs__extensionValue { + UsableABSInformationFDD_ExtIEs__extensionValue_PR present; + union UsableABSInformationFDD_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UsableABSInformationFDD_ExtIEs_t; +typedef struct UsableABSInformationTDD_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UsableABSInformationTDD_ExtIEs__extensionValue { + UsableABSInformationTDD_ExtIEs__extensionValue_PR present; + union UsableABSInformationTDD_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UsableABSInformationTDD_ExtIEs_t; +typedef struct V2XServicesAuthorized_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct V2XServicesAuthorized_ExtIEs__extensionValue { + V2XServicesAuthorized_ExtIEs__extensionValue_PR present; + union V2XServicesAuthorized_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} V2XServicesAuthorized_ExtIEs_t; +typedef struct WidebandCQI_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct WidebandCQI_ExtIEs__extensionValue { + WidebandCQI_ExtIEs__extensionValue_PR present; + union WidebandCQI_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WidebandCQI_ExtIEs_t; +typedef struct WLANMeasurementConfiguration_ExtIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct WLANMeasurementConfiguration_ExtIEs__extensionValue { + WLANMeasurementConfiguration_ExtIEs__extensionValue_PR present; + union WLANMeasurementConfiguration_ExtIEs__extensionValue_u { + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } extensionValue; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WLANMeasurementConfiguration_ExtIEs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformation_ExtIEs_specs_1; +extern asn_TYPE_member_t asn_MBR_UE_ContextInformation_ExtIEs_1[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetup_ItemExtIEs_specs_5; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ItemExtIEs_5[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSeNB_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtSeNB_ItemExtIEs_specs_9; +extern asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtSeNB_ItemExtIEs_9[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtWT_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtWT_ItemExtIEs_specs_13; +extern asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtWT_ItemExtIEs_13[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSgNB_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtSgNB_ItemExtIEs_specs_17; +extern asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtSgNB_ItemExtIEs_17[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_Item_ExtIEs_specs_21; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_Item_ExtIEs_21[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToStatusTransfer_ItemExtIEs_specs_25; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToStatusTransfer_ItemExtIEs_25[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellInformation_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellInformation_Item_ExtIEs_specs_29; +extern asn_TYPE_member_t asn_MBR_CellInformation_Item_ExtIEs_29[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToModify_Item_ExtIEs_specs_33; +extern asn_TYPE_member_t asn_MBR_ServedCellsToModify_Item_ExtIEs_33[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellToReport_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellToReport_Item_ExtIEs_specs_37; +extern asn_TYPE_member_t asn_MBR_CellToReport_Item_ExtIEs_37[3]; +extern asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementInitiationResult_Item_ExtIEs_specs_41; +extern asn_TYPE_member_t asn_MBR_MeasurementInitiationResult_Item_ExtIEs_41[3]; +extern asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementFailureCause_Item_ExtIEs_specs_45; +extern asn_TYPE_member_t asn_MBR_MeasurementFailureCause_Item_ExtIEs_45[3]; +extern asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CompleteFailureCauseInformation_Item_ExtIEs_specs_49; +extern asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_Item_ExtIEs_49[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellMeasurementResult_Item_ExtIEs_specs_53; +extern asn_TYPE_member_t asn_MBR_CellMeasurementResult_Item_ExtIEs_53[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToActivate_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToActivate_Item_ExtIEs_specs_57; +extern asn_TYPE_member_t asn_MBR_ServedCellsToActivate_Item_ExtIEs_57[3]; +extern asn_TYPE_descriptor_t asn_DEF_ActivatedCellList_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ActivatedCellList_Item_ExtIEs_specs_61; +extern asn_TYPE_member_t asn_MBR_ActivatedCellList_Item_ExtIEs_61[3]; +extern asn_TYPE_descriptor_t asn_DEF_RNL_Header_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RNL_Header_Item_ExtIEs_specs_65; +extern asn_TYPE_member_t asn_MBR_RNL_Header_Item_ExtIEs_65[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_specs_69; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_69[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_Item_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_specs_73; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_Item_Split_BearerExtIEs_73[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_specs_77; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_SCG_BearerExtIEs_77[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_specs_81; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_Item_Split_BearerExtIEs_81[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_SuccessItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_specs_85; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_SuccessItemExtIEs_85[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_specs_89; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs_89[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationSeNBModReqExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationSeNBModReqExtIEs_specs_93; +extern asn_TYPE_member_t asn_MBR_UE_ContextInformationSeNBModReqExtIEs_93[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_specs_97; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_97[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_specs_101; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItem_Split_BearerExtIEs_101[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_specs_105; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_SCG_BearerExtIEs_105[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_specs_109; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItem_Split_BearerExtIEs_109[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_specs_113; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_SCG_BearerExtIEs_113[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_specs_117; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItem_Split_BearerExtIEs_117[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_specs_121; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_BearerExtIEs_121[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_specs_125; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_BearerExtIEs_125[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_specs_129; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_BearerExtIEs_129[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_specs_133; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItem_Split_BearerExtIEs_133[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_specs_137; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_BearerExtIEs_137[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_specs_141; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_BearerExtIEs_141[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqdItemExtIEs_specs_145; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqdItemExtIEs_145[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_specs_149; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_SCG_BearerExtIEs_149[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_specs_153; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItem_Split_BearerExtIEs_153[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_specs_157; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_SCG_BearerExtIEs_157[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_specs_161; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItem_Split_BearerExtIEs_161[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToCounterCheckItemExtIEs_specs_165; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheckItemExtIEs_165[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationRetrieve_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationRetrieve_ExtIEs_specs_169; +extern asn_TYPE_member_t asn_MBR_UE_ContextInformationRetrieve_ExtIEs_169[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetupRetrieve_ItemExtIEs_specs_173; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetupRetrieve_ItemExtIEs_173[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_specs_177; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemExtIEs_177[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_specs_181; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresentExtIEs_181[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_specs_185; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_185[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_specs_189; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReqAck_ItemExtIEs_189[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_specs_193; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_193[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_specs_197; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresentExtIEs_197[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_specs_201; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_SuccessItemExtIEs_201[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_specs_205; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItemExtIEs_205[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationSgNBModReqExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationSgNBModReqExtIEs_specs_209; +extern asn_TYPE_member_t asn_MBR_UE_ContextInformationSgNBModReqExtIEs_209[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_specs_213; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemExtIEs_213[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_217; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresentExtIEs_217[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_221; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_221[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_specs_225; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemExtIEs_225[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_229; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresentExtIEs_229[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_233; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_233[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_specs_237; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemExtIEs_237[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_specs_241; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresentExtIEs_241[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_specs_245; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_245[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_specs_249; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemExtIEs_249[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_253; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_253[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_257; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_257[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_specs_261; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModAck_ItemExtIEs_261[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_265; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_265[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_269; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_269[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_specs_273; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModAck_ItemExtIEs_273[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_specs_277; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresentExtIEs_277[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_specs_281; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresentExtIEs_281[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_specs_285; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemExtIEs_285[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_specs_289; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemExtIEs_289[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_specs_293; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_293[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_specs_297; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresentExtIEs_297[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_specs_301; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemExtIEs_301[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_specs_305; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresentExtIEs_305[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_specs_309; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_309[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_specs_313; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemExtIEs_313[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_specs_317; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresentExtIEs_317[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_specs_321; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresentExtIEs_321[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_specs_325; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemExtIEs_325[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_specs_329; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemExtIEs_329[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_specs_333; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemExtIEs_333[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_specs_337; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresentExtIEs_337[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_specs_341; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresentExtIEs_341[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_specs_345; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemExtIEs_345[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_specs_349; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemExtIEs_349[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_specs_353; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresentExtIEs_353[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_specs_357; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresentExtIEs_357[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsENDCX2Management_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedEUTRAcellsENDCX2Management_ExtIEs_specs_361; +extern asn_TYPE_member_t asn_MBR_ServedEUTRAcellsENDCX2Management_ExtIEs_361[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNBServedCells_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNBServedCells_ExtIEs_specs_365; +extern asn_TYPE_member_t asn_MBR_En_gNBServedCells_ExtIEs_365[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCell_Information_ExtIEs_specs_369; +extern asn_TYPE_member_t asn_MBR_ServedNRCell_Information_ExtIEs_369[3]; +extern asn_TYPE_descriptor_t asn_DEF_FDD_InfoServedNRCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoServedNRCell_Information_ExtIEs_specs_373; +extern asn_TYPE_member_t asn_MBR_FDD_InfoServedNRCell_Information_ExtIEs_373[3]; +extern asn_TYPE_descriptor_t asn_DEF_FDD_InfoNeighbourServedNRCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_377; +extern asn_TYPE_member_t asn_MBR_FDD_InfoNeighbourServedNRCell_Information_ExtIEs_377[3]; +extern asn_TYPE_descriptor_t asn_DEF_TDD_InfoServedNRCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoServedNRCell_Information_ExtIEs_specs_381; +extern asn_TYPE_member_t asn_MBR_TDD_InfoServedNRCell_Information_ExtIEs_381[3]; +extern asn_TYPE_descriptor_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_specs_385; +extern asn_TYPE_member_t asn_MBR_TDD_InfoNeighbourServedNRCell_Information_ExtIEs_385[3]; +extern asn_TYPE_descriptor_t asn_DEF_NRNeighbour_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_NRNeighbour_Information_ExtIEs_specs_389; +extern asn_TYPE_member_t asn_MBR_NRNeighbour_Information_ExtIEs_389[3]; +extern asn_TYPE_descriptor_t asn_DEF_Limited_list_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_Limited_list_ExtIEs_specs_393; +extern asn_TYPE_member_t asn_MBR_Limited_list_ExtIEs_393[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_specs_397; +extern asn_TYPE_member_t asn_MBR_ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs_397[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToModify_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToModify_Item_ExtIEs_specs_401; +extern asn_TYPE_member_t asn_MBR_ServedNRCellsToModify_Item_ExtIEs_401[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToActivate_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToActivate_Item_ExtIEs_specs_405; +extern asn_TYPE_member_t asn_MBR_ServedNRCellsToActivate_Item_ExtIEs_405[3]; +extern asn_TYPE_descriptor_t asn_DEF_ActivatedNRCellList_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ActivatedNRCellList_Item_ExtIEs_specs_409; +extern asn_TYPE_member_t asn_MBR_ActivatedNRCellList_Item_ExtIEs_409[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_ItemExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_DataForwardingAddress_ItemExtIEs_specs_413; +extern asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_ItemExtIEs_413[3]; +extern asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_ExtIEs_specs_417; +extern asn_TYPE_member_t asn_MBR_ABSInformationFDD_ExtIEs_417[3]; +extern asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_ExtIEs_specs_421; +extern asn_TYPE_member_t asn_MBR_ABSInformationTDD_ExtIEs_421[3]; +extern asn_TYPE_descriptor_t asn_DEF_ABS_Status_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ABS_Status_ExtIEs_specs_425; +extern asn_TYPE_member_t asn_MBR_ABS_Status_ExtIEs_425[3]; +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframe_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_AdditionalSpecialSubframe_Info_ExtIEs_specs_429; +extern asn_TYPE_member_t asn_MBR_AdditionalSpecialSubframe_Info_ExtIEs_429[3]; +extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpecialSubframeExtension_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_AdditionalSpecialSubframeExtension_Info_ExtIEs_specs_433; +extern asn_TYPE_member_t asn_MBR_AdditionalSpecialSubframeExtension_Info_ExtIEs_433[3]; +extern asn_TYPE_descriptor_t asn_DEF_AllocationAndRetentionPriority_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_AllocationAndRetentionPriority_ExtIEs_specs_437; +extern asn_TYPE_member_t asn_MBR_AllocationAndRetentionPriority_ExtIEs_437[3]; +extern asn_TYPE_descriptor_t asn_DEF_AS_SecurityInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_AS_SecurityInformation_ExtIEs_specs_441; +extern asn_TYPE_member_t asn_MBR_AS_SecurityInformation_ExtIEs_441[3]; +extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_BluetoothMeasurementConfiguration_ExtIEs_specs_445; +extern asn_TYPE_member_t asn_MBR_BluetoothMeasurementConfiguration_ExtIEs_445[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellBasedMDT_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_ExtIEs_specs_449; +extern asn_TYPE_member_t asn_MBR_CellBasedMDT_ExtIEs_449[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellBasedQMC_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedQMC_ExtIEs_specs_453; +extern asn_TYPE_member_t asn_MBR_CellBasedQMC_ExtIEs_453[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellReplacingInfo_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellReplacingInfo_ExtIEs_specs_457; +extern asn_TYPE_member_t asn_MBR_CellReplacingInfo_ExtIEs_457[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellType_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellType_ExtIEs_specs_461; +extern asn_TYPE_member_t asn_MBR_CellType_ExtIEs_461[3]; +extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictionsItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictionsItem_ExtIEs_specs_465; +extern asn_TYPE_member_t asn_MBR_CNTypeRestrictionsItem_ExtIEs_465[3]; +extern asn_TYPE_descriptor_t asn_DEF_CoMPHypothesisSetItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CoMPHypothesisSetItem_ExtIEs_specs_469; +extern asn_TYPE_member_t asn_MBR_CoMPHypothesisSetItem_ExtIEs_469[3]; +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CoMPInformation_ExtIEs_specs_473; +extern asn_TYPE_member_t asn_MBR_CoMPInformation_ExtIEs_473[3]; +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformationItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CoMPInformationItem_ExtIEs_specs_477; +extern asn_TYPE_member_t asn_MBR_CoMPInformationItem_ExtIEs_477[3]; +extern asn_TYPE_descriptor_t asn_DEF_CoMPInformationStartTime_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CoMPInformationStartTime_ExtIEs_specs_481; +extern asn_TYPE_member_t asn_MBR_CoMPInformationStartTime_ExtIEs_481[3]; +extern asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacity_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacity_ExtIEs_specs_485; +extern asn_TYPE_member_t asn_MBR_CompositeAvailableCapacity_ExtIEs_485[3]; +extern asn_TYPE_descriptor_t asn_DEF_CompositeAvailableCapacityGroup_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CompositeAvailableCapacityGroup_ExtIEs_specs_489; +extern asn_TYPE_member_t asn_MBR_CompositeAvailableCapacityGroup_ExtIEs_489[3]; +extern asn_TYPE_descriptor_t asn_DEF_COUNTvalue_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_ExtIEs_specs_493; +extern asn_TYPE_member_t asn_MBR_COUNTvalue_ExtIEs_493[3]; +extern asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_COUNTValueExtended_ExtIEs_specs_497; +extern asn_TYPE_member_t asn_MBR_COUNTValueExtended_ExtIEs_497[3]; +extern asn_TYPE_descriptor_t asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvaluePDCP_SNlength18_ExtIEs_specs_501; +extern asn_TYPE_member_t asn_MBR_COUNTvaluePDCP_SNlength18_ExtIEs_501[3]; +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_ExtIEs_specs_505; +extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_ExtIEs_505[3]; +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_ExtIEs_specs_509; +extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_ExtIEs_509[3]; +extern asn_TYPE_descriptor_t asn_DEF_CSIReportList_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CSIReportList_ExtIEs_specs_513; +extern asn_TYPE_member_t asn_MBR_CSIReportList_ExtIEs_513[3]; +extern asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcess_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CSIReportPerCSIProcess_ExtIEs_specs_517; +extern asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcess_ExtIEs_517[3]; +extern asn_TYPE_descriptor_t asn_DEF_CSIReportPerCSIProcessItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CSIReportPerCSIProcessItem_ExtIEs_specs_521; +extern asn_TYPE_member_t asn_MBR_CSIReportPerCSIProcessItem_ExtIEs_521[3]; +extern asn_TYPE_descriptor_t asn_DEF_DataTrafficResourceIndication_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_DataTrafficResourceIndication_ExtIEs_specs_525; +extern asn_TYPE_member_t asn_MBR_DataTrafficResourceIndication_ExtIEs_525[3]; +extern asn_TYPE_descriptor_t asn_DEF_DeliveryStatus_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_DeliveryStatus_ExtIEs_specs_529; +extern asn_TYPE_member_t asn_MBR_DeliveryStatus_ExtIEs_529[3]; +extern asn_TYPE_descriptor_t asn_DEF_DynamicNAICSInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_DynamicNAICSInformation_ExtIEs_specs_533; +extern asn_TYPE_member_t asn_MBR_DynamicNAICSInformation_ExtIEs_533[3]; +extern asn_TYPE_descriptor_t asn_DEF_ECGI_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ECGI_ExtIEs_specs_537; +extern asn_TYPE_member_t asn_MBR_ECGI_ExtIEs_537[3]; +extern asn_TYPE_descriptor_t asn_DEF_EnhancedRNTP_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTP_ExtIEs_specs_541; +extern asn_TYPE_member_t asn_MBR_EnhancedRNTP_ExtIEs_541[3]; +extern asn_TYPE_descriptor_t asn_DEF_EnhancedRNTPStartTime_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_EnhancedRNTPStartTime_ExtIEs_specs_545; +extern asn_TYPE_member_t asn_MBR_EnhancedRNTPStartTime_ExtIEs_545[3]; +extern asn_TYPE_descriptor_t asn_DEF_EN_DC_ResourceConfigurationExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_EN_DC_ResourceConfigurationExtIEs_specs_549; +extern asn_TYPE_member_t asn_MBR_EN_DC_ResourceConfigurationExtIEs_549[3]; +extern asn_TYPE_descriptor_t asn_DEF_ERABActivityNotifyItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ERABActivityNotifyItem_ExtIEs_specs_553; +extern asn_TYPE_member_t asn_MBR_ERABActivityNotifyItem_ExtIEs_553[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_Level_QoS_Parameters_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Level_QoS_Parameters_ExtIEs_specs_557; +extern asn_TYPE_member_t asn_MBR_E_RAB_Level_QoS_Parameters_ExtIEs_557[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RAB_Item_ExtIEs_specs_561; +extern asn_TYPE_member_t asn_MBR_E_RAB_Item_ExtIEs_561[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_Item_ExtIEs_specs_565; +extern asn_TYPE_member_t asn_MBR_E_RABUsageReport_Item_ExtIEs_565[3]; +extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEBehaviour_ExtIEs_specs_569; +extern asn_TYPE_member_t asn_MBR_ExpectedUEBehaviour_ExtIEs_569[3]; +extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_ExtIEs_specs_573; +extern asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_ExtIEs_573[3]; +extern asn_TYPE_descriptor_t asn_DEF_ExtendedULInterferenceOverloadInfo_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ExtendedULInterferenceOverloadInfo_ExtIEs_specs_577; +extern asn_TYPE_member_t asn_MBR_ExtendedULInterferenceOverloadInfo_ExtIEs_577[3]; +extern asn_TYPE_descriptor_t asn_DEF_FDD_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_FDD_Info_ExtIEs_specs_581; +extern asn_TYPE_member_t asn_MBR_FDD_Info_ExtIEs_581[3]; +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_ExtIEs_specs_585; +extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_ExtIEs_585[3]; +extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_ExtIEs_specs_589; +extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_ExtIEs_589[3]; +extern asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_ExtIEs_specs_593; +extern asn_TYPE_member_t asn_MBR_FreqBandNrItem_ExtIEs_593[3]; +extern asn_TYPE_descriptor_t asn_DEF_GBR_QosInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GBR_QosInformation_ExtIEs_specs_597; +extern asn_TYPE_member_t asn_MBR_GBR_QosInformation_ExtIEs_597[3]; +extern asn_TYPE_descriptor_t asn_DEF_GlobalENB_ID_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_ExtIEs_specs_601; +extern asn_TYPE_member_t asn_MBR_GlobalENB_ID_ExtIEs_601[3]; +extern asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_ExtIEs_specs_605; +extern asn_TYPE_member_t asn_MBR_GlobalGNB_ID_ExtIEs_605[3]; +extern asn_TYPE_descriptor_t asn_DEF_GTPtunnelEndpoint_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GTPtunnelEndpoint_ExtIEs_specs_609; +extern asn_TYPE_member_t asn_MBR_GTPtunnelEndpoint_ExtIEs_609[3]; +extern asn_TYPE_descriptor_t asn_DEF_GU_Group_ID_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GU_Group_ID_ExtIEs_specs_613; +extern asn_TYPE_member_t asn_MBR_GU_Group_ID_ExtIEs_613[3]; +extern asn_TYPE_descriptor_t asn_DEF_GUMMEI_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_ExtIEs_specs_617; +extern asn_TYPE_member_t asn_MBR_GUMMEI_ExtIEs_617[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_ExtIEs_specs_621; +extern asn_TYPE_member_t asn_MBR_HandoverRestrictionList_ExtIEs_621[3]; +extern asn_TYPE_descriptor_t asn_DEF_HWLoadIndicator_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HWLoadIndicator_ExtIEs_specs_625; +extern asn_TYPE_member_t asn_MBR_HWLoadIndicator_ExtIEs_625[3]; +extern asn_TYPE_descriptor_t asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_LastVisitedEUTRANCellInformation_ExtIEs_specs_629; +extern asn_TYPE_member_t asn_MBR_LastVisitedEUTRANCellInformation_ExtIEs_629[3]; +extern asn_TYPE_descriptor_t asn_DEF_LocationReportingInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_LocationReportingInformation_ExtIEs_specs_633; +extern asn_TYPE_member_t asn_MBR_LocationReportingInformation_ExtIEs_633[3]; +extern asn_TYPE_descriptor_t asn_DEF_M1PeriodicReporting_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M1PeriodicReporting_ExtIEs_specs_637; +extern asn_TYPE_member_t asn_MBR_M1PeriodicReporting_ExtIEs_637[3]; +extern asn_TYPE_descriptor_t asn_DEF_M1ThresholdEventA2_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M1ThresholdEventA2_ExtIEs_specs_641; +extern asn_TYPE_member_t asn_MBR_M1ThresholdEventA2_ExtIEs_641[3]; +extern asn_TYPE_descriptor_t asn_DEF_M3Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M3Configuration_ExtIEs_specs_645; +extern asn_TYPE_member_t asn_MBR_M3Configuration_ExtIEs_645[3]; +extern asn_TYPE_descriptor_t asn_DEF_M4Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M4Configuration_ExtIEs_specs_649; +extern asn_TYPE_member_t asn_MBR_M4Configuration_ExtIEs_649[3]; +extern asn_TYPE_descriptor_t asn_DEF_M5Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M5Configuration_ExtIEs_specs_653; +extern asn_TYPE_member_t asn_MBR_M5Configuration_ExtIEs_653[3]; +extern asn_TYPE_descriptor_t asn_DEF_M6Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M6Configuration_ExtIEs_specs_657; +extern asn_TYPE_member_t asn_MBR_M6Configuration_ExtIEs_657[3]; +extern asn_TYPE_descriptor_t asn_DEF_M7Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_M7Configuration_ExtIEs_specs_661; +extern asn_TYPE_member_t asn_MBR_M7Configuration_ExtIEs_661[3]; +extern asn_TYPE_descriptor_t asn_DEF_MDT_Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MDT_Configuration_ExtIEs_specs_665; +extern asn_TYPE_member_t asn_MBR_MDT_Configuration_ExtIEs_665[3]; +extern asn_TYPE_descriptor_t asn_DEF_MeNBResourceCoordinationInformationExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MeNBResourceCoordinationInformationExtIEs_specs_669; +extern asn_TYPE_member_t asn_MBR_MeNBResourceCoordinationInformationExtIEs_669[3]; +extern asn_TYPE_descriptor_t asn_DEF_MBSFN_Subframe_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MBSFN_Subframe_Info_ExtIEs_specs_673; +extern asn_TYPE_member_t asn_MBR_MBSFN_Subframe_Info_ExtIEs_673[3]; +extern asn_TYPE_descriptor_t asn_DEF_BandInfo_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_BandInfo_ExtIEs_specs_677; +extern asn_TYPE_member_t asn_MBR_BandInfo_ExtIEs_677[3]; +extern asn_TYPE_descriptor_t asn_DEF_SplitSRB_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SplitSRB_ExtIEs_specs_681; +extern asn_TYPE_member_t asn_MBR_SplitSRB_ExtIEs_681[3]; +extern asn_TYPE_descriptor_t asn_DEF_UENRMeasurement_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UENRMeasurement_ExtIEs_specs_685; +extern asn_TYPE_member_t asn_MBR_UENRMeasurement_ExtIEs_685[3]; +extern asn_TYPE_descriptor_t asn_DEF_Neighbour_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_Neighbour_Information_ExtIEs_specs_689; +extern asn_TYPE_member_t asn_MBR_Neighbour_Information_ExtIEs_689[3]; +extern asn_TYPE_descriptor_t asn_DEF_NRFreqInfo_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_NRFreqInfo_ExtIEs_specs_693; +extern asn_TYPE_member_t asn_MBR_NRFreqInfo_ExtIEs_693[3]; +extern asn_TYPE_descriptor_t asn_DEF_NRCGI_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_NRCGI_ExtIEs_specs_697; +extern asn_TYPE_member_t asn_MBR_NRCGI_ExtIEs_697[3]; +extern asn_TYPE_descriptor_t asn_DEF_NR_TxBW_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_NR_TxBW_ExtIEs_specs_701; +extern asn_TYPE_member_t asn_MBR_NR_TxBW_ExtIEs_701[3]; +extern asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_ExtIEs_specs_705; +extern asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_ExtIEs_705[3]; +extern asn_TYPE_descriptor_t asn_DEF_PRACH_Configuration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_PRACH_Configuration_ExtIEs_specs_709; +extern asn_TYPE_member_t asn_MBR_PRACH_Configuration_ExtIEs_709[3]; +extern asn_TYPE_descriptor_t asn_DEF_PLMNAreaBasedQMC_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_PLMNAreaBasedQMC_ExtIEs_specs_713; +extern asn_TYPE_member_t asn_MBR_PLMNAreaBasedQMC_ExtIEs_713[3]; +extern asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ProSeAuthorized_ExtIEs_specs_717; +extern asn_TYPE_member_t asn_MBR_ProSeAuthorized_ExtIEs_717[3]; +extern asn_TYPE_descriptor_t asn_DEF_ProtectedEUTRAResourceIndication_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ProtectedEUTRAResourceIndication_ExtIEs_specs_721; +extern asn_TYPE_member_t asn_MBR_ProtectedEUTRAResourceIndication_ExtIEs_721[3]; +extern asn_TYPE_descriptor_t asn_DEF_ProtectedFootprintTimePattern_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ProtectedFootprintTimePattern_ExtIEs_specs_725; +extern asn_TYPE_member_t asn_MBR_ProtectedFootprintTimePattern_ExtIEs_725[3]; +extern asn_TYPE_descriptor_t asn_DEF_ProtectedResourceList_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ProtectedResourceList_Item_ExtIEs_specs_729; +extern asn_TYPE_member_t asn_MBR_ProtectedResourceList_Item_ExtIEs_729[3]; +extern asn_TYPE_descriptor_t asn_DEF_RadioResourceStatus_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RadioResourceStatus_ExtIEs_specs_733; +extern asn_TYPE_member_t asn_MBR_RadioResourceStatus_ExtIEs_733[3]; +extern asn_TYPE_descriptor_t asn_DEF_RelativeNarrowbandTxPower_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RelativeNarrowbandTxPower_ExtIEs_specs_737; +extern asn_TYPE_member_t asn_MBR_RelativeNarrowbandTxPower_ExtIEs_737[3]; +extern asn_TYPE_descriptor_t asn_DEF_ReservedSubframePattern_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ReservedSubframePattern_ExtIEs_specs_741; +extern asn_TYPE_member_t asn_MBR_ReservedSubframePattern_ExtIEs_741[3]; +extern asn_TYPE_descriptor_t asn_DEF_RLC_Status_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RLC_Status_ExtIEs_specs_745; +extern asn_TYPE_member_t asn_MBR_RLC_Status_ExtIEs_745[3]; +extern asn_TYPE_descriptor_t asn_DEF_RSRPMeasurementResult_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RSRPMeasurementResult_ExtIEs_specs_749; +extern asn_TYPE_member_t asn_MBR_RSRPMeasurementResult_ExtIEs_749[3]; +extern asn_TYPE_descriptor_t asn_DEF_RSRPMRList_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RSRPMRList_ExtIEs_specs_753; +extern asn_TYPE_member_t asn_MBR_RSRPMRList_ExtIEs_753[3]; +extern asn_TYPE_descriptor_t asn_DEF_S1TNLLoadIndicator_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_S1TNLLoadIndicator_ExtIEs_specs_757; +extern asn_TYPE_member_t asn_MBR_S1TNLLoadIndicator_ExtIEs_757[3]; +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATUsageReport_Item_ExtIEs_specs_761; +extern asn_TYPE_member_t asn_MBR_SecondaryRATUsageReport_Item_ExtIEs_761[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedCell_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCell_ExtIEs_specs_765; +extern asn_TYPE_member_t asn_MBR_ServedCell_ExtIEs_765[3]; +extern asn_TYPE_descriptor_t asn_DEF_ServedCell_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCell_Information_ExtIEs_specs_769; +extern asn_TYPE_member_t asn_MBR_ServedCell_Information_ExtIEs_769[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBResourceCoordinationInformationExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBResourceCoordinationInformationExtIEs_specs_773; +extern asn_TYPE_member_t asn_MBR_SgNBResourceCoordinationInformationExtIEs_773[3]; +extern asn_TYPE_descriptor_t asn_DEF_SpecialSubframe_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SpecialSubframe_Info_ExtIEs_specs_777; +extern asn_TYPE_member_t asn_MBR_SpecialSubframe_Info_ExtIEs_777[3]; +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQI_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SubbandCQI_ExtIEs_specs_781; +extern asn_TYPE_member_t asn_MBR_SubbandCQI_ExtIEs_781[3]; +extern asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_Subscription_Based_UE_DifferentiationInfo_ExtIEs_specs_785; +extern asn_TYPE_member_t asn_MBR_Subscription_Based_UE_DifferentiationInfo_ExtIEs_785[3]; +extern asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_ExtIEs_specs_789; +extern asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_ExtIEs_789[3]; +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQIItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SubbandCQIItem_ExtIEs_specs_793; +extern asn_TYPE_member_t asn_MBR_SubbandCQIItem_ExtIEs_793[3]; +extern asn_TYPE_descriptor_t asn_DEF_SULInformation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SULInformation_ExtIEs_specs_797; +extern asn_TYPE_member_t asn_MBR_SULInformation_ExtIEs_797[3]; +extern asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_ExtIEs_specs_801; +extern asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_ExtIEs_801[3]; +extern asn_TYPE_descriptor_t asn_DEF_TABasedMDT_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TABasedMDT_ExtIEs_specs_805; +extern asn_TYPE_member_t asn_MBR_TABasedMDT_ExtIEs_805[3]; +extern asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_ExtIEs_specs_809; +extern asn_TYPE_member_t asn_MBR_TAIBasedMDT_ExtIEs_809[3]; +extern asn_TYPE_descriptor_t asn_DEF_TAI_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Item_ExtIEs_specs_813; +extern asn_TYPE_member_t asn_MBR_TAI_Item_ExtIEs_813[3]; +extern asn_TYPE_descriptor_t asn_DEF_TABasedQMC_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TABasedQMC_ExtIEs_specs_817; +extern asn_TYPE_member_t asn_MBR_TABasedQMC_ExtIEs_817[3]; +extern asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_ExtIEs_specs_821; +extern asn_TYPE_member_t asn_MBR_TAIBasedQMC_ExtIEs_821[3]; +extern asn_TYPE_descriptor_t asn_DEF_TDD_Info_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_Info_ExtIEs_specs_825; +extern asn_TYPE_member_t asn_MBR_TDD_Info_ExtIEs_825[3]; +extern asn_TYPE_descriptor_t asn_DEF_TraceActivation_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_TraceActivation_ExtIEs_specs_829; +extern asn_TYPE_member_t asn_MBR_TraceActivation_ExtIEs_829[3]; +extern asn_TYPE_descriptor_t asn_DEF_Tunnel_Information_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_Tunnel_Information_ExtIEs_specs_833; +extern asn_TYPE_member_t asn_MBR_Tunnel_Information_ExtIEs_833[3]; +extern asn_TYPE_descriptor_t asn_DEF_UEAggregate_MaximumBitrate_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UEAggregate_MaximumBitrate_ExtIEs_specs_837; +extern asn_TYPE_member_t asn_MBR_UEAggregate_MaximumBitrate_ExtIEs_837[3]; +extern asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_ExtIEs_specs_841; +extern asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_ExtIEs_841[3]; +extern asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_ExtIEs_specs_845; +extern asn_TYPE_member_t asn_MBR_UESecurityCapabilities_ExtIEs_845[3]; +extern asn_TYPE_descriptor_t asn_DEF_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_specs_849; +extern asn_TYPE_member_t asn_MBR_UE_Sidelink_Aggregate_MaximumBitRate_ExtIEs_849[3]; +extern asn_TYPE_descriptor_t asn_DEF_UEsToBeResetList_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UEsToBeResetList_Item_ExtIEs_specs_853; +extern asn_TYPE_member_t asn_MBR_UEsToBeResetList_Item_ExtIEs_853[3]; +extern asn_TYPE_descriptor_t asn_DEF_ULandDLSharing_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ULandDLSharing_ExtIEs_specs_857; +extern asn_TYPE_member_t asn_MBR_ULandDLSharing_ExtIEs_857[3]; +extern asn_TYPE_descriptor_t asn_DEF_ULConfiguration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ULConfiguration_ExtIEs_specs_861; +extern asn_TYPE_member_t asn_MBR_ULConfiguration_ExtIEs_861[3]; +extern asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndicationInfo_Item_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UL_HighInterferenceIndicationInfo_Item_ExtIEs_specs_865; +extern asn_TYPE_member_t asn_MBR_UL_HighInterferenceIndicationInfo_Item_ExtIEs_865[3]; +extern asn_TYPE_descriptor_t asn_DEF_ULOnlySharing_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ULOnlySharing_ExtIEs_specs_869; +extern asn_TYPE_member_t asn_MBR_ULOnlySharing_ExtIEs_869[3]; +extern asn_TYPE_descriptor_t asn_DEF_UsableABSInformationFDD_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationFDD_ExtIEs_specs_873; +extern asn_TYPE_member_t asn_MBR_UsableABSInformationFDD_ExtIEs_873[3]; +extern asn_TYPE_descriptor_t asn_DEF_UsableABSInformationTDD_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationTDD_ExtIEs_specs_877; +extern asn_TYPE_member_t asn_MBR_UsableABSInformationTDD_ExtIEs_877[3]; +extern asn_TYPE_descriptor_t asn_DEF_V2XServicesAuthorized_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_V2XServicesAuthorized_ExtIEs_specs_881; +extern asn_TYPE_member_t asn_MBR_V2XServicesAuthorized_ExtIEs_881[3]; +extern asn_TYPE_descriptor_t asn_DEF_WidebandCQI_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_WidebandCQI_ExtIEs_specs_885; +extern asn_TYPE_member_t asn_MBR_WidebandCQI_ExtIEs_885[3]; +extern asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration_ExtIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_WLANMeasurementConfiguration_ExtIEs_specs_889; +extern asn_TYPE_member_t asn_MBR_WLANMeasurementConfiguration_ExtIEs_889[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolExtensionField_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolExtensionField.o b/asn1c_defs/all-defs/ProtocolExtensionField.o new file mode 100644 index 0000000000000000000000000000000000000000..c5d7a8ca2ddf88618292df78cccc2fac3bb98ea1 GIT binary patch literal 826080 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

    L!Er? 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 + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RICsubscriptionRequest_IEs; +struct RICsubscriptionResponse_IEs; +struct RICsubscriptionFailure_IEs; +struct RICsubscriptionDeleteRequest_IEs; +struct RICsubscriptionDeleteResponse_IEs; +struct RICsubscriptionDeleteFailure_IEs; +struct RICindication_IEs; +struct RICcontrolRequest_IEs; +struct RICcontrolAcknowledge_IEs; +struct RICcontrolFailure_IEs; +struct RICserviceUpdate_IEs; +struct RICserviceUpdateAcknowledge_IEs; +struct RICserviceUpdateFailure_IEs; +struct RICserviceQuery_IEs; +struct HandoverRequest_IEs; +struct HandoverRequestAcknowledge_IEs; +struct HandoverPreparationFailure_IEs; +struct HandoverReport_IEs; +struct SNStatusTransfer_IEs; +struct UEContextRelease_IEs; +struct HandoverCancel_IEs; +struct ErrorIndication_IEs; +struct ResetRequest_IEs; +struct ResetResponse_IEs; +struct X2SetupRequest_IEs; +struct X2SetupResponse_IEs; +struct X2SetupFailure_IEs; +struct LoadInformation_IEs; +struct ENBConfigurationUpdate_IEs; +struct ENBConfigurationUpdateAcknowledge_IEs; +struct ENBConfigurationUpdateFailure_IEs; +struct ResourceStatusRequest_IEs; +struct ResourceStatusResponse_IEs; +struct ResourceStatusFailure_IEs; +struct ResourceStatusUpdate_IEs; +struct MobilityChangeRequest_IEs; +struct MobilityChangeAcknowledge_IEs; +struct MobilityChangeFailure_IEs; +struct RLFIndication_IEs; +struct CellActivationRequest_IEs; +struct CellActivationResponse_IEs; +struct CellActivationFailure_IEs; +struct X2Release_IEs; +struct X2APMessageTransfer_IEs; +struct SeNBAdditionRequest_IEs; +struct SeNBAdditionRequestAcknowledge_IEs; +struct SeNBAdditionRequestReject_IEs; +struct SeNBReconfigurationComplete_IEs; +struct SeNBModificationRequest_IEs; +struct SeNBModificationRequestAcknowledge_IEs; +struct SeNBModificationRequestReject_IEs; +struct SeNBModificationRequired_IEs; +struct SeNBModificationConfirm_IEs; +struct SeNBModificationRefuse_IEs; +struct SeNBReleaseRequest_IEs; +struct SeNBReleaseRequired_IEs; +struct SeNBReleaseConfirm_IEs; +struct SeNBCounterCheckRequest_IEs; +struct X2RemovalRequest_IEs; +struct X2RemovalResponse_IEs; +struct X2RemovalFailure_IEs; +struct RetrieveUEContextRequest_IEs; +struct RetrieveUEContextResponse_IEs; +struct RetrieveUEContextFailure_IEs; +struct SgNBAdditionRequest_IEs; +struct SgNBAdditionRequestAcknowledge_IEs; +struct SgNBAdditionRequestReject_IEs; +struct SgNBReconfigurationComplete_IEs; +struct SgNBModificationRequest_IEs; +struct SgNBModificationRequestAcknowledge_IEs; +struct SgNBModificationRequestReject_IEs; +struct SgNBModificationRequired_IEs; +struct SgNBModificationConfirm_IEs; +struct SgNBModificationRefuse_IEs; +struct SgNBReleaseRequest_IEs; +struct SgNBReleaseRequestAcknowledge_IEs; +struct SgNBReleaseRequestReject_IEs; +struct SgNBReleaseRequired_IEs; +struct SgNBReleaseConfirm_IEs; +struct SgNBCounterCheckRequest_IEs; +struct SgNBChangeRequired_IEs; +struct SgNBChangeConfirm_IEs; +struct RRCTransfer_IEs; +struct SgNBChangeRefuse_IEs; +struct ENDCX2SetupRequest_IEs; +struct ENB_ENDCX2SetupReqIEs; +struct En_gNB_ENDCX2SetupReqIEs; +struct ENDCX2SetupResponse_IEs; +struct ENB_ENDCX2SetupReqAckIEs; +struct En_gNB_ENDCX2SetupReqAckIEs; +struct ENDCX2SetupFailure_IEs; +struct ENDCConfigurationUpdate_IEs; +struct ENB_ENDCConfigUpdateIEs; +struct En_gNB_ENDCConfigUpdateIEs; +struct ENDCConfigurationUpdateAcknowledge_IEs; +struct ENB_ENDCConfigUpdateAckIEs; +struct En_gNB_ENDCConfigUpdateAckIEs; +struct ENDCConfigurationUpdateFailure_IEs; +struct ENDCCellActivationRequest_IEs; +struct ENDCCellActivationResponse_IEs; +struct ENDCCellActivationFailure_IEs; +struct SecondaryRATDataUsageReport_IEs; +struct SgNBActivityNotification_IEs; +struct ENDCPartialResetRequired_IEs; +struct ENDCPartialResetConfirm_IEs; +struct EUTRANRCellResourceCoordinationRequest_IEs; +struct ENB_EUTRA_NRCellResourceCoordinationReqIEs; +struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs; +struct EUTRANRCellResourceCoordinationResponse_IEs; +struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs; +struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs; +struct ENDCX2RemovalRequest_IEs; +struct ENB_ENDCX2RemovalReqIEs; +struct En_gNB_ENDCX2RemovalReqIEs; +struct ENDCX2RemovalResponse_IEs; +struct ENB_ENDCX2RemovalReqAckIEs; +struct En_gNB_ENDCX2RemovalReqAckIEs; +struct ENDCX2RemovalFailure_IEs; +struct DataForwardingAddressIndication_IEs; +struct GNBStatusIndicationIEs; + +/* ProtocolIE-Container */ +typedef struct ProtocolIE_Container_8180P0 { + A_SEQUENCE_OF(struct RICsubscriptionRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P0_t; +typedef struct ProtocolIE_Container_8180P1 { + A_SEQUENCE_OF(struct RICsubscriptionResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P1_t; +typedef struct ProtocolIE_Container_8180P2 { + A_SEQUENCE_OF(struct RICsubscriptionFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P2_t; +typedef struct ProtocolIE_Container_8180P3 { + A_SEQUENCE_OF(struct RICsubscriptionDeleteRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P3_t; +typedef struct ProtocolIE_Container_8180P4 { + A_SEQUENCE_OF(struct RICsubscriptionDeleteResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P4_t; +typedef struct ProtocolIE_Container_8180P5 { + A_SEQUENCE_OF(struct RICsubscriptionDeleteFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P5_t; +typedef struct ProtocolIE_Container_8180P6 { + A_SEQUENCE_OF(struct RICindication_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P6_t; +typedef struct ProtocolIE_Container_8180P7 { + A_SEQUENCE_OF(struct RICcontrolRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P7_t; +typedef struct ProtocolIE_Container_8180P8 { + A_SEQUENCE_OF(struct RICcontrolAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P8_t; +typedef struct ProtocolIE_Container_8180P9 { + A_SEQUENCE_OF(struct RICcontrolFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P9_t; +typedef struct ProtocolIE_Container_8180P10 { + A_SEQUENCE_OF(struct RICserviceUpdate_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P10_t; +typedef struct ProtocolIE_Container_8180P11 { + A_SEQUENCE_OF(struct RICserviceUpdateAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P11_t; +typedef struct ProtocolIE_Container_8180P12 { + A_SEQUENCE_OF(struct RICserviceUpdateFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P12_t; +typedef struct ProtocolIE_Container_8180P13 { + A_SEQUENCE_OF(struct RICserviceQuery_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P13_t; +typedef struct ProtocolIE_Container_8180P14 { + A_SEQUENCE_OF(struct HandoverRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P14_t; +typedef struct ProtocolIE_Container_8180P15 { + A_SEQUENCE_OF(struct HandoverRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P15_t; +typedef struct ProtocolIE_Container_8180P16 { + A_SEQUENCE_OF(struct HandoverPreparationFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P16_t; +typedef struct ProtocolIE_Container_8180P17 { + A_SEQUENCE_OF(struct HandoverReport_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P17_t; +typedef struct ProtocolIE_Container_8180P18 { + A_SEQUENCE_OF(struct SNStatusTransfer_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P18_t; +typedef struct ProtocolIE_Container_8180P19 { + A_SEQUENCE_OF(struct UEContextRelease_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P19_t; +typedef struct ProtocolIE_Container_8180P20 { + A_SEQUENCE_OF(struct HandoverCancel_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P20_t; +typedef struct ProtocolIE_Container_8180P21 { + A_SEQUENCE_OF(struct ErrorIndication_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P21_t; +typedef struct ProtocolIE_Container_8180P22 { + A_SEQUENCE_OF(struct ResetRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P22_t; +typedef struct ProtocolIE_Container_8180P23 { + A_SEQUENCE_OF(struct ResetResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P23_t; +typedef struct ProtocolIE_Container_8180P24 { + A_SEQUENCE_OF(struct X2SetupRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P24_t; +typedef struct ProtocolIE_Container_8180P25 { + A_SEQUENCE_OF(struct X2SetupResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P25_t; +typedef struct ProtocolIE_Container_8180P26 { + A_SEQUENCE_OF(struct X2SetupFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P26_t; +typedef struct ProtocolIE_Container_8180P27 { + A_SEQUENCE_OF(struct LoadInformation_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P27_t; +typedef struct ProtocolIE_Container_8180P28 { + A_SEQUENCE_OF(struct ENBConfigurationUpdate_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P28_t; +typedef struct ProtocolIE_Container_8180P29 { + A_SEQUENCE_OF(struct ENBConfigurationUpdateAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P29_t; +typedef struct ProtocolIE_Container_8180P30 { + A_SEQUENCE_OF(struct ENBConfigurationUpdateFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P30_t; +typedef struct ProtocolIE_Container_8180P31 { + A_SEQUENCE_OF(struct ResourceStatusRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P31_t; +typedef struct ProtocolIE_Container_8180P32 { + A_SEQUENCE_OF(struct ResourceStatusResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P32_t; +typedef struct ProtocolIE_Container_8180P33 { + A_SEQUENCE_OF(struct ResourceStatusFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P33_t; +typedef struct ProtocolIE_Container_8180P34 { + A_SEQUENCE_OF(struct ResourceStatusUpdate_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P34_t; +typedef struct ProtocolIE_Container_8180P35 { + A_SEQUENCE_OF(struct MobilityChangeRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P35_t; +typedef struct ProtocolIE_Container_8180P36 { + A_SEQUENCE_OF(struct MobilityChangeAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P36_t; +typedef struct ProtocolIE_Container_8180P37 { + A_SEQUENCE_OF(struct MobilityChangeFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P37_t; +typedef struct ProtocolIE_Container_8180P38 { + A_SEQUENCE_OF(struct RLFIndication_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P38_t; +typedef struct ProtocolIE_Container_8180P39 { + A_SEQUENCE_OF(struct CellActivationRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P39_t; +typedef struct ProtocolIE_Container_8180P40 { + A_SEQUENCE_OF(struct CellActivationResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P40_t; +typedef struct ProtocolIE_Container_8180P41 { + A_SEQUENCE_OF(struct CellActivationFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P41_t; +typedef struct ProtocolIE_Container_8180P42 { + A_SEQUENCE_OF(struct X2Release_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P42_t; +typedef struct ProtocolIE_Container_8180P43 { + A_SEQUENCE_OF(struct X2APMessageTransfer_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P43_t; +typedef struct ProtocolIE_Container_8180P44 { + A_SEQUENCE_OF(struct SeNBAdditionRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P44_t; +typedef struct ProtocolIE_Container_8180P45 { + A_SEQUENCE_OF(struct SeNBAdditionRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P45_t; +typedef struct ProtocolIE_Container_8180P46 { + A_SEQUENCE_OF(struct SeNBAdditionRequestReject_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P46_t; +typedef struct ProtocolIE_Container_8180P47 { + A_SEQUENCE_OF(struct SeNBReconfigurationComplete_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P47_t; +typedef struct ProtocolIE_Container_8180P48 { + A_SEQUENCE_OF(struct SeNBModificationRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P48_t; +typedef struct ProtocolIE_Container_8180P49 { + A_SEQUENCE_OF(struct SeNBModificationRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P49_t; +typedef struct ProtocolIE_Container_8180P50 { + A_SEQUENCE_OF(struct SeNBModificationRequestReject_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P50_t; +typedef struct ProtocolIE_Container_8180P51 { + A_SEQUENCE_OF(struct SeNBModificationRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P51_t; +typedef struct ProtocolIE_Container_8180P52 { + A_SEQUENCE_OF(struct SeNBModificationConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P52_t; +typedef struct ProtocolIE_Container_8180P53 { + A_SEQUENCE_OF(struct SeNBModificationRefuse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P53_t; +typedef struct ProtocolIE_Container_8180P54 { + A_SEQUENCE_OF(struct SeNBReleaseRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P54_t; +typedef struct ProtocolIE_Container_8180P55 { + A_SEQUENCE_OF(struct SeNBReleaseRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P55_t; +typedef struct ProtocolIE_Container_8180P56 { + A_SEQUENCE_OF(struct SeNBReleaseConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P56_t; +typedef struct ProtocolIE_Container_8180P57 { + A_SEQUENCE_OF(struct SeNBCounterCheckRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P57_t; +typedef struct ProtocolIE_Container_8180P58 { + A_SEQUENCE_OF(struct X2RemovalRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P58_t; +typedef struct ProtocolIE_Container_8180P59 { + A_SEQUENCE_OF(struct X2RemovalResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P59_t; +typedef struct ProtocolIE_Container_8180P60 { + A_SEQUENCE_OF(struct X2RemovalFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P60_t; +typedef struct ProtocolIE_Container_8180P61 { + A_SEQUENCE_OF(struct RetrieveUEContextRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P61_t; +typedef struct ProtocolIE_Container_8180P62 { + A_SEQUENCE_OF(struct RetrieveUEContextResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P62_t; +typedef struct ProtocolIE_Container_8180P63 { + A_SEQUENCE_OF(struct RetrieveUEContextFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P63_t; +typedef struct ProtocolIE_Container_8180P64 { + A_SEQUENCE_OF(struct SgNBAdditionRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P64_t; +typedef struct ProtocolIE_Container_8180P65 { + A_SEQUENCE_OF(struct SgNBAdditionRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P65_t; +typedef struct ProtocolIE_Container_8180P66 { + A_SEQUENCE_OF(struct SgNBAdditionRequestReject_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P66_t; +typedef struct ProtocolIE_Container_8180P67 { + A_SEQUENCE_OF(struct SgNBReconfigurationComplete_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P67_t; +typedef struct ProtocolIE_Container_8180P68 { + A_SEQUENCE_OF(struct SgNBModificationRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P68_t; +typedef struct ProtocolIE_Container_8180P69 { + A_SEQUENCE_OF(struct SgNBModificationRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P69_t; +typedef struct ProtocolIE_Container_8180P70 { + A_SEQUENCE_OF(struct SgNBModificationRequestReject_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P70_t; +typedef struct ProtocolIE_Container_8180P71 { + A_SEQUENCE_OF(struct SgNBModificationRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P71_t; +typedef struct ProtocolIE_Container_8180P72 { + A_SEQUENCE_OF(struct SgNBModificationConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P72_t; +typedef struct ProtocolIE_Container_8180P73 { + A_SEQUENCE_OF(struct SgNBModificationRefuse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P73_t; +typedef struct ProtocolIE_Container_8180P74 { + A_SEQUENCE_OF(struct SgNBReleaseRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P74_t; +typedef struct ProtocolIE_Container_8180P75 { + A_SEQUENCE_OF(struct SgNBReleaseRequestAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P75_t; +typedef struct ProtocolIE_Container_8180P76 { + A_SEQUENCE_OF(struct SgNBReleaseRequestReject_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P76_t; +typedef struct ProtocolIE_Container_8180P77 { + A_SEQUENCE_OF(struct SgNBReleaseRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P77_t; +typedef struct ProtocolIE_Container_8180P78 { + A_SEQUENCE_OF(struct SgNBReleaseConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P78_t; +typedef struct ProtocolIE_Container_8180P79 { + A_SEQUENCE_OF(struct SgNBCounterCheckRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P79_t; +typedef struct ProtocolIE_Container_8180P80 { + A_SEQUENCE_OF(struct SgNBChangeRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P80_t; +typedef struct ProtocolIE_Container_8180P81 { + A_SEQUENCE_OF(struct SgNBChangeConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P81_t; +typedef struct ProtocolIE_Container_8180P82 { + A_SEQUENCE_OF(struct RRCTransfer_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P82_t; +typedef struct ProtocolIE_Container_8180P83 { + A_SEQUENCE_OF(struct SgNBChangeRefuse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P83_t; +typedef struct ProtocolIE_Container_8180P84 { + A_SEQUENCE_OF(struct ENDCX2SetupRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P84_t; +typedef struct ProtocolIE_Container_8180P85 { + A_SEQUENCE_OF(struct ENB_ENDCX2SetupReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P85_t; +typedef struct ProtocolIE_Container_8180P86 { + A_SEQUENCE_OF(struct En_gNB_ENDCX2SetupReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P86_t; +typedef struct ProtocolIE_Container_8180P87 { + A_SEQUENCE_OF(struct ENDCX2SetupResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P87_t; +typedef struct ProtocolIE_Container_8180P88 { + A_SEQUENCE_OF(struct ENB_ENDCX2SetupReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P88_t; +typedef struct ProtocolIE_Container_8180P89 { + A_SEQUENCE_OF(struct En_gNB_ENDCX2SetupReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P89_t; +typedef struct ProtocolIE_Container_8180P90 { + A_SEQUENCE_OF(struct ENDCX2SetupFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P90_t; +typedef struct ProtocolIE_Container_8180P91 { + A_SEQUENCE_OF(struct ENDCConfigurationUpdate_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P91_t; +typedef struct ProtocolIE_Container_8180P92 { + A_SEQUENCE_OF(struct ENB_ENDCConfigUpdateIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P92_t; +typedef struct ProtocolIE_Container_8180P93 { + A_SEQUENCE_OF(struct En_gNB_ENDCConfigUpdateIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P93_t; +typedef struct ProtocolIE_Container_8180P94 { + A_SEQUENCE_OF(struct ENDCConfigurationUpdateAcknowledge_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P94_t; +typedef struct ProtocolIE_Container_8180P95 { + A_SEQUENCE_OF(struct ENB_ENDCConfigUpdateAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P95_t; +typedef struct ProtocolIE_Container_8180P96 { + A_SEQUENCE_OF(struct En_gNB_ENDCConfigUpdateAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P96_t; +typedef struct ProtocolIE_Container_8180P97 { + A_SEQUENCE_OF(struct ENDCConfigurationUpdateFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P97_t; +typedef struct ProtocolIE_Container_8180P98 { + A_SEQUENCE_OF(struct ENDCCellActivationRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P98_t; +typedef struct ProtocolIE_Container_8180P99 { + A_SEQUENCE_OF(struct ENDCCellActivationResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P99_t; +typedef struct ProtocolIE_Container_8180P100 { + A_SEQUENCE_OF(struct ENDCCellActivationFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P100_t; +typedef struct ProtocolIE_Container_8180P101 { + A_SEQUENCE_OF(struct SecondaryRATDataUsageReport_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P101_t; +typedef struct ProtocolIE_Container_8180P102 { + A_SEQUENCE_OF(struct SgNBActivityNotification_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P102_t; +typedef struct ProtocolIE_Container_8180P103 { + A_SEQUENCE_OF(struct ENDCPartialResetRequired_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P103_t; +typedef struct ProtocolIE_Container_8180P104 { + A_SEQUENCE_OF(struct ENDCPartialResetConfirm_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P104_t; +typedef struct ProtocolIE_Container_8180P105 { + A_SEQUENCE_OF(struct EUTRANRCellResourceCoordinationRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P105_t; +typedef struct ProtocolIE_Container_8180P106 { + A_SEQUENCE_OF(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P106_t; +typedef struct ProtocolIE_Container_8180P107 { + A_SEQUENCE_OF(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P107_t; +typedef struct ProtocolIE_Container_8180P108 { + A_SEQUENCE_OF(struct EUTRANRCellResourceCoordinationResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P108_t; +typedef struct ProtocolIE_Container_8180P109 { + A_SEQUENCE_OF(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P109_t; +typedef struct ProtocolIE_Container_8180P110 { + A_SEQUENCE_OF(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P110_t; +typedef struct ProtocolIE_Container_8180P111 { + A_SEQUENCE_OF(struct ENDCX2RemovalRequest_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P111_t; +typedef struct ProtocolIE_Container_8180P112 { + A_SEQUENCE_OF(struct ENB_ENDCX2RemovalReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P112_t; +typedef struct ProtocolIE_Container_8180P113 { + A_SEQUENCE_OF(struct En_gNB_ENDCX2RemovalReqIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P113_t; +typedef struct ProtocolIE_Container_8180P114 { + A_SEQUENCE_OF(struct ENDCX2RemovalResponse_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P114_t; +typedef struct ProtocolIE_Container_8180P115 { + A_SEQUENCE_OF(struct ENB_ENDCX2RemovalReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P115_t; +typedef struct ProtocolIE_Container_8180P116 { + A_SEQUENCE_OF(struct En_gNB_ENDCX2RemovalReqAckIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P116_t; +typedef struct ProtocolIE_Container_8180P117 { + A_SEQUENCE_OF(struct ENDCX2RemovalFailure_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P117_t; +typedef struct ProtocolIE_Container_8180P118 { + A_SEQUENCE_OF(struct DataForwardingAddressIndication_IEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P118_t; +typedef struct ProtocolIE_Container_8180P119 { + A_SEQUENCE_OF(struct GNBStatusIndicationIEs) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ProtocolIE_Container_8180P119_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P0; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P0_specs_1; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P0_1[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P0_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P1; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P1_specs_3; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P1_3[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P1_constr_3; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P2; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P2_specs_5; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P2_5[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P2_constr_5; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P3; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P3_specs_7; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P3_7[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P3_constr_7; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P4; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P4_specs_9; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P4_9[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P4_constr_9; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P5; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P5_specs_11; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P5_11[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P5_constr_11; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P6; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P6_specs_13; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P6_13[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P6_constr_13; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P7; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P7_specs_15; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P7_15[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P7_constr_15; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P8; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P8_specs_17; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P8_17[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P8_constr_17; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P9; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P9_specs_19; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P9_19[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P9_constr_19; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P10; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P10_specs_21; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P10_21[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P10_constr_21; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P11; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P11_specs_23; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P11_23[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P11_constr_23; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P12; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P12_specs_25; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P12_25[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P12_constr_25; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P13; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P13_specs_27; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P13_27[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P13_constr_27; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P14; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P14_specs_29; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P14_29[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P14_constr_29; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P15; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P15_specs_31; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P15_31[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P15_constr_31; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P16; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P16_specs_33; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P16_33[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P16_constr_33; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P17; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P17_specs_35; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P17_35[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P17_constr_35; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P18; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P18_specs_37; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P18_37[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P18_constr_37; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P19; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P19_specs_39; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P19_39[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P19_constr_39; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P20; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P20_specs_41; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P20_41[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P20_constr_41; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P21; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P21_specs_43; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P21_43[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P21_constr_43; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P22; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P22_specs_45; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P22_45[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P22_constr_45; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P23; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P23_specs_47; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P23_47[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P23_constr_47; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P24; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P24_specs_49; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P24_49[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P24_constr_49; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P25; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P25_specs_51; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P25_51[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P25_constr_51; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P26; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P26_specs_53; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P26_53[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P26_constr_53; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P27; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P27_specs_55; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P27_55[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P27_constr_55; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P28; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P28_specs_57; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P28_57[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P28_constr_57; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P29; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P29_specs_59; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P29_59[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P29_constr_59; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P30; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P30_specs_61; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P30_61[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P30_constr_61; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P31; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P31_specs_63; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P31_63[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P31_constr_63; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P32; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P32_specs_65; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P32_65[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P32_constr_65; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P33; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P33_specs_67; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P33_67[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P33_constr_67; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P34; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P34_specs_69; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P34_69[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P34_constr_69; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P35; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P35_specs_71; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P35_71[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P35_constr_71; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P36; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P36_specs_73; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P36_73[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P36_constr_73; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P37; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P37_specs_75; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P37_75[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P37_constr_75; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P38; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P38_specs_77; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P38_77[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P38_constr_77; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P39; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P39_specs_79; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P39_79[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P39_constr_79; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P40; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P40_specs_81; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P40_81[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P40_constr_81; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P41; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P41_specs_83; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P41_83[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P41_constr_83; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P42; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P42_specs_85; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P42_85[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P42_constr_85; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P43; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P43_specs_87; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P43_87[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P43_constr_87; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P44; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P44_specs_89; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P44_89[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P44_constr_89; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P45; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P45_specs_91; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P45_91[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P45_constr_91; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P46; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P46_specs_93; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P46_93[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P46_constr_93; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P47; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P47_specs_95; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P47_95[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P47_constr_95; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P48; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P48_specs_97; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P48_97[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P48_constr_97; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P49; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P49_specs_99; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P49_99[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P49_constr_99; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P50; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P50_specs_101; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P50_101[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P50_constr_101; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P51; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P51_specs_103; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P51_103[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P51_constr_103; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P52; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P52_specs_105; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P52_105[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P52_constr_105; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P53; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P53_specs_107; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P53_107[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P53_constr_107; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P54; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P54_specs_109; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P54_109[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P54_constr_109; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P55; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P55_specs_111; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P55_111[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P55_constr_111; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P56; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P56_specs_113; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P56_113[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P56_constr_113; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P57; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P57_specs_115; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P57_115[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P57_constr_115; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P58; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P58_specs_117; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P58_117[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P58_constr_117; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P59; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P59_specs_119; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P59_119[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P59_constr_119; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P60; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P60_specs_121; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P60_121[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P60_constr_121; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P61; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P61_specs_123; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P61_123[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P61_constr_123; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P62; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P62_specs_125; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P62_125[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P62_constr_125; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P63; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P63_specs_127; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P63_127[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P63_constr_127; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P64; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P64_specs_129; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P64_129[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P64_constr_129; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P65; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P65_specs_131; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P65_131[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P65_constr_131; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P66; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P66_specs_133; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P66_133[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P66_constr_133; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P67; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P67_specs_135; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P67_135[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P67_constr_135; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P68; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P68_specs_137; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P68_137[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P68_constr_137; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P69; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P69_specs_139; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P69_139[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P69_constr_139; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P70; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P70_specs_141; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P70_141[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P70_constr_141; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P71; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P71_specs_143; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P71_143[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P71_constr_143; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P72; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P72_specs_145; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P72_145[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P72_constr_145; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P73; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P73_specs_147; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P73_147[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P73_constr_147; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P74; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P74_specs_149; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P74_149[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P74_constr_149; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P75; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P75_specs_151; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P75_151[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P75_constr_151; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P76; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P76_specs_153; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P76_153[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P76_constr_153; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P77; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P77_specs_155; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P77_155[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P77_constr_155; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P78; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P78_specs_157; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P78_157[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P78_constr_157; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P79; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P79_specs_159; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P79_159[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P79_constr_159; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P80; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P80_specs_161; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P80_161[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P80_constr_161; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P81; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P81_specs_163; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P81_163[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P81_constr_163; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P82; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P82_specs_165; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P82_165[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P82_constr_165; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P83; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P83_specs_167; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P83_167[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P83_constr_167; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P84; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P84_specs_169; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P84_169[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P84_constr_169; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P85; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P85_specs_171; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P85_171[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P85_constr_171; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P86; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P86_specs_173; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P86_173[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P86_constr_173; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P87; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P87_specs_175; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P87_175[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P87_constr_175; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P88; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P88_specs_177; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P88_177[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P88_constr_177; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P89; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P89_specs_179; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P89_179[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P89_constr_179; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P90; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P90_specs_181; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P90_181[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P90_constr_181; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P91; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P91_specs_183; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P91_183[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P91_constr_183; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P92; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P92_specs_185; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P92_185[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P92_constr_185; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P93; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P93_specs_187; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P93_187[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P93_constr_187; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P94; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P94_specs_189; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P94_189[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P94_constr_189; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P95; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P95_specs_191; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P95_191[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P95_constr_191; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P96; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P96_specs_193; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P96_193[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P96_constr_193; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P97; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P97_specs_195; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P97_195[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P97_constr_195; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P98; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P98_specs_197; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P98_197[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P98_constr_197; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P99; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P99_specs_199; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P99_199[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P99_constr_199; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P100; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P100_specs_201; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P100_201[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P100_constr_201; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P101; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P101_specs_203; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P101_203[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P101_constr_203; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P102; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P102_specs_205; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P102_205[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P102_constr_205; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P103; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P103_specs_207; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P103_207[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P103_constr_207; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P104; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P104_specs_209; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P104_209[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P104_constr_209; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P105; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P105_specs_211; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P105_211[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P105_constr_211; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P106; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P106_specs_213; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P106_213[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P106_constr_213; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P107; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P107_specs_215; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P107_215[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P107_constr_215; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P108; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P108_specs_217; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P108_217[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P108_constr_217; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P109; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P109_specs_219; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P109_219[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P109_constr_219; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P110; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P110_specs_221; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P110_221[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P110_constr_221; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P111; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P111_specs_223; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P111_223[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P111_constr_223; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P112; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P112_specs_225; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P112_225[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P112_constr_225; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P113; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P113_specs_227; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P113_227[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P113_constr_227; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P114; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P114_specs_229; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P114_229[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P114_constr_229; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P115; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P115_specs_231; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P115_231[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P115_constr_231; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P116; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P116_specs_233; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P116_233[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P116_constr_233; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P117; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P117_specs_235; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P117_235[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P117_constr_235; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P118; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P118_specs_237; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P118_237[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P118_constr_237; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_8180P119; +extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_8180P119_specs_239; +extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_8180P119_239[1]; +extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_8180P119_constr_239; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_Container_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-Container.o b/asn1c_defs/all-defs/ProtocolIE-Container.o new file mode 100644 index 0000000000000000000000000000000000000000..c977755eb133a40a6734c7b9604e2d062f945ff6 GIT binary patch literal 122160 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 NGXF?XzfJV(|1a`d6IlQN literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtocolIE-ContainerList.c b/asn1c_defs/all-defs/ProtocolIE-ContainerList.c new file mode 100755 index 0000000..97bbc65 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-ContainerList.c @@ -0,0 +1,9 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtocolIE-ContainerList.h" + diff --git a/asn1c_defs/all-defs/ProtocolIE-ContainerList.h b/asn1c_defs/all-defs/ProtocolIE-ContainerList.h new file mode 100755 index 0000000..a76accb --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-ContainerList.h @@ -0,0 +1,23 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolIE_ContainerList_H_ +#define _ProtocolIE_ContainerList_H_ + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_ContainerList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-ContainerList.o b/asn1c_defs/all-defs/ProtocolIE-ContainerList.o new file mode 100644 index 0000000000000000000000000000000000000000..ec9deff823e74433246e49eaea8d369a5e3bcd73 GIT binary patch literal 960 zcmbVL%}T>S5T3Nv>d~8^hk8=MED1yu53&$qDHQS22S{STVw06*0(wy&$Jg@-bT-+g z%O<&WVE3E(X1<;5Prjn%!^m+!n*;Z-jWi4JZIHa7IUK?Pz&s4^W*4iZF0h{6uz-24 zUpJBe>EALhVE$#xZx`$F~HHr$Ol zA(=e8eM`=*Sck?nHq;r-lCw{YH`(rF>(8l#Uct`#E7Hm}JsPHQ70A44y1&M2N^0M% z+n9mj+qE+8dqr + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_ContainerPair_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-ContainerPair.o b/asn1c_defs/all-defs/ProtocolIE-ContainerPair.o new file mode 100644 index 0000000000000000000000000000000000000000..1f05135f28cb470dcc09443be99f2e7d7712d5bf GIT binary patch literal 960 zcmbVL%}T^D5T5R?t{%M!dRR{?*w8{n@gRj#mj#i%>;t5=;NmusHU+(?kK^n41Ug9* zHl*!k2a<2*oB1-$PruT~hmq%jF%Rxx8yObh+ahB{$8ZP-0P`fdn_aB3hKXi&Ln0FR zVWXn(GrT21M8eCK-!9hU$>k^T``43#aqkxa@}s_T?~p7YHj^%Kqn zU9+NE(sf0008)RHf@X-KYVpN*qIefTo~fWfvbqM6^Rg@$a*T_D%%4_%EolDQZMYkA zf--q_`;I(zViQ`|sHiiXCFh=4tg_w7)t_StzJi_gSE!Y11~_bsbs+P$nf?Z^F=>3e zZes_Q@7Bt=?-jji&5y<@q8xIs(vDlef1tZ}mDi0 + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_ContainerPairList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-ContainerPairList.o b/asn1c_defs/all-defs/ProtocolIE-ContainerPairList.o new file mode 100644 index 0000000000000000000000000000000000000000..2f2a0c875084f1384c8cfea4f4c4ae71ddc79fe7 GIT binary patch literal 960 zcmbVL%}T>S5T3O4@90hN5>G0aC4q{?g9Jh>LXlqj0Gk*v*kmP{fL_$c@%4OyI-Bg$ zWs@FsVE3E(X1<;5Pd?+t{m5}Zn*(>SjWi4JWsqS@hj0Xk0P`ribuU&)Q)1)ZuqpGs zplPGvBbYIN%7V*|-!3-b$>k^Tvl&Ric<_sW_|Z@~@#7u*-VT1!=a-d0k&5+0>_wtP zo|jp*K~zs74y zYTv9|n}OlmwK5)hMXyTpt?+name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICaction_ToBeSetup_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_ToBeSetup_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_ToBeSetup_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICaction_ToBeSetup_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_ToBeSetup_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_ToBeSetup_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICaction_Admitted_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_Admitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_Admitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICaction_Admitted_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_Admitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_Admitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_5(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICaction_NotAdmitted_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_NotAdmitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_NotAdmitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICaction_NotAdmitted_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICaction_NotAdmitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICaction_NotAdmitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_9(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RANfunction_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RANfunction_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RANfunctionID_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RANfunctionID_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RANfunctionIDcause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RANfunctionIDcause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetup_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetup_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetup_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetup_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetup_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetup_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToStatusTransfer_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToStatusTransfer_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToStatusTransfer_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToStatusTransfer_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellInformation_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellInformation_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellInformation_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellInformation_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellInformation_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellInformation_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellToReport_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellToReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellToReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellToReport_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellToReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellToReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MeasurementInitiationResult_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeasurementInitiationResult_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeasurementInitiationResult_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MeasurementInitiationResult_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeasurementInitiationResult_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeasurementInitiationResult_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MeasurementFailureCause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeasurementFailureCause_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeasurementFailureCause_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MeasurementFailureCause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MeasurementFailureCause_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MeasurementFailureCause_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CompleteFailureCauseInformation_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CompleteFailureCauseInformation_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CompleteFailureCauseInformation_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CompleteFailureCauseInformation_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CompleteFailureCauseInformation_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CompleteFailureCauseInformation_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellMeasurementResult_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellMeasurementResult_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellMeasurementResult_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellMeasurementResult_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellMeasurementResult_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellMeasurementResult_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ModReqItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_ModReqItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_ModReqItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_ModReqItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_ModReqItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_ModReqItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_ModReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_ModAckItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_ModAckItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_ModReqdItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_ModReqdItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_ModReqdItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_ModReqdItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_RelReqItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_RelReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_RelReqItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_RelReqItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_RelConfItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_RelConfItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_RelConfItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_RelConfItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToCounterCheckItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToCounterCheckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToCounterCheckItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToCounterCheckItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetupRetrieve_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetupRetrieve_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeSetupRetrieve_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeSetupRetrieve_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReq_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_153(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_161(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_165(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_173(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_177(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABs_DataForwardingAddress_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_DataForwardingAddress_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABs_DataForwardingAddress_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABs_DataForwardingAddress_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RAB_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RAB_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RAB_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RAB_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RAB_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RAB_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_185(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_E_RABUsageReport_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABUsageReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABUsageReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_E_RABUsageReport_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E_RABUsageReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABUsageReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_189(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SecondaryRATUsageReport_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SecondaryRATUsageReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SecondaryRATUsageReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SecondaryRATUsageReport_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SecondaryRATUsageReport_ItemIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SecondaryRATUsageReport_ItemIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_193(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_197(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_201(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_205(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_209(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_213(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICsubscriptionDeleteFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_217(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICindication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICindication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_221(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICcontrolRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICcontrolRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_225(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICcontrolAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICcontrolAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_229(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICcontrolFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICcontrolFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_233(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICserviceUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICserviceUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_237(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICserviceUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICserviceUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_241(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICserviceUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICserviceUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_245(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RICserviceQuery_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RICserviceQuery_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_249(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_253(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_257(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverPreparationFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverPreparationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverPreparationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverPreparationFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverPreparationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverPreparationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_261(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverReport_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverReport_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverReport_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverReport_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverReport_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverReport_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_265(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SNStatusTransfer_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SNStatusTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SNStatusTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SNStatusTransfer_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SNStatusTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SNStatusTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_269(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UEContextRelease_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEContextRelease_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEContextRelease_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UEContextRelease_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_UEContextRelease_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEContextRelease_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_273(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_HandoverCancel_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverCancel_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverCancel_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_HandoverCancel_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_HandoverCancel_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct HandoverCancel_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_277(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ErrorIndication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ErrorIndication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_281(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResetRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResetRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResetRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResetRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_285(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResetResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResetResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResetResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResetResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_289(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2SetupRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2SetupRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_293(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2SetupResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2SetupResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_297(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2SetupFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2SetupFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2SetupFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SetupFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_301(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_LoadInformation_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_LoadInformation_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct LoadInformation_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_LoadInformation_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_LoadInformation_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct LoadInformation_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_305(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_309(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_313(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENBConfigurationUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENBConfigurationUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENBConfigurationUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_317(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResourceStatusRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResourceStatusRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_321(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResourceStatusResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResourceStatusResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_325(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResourceStatusFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResourceStatusFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_329(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ResourceStatusUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ResourceStatusUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ResourceStatusUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResourceStatusUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_333(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MobilityChangeRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MobilityChangeRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_337(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MobilityChangeAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MobilityChangeAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_341(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MobilityChangeFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_MobilityChangeFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MobilityChangeFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MobilityChangeFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_345(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RLFIndication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RLFIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RLFIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RLFIndication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RLFIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RLFIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_349(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellActivationRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellActivationRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_353(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellActivationResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellActivationResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_357(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CellActivationFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_CellActivationFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CellActivationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CellActivationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_361(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2Release_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2Release_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2Release_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2Release_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2Release_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2Release_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_365(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2APMessageTransfer_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2APMessageTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2APMessageTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2APMessageTransfer_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2APMessageTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2APMessageTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_369(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBAdditionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBAdditionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_373(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBAdditionRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBAdditionRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_377(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBAdditionRequestReject_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBAdditionRequestReject_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBAdditionRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBAdditionRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_381(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBReconfigurationComplete_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReconfigurationComplete_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReconfigurationComplete_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBReconfigurationComplete_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReconfigurationComplete_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReconfigurationComplete_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_385(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_389(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_393(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationRequestReject_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationRequestReject_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_397(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_401(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_405(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBModificationRefuse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBModificationRefuse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBModificationRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBModificationRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_409(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBReleaseRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBReleaseRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_413(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBReleaseRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBReleaseRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_417(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBReleaseConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBReleaseConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBReleaseConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBReleaseConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_421(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SeNBCounterCheckRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBCounterCheckRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBCounterCheckRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SeNBCounterCheckRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SeNBCounterCheckRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SeNBCounterCheckRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_425(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2RemovalRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2RemovalRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_429(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2RemovalResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2RemovalResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_433(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2RemovalFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2RemovalFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2RemovalFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2RemovalFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_437(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RetrieveUEContextRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RetrieveUEContextRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_441(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RetrieveUEContextResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RetrieveUEContextResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_445(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RetrieveUEContextFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RetrieveUEContextFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RetrieveUEContextFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RetrieveUEContextFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_449(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBAdditionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBAdditionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_453(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBAdditionRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBAdditionRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_457(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBAdditionRequestReject_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBAdditionRequestReject_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBAdditionRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBAdditionRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_461(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReconfigurationComplete_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReconfigurationComplete_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReconfigurationComplete_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReconfigurationComplete_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReconfigurationComplete_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReconfigurationComplete_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_465(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_469(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_473(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationRequestReject_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationRequestReject_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_477(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_481(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_485(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBModificationRefuse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBModificationRefuse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBModificationRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBModificationRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_489(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReleaseRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReleaseRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_493(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReleaseRequestAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReleaseRequestAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequestAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequestAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_497(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReleaseRequestReject_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReleaseRequestReject_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequestReject_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequestReject_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_501(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReleaseRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReleaseRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_505(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBReleaseConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBReleaseConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBReleaseConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBReleaseConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_509(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBCounterCheckRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBCounterCheckRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBCounterCheckRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBCounterCheckRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBCounterCheckRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBCounterCheckRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_513(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBChangeRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBChangeRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_517(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBChangeConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBChangeConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_521(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_RRCTransfer_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RRCTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RRCTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_RRCTransfer_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_RRCTransfer_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RRCTransfer_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_525(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBChangeRefuse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBChangeRefuse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBChangeRefuse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBChangeRefuse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_529(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2SetupRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2SetupRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_533(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_ENDCX2SetupReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2SetupReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2SetupReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_ENDCX2SetupReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2SetupReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2SetupReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_537(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2SetupReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2SetupReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2SetupReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2SetupReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2SetupReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2SetupReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_541(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2SetupResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2SetupResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_545(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_ENDCX2SetupReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2SetupReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2SetupReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_ENDCX2SetupReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2SetupReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2SetupReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_549(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2SetupReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2SetupReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2SetupReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2SetupReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_553(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2SetupFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2SetupFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2SetupFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2SetupFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_557(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdate_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdate_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_561(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_ENDCConfigUpdateIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCConfigUpdateIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCConfigUpdateIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_ENDCConfigUpdateIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCConfigUpdateIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCConfigUpdateIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_565(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCConfigUpdateIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCConfigUpdateIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCConfigUpdateIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCConfigUpdateIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCConfigUpdateIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCConfigUpdateIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_569(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdateAcknowledge_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_573(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_criticality_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_value_constraint_577(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCConfigUpdateAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCConfigUpdateAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCConfigUpdateAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCConfigUpdateAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_581(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCConfigurationUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCConfigurationUpdateFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCConfigurationUpdateFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_585(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCCellActivationRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCCellActivationRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_589(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCCellActivationResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCCellActivationResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_593(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCCellActivationFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCCellActivationFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCCellActivationFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCCellActivationFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_597(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SecondaryRATDataUsageReport_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SecondaryRATDataUsageReport_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SecondaryRATDataUsageReport_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SecondaryRATDataUsageReport_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SecondaryRATDataUsageReport_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SecondaryRATDataUsageReport_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_601(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SgNBActivityNotification_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBActivityNotification_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBActivityNotification_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SgNBActivityNotification_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_SgNBActivityNotification_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SgNBActivityNotification_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_605(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCPartialResetRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCPartialResetRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCPartialResetRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCPartialResetRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCPartialResetRequired_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCPartialResetRequired_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_609(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCPartialResetConfirm_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCPartialResetConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCPartialResetConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCPartialResetConfirm_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCPartialResetConfirm_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCPartialResetConfirm_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_613(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_EUTRANRCellResourceCoordinationRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_EUTRANRCellResourceCoordinationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_EUTRANRCellResourceCoordinationRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_EUTRANRCellResourceCoordinationRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_617(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_EUTRA_NRCellResourceCoordinationReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_EUTRA_NRCellResourceCoordinationReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_EUTRA_NRCellResourceCoordinationReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_EUTRA_NRCellResourceCoordinationReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_621(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_625(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_EUTRANRCellResourceCoordinationResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_EUTRANRCellResourceCoordinationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_EUTRANRCellResourceCoordinationResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_EUTRANRCellResourceCoordinationResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_629(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_633(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_637(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2RemovalRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2RemovalRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalRequest_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalRequest_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_641(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_ENDCX2RemovalReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2RemovalReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2RemovalReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_ENDCX2RemovalReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2RemovalReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2RemovalReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_645(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2RemovalReqIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2RemovalReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2RemovalReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2RemovalReqIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2RemovalReqIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2RemovalReqIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_649(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2RemovalResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2RemovalResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalResponse_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalResponse_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_653(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENB_ENDCX2RemovalReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2RemovalReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2RemovalReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENB_ENDCX2RemovalReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENB_ENDCX2RemovalReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENB_ENDCX2RemovalReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_657(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2RemovalReqAckIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2RemovalReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_En_gNB_ENDCX2RemovalReqAckIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_En_gNB_ENDCX2RemovalReqAckIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_661(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_ENDCX2RemovalFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_ENDCX2RemovalFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_ENDCX2RemovalFailure_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ENDCX2RemovalFailure_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_665(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_DataForwardingAddressIndication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_DataForwardingAddressIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct DataForwardingAddressIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_DataForwardingAddressIndication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_DataForwardingAddressIndication_IEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct DataForwardingAddressIndication_IEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_669(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_id_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_GNBStatusIndicationIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_GNBStatusIndicationIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct GNBStatusIndicationIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_GNBStatusIndicationIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_GNBStatusIndicationIEs_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 2; /* &Value */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct GNBStatusIndicationIEs, id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_673(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_16 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_20 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_24 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_28 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_30 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_31 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_32 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_36 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_40 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_42 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_43 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_44 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_48 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_52 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_54 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_55 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_56 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_60 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_64 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_66 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_67 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_68 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_72 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_76 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_78 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_79 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_80 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_84 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_88 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_90 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_91 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_92 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_96 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_100 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_102 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_103 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_104 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_106 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_107 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_108 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_110 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_111 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_112 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_114 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_115 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_116 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_118 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_119 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_120 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_122 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_123 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_124 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_126 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_127 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_128 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_130 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_131 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_132 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_134 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_135 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_136 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_138 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_139 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_140 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_142 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_143 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_144 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_146 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_147 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_148 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_150 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_151 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_152 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_154 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_155 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_156 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_158 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_159 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_160 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_162 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_163 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_164 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_166 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_167 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_168 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_170 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_171 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_172 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_174 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_175 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_176 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_178 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_179 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_180 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_182 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_183 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_184 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_186 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_187 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_188 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_190 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_191 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_192 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_194 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_195 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_196 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_198 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_199 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_200 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_202 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_203 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_204 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_206 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_207 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_208 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_210 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_211 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_212 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_214 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_215 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_216 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_218 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_219 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_220 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_222 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_223 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_224 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_226 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_227 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_228 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_230 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_231 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_232 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_234 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_235 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_236 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_238 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_239 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_240 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_242 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_243 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_244 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_246 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_247 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_248 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_250 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_251 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_252 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_254 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_255 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_256 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_258 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_259 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_260 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_262 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_263 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_264 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_266 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_267 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_268 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_270 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_271 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_272 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_274 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_275 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_276 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_278 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_279 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_280 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_282 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_283 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_284 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_286 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_287 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_288 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_290 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_291 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_292 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_294 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_295 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_296 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_298 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_299 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_300 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_302 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_303 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_304 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_306 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_307 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_308 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_310 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_311 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_312 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_314 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_315 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_316 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_318 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_319 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_320 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_322 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_323 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_324 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_326 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_327 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_328 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_330 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_331 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_332 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_334 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_335 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_336 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_338 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_339 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_340 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_342 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_343 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_344 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_346 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_347 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_348 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_350 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_351 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_352 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_354 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_355 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_356 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_358 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_359 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_360 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_362 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_363 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_364 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_366 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_367 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_368 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_370 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_371 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_372 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_374 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_375 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_376 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_378 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_379 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_380 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_382 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_383 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_384 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_386 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_387 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_388 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_390 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_391 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_392 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_394 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_395 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_396 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_398 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_399 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_400 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_402 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_403 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_404 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_406 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_407 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_408 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_410 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_411 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_412 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_414 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_415 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_416 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_418 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_419 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_420 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_422 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_423 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_424 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_426 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_427 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_428 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_430 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_431 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_432 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_434 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_435 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_436 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_438 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_439 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_440 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_442 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_443 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_444 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_446 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_447 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_448 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_450 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_451 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_452 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_454 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_455 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_456 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_458 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_459 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_460 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_462 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_463 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_464 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_466 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_467 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_468 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_470 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_471 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_472 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_474 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_475 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_476 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_478 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_479 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_480 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_482 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_483 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_484 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_486 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_487 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_488 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_490 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_491 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_492 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_494 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_495 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_496 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_498 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_499 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_500 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_502 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_503 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_504 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_506 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_507 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_508 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_510 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_511 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_512 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_514 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_515 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_516 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_518 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_519 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_520 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_522 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_523 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_524 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_526 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_527 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_528 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_530 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_531 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_532 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_534 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_535 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_536 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_538 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_539 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_540 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_542 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_543 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_544 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_546 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_547 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_548 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_550 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_551 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_552 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_554 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_555 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_556 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_558 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_559 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_560 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_562 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_563 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_564 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_566 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_567 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_568 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_570 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_571 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_572 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_574 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_575 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_576 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_578 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_579 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_580 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_582 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_583 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_584 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_586 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_587 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_588 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_590 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_591 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_592 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_594 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_595 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_596 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_598 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_599 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_600 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_602 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_603 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_604 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_606 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_607 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_608 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_610 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_611 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_612 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_614 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_615 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_616 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_618 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_619 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_620 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_622 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_623 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_624 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_626 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_627 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_628 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_630 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_631 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_632 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_634 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_635 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_636 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_638 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_639 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_640 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_642 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_643 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_644 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_646 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_647 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_648 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_650 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_651 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_652 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_654 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_655 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_656 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_658 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_659 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_660 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_662 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_663 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_664 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_666 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_667 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_668 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_670 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_671 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_672 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_id_constr_674 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_675 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_676 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_ToBeSetup_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-ToBeSetup-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct RICaction_ToBeSetup_ItemIEs__value), + offsetof(struct RICaction_ToBeSetup_ItemIEs__value, _asn_ctx), + offsetof(struct RICaction_ToBeSetup_ItemIEs__value, present), + sizeof(((struct RICaction_ToBeSetup_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_4, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 1, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_2, memb_id_constraint_1 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICaction_ToBeSetup_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_RICaction_ToBeSetup_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 = { + sizeof(struct RICaction_ToBeSetup_ItemIEs), + offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx), + asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs = { + "RICaction-ToBeSetup-ItemIEs", + "RICaction-ToBeSetup-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1, + sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1) + /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */ + asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1, /* Same as above */ + sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1) + /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_ToBeSetup_ItemIEs_1, + 3, /* Elements count */ + &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_8[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs__value, choice.RICaction_Admitted_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_Admitted_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-Admitted-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_8[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_8 = { + sizeof(struct RICaction_Admitted_ItemIEs__value), + offsetof(struct RICaction_Admitted_ItemIEs__value, _asn_ctx), + offsetof(struct RICaction_Admitted_ItemIEs__value, present), + sizeof(((struct RICaction_Admitted_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_8, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_8 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_8, + 1, /* Elements count */ + &asn_SPC_value_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_6, memb_id_constraint_5 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICaction_Admitted_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_7, memb_criticality_constraint_5 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_8, + select_RICaction_Admitted_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_8, memb_value_constraint_5 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICaction_Admitted_ItemIEs_tags_5[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5 = { + sizeof(struct RICaction_Admitted_ItemIEs), + offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx), + asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs = { + "RICaction-Admitted-ItemIEs", + "RICaction-Admitted-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RICaction_Admitted_ItemIEs_tags_5, + sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5) + /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */ + asn_DEF_RICaction_Admitted_ItemIEs_tags_5, /* Same as above */ + sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5) + /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_Admitted_ItemIEs_5, + 3, /* Elements count */ + &asn_SPC_RICaction_Admitted_ItemIEs_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_12[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs__value, choice.RICaction_NotAdmitted_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_NotAdmitted_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-NotAdmitted-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_12[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_12 = { + sizeof(struct RICaction_NotAdmitted_ItemIEs__value), + offsetof(struct RICaction_NotAdmitted_ItemIEs__value, _asn_ctx), + offsetof(struct RICaction_NotAdmitted_ItemIEs__value, present), + sizeof(((struct RICaction_NotAdmitted_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_12, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_12 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_12, + 1, /* Elements count */ + &asn_SPC_value_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_10, memb_id_constraint_9 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICaction_NotAdmitted_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_11, memb_criticality_constraint_9 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_12, + select_RICaction_NotAdmitted_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_12, memb_value_constraint_9 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 = { + sizeof(struct RICaction_NotAdmitted_ItemIEs), + offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx), + asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs = { + "RICaction-NotAdmitted-ItemIEs", + "RICaction-NotAdmitted-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9, + sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9) + /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */ + asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9, /* Same as above */ + sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9) + /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_NotAdmitted_ItemIEs_9, + 3, /* Elements count */ + &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_16[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs__value, choice.RANfunction_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunction_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunction-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_16[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_16 = { + sizeof(struct RANfunction_ItemIEs__value), + offsetof(struct RANfunction_ItemIEs__value, _asn_ctx), + offsetof(struct RANfunction_ItemIEs__value, present), + sizeof(((struct RANfunction_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_16, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_16 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_16, + 1, /* Elements count */ + &asn_SPC_value_specs_16 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_14, memb_id_constraint_13 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RANfunction_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_15, memb_criticality_constraint_13 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_16, + select_RANfunction_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_16, memb_value_constraint_13 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunction_ItemIEs_tags_13[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_13[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13 = { + sizeof(struct RANfunction_ItemIEs), + offsetof(struct RANfunction_ItemIEs, _asn_ctx), + asn_MAP_RANfunction_ItemIEs_tag2el_13, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs = { + "RANfunction-ItemIEs", + "RANfunction-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RANfunction_ItemIEs_tags_13, + sizeof(asn_DEF_RANfunction_ItemIEs_tags_13) + /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */ + asn_DEF_RANfunction_ItemIEs_tags_13, /* Same as above */ + sizeof(asn_DEF_RANfunction_ItemIEs_tags_13) + /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunction_ItemIEs_13, + 3, /* Elements count */ + &asn_SPC_RANfunction_ItemIEs_specs_13 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_20[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionID_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = { + sizeof(struct RANfunctionID_ItemIEs__value), + offsetof(struct RANfunctionID_ItemIEs__value, _asn_ctx), + offsetof(struct RANfunctionID_ItemIEs__value, present), + sizeof(((struct RANfunctionID_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_20, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_20 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_20, + 1, /* Elements count */ + &asn_SPC_value_specs_20 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_18, memb_id_constraint_17 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RANfunctionID_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_19, memb_criticality_constraint_17 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_20, + select_RANfunctionID_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_20, memb_value_constraint_17 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionID_ItemIEs_tags_17[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_17[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17 = { + sizeof(struct RANfunctionID_ItemIEs), + offsetof(struct RANfunctionID_ItemIEs, _asn_ctx), + asn_MAP_RANfunctionID_ItemIEs_tag2el_17, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = { + "RANfunctionID-ItemIEs", + "RANfunctionID-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RANfunctionID_ItemIEs_tags_17, + sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17) + /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */ + asn_DEF_RANfunctionID_ItemIEs_tags_17, /* Same as above */ + sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17) + /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionID_ItemIEs_17, + 3, /* Elements count */ + &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_24[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionIDcause_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionIDcause-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = { + sizeof(struct RANfunctionIDcause_ItemIEs__value), + offsetof(struct RANfunctionIDcause_ItemIEs__value, _asn_ctx), + offsetof(struct RANfunctionIDcause_ItemIEs__value, present), + sizeof(((struct RANfunctionIDcause_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_24, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_24 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_24, + 1, /* Elements count */ + &asn_SPC_value_specs_24 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_22, memb_id_constraint_21 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RANfunctionIDcause_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_23, memb_criticality_constraint_21 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_24, + select_RANfunctionIDcause_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_24, memb_value_constraint_21 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 = { + sizeof(struct RANfunctionIDcause_ItemIEs), + offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx), + asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = { + "RANfunctionIDcause-ItemIEs", + "RANfunctionIDcause-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_RANfunctionIDcause_ItemIEs_tags_21, + sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21) + /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */ + asn_DEF_RANfunctionIDcause_ItemIEs_tags_21, /* Same as above */ + sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21) + /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionIDcause_ItemIEs_21, + 3, /* Elements count */ + &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_28[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemIEs__value, choice.E_RABs_ToBeSetup_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeSetup_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeSetup-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeSetup-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = { + sizeof(struct E_RABs_ToBeSetup_ItemIEs__value), + offsetof(struct E_RABs_ToBeSetup_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeSetup_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeSetup_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_28, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_28 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_28, + 1, /* Elements count */ + &asn_SPC_value_specs_28 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ItemIEs_25[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_26, memb_id_constraint_25 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeSetup_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_27, memb_criticality_constraint_25 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetup_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_28, + select_E_RABs_ToBeSetup_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_28, memb_value_constraint_25 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeSetup_ItemIEs_tag2el_25[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetup_ItemIEs_specs_25 = { + sizeof(struct E_RABs_ToBeSetup_ItemIEs), + offsetof(struct E_RABs_ToBeSetup_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeSetup_ItemIEs_tag2el_25, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ItemIEs = { + "E-RABs-ToBeSetup-ItemIEs", + "E-RABs-ToBeSetup-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25, + sizeof(asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25[0]), /* 1 */ + asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25) + /sizeof(asn_DEF_E_RABs_ToBeSetup_ItemIEs_tags_25[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetup_ItemIEs_25, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetup_ItemIEs_specs_25 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_32[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ItemIEs__value, choice.E_RABs_Admitted_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_32[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = { + sizeof(struct E_RABs_Admitted_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_32, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_32 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_32, + 1, /* Elements count */ + &asn_SPC_value_specs_32 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ItemIEs_29[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_30, memb_id_constraint_29 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_31, memb_criticality_constraint_29 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_32, + select_E_RABs_Admitted_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_32, memb_value_constraint_29 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ItemIEs_tags_29[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ItemIEs_tag2el_29[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ItemIEs_specs_29 = { + sizeof(struct E_RABs_Admitted_ItemIEs), + offsetof(struct E_RABs_Admitted_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ItemIEs_tag2el_29, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ItemIEs = { + "E-RABs-Admitted-ItemIEs", + "E-RABs-Admitted-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ItemIEs_tags_29, + sizeof(asn_DEF_E_RABs_Admitted_ItemIEs_tags_29) + /sizeof(asn_DEF_E_RABs_Admitted_ItemIEs_tags_29[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ItemIEs_tags_29, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ItemIEs_tags_29) + /sizeof(asn_DEF_E_RABs_Admitted_ItemIEs_tags_29[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ItemIEs_29, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ItemIEs_specs_29 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_36[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs__value, choice.E_RABs_SubjectToStatusTransfer_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToStatusTransfer_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToStatusTransfer-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_36[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-SubjectToStatusTransfer-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = { + sizeof(struct E_RABs_SubjectToStatusTransfer_ItemIEs__value), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs__value, present), + sizeof(((struct E_RABs_SubjectToStatusTransfer_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_36, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_36 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_36, + 1, /* Elements count */ + &asn_SPC_value_specs_36 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToStatusTransfer_ItemIEs_33[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_34, memb_id_constraint_33 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_SubjectToStatusTransfer_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_35, memb_criticality_constraint_33 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_36, + select_E_RABs_SubjectToStatusTransfer_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_36, memb_value_constraint_33 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToStatusTransfer_ItemIEs_tag2el_33[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToStatusTransfer_ItemIEs_specs_33 = { + sizeof(struct E_RABs_SubjectToStatusTransfer_ItemIEs), + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToStatusTransfer_ItemIEs_tag2el_33, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs = { + "E-RABs-SubjectToStatusTransfer-ItemIEs", + "E-RABs-SubjectToStatusTransfer-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33, + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33) + /sizeof(asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs_tags_33[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToStatusTransfer_ItemIEs_33, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToStatusTransfer_ItemIEs_specs_33 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_40[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_ItemIEs__value, choice.CellInformation_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellInformation_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellInformation-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CellInformation-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = { + sizeof(struct CellInformation_ItemIEs__value), + offsetof(struct CellInformation_ItemIEs__value, _asn_ctx), + offsetof(struct CellInformation_ItemIEs__value, present), + sizeof(((struct CellInformation_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_40, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_40 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_40, + 1, /* Elements count */ + &asn_SPC_value_specs_40 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellInformation_ItemIEs_37[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_38, memb_id_constraint_37 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellInformation_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellInformation_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_39, memb_criticality_constraint_37 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellInformation_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_40, + select_CellInformation_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_40, memb_value_constraint_37 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellInformation_ItemIEs_tags_37[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellInformation_ItemIEs_tag2el_37[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellInformation_ItemIEs_specs_37 = { + sizeof(struct CellInformation_ItemIEs), + offsetof(struct CellInformation_ItemIEs, _asn_ctx), + asn_MAP_CellInformation_ItemIEs_tag2el_37, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellInformation_ItemIEs = { + "CellInformation-ItemIEs", + "CellInformation-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellInformation_ItemIEs_tags_37, + sizeof(asn_DEF_CellInformation_ItemIEs_tags_37) + /sizeof(asn_DEF_CellInformation_ItemIEs_tags_37[0]), /* 1 */ + asn_DEF_CellInformation_ItemIEs_tags_37, /* Same as above */ + sizeof(asn_DEF_CellInformation_ItemIEs_tags_37) + /sizeof(asn_DEF_CellInformation_ItemIEs_tags_37[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellInformation_ItemIEs_37, + 3, /* Elements count */ + &asn_SPC_CellInformation_ItemIEs_specs_37 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_44[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellToReport_ItemIEs__value, choice.CellToReport_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellToReport_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellToReport-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CellToReport-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = { + sizeof(struct CellToReport_ItemIEs__value), + offsetof(struct CellToReport_ItemIEs__value, _asn_ctx), + offsetof(struct CellToReport_ItemIEs__value, present), + sizeof(((struct CellToReport_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_44, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_44 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_44, + 1, /* Elements count */ + &asn_SPC_value_specs_44 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellToReport_ItemIEs_41[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellToReport_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_42, memb_id_constraint_41 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellToReport_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellToReport_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_43, memb_criticality_constraint_41 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellToReport_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_44, + select_CellToReport_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_44, memb_value_constraint_41 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellToReport_ItemIEs_tags_41[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellToReport_ItemIEs_tag2el_41[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellToReport_ItemIEs_specs_41 = { + sizeof(struct CellToReport_ItemIEs), + offsetof(struct CellToReport_ItemIEs, _asn_ctx), + asn_MAP_CellToReport_ItemIEs_tag2el_41, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellToReport_ItemIEs = { + "CellToReport-ItemIEs", + "CellToReport-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellToReport_ItemIEs_tags_41, + sizeof(asn_DEF_CellToReport_ItemIEs_tags_41) + /sizeof(asn_DEF_CellToReport_ItemIEs_tags_41[0]), /* 1 */ + asn_DEF_CellToReport_ItemIEs_tags_41, /* Same as above */ + sizeof(asn_DEF_CellToReport_ItemIEs_tags_41) + /sizeof(asn_DEF_CellToReport_ItemIEs_tags_41[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellToReport_ItemIEs_41, + 3, /* Elements count */ + &asn_SPC_CellToReport_ItemIEs_specs_41 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_48[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_ItemIEs__value, choice.MeasurementInitiationResult_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeasurementInitiationResult_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeasurementInitiationResult-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* MeasurementInitiationResult-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = { + sizeof(struct MeasurementInitiationResult_ItemIEs__value), + offsetof(struct MeasurementInitiationResult_ItemIEs__value, _asn_ctx), + offsetof(struct MeasurementInitiationResult_ItemIEs__value, present), + sizeof(((struct MeasurementInitiationResult_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_48, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_48 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_48, + 1, /* Elements count */ + &asn_SPC_value_specs_48 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MeasurementInitiationResult_ItemIEs_45[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_46, memb_id_constraint_45 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MeasurementInitiationResult_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_47, memb_criticality_constraint_45 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MeasurementInitiationResult_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_48, + select_MeasurementInitiationResult_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_48, memb_value_constraint_45 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementInitiationResult_ItemIEs_tag2el_45[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MeasurementInitiationResult_ItemIEs_specs_45 = { + sizeof(struct MeasurementInitiationResult_ItemIEs), + offsetof(struct MeasurementInitiationResult_ItemIEs, _asn_ctx), + asn_MAP_MeasurementInitiationResult_ItemIEs_tag2el_45, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_ItemIEs = { + "MeasurementInitiationResult-ItemIEs", + "MeasurementInitiationResult-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45, + sizeof(asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45) + /sizeof(asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45[0]), /* 1 */ + asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45, /* Same as above */ + sizeof(asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45) + /sizeof(asn_DEF_MeasurementInitiationResult_ItemIEs_tags_45[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementInitiationResult_ItemIEs_45, + 3, /* Elements count */ + &asn_SPC_MeasurementInitiationResult_ItemIEs_specs_45 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_52[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_ItemIEs__value, choice.MeasurementFailureCause_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeasurementFailureCause_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeasurementFailureCause-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* MeasurementFailureCause-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = { + sizeof(struct MeasurementFailureCause_ItemIEs__value), + offsetof(struct MeasurementFailureCause_ItemIEs__value, _asn_ctx), + offsetof(struct MeasurementFailureCause_ItemIEs__value, present), + sizeof(((struct MeasurementFailureCause_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_52, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_52 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_52, + 1, /* Elements count */ + &asn_SPC_value_specs_52 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MeasurementFailureCause_ItemIEs_49[] = { + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_50, memb_id_constraint_49 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MeasurementFailureCause_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_51, memb_criticality_constraint_49 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MeasurementFailureCause_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_52, + select_MeasurementFailureCause_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_52, memb_value_constraint_49 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MeasurementFailureCause_ItemIEs_tags_49[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MeasurementFailureCause_ItemIEs_tag2el_49[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MeasurementFailureCause_ItemIEs_specs_49 = { + sizeof(struct MeasurementFailureCause_ItemIEs), + offsetof(struct MeasurementFailureCause_ItemIEs, _asn_ctx), + asn_MAP_MeasurementFailureCause_ItemIEs_tag2el_49, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_ItemIEs = { + "MeasurementFailureCause-ItemIEs", + "MeasurementFailureCause-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_MeasurementFailureCause_ItemIEs_tags_49, + sizeof(asn_DEF_MeasurementFailureCause_ItemIEs_tags_49) + /sizeof(asn_DEF_MeasurementFailureCause_ItemIEs_tags_49[0]), /* 1 */ + asn_DEF_MeasurementFailureCause_ItemIEs_tags_49, /* Same as above */ + sizeof(asn_DEF_MeasurementFailureCause_ItemIEs_tags_49) + /sizeof(asn_DEF_MeasurementFailureCause_ItemIEs_tags_49[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementFailureCause_ItemIEs_49, + 3, /* Elements count */ + &asn_SPC_MeasurementFailureCause_ItemIEs_specs_49 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_56[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_ItemIEs__value, choice.CompleteFailureCauseInformation_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompleteFailureCauseInformation_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CompleteFailureCauseInformation-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CompleteFailureCauseInformation-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_56 = { + sizeof(struct CompleteFailureCauseInformation_ItemIEs__value), + offsetof(struct CompleteFailureCauseInformation_ItemIEs__value, _asn_ctx), + offsetof(struct CompleteFailureCauseInformation_ItemIEs__value, present), + sizeof(((struct CompleteFailureCauseInformation_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_56, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_56 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_56, + 1, /* Elements count */ + &asn_SPC_value_specs_56 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_ItemIEs_53[] = { + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_54, memb_id_constraint_53 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CompleteFailureCauseInformation_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_55, memb_criticality_constraint_53 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CompleteFailureCauseInformation_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_56, + select_CompleteFailureCauseInformation_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_56, memb_value_constraint_53 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CompleteFailureCauseInformation_ItemIEs_tag2el_53[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CompleteFailureCauseInformation_ItemIEs_specs_53 = { + sizeof(struct CompleteFailureCauseInformation_ItemIEs), + offsetof(struct CompleteFailureCauseInformation_ItemIEs, _asn_ctx), + asn_MAP_CompleteFailureCauseInformation_ItemIEs_tag2el_53, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_ItemIEs = { + "CompleteFailureCauseInformation-ItemIEs", + "CompleteFailureCauseInformation-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53, + sizeof(asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53) + /sizeof(asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53[0]), /* 1 */ + asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53, /* Same as above */ + sizeof(asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53) + /sizeof(asn_DEF_CompleteFailureCauseInformation_ItemIEs_tags_53[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompleteFailureCauseInformation_ItemIEs_53, + 3, /* Elements count */ + &asn_SPC_CompleteFailureCauseInformation_ItemIEs_specs_53 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_60[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_ItemIEs__value, choice.CellMeasurementResult_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellMeasurementResult_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellMeasurementResult-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CellMeasurementResult-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_60 = { + sizeof(struct CellMeasurementResult_ItemIEs__value), + offsetof(struct CellMeasurementResult_ItemIEs__value, _asn_ctx), + offsetof(struct CellMeasurementResult_ItemIEs__value, present), + sizeof(((struct CellMeasurementResult_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_60, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_60 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_60, + 1, /* Elements count */ + &asn_SPC_value_specs_60 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellMeasurementResult_ItemIEs_57[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_58, memb_id_constraint_57 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellMeasurementResult_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_59, memb_criticality_constraint_57 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellMeasurementResult_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_60, + select_CellMeasurementResult_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_60, memb_value_constraint_57 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellMeasurementResult_ItemIEs_tags_57[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellMeasurementResult_ItemIEs_tag2el_57[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellMeasurementResult_ItemIEs_specs_57 = { + sizeof(struct CellMeasurementResult_ItemIEs), + offsetof(struct CellMeasurementResult_ItemIEs, _asn_ctx), + asn_MAP_CellMeasurementResult_ItemIEs_tag2el_57, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_ItemIEs = { + "CellMeasurementResult-ItemIEs", + "CellMeasurementResult-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_CellMeasurementResult_ItemIEs_tags_57, + sizeof(asn_DEF_CellMeasurementResult_ItemIEs_tags_57) + /sizeof(asn_DEF_CellMeasurementResult_ItemIEs_tags_57[0]), /* 1 */ + asn_DEF_CellMeasurementResult_ItemIEs_tags_57, /* Same as above */ + sizeof(asn_DEF_CellMeasurementResult_ItemIEs_tags_57) + /sizeof(asn_DEF_CellMeasurementResult_ItemIEs_tags_57[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellMeasurementResult_ItemIEs_57, + 3, /* Elements count */ + &asn_SPC_CellMeasurementResult_ItemIEs_specs_57 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_64[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ItemIEs__value, choice.E_RABs_ToBeAdded_Item), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeAdded_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_64 = { + sizeof(struct E_RABs_ToBeAdded_ItemIEs__value), + offsetof(struct E_RABs_ToBeAdded_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeAdded_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_64, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_64 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_64, + 1, /* Elements count */ + &asn_SPC_value_specs_64 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ItemIEs_61[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_62, memb_id_constraint_61 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_63, memb_criticality_constraint_61 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_64, + select_E_RABs_ToBeAdded_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_64, memb_value_constraint_61 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_ItemIEs_tag2el_61[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ItemIEs_specs_61 = { + sizeof(struct E_RABs_ToBeAdded_ItemIEs), + offsetof(struct E_RABs_ToBeAdded_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_ItemIEs_tag2el_61, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ItemIEs = { + "E-RABs-ToBeAdded-ItemIEs", + "E-RABs-ToBeAdded-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61, + sizeof(asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ItemIEs_tags_61[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ItemIEs_61, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ItemIEs_specs_61 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_68[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs__value, choice.E_RABs_Admitted_ToBeAdded_Item), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_68 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_68, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_68 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_68, + 1, /* Elements count */ + &asn_SPC_value_specs_68 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ItemIEs_65[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_66, memb_id_constraint_65 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_67, memb_criticality_constraint_65 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_68, + select_E_RABs_Admitted_ToBeAdded_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_68, memb_value_constraint_65 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ItemIEs_tag2el_65[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ItemIEs_specs_65 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ItemIEs_tag2el_65, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs = { + "E-RABs-Admitted-ToBeAdded-ItemIEs", + "E-RABs-Admitted-ToBeAdded-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs_tags_65[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ItemIEs_65, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ItemIEs_specs_65 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_72[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs__value, choice.E_RABs_ToBeAdded_ModReqItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeAdded_ModReqItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-ModReqItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_72[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_72 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItemIEs__value), + offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs__value, present), + sizeof(((struct E_RABs_ToBeAdded_ModReqItemIEs__value *)0)->present), + asn_MAP_value_tag2el_72, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_72 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_72, + 1, /* Elements count */ + &asn_SPC_value_specs_72 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItemIEs_69[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_70, memb_id_constraint_69 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_ModReqItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_71, memb_criticality_constraint_69 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_72, + select_E_RABs_ToBeAdded_ModReqItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_72, memb_value_constraint_69 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_ModReqItemIEs_tag2el_69[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItemIEs_specs_69 = { + sizeof(struct E_RABs_ToBeAdded_ModReqItemIEs), + offsetof(struct E_RABs_ToBeAdded_ModReqItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_ModReqItemIEs_tag2el_69, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs = { + "E-RABs-ToBeAdded-ModReqItemIEs", + "E-RABs-ToBeAdded-ModReqItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69, + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69) + /sizeof(asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs_tags_69[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItemIEs_69, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItemIEs_specs_69 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_76[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItemIEs__value, choice.E_RABs_ToBeModified_ModReqItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeModified_ModReqItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeModified-ModReqItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_76[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = { + sizeof(struct E_RABs_ToBeModified_ModReqItemIEs__value), + offsetof(struct E_RABs_ToBeModified_ModReqItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_ModReqItemIEs__value, present), + sizeof(((struct E_RABs_ToBeModified_ModReqItemIEs__value *)0)->present), + asn_MAP_value_tag2el_76, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_76 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_76, + 1, /* Elements count */ + &asn_SPC_value_specs_76 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItemIEs_73[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_74, memb_id_constraint_73 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_ModReqItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_75, memb_criticality_constraint_73 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_76, + select_E_RABs_ToBeModified_ModReqItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_76, memb_value_constraint_73 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_ModReqItemIEs_tag2el_73[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItemIEs_specs_73 = { + sizeof(struct E_RABs_ToBeModified_ModReqItemIEs), + offsetof(struct E_RABs_ToBeModified_ModReqItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_ModReqItemIEs_tag2el_73, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItemIEs = { + "E-RABs-ToBeModified-ModReqItemIEs", + "E-RABs-ToBeModified-ModReqItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73, + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73) + /sizeof(asn_DEF_E_RABs_ToBeModified_ModReqItemIEs_tags_73[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_ModReqItemIEs_73, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_ModReqItemIEs_specs_73 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_80[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs__value, choice.E_RABs_ToBeReleased_ModReqItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-ModReqItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_80[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqItemIEs__value *)0)->present), + asn_MAP_value_tag2el_80, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_80 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_80, + 1, /* Elements count */ + &asn_SPC_value_specs_80 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItemIEs_77[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_78, memb_id_constraint_77 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_ModReqItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_79, memb_criticality_constraint_77 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_80, + select_E_RABs_ToBeReleased_ModReqItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_80, memb_value_constraint_77 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqItemIEs_tag2el_77[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItemIEs_specs_77 = { + sizeof(struct E_RABs_ToBeReleased_ModReqItemIEs), + offsetof(struct E_RABs_ToBeReleased_ModReqItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqItemIEs_tag2el_77, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs = { + "E-RABs-ToBeReleased-ModReqItemIEs", + "E-RABs-ToBeReleased-ModReqItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs_tags_77[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItemIEs_77, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItemIEs_specs_77 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_84[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value, choice.E_RABs_Admitted_ToBeAdded_ModAckItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-ModAckItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_84 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value *)0)->present), + asn_MAP_value_tag2el_84, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_84 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_84, + 1, /* Elements count */ + &asn_SPC_value_specs_84 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_81[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_82, memb_id_constraint_81 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_83, memb_criticality_constraint_81 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_84, + select_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_84, memb_value_constraint_81 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tag2el_81[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_specs_81 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tag2el_81, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs = { + "E-RABs-Admitted-ToBeAdded-ModAckItemIEs", + "E-RABs-Admitted-ToBeAdded-ModAckItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_tags_81[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_81, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_specs_81 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_88[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value, choice.E_RABs_Admitted_ToBeModified_ModAckItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeModified-ModAckItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_88 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value *)0)->present), + asn_MAP_value_tag2el_88, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_88 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_88, + 1, /* Elements count */ + &asn_SPC_value_specs_88 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItemIEs_85[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_86, memb_id_constraint_85 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeModified_ModAckItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_87, memb_criticality_constraint_85 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_88, + select_E_RABs_Admitted_ToBeModified_ModAckItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_88, memb_value_constraint_85 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tag2el_85[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItemIEs_specs_85 = { + sizeof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_ModAckItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tag2el_85, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs = { + "E-RABs-Admitted-ToBeModified-ModAckItemIEs", + "E-RABs-Admitted-ToBeModified-ModAckItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs_tags_85[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItemIEs_85, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItemIEs_specs_85 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_92[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value, choice.E_RABs_Admitted_ToReleased_ModAckItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_Admitted_ToReleased_ModAckItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToReleased-ModAckItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_92[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value *)0)->present), + asn_MAP_value_tag2el_92, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_92 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_92, + 1, /* Elements count */ + &asn_SPC_value_specs_92 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_89[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_90, memb_id_constraint_89 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_91, memb_criticality_constraint_89 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_92, + select_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_92, memb_value_constraint_89 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tag2el_89[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_specs_89 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tag2el_89, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs = { + "E-RABs-Admitted-ToBeReleased-ModAckItemIEs", + "E-RABs-Admitted-ToBeReleased-ModAckItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_tags_89[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_89, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_specs_89 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_96[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs__value, choice.E_RABs_ToBeReleased_ModReqdItem), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqdItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-ModReqdItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-ModReqdItem */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = { + sizeof(struct E_RABs_ToBeReleased_ModReqdItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_ModReqdItemIEs__value *)0)->present), + asn_MAP_value_tag2el_96, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_96 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_96, + 1, /* Elements count */ + &asn_SPC_value_specs_96 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqdItemIEs_93[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_94, memb_id_constraint_93 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_ModReqdItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_95, memb_criticality_constraint_93 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_96, + select_E_RABs_ToBeReleased_ModReqdItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_96, memb_value_constraint_93 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_ModReqdItemIEs_tag2el_93[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqdItemIEs_specs_93 = { + sizeof(struct E_RABs_ToBeReleased_ModReqdItemIEs), + offsetof(struct E_RABs_ToBeReleased_ModReqdItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_ModReqdItemIEs_tag2el_93, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs = { + "E-RABs-ToBeReleased-ModReqdItemIEs", + "E-RABs-ToBeReleased-ModReqdItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93, + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93) + /sizeof(asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs_tags_93[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqdItemIEs_93, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqdItemIEs_specs_93 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_100[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs__value, choice.E_RABs_ToBeReleased_RelReqItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeReleased_RelReqItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-RelReqItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_100 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_RelReqItemIEs__value *)0)->present), + asn_MAP_value_tag2el_100, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_100 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_100, + 1, /* Elements count */ + &asn_SPC_value_specs_100 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItemIEs_97[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_98, memb_id_constraint_97 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_RelReqItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_99, memb_criticality_constraint_97 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_100, + select_E_RABs_ToBeReleased_RelReqItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_100, memb_value_constraint_97 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelReqItemIEs_tag2el_97[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItemIEs_specs_97 = { + sizeof(struct E_RABs_ToBeReleased_RelReqItemIEs), + offsetof(struct E_RABs_ToBeReleased_RelReqItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelReqItemIEs_tag2el_97, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs = { + "E-RABs-ToBeReleased-RelReqItemIEs", + "E-RABs-ToBeReleased-RelReqItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs_tags_97[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItemIEs_97, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItemIEs_specs_97 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_104[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs__value, choice.E_RABs_ToBeReleased_RelConfItem), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_E_RABs_ToBeReleased_RelConfItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-RelConfItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sCG-Bearer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* split-Bearer */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_104 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_RelConfItemIEs__value *)0)->present), + asn_MAP_value_tag2el_104, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_104 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_104, + 1, /* Elements count */ + &asn_SPC_value_specs_104 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItemIEs_101[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_102, memb_id_constraint_101 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_RelConfItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_103, memb_criticality_constraint_101 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_104, + select_E_RABs_ToBeReleased_RelConfItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_104, memb_value_constraint_101 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_RelConfItemIEs_tag2el_101[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItemIEs_specs_101 = { + sizeof(struct E_RABs_ToBeReleased_RelConfItemIEs), + offsetof(struct E_RABs_ToBeReleased_RelConfItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_RelConfItemIEs_tag2el_101, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs = { + "E-RABs-ToBeReleased-RelConfItemIEs", + "E-RABs-ToBeReleased-RelConfItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101, + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101) + /sizeof(asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs_tags_101[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItemIEs_101, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItemIEs_specs_101 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_108[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemIEs__value, choice.E_RABs_SubjectToCounterCheckItem), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToCounterCheckItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToCounterCheckItem" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_108[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-SubjectToCounterCheckItem */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_108 = { + sizeof(struct E_RABs_SubjectToCounterCheckItemIEs__value), + offsetof(struct E_RABs_SubjectToCounterCheckItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_SubjectToCounterCheckItemIEs__value, present), + sizeof(((struct E_RABs_SubjectToCounterCheckItemIEs__value *)0)->present), + asn_MAP_value_tag2el_108, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_108 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_108, + 1, /* Elements count */ + &asn_SPC_value_specs_108 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheckItemIEs_105[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_106, memb_id_constraint_105 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_SubjectToCounterCheckItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_107, memb_criticality_constraint_105 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_108, + select_E_RABs_SubjectToCounterCheckItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_108, memb_value_constraint_105 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToCounterCheckItemIEs_tag2el_105[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToCounterCheckItemIEs_specs_105 = { + sizeof(struct E_RABs_SubjectToCounterCheckItemIEs), + offsetof(struct E_RABs_SubjectToCounterCheckItemIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToCounterCheckItemIEs_tag2el_105, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItemIEs = { + "E-RABs-SubjectToCounterCheckItemIEs", + "E-RABs-SubjectToCounterCheckItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105, + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105) + /sizeof(asn_DEF_E_RABs_SubjectToCounterCheckItemIEs_tags_105[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToCounterCheckItemIEs_105, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToCounterCheckItemIEs_specs_105 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_112[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs__value, choice.E_RABs_ToBeSetupRetrieve_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeSetupRetrieve_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeSetupRetrieve-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_112[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeSetupRetrieve-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_112 = { + sizeof(struct E_RABs_ToBeSetupRetrieve_ItemIEs__value), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeSetupRetrieve_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_112, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_112 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_112, + 1, /* Elements count */ + &asn_SPC_value_specs_112 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetupRetrieve_ItemIEs_109[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_110, memb_id_constraint_109 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeSetupRetrieve_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_111, memb_criticality_constraint_109 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_112, + select_E_RABs_ToBeSetupRetrieve_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_112, memb_value_constraint_109 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeSetupRetrieve_ItemIEs_tag2el_109[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetupRetrieve_ItemIEs_specs_109 = { + sizeof(struct E_RABs_ToBeSetupRetrieve_ItemIEs), + offsetof(struct E_RABs_ToBeSetupRetrieve_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeSetupRetrieve_ItemIEs_tag2el_109, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs = { + "E-RABs-ToBeSetupRetrieve-ItemIEs", + "E-RABs-ToBeSetupRetrieve-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109, + sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109) + /sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109[0]), /* 1 */ + asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109) + /sizeof(asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs_tags_109[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetupRetrieve_ItemIEs_109, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetupRetrieve_ItemIEs_specs_109 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_116[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value, choice.E_RABs_ToBeAdded_SgNBAddReq_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-SgNBAddReq-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_116[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeAdded-SgNBAddReq-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_116 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_116, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_116 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_116, + 1, /* Elements count */ + &asn_SPC_value_specs_116 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_113[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_114, memb_id_constraint_113 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_115, memb_criticality_constraint_113 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_116, + select_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_116, memb_value_constraint_113 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tag2el_113[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_specs_113 = { + sizeof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tag2el_113, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs = { + "E-RABs-ToBeAdded-SgNBAddReq-ItemIEs", + "E-RABs-ToBeAdded-SgNBAddReq-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_tags_113[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_113, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_specs_113 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_120[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value, choice.E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_120[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_120 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_120, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_120 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_120, + 1, /* Elements count */ + &asn_SPC_value_specs_120 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_117[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_118, memb_id_constraint_117 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_119, memb_criticality_constraint_117 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_120, + select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_120, memb_value_constraint_117 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tag2el_117[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_specs_117 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tag2el_117, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-ItemIEs", + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_tags_117[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_117, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_specs_117 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_124[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value, choice.E_RABs_ToBeAdded_SgNBModReq_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-SgNBModReq-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_124[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeAdded-SgNBModReq-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_124 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_124, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_124 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_124, + 1, /* Elements count */ + &asn_SPC_value_specs_124 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_121[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_122, memb_id_constraint_121 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_123, memb_criticality_constraint_121 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_124, + select_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_124, memb_value_constraint_121 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tag2el_121[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_specs_121 = { + sizeof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs), + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tag2el_121, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs = { + "E-RABs-ToBeAdded-SgNBModReq-ItemIEs", + "E-RABs-ToBeAdded-SgNBModReq-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121, + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121[0]), /* 1 */ + asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121) + /sizeof(asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_tags_121[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_121, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_specs_121 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_128[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value, choice.E_RABs_ToBeModified_SgNBModReq_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReq_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeModified-SgNBModReq-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_128[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeModified-SgNBModReq-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_128 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_128, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_128 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_128, + 1, /* Elements count */ + &asn_SPC_value_specs_128 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemIEs_125[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_126, memb_id_constraint_125 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReq_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_127, memb_criticality_constraint_125 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_128, + select_E_RABs_ToBeModified_SgNBModReq_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_128, memb_value_constraint_125 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tag2el_125[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemIEs_specs_125 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReq_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tag2el_125, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs = { + "E-RABs-ToBeModified-SgNBModReq-ItemIEs", + "E-RABs-ToBeModified-SgNBModReq-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs_tags_125[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemIEs_125, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemIEs_specs_125 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_132[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBModReq_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBModReq-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_132[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBModReq-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_132 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_132, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_132 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_132, + 1, /* Elements count */ + &asn_SPC_value_specs_132 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_129[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_130, memb_id_constraint_129 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_131, memb_criticality_constraint_129 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_132, + select_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_132, memb_value_constraint_129 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tag2el_129[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_specs_129 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tag2el_129, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs = { + "E-RABs-ToBeReleased-SgNBModReq-ItemIEs", + "E-RABs-ToBeReleased-SgNBModReq-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_tags_129[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_129, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_specs_129 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_136[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value, choice.E_RABs_Admitted_ToBeAdded_SgNBModAck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_136[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-ToBeAdded-SgNBModAck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_136 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_136, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_136 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_136, + 1, /* Elements count */ + &asn_SPC_value_specs_136 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_133[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_134, memb_id_constraint_133 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_135, memb_criticality_constraint_133 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_136, + select_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_136, memb_value_constraint_133 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tag2el_133[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_specs_133 = { + sizeof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tag2el_133, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs = { + "E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs", + "E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133, + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_tags_133[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_133, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_specs_133 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_140[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value, choice.E_RABs_Admitted_ToBeModified_SgNBModAck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeModified-SgNBModAck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_140[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-ToBeModified-SgNBModAck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_140 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_140, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_140 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_140, + 1, /* Elements count */ + &asn_SPC_value_specs_140 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_137[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_138, memb_id_constraint_137 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_139, memb_criticality_constraint_137 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_140, + select_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_140, memb_value_constraint_137 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tag2el_137[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_specs_137 = { + sizeof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tag2el_137, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs = { + "E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs", + "E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137, + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_tags_137[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_137, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_specs_137 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_144[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value, choice.E_RABs_Admitted_ToReleased_SgNBModAck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToReleased_SgNBModAck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToReleased-SgNBModAck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_144[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-ToReleased-SgNBModAck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_144 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_144, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_144 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_144, + 1, /* Elements count */ + &asn_SPC_value_specs_144 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_141[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_142, memb_id_constraint_141 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_143, memb_criticality_constraint_141 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_144, + select_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_144, memb_value_constraint_141 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tag2el_141[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_specs_141 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tag2el_141, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs = { + "E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs", + "E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_tags_141[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_141, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_specs_141 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_148[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBModReqd_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBModReqd-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_148[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBModReqd-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_148 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_148, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_148 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_148, + 1, /* Elements count */ + &asn_SPC_value_specs_148 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_145[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_146, memb_id_constraint_145 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_147, memb_criticality_constraint_145 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_148, + select_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_148, memb_value_constraint_145 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tag2el_145[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_specs_145 = { + sizeof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tag2el_145, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs = { + "E-RABs-ToBeReleased-SgNBModReqd-ItemIEs", + "E-RABs-ToBeReleased-SgNBModReqd-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_tags_145[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_145, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_specs_145 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_152[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value, choice.E_RABs_ToBeModified_SgNBModReqd_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReqd_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeModified-SgNBModReqd-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_152[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeModified-SgNBModReqd-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_152 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_152, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_152 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_152, + 1, /* Elements count */ + &asn_SPC_value_specs_152 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_149[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_150, memb_id_constraint_149 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_151, memb_criticality_constraint_149 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_152, + select_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_152, memb_value_constraint_149 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tag2el_149[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_specs_149 = { + sizeof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs), + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tag2el_149, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs = { + "E-RABs-ToBeModified-SgNBModReqd-ItemIEs", + "E-RABs-ToBeModified-SgNBModReqd-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149, + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149[0]), /* 1 */ + asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149) + /sizeof(asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_tags_149[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_149, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_specs_149 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_156[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value, choice.E_RABs_AdmittedToBeModified_SgNBModConf_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-AdmittedToBeModified-SgNBModConf-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_156[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-AdmittedToBeModified-SgNBModConf-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_156 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value, present), + sizeof(((struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_156, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_156 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_156, + 1, /* Elements count */ + &asn_SPC_value_specs_156 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_153[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_154, memb_id_constraint_153 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_155, memb_criticality_constraint_153 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_156, + select_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_156, memb_value_constraint_153 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tag2el_153[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_specs_153 = { + sizeof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs), + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tag2el_153, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs = { + "E-RABs-AdmittedToBeModified-SgNBModConf-ItemIEs", + "E-RABs-AdmittedToBeModified-SgNBModConf-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153, + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153[0]), /* 1 */ + asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153, /* Same as above */ + sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153) + /sizeof(asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_tags_153[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_153, + 3, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_specs_153 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_160[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBRelReq_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelReq-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_160[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBRelReq-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_160 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_160, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_160 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_160, + 1, /* Elements count */ + &asn_SPC_value_specs_160 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_157[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_158, memb_id_constraint_157 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_159, memb_criticality_constraint_157 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_160, + select_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_160, memb_value_constraint_157 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tag2el_157[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_specs_157 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tag2el_157, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs = { + "E-RABs-ToBeReleased-SgNBRelReq-ItemIEs", + "E-RABs-ToBeReleased-SgNBRelReq-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_tags_157[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_157, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_specs_157 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_164[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value, choice.E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_164[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_164 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value, present), + sizeof(((struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_164, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_164 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_164, + 1, /* Elements count */ + &asn_SPC_value_specs_164 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_161[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_162, memb_id_constraint_161 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_163, memb_criticality_constraint_161 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_164, + select_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_164, memb_value_constraint_161 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tag2el_161[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_specs_161 = { + sizeof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs), + offsetof(struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tag2el_161, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs = { + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemIEs", + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161, + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161[0]), /* 1 */ + asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161, /* Same as above */ + sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161) + /sizeof(asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_tags_161[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_161, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_specs_161 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_168[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBRelReqd_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelReqd-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_168[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBRelReqd-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_168 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_168, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_168 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_168, + 1, /* Elements count */ + &asn_SPC_value_specs_168 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_165[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_166, memb_id_constraint_165 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_167, memb_criticality_constraint_165 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_168, + select_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_168, memb_value_constraint_165 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tag2el_165[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_specs_165 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tag2el_165, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs = { + "E-RABs-ToBeReleased-SgNBRelReqd-ItemIEs", + "E-RABs-ToBeReleased-SgNBRelReqd-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_tags_165[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_165, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_specs_165 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_172[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBRelConf_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelConf-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_172[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBRelConf-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_172 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_172, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_172 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_172, + 1, /* Elements count */ + &asn_SPC_value_specs_172 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_169[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_170, memb_id_constraint_169 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_171, memb_criticality_constraint_169 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_172, + select_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_172, memb_value_constraint_169 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tag2el_169[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_specs_169 = { + sizeof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tag2el_169, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs = { + "E-RABs-ToBeReleased-SgNBRelConf-ItemIEs", + "E-RABs-ToBeReleased-SgNBRelConf-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_tags_169[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_169, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_specs_169 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_176[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value, choice.E_RABs_SubjectToSgNBCounterCheck_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToSgNBCounterCheck_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToSgNBCounterCheck-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_176[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-SubjectToSgNBCounterCheck-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_176 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value, present), + sizeof(((struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_176, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_176 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_176, + 1, /* Elements count */ + &asn_SPC_value_specs_176 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_173[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_174, memb_id_constraint_173 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_175, memb_criticality_constraint_173 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_176, + select_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_176, memb_value_constraint_173 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tag2el_173[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_specs_173 = { + sizeof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs), + offsetof(struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tag2el_173, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs = { + "E-RABs-SubjectToSgNBCounterCheck-ItemIEs", + "E-RABs-SubjectToSgNBCounterCheck-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173, + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173[0]), /* 1 */ + asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173, /* Same as above */ + sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173) + /sizeof(asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_tags_173[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_173, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_specs_173 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_180[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value, choice.E_RABs_ToBeReleased_SgNBChaConf_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBChaConf-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_180[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-ToBeReleased-SgNBChaConf-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_180 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value, present), + sizeof(((struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_180, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_180 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_180, + 1, /* Elements count */ + &asn_SPC_value_specs_180 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_177[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_178, memb_id_constraint_177 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_179, memb_criticality_constraint_177 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_180, + select_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_180, memb_value_constraint_177 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tag2el_177[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_specs_177 = { + sizeof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs), + offsetof(struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tag2el_177, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs = { + "E-RABs-ToBeReleased-SgNBChaConf-ItemIEs", + "E-RABs-ToBeReleased-SgNBChaConf-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177, + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177[0]), /* 1 */ + asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177, /* Same as above */ + sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177) + /sizeof(asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_tags_177[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_177, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_specs_177 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_184[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemIEs__value, choice.E_RABs_DataForwardingAddress_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_DataForwardingAddress_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-DataForwardingAddress-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_184[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABs-DataForwardingAddress-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_184 = { + sizeof(struct E_RABs_DataForwardingAddress_ItemIEs__value), + offsetof(struct E_RABs_DataForwardingAddress_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABs_DataForwardingAddress_ItemIEs__value, present), + sizeof(((struct E_RABs_DataForwardingAddress_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_184, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_184 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_184, + 1, /* Elements count */ + &asn_SPC_value_specs_184 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_ItemIEs_181[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_182, memb_id_constraint_181 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABs_DataForwardingAddress_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_183, memb_criticality_constraint_181 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_184, + select_E_RABs_DataForwardingAddress_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_184, memb_value_constraint_181 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABs_DataForwardingAddress_ItemIEs_tag2el_181[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABs_DataForwardingAddress_ItemIEs_specs_181 = { + sizeof(struct E_RABs_DataForwardingAddress_ItemIEs), + offsetof(struct E_RABs_DataForwardingAddress_ItemIEs, _asn_ctx), + asn_MAP_E_RABs_DataForwardingAddress_ItemIEs_tag2el_181, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_ItemIEs = { + "E-RABs-DataForwardingAddress-ItemIEs", + "E-RABs-DataForwardingAddress-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181, + sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181[0]), /* 1 */ + asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181, /* Same as above */ + sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181) + /sizeof(asn_DEF_E_RABs_DataForwardingAddress_ItemIEs_tags_181[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_DataForwardingAddress_ItemIEs_181, + 3, /* Elements count */ + &asn_SPC_E_RABs_DataForwardingAddress_ItemIEs_specs_181 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_188[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_ItemIEs__value, choice.E_RAB_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_188[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RAB-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_188 = { + sizeof(struct E_RAB_ItemIEs__value), + offsetof(struct E_RAB_ItemIEs__value, _asn_ctx), + offsetof(struct E_RAB_ItemIEs__value, present), + sizeof(((struct E_RAB_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_188, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_188 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_188, + 1, /* Elements count */ + &asn_SPC_value_specs_188 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RAB_ItemIEs_185[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_186, memb_id_constraint_185 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RAB_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RAB_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_187, memb_criticality_constraint_185 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RAB_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_188, + select_E_RAB_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_188, memb_value_constraint_185 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RAB_ItemIEs_tags_185[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RAB_ItemIEs_tag2el_185[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RAB_ItemIEs_specs_185 = { + sizeof(struct E_RAB_ItemIEs), + offsetof(struct E_RAB_ItemIEs, _asn_ctx), + asn_MAP_E_RAB_ItemIEs_tag2el_185, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RAB_ItemIEs = { + "E-RAB-ItemIEs", + "E-RAB-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RAB_ItemIEs_tags_185, + sizeof(asn_DEF_E_RAB_ItemIEs_tags_185) + /sizeof(asn_DEF_E_RAB_ItemIEs_tags_185[0]), /* 1 */ + asn_DEF_E_RAB_ItemIEs_tags_185, /* Same as above */ + sizeof(asn_DEF_E_RAB_ItemIEs_tags_185) + /sizeof(asn_DEF_E_RAB_ItemIEs_tags_185[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_ItemIEs_185, + 3, /* Elements count */ + &asn_SPC_E_RAB_ItemIEs_specs_185 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_192[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_ItemIEs__value, choice.E_RABUsageReport_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABUsageReport_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABUsageReport-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_192[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E-RABUsageReport-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_192 = { + sizeof(struct E_RABUsageReport_ItemIEs__value), + offsetof(struct E_RABUsageReport_ItemIEs__value, _asn_ctx), + offsetof(struct E_RABUsageReport_ItemIEs__value, present), + sizeof(((struct E_RABUsageReport_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_192, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_192 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_192, + 1, /* Elements count */ + &asn_SPC_value_specs_192 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_E_RABUsageReport_ItemIEs_189[] = { + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_190, memb_id_constraint_189 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_E_RABUsageReport_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_191, memb_criticality_constraint_189 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E_RABUsageReport_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_192, + select_E_RABUsageReport_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_192, memb_value_constraint_189 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_E_RABUsageReport_ItemIEs_tags_189[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_E_RABUsageReport_ItemIEs_tag2el_189[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_ItemIEs_specs_189 = { + sizeof(struct E_RABUsageReport_ItemIEs), + offsetof(struct E_RABUsageReport_ItemIEs, _asn_ctx), + asn_MAP_E_RABUsageReport_ItemIEs_tag2el_189, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_ItemIEs = { + "E-RABUsageReport-ItemIEs", + "E-RABUsageReport-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_E_RABUsageReport_ItemIEs_tags_189, + sizeof(asn_DEF_E_RABUsageReport_ItemIEs_tags_189) + /sizeof(asn_DEF_E_RABUsageReport_ItemIEs_tags_189[0]), /* 1 */ + asn_DEF_E_RABUsageReport_ItemIEs_tags_189, /* Same as above */ + sizeof(asn_DEF_E_RABUsageReport_ItemIEs_tags_189) + /sizeof(asn_DEF_E_RABUsageReport_ItemIEs_tags_189[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABUsageReport_ItemIEs_189, + 3, /* Elements count */ + &asn_SPC_E_RABUsageReport_ItemIEs_specs_189 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_196[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_ItemIEs__value, choice.SecondaryRATUsageReport_Item), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SecondaryRATUsageReport_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SecondaryRATUsageReport-Item" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_196[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* SecondaryRATUsageReport-Item */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_196 = { + sizeof(struct SecondaryRATUsageReport_ItemIEs__value), + offsetof(struct SecondaryRATUsageReport_ItemIEs__value, _asn_ctx), + offsetof(struct SecondaryRATUsageReport_ItemIEs__value, present), + sizeof(((struct SecondaryRATUsageReport_ItemIEs__value *)0)->present), + asn_MAP_value_tag2el_196, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_196 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_196, + 1, /* Elements count */ + &asn_SPC_value_specs_196 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SecondaryRATUsageReport_ItemIEs_193[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_ItemIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_194, memb_id_constraint_193 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_ItemIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SecondaryRATUsageReport_ItemIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_195, memb_criticality_constraint_193 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_ItemIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_196, + select_SecondaryRATUsageReport_ItemIEs_value_type, + { 0, &asn_PER_memb_value_constr_196, memb_value_constraint_193 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SecondaryRATUsageReport_ItemIEs_tag2el_193[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATUsageReport_ItemIEs_specs_193 = { + sizeof(struct SecondaryRATUsageReport_ItemIEs), + offsetof(struct SecondaryRATUsageReport_ItemIEs, _asn_ctx), + asn_MAP_SecondaryRATUsageReport_ItemIEs_tag2el_193, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_ItemIEs = { + "SecondaryRATUsageReport-ItemIEs", + "SecondaryRATUsageReport-ItemIEs", + &asn_OP_SEQUENCE, + asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193, + sizeof(asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193) + /sizeof(asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193[0]), /* 1 */ + asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193, /* Same as above */ + sizeof(asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193) + /sizeof(asn_DEF_SecondaryRATUsageReport_ItemIEs_tags_193[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SecondaryRATUsageReport_ItemIEs_193, + 3, /* Elements count */ + &asn_SPC_SecondaryRATUsageReport_ItemIEs_specs_193 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_200[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICsubscription), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscription, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscription" + }, +}; +static const unsigned asn_MAP_value_to_canonical_200[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_200[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_200[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscription */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_200 = { + sizeof(struct RICsubscriptionRequest_IEs__value), + offsetof(struct RICsubscriptionRequest_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionRequest_IEs__value, present), + sizeof(((struct RICsubscriptionRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_200, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_200, + asn_MAP_value_from_canonical_200, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_200 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_200, + 3, /* Elements count */ + &asn_SPC_value_specs_200 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_197[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_198, memb_id_constraint_197 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_199, memb_criticality_constraint_197 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_200, + select_RICsubscriptionRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_200, memb_value_constraint_197 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionRequest_IEs_tags_197[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_197[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_197 = { + sizeof(struct RICsubscriptionRequest_IEs), + offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx), + asn_MAP_RICsubscriptionRequest_IEs_tag2el_197, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = { + "RICsubscriptionRequest-IEs", + "RICsubscriptionRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionRequest_IEs_tags_197, + sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_197) + /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_197[0]), /* 1 */ + asn_DEF_RICsubscriptionRequest_IEs_tags_197, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_197) + /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_197[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionRequest_IEs_197, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionRequest_IEs_specs_197 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_204[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_Admitted_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_Admitted_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-Admitted-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_NotAdmitted_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-NotAdmitted-List" + }, +}; +static const unsigned asn_MAP_value_to_canonical_204[] = { 1, 0, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_204[] = { 1, 0, 2, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_204[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-Admitted-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* RICaction-NotAdmitted-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_204 = { + sizeof(struct RICsubscriptionResponse_IEs__value), + offsetof(struct RICsubscriptionResponse_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionResponse_IEs__value, present), + sizeof(((struct RICsubscriptionResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_204, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_204, + asn_MAP_value_from_canonical_204, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_204 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_204, + 4, /* Elements count */ + &asn_SPC_value_specs_204 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_201[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_202, memb_id_constraint_201 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_203, memb_criticality_constraint_201 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_204, + select_RICsubscriptionResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_204, memb_value_constraint_201 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_IEs_tags_201[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_201[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_201 = { + sizeof(struct RICsubscriptionResponse_IEs), + offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx), + asn_MAP_RICsubscriptionResponse_IEs_tag2el_201, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = { + "RICsubscriptionResponse-IEs", + "RICsubscriptionResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionResponse_IEs_tags_201, + sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_201) + /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_201[0]), /* 1 */ + asn_DEF_RICsubscriptionResponse_IEs_tags_201, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_201) + /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_201[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionResponse_IEs_201, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionResponse_IEs_specs_201 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_208[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICaction_NotAdmitted_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICaction_NotAdmitted_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICaction-NotAdmitted-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_208[] = { 1, 0, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_208[] = { 1, 0, 2, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_208[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-NotAdmitted-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_208 = { + sizeof(struct RICsubscriptionFailure_IEs__value), + offsetof(struct RICsubscriptionFailure_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionFailure_IEs__value, present), + sizeof(((struct RICsubscriptionFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_208, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_208, + asn_MAP_value_from_canonical_208, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_208 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_208, + 4, /* Elements count */ + &asn_SPC_value_specs_208 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_205[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_206, memb_id_constraint_205 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_207, memb_criticality_constraint_205 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_208, + select_RICsubscriptionFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_208, memb_value_constraint_205 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_IEs_tags_205[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_205[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_205 = { + sizeof(struct RICsubscriptionFailure_IEs), + offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx), + asn_MAP_RICsubscriptionFailure_IEs_tag2el_205, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = { + "RICsubscriptionFailure-IEs", + "RICsubscriptionFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionFailure_IEs_tags_205, + sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_205) + /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_205[0]), /* 1 */ + asn_DEF_RICsubscriptionFailure_IEs_tags_205, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_205) + /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_205[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionFailure_IEs_205, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionFailure_IEs_specs_205 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_212[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_212[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_212[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_212[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_212 = { + sizeof(struct RICsubscriptionDeleteRequest_IEs__value), + offsetof(struct RICsubscriptionDeleteRequest_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionDeleteRequest_IEs__value, present), + sizeof(((struct RICsubscriptionDeleteRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_212, + 2, /* Count of tags in the map */ + asn_MAP_value_to_canonical_212, + asn_MAP_value_from_canonical_212, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_212 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_212, + 2, /* Elements count */ + &asn_SPC_value_specs_212 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_209[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_210, memb_id_constraint_209 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionDeleteRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_211, memb_criticality_constraint_209 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_212, + select_RICsubscriptionDeleteRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_212, memb_value_constraint_209 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_209[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_209 = { + sizeof(struct RICsubscriptionDeleteRequest_IEs), + offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx), + asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_209, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = { + "RICsubscriptionDeleteRequest-IEs", + "RICsubscriptionDeleteRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209, + sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209) + /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209[0]), /* 1 */ + asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209) + /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_209[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionDeleteRequest_IEs_209, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_209 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_216[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_216[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_216[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_216[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_216 = { + sizeof(struct RICsubscriptionDeleteResponse_IEs__value), + offsetof(struct RICsubscriptionDeleteResponse_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionDeleteResponse_IEs__value, present), + sizeof(((struct RICsubscriptionDeleteResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_216, + 2, /* Count of tags in the map */ + asn_MAP_value_to_canonical_216, + asn_MAP_value_from_canonical_216, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_216 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_216, + 2, /* Elements count */ + &asn_SPC_value_specs_216 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_213[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_214, memb_id_constraint_213 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionDeleteResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_215, memb_criticality_constraint_213 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_216, + select_RICsubscriptionDeleteResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_216, memb_value_constraint_213 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_213[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_213 = { + sizeof(struct RICsubscriptionDeleteResponse_IEs), + offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx), + asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_213, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = { + "RICsubscriptionDeleteResponse-IEs", + "RICsubscriptionDeleteResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213, + sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213) + /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213[0]), /* 1 */ + asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213) + /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_213[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionDeleteResponse_IEs_213, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_213 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_220[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICcause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RICcause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcause" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_220[] = { 1, 0, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_220[] = { 1, 0, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_220[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* misc */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* ric */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_220 = { + sizeof(struct RICsubscriptionDeleteFailure_IEs__value), + offsetof(struct RICsubscriptionDeleteFailure_IEs__value, _asn_ctx), + offsetof(struct RICsubscriptionDeleteFailure_IEs__value, present), + sizeof(((struct RICsubscriptionDeleteFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_220, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_220, + asn_MAP_value_from_canonical_220, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_220 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_220, + 4, /* Elements count */ + &asn_SPC_value_specs_220 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_217[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_218, memb_id_constraint_217 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICsubscriptionDeleteFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_219, memb_criticality_constraint_217 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_220, + select_RICsubscriptionDeleteFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_220, memb_value_constraint_217 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_217[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_217 = { + sizeof(struct RICsubscriptionDeleteFailure_IEs), + offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx), + asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_217, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = { + "RICsubscriptionDeleteFailure-IEs", + "RICsubscriptionDeleteFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217, + sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217) + /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217[0]), /* 1 */ + asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217) + /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_217[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionDeleteFailure_IEs_217, + 3, /* Elements count */ + &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_217 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_224[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RICactionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICactionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationSN), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RICindicationSN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICindicationSN" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RICindicationType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICindicationType" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICindicationHeader, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICindicationHeader" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICindicationMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICindicationMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcallProcessID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcallProcessID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_224[] = { 1, 2, 3, 5, 6, 7, 4, 0 }; +static const unsigned asn_MAP_value_from_canonical_224[] = { 7, 0, 1, 2, 6, 3, 4, 5 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_224[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 2 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* RICactionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* RICindicationSN */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 2 }, /* RICindicationHeader */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* RICindicationMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* RICcallProcessID */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* RICindicationType */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_224 = { + sizeof(struct RICindication_IEs__value), + offsetof(struct RICindication_IEs__value, _asn_ctx), + offsetof(struct RICindication_IEs__value, present), + sizeof(((struct RICindication_IEs__value *)0)->present), + asn_MAP_value_tag2el_224, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_224, + asn_MAP_value_from_canonical_224, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_224 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_224, + 8, /* Elements count */ + &asn_SPC_value_specs_224 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICindication_IEs_221[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_222, memb_id_constraint_221 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICindication_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_223, memb_criticality_constraint_221 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_224, + select_RICindication_IEs_value_type, + { 0, &asn_PER_memb_value_constr_224, memb_value_constraint_221 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICindication_IEs_tags_221[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_221[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_221 = { + sizeof(struct RICindication_IEs), + offsetof(struct RICindication_IEs, _asn_ctx), + asn_MAP_RICindication_IEs_tag2el_221, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = { + "RICindication-IEs", + "RICindication-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICindication_IEs_tags_221, + sizeof(asn_DEF_RICindication_IEs_tags_221) + /sizeof(asn_DEF_RICindication_IEs_tags_221[0]), /* 1 */ + asn_DEF_RICindication_IEs_tags_221, /* Same as above */ + sizeof(asn_DEF_RICindication_IEs_tags_221) + /sizeof(asn_DEF_RICindication_IEs_tags_221[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICindication_IEs_221, + 3, /* Elements count */ + &asn_SPC_RICindication_IEs_specs_221 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_228[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcallProcessID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcallProcessID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcallProcessID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcontrolHeader, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolHeader" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcontrolMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RICcontrolAckRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolAckRequest" + }, +}; +static const unsigned asn_MAP_value_to_canonical_228[] = { 1, 2, 3, 4, 5, 0 }; +static const unsigned asn_MAP_value_from_canonical_228[] = { 5, 0, 1, 2, 3, 4 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_228[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 2 }, /* RICcallProcessID */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 1 }, /* RICcontrolHeader */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -2, 0 }, /* RICcontrolMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* RICcontrolAckRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_228 = { + sizeof(struct RICcontrolRequest_IEs__value), + offsetof(struct RICcontrolRequest_IEs__value, _asn_ctx), + offsetof(struct RICcontrolRequest_IEs__value, present), + sizeof(((struct RICcontrolRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_228, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_228, + asn_MAP_value_from_canonical_228, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_228 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_228, + 6, /* Elements count */ + &asn_SPC_value_specs_228 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_225[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_226, memb_id_constraint_225 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICcontrolRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_227, memb_criticality_constraint_225 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_228, + select_RICcontrolRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_228, memb_value_constraint_225 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_IEs_tags_225[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_225[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_225 = { + sizeof(struct RICcontrolRequest_IEs), + offsetof(struct RICcontrolRequest_IEs, _asn_ctx), + asn_MAP_RICcontrolRequest_IEs_tag2el_225, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = { + "RICcontrolRequest-IEs", + "RICcontrolRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICcontrolRequest_IEs_tags_225, + sizeof(asn_DEF_RICcontrolRequest_IEs_tags_225) + /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_225[0]), /* 1 */ + asn_DEF_RICcontrolRequest_IEs_tags_225, /* Same as above */ + sizeof(asn_DEF_RICcontrolRequest_IEs_tags_225) + /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_225[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICcontrolRequest_IEs_225, + 3, /* Elements count */ + &asn_SPC_RICcontrolRequest_IEs_specs_225 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_232[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcallProcessID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcallProcessID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolStatus), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RICcontrolStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolStatus" + }, +}; +static const unsigned asn_MAP_value_to_canonical_232[] = { 1, 2, 3, 0 }; +static const unsigned asn_MAP_value_from_canonical_232[] = { 3, 0, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_232[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 0 }, /* RICcallProcessID */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 0 }, /* RICcontrolStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_232 = { + sizeof(struct RICcontrolAcknowledge_IEs__value), + offsetof(struct RICcontrolAcknowledge_IEs__value, _asn_ctx), + offsetof(struct RICcontrolAcknowledge_IEs__value, present), + sizeof(((struct RICcontrolAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_232, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_232, + asn_MAP_value_from_canonical_232, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_232 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_232, + 4, /* Elements count */ + &asn_SPC_value_specs_232 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_229[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_230, memb_id_constraint_229 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICcontrolAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_231, memb_criticality_constraint_229 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_232, + select_RICcontrolAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_232, memb_value_constraint_229 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolAcknowledge_IEs_tags_229[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_229[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_229 = { + sizeof(struct RICcontrolAcknowledge_IEs), + offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx), + asn_MAP_RICcontrolAcknowledge_IEs_tag2el_229, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = { + "RICcontrolAcknowledge-IEs", + "RICcontrolAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICcontrolAcknowledge_IEs_tags_229, + sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_229) + /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_229[0]), /* 1 */ + asn_DEF_RICcontrolAcknowledge_IEs_tags_229, /* Same as above */ + sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_229) + /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_229[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICcontrolAcknowledge_IEs_229, + 3, /* Elements count */ + &asn_SPC_RICcontrolAcknowledge_IEs_specs_229 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_236[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICrequestID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICrequestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcallProcessID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RICcallProcessID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcallProcessID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RICcause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcause" + }, +}; +static const unsigned asn_MAP_value_to_canonical_236[] = { 1, 2, 0, 3 }; +static const unsigned asn_MAP_value_from_canonical_236[] = { 2, 0, 1, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_236[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 0 }, /* RICcallProcessID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* RICrequestID */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* misc */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* ric */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_236 = { + sizeof(struct RICcontrolFailure_IEs__value), + offsetof(struct RICcontrolFailure_IEs__value, _asn_ctx), + offsetof(struct RICcontrolFailure_IEs__value, present), + sizeof(((struct RICcontrolFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_236, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_236, + asn_MAP_value_from_canonical_236, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_236 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_236, + 4, /* Elements count */ + &asn_SPC_value_specs_236 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_233[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_234, memb_id_constraint_233 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICcontrolFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_235, memb_criticality_constraint_233 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_236, + select_RICcontrolFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_236, memb_value_constraint_233 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolFailure_IEs_tags_233[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_233[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_233 = { + sizeof(struct RICcontrolFailure_IEs), + offsetof(struct RICcontrolFailure_IEs, _asn_ctx), + asn_MAP_RICcontrolFailure_IEs_tag2el_233, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = { + "RICcontrolFailure-IEs", + "RICcontrolFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICcontrolFailure_IEs_tags_233, + sizeof(asn_DEF_RICcontrolFailure_IEs_tags_233) + /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_233[0]), /* 1 */ + asn_DEF_RICcontrolFailure_IEs_tags_233, /* Same as above */ + sizeof(asn_DEF_RICcontrolFailure_IEs_tags_233) + /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_233[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICcontrolFailure_IEs_233, + 3, /* Elements count */ + &asn_SPC_RICcontrolFailure_IEs_specs_233 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_240[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.RANfunctions_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctions_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctions-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.RANfunctionsID_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionsID_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionsID-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_240[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctions-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsID-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_240 = { + sizeof(struct RICserviceUpdate_IEs__value), + offsetof(struct RICserviceUpdate_IEs__value, _asn_ctx), + offsetof(struct RICserviceUpdate_IEs__value, present), + sizeof(((struct RICserviceUpdate_IEs__value *)0)->present), + asn_MAP_value_tag2el_240, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_240 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_240, + 2, /* Elements count */ + &asn_SPC_value_specs_240 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_237[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_238, memb_id_constraint_237 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICserviceUpdate_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_239, memb_criticality_constraint_237 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_240, + select_RICserviceUpdate_IEs_value_type, + { 0, &asn_PER_memb_value_constr_240, memb_value_constraint_237 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_IEs_tags_237[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_237[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_237 = { + sizeof(struct RICserviceUpdate_IEs), + offsetof(struct RICserviceUpdate_IEs, _asn_ctx), + asn_MAP_RICserviceUpdate_IEs_tag2el_237, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs = { + "RICserviceUpdate-IEs", + "RICserviceUpdate-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceUpdate_IEs_tags_237, + sizeof(asn_DEF_RICserviceUpdate_IEs_tags_237) + /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_237[0]), /* 1 */ + asn_DEF_RICserviceUpdate_IEs_tags_237, /* Same as above */ + sizeof(asn_DEF_RICserviceUpdate_IEs_tags_237) + /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_237[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceUpdate_IEs_237, + 3, /* Elements count */ + &asn_SPC_RICserviceUpdate_IEs_specs_237 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_244[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsID_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionsID_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionsID-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsIDcause_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionsIDcause_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionsIDcause-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_244[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsID-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsIDcause-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_244 = { + sizeof(struct RICserviceUpdateAcknowledge_IEs__value), + offsetof(struct RICserviceUpdateAcknowledge_IEs__value, _asn_ctx), + offsetof(struct RICserviceUpdateAcknowledge_IEs__value, present), + sizeof(((struct RICserviceUpdateAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_244, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_244 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_244, + 2, /* Elements count */ + &asn_SPC_value_specs_244 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_241[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_242, memb_id_constraint_241 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICserviceUpdateAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_243, memb_criticality_constraint_241 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_244, + select_RICserviceUpdateAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_244, memb_value_constraint_241 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_241[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_241 = { + sizeof(struct RICserviceUpdateAcknowledge_IEs), + offsetof(struct RICserviceUpdateAcknowledge_IEs, _asn_ctx), + asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_241, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs = { + "RICserviceUpdateAcknowledge-IEs", + "RICserviceUpdateAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241, + sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241) + /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241[0]), /* 1 */ + asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241, /* Same as above */ + sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241) + /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_241[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceUpdateAcknowledge_IEs_241, + 3, /* Elements count */ + &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_241 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_248[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.RANfunctionsIDcause_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionsIDcause_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionsIDcause-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.TimeToWait), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TimeToWait" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_248[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_248[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_248[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWait */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsIDcause-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_248 = { + sizeof(struct RICserviceUpdateFailure_IEs__value), + offsetof(struct RICserviceUpdateFailure_IEs__value, _asn_ctx), + offsetof(struct RICserviceUpdateFailure_IEs__value, present), + sizeof(((struct RICserviceUpdateFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_248, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_248, + asn_MAP_value_from_canonical_248, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_248 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_248, + 3, /* Elements count */ + &asn_SPC_value_specs_248 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_245[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_246, memb_id_constraint_245 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICserviceUpdateFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_247, memb_criticality_constraint_245 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_248, + select_RICserviceUpdateFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_248, memb_value_constraint_245 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceUpdateFailure_IEs_tags_245[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_245[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_245 = { + sizeof(struct RICserviceUpdateFailure_IEs), + offsetof(struct RICserviceUpdateFailure_IEs, _asn_ctx), + asn_MAP_RICserviceUpdateFailure_IEs_tag2el_245, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs = { + "RICserviceUpdateFailure-IEs", + "RICserviceUpdateFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceUpdateFailure_IEs_tags_245, + sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_245) + /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_245[0]), /* 1 */ + asn_DEF_RICserviceUpdateFailure_IEs_tags_245, /* Same as above */ + sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_245) + /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_245[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceUpdateFailure_IEs_245, + 3, /* Elements count */ + &asn_SPC_RICserviceUpdateFailure_IEs_specs_245 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_252[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.RANfunctionsID_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RANfunctionsID_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RANfunctionsID-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_252[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionsID-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_252 = { + sizeof(struct RICserviceQuery_IEs__value), + offsetof(struct RICserviceQuery_IEs__value, _asn_ctx), + offsetof(struct RICserviceQuery_IEs__value, present), + sizeof(((struct RICserviceQuery_IEs__value *)0)->present), + asn_MAP_value_tag2el_252, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_252 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_252, + 1, /* Elements count */ + &asn_SPC_value_specs_252 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_249[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_250, memb_id_constraint_249 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RICserviceQuery_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_251, memb_criticality_constraint_249 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_252, + select_RICserviceQuery_IEs_value_type, + { 0, &asn_PER_memb_value_constr_252, memb_value_constraint_249 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceQuery_IEs_tags_249[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_249[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_249 = { + sizeof(struct RICserviceQuery_IEs), + offsetof(struct RICserviceQuery_IEs, _asn_ctx), + asn_MAP_RICserviceQuery_IEs_tag2el_249, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs = { + "RICserviceQuery-IEs", + "RICserviceQuery-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceQuery_IEs_tags_249, + sizeof(asn_DEF_RICserviceQuery_IEs_tags_249) + /sizeof(asn_DEF_RICserviceQuery_IEs_tags_249[0]), /* 1 */ + asn_DEF_RICserviceQuery_IEs_tags_249, /* Same as above */ + sizeof(asn_DEF_RICserviceQuery_IEs_tags_249) + /sizeof(asn_DEF_RICserviceQuery_IEs_tags_249[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceQuery_IEs_249, + 3, /* Elements count */ + &asn_SPC_RICserviceQuery_IEs_specs_249 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_256[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.GUMMEI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUMMEI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GUMMEI" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_ContextInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_HistoryInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_HistoryInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-HistoryInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.TraceActivation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TraceActivation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TraceActivation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.SRVCCOperationPossible), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SRVCCOperationPossible, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SRVCCOperationPossible" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.CSGMembershipStatus), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_CSGMembershipStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CSGMembershipStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.MobilityInformation), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_MobilityInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.Masked_IMEISV), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_Masked_IMEISV, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Masked-IMEISV" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_HistoryInformationFromTheUE), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_UE_HistoryInformationFromTheUE, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-HistoryInformationFromTheUE" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.ExpectedUEBehaviour), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEBehaviour, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExpectedUEBehaviour" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.ProSeAuthorized), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProSeAuthorized, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ProSeAuthorized" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_ContextReferenceAtSeNB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtSeNB, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextReferenceAtSeNB" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.V2XServicesAuthorized), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_V2XServicesAuthorized, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "V2XServicesAuthorized" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_ContextReferenceAtWT), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtWT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextReferenceAtWT" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.NRUESecurityCapabilities), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRUESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRUESecurityCapabilities" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.UE_ContextReferenceAtSgNB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextReferenceAtSgNB, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextReferenceAtSgNB" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.AerialUEsubscriptionInformation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_AerialUEsubscriptionInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "AerialUEsubscriptionInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs__value, choice.Subscription_Based_UE_DifferentiationInfo), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Subscription_Based_UE_DifferentiationInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Subscription-Based-UE-DifferentiationInfo" + }, +}; +static const unsigned asn_MAP_value_to_canonical_256[] = { 0, 15, 9, 10, 11, 7, 8, 20, 2, 3, 4, 5, 6, 12, 13, 14, 16, 17, 18, 19, 21, 1 }; +static const unsigned asn_MAP_value_from_canonical_256[] = { 0, 21, 8, 9, 10, 11, 12, 5, 6, 2, 3, 4, 13, 14, 15, 1, 16, 17, 18, 19, 7, 20 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_256[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 15, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 9, 0, 1 }, /* MobilityInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 10, -1, 0 }, /* Masked-IMEISV */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 11, 0, 0 }, /* UE-HistoryInformationFromTheUE */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 7, 0, 2 }, /* SRVCCOperationPossible */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 8, -1, 1 }, /* CSGMembershipStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 20, -2, 0 }, /* AerialUEsubscriptionInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 12 }, /* ECGI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 11 }, /* GUMMEI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 10 }, /* UE-ContextInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -3, 9 }, /* UE-HistoryInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -4, 8 }, /* TraceActivation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -5, 7 }, /* ExpectedUEBehaviour */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -6, 6 }, /* ProSeAuthorized */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -7, 5 }, /* UE-ContextReferenceAtSeNB */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 16, -8, 4 }, /* V2XServicesAuthorized */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 17, -9, 3 }, /* UE-ContextReferenceAtWT */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 18, -10, 2 }, /* NRUESecurityCapabilities */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 19, -11, 1 }, /* UE-ContextReferenceAtSgNB */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 21, -12, 0 }, /* Subscription-Based-UE-DifferentiationInfo */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_256 = { + sizeof(struct HandoverRequest_IEs__value), + offsetof(struct HandoverRequest_IEs__value, _asn_ctx), + offsetof(struct HandoverRequest_IEs__value, present), + sizeof(((struct HandoverRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_256, + 25, /* Count of tags in the map */ + asn_MAP_value_to_canonical_256, + asn_MAP_value_from_canonical_256, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_256 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_256, + 22, /* Elements count */ + &asn_SPC_value_specs_256 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverRequest_IEs_253[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_254, memb_id_constraint_253 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_255, memb_criticality_constraint_253 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_256, + select_HandoverRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_256, memb_value_constraint_253 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverRequest_IEs_tags_253[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverRequest_IEs_tag2el_253[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverRequest_IEs_specs_253 = { + sizeof(struct HandoverRequest_IEs), + offsetof(struct HandoverRequest_IEs, _asn_ctx), + asn_MAP_HandoverRequest_IEs_tag2el_253, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverRequest_IEs = { + "HandoverRequest-IEs", + "HandoverRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverRequest_IEs_tags_253, + sizeof(asn_DEF_HandoverRequest_IEs_tags_253) + /sizeof(asn_DEF_HandoverRequest_IEs_tags_253[0]), /* 1 */ + asn_DEF_HandoverRequest_IEs_tags_253, /* Same as above */ + sizeof(asn_DEF_HandoverRequest_IEs_tags_253) + /sizeof(asn_DEF_HandoverRequest_IEs_tags_253[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverRequest_IEs_253, + 3, /* Elements count */ + &asn_SPC_HandoverRequest_IEs_specs_253 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_260[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.E_RAB_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.TargeteNBtoSource_eNBTransparentContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TargeteNBtoSource_eNBTransparentContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TargeteNBtoSource-eNBTransparentContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.UE_ContextKeptIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UE_ContextKeptIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextKeptIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_260[] = { 0, 6, 3, 5, 1, 2, 4 }; +static const unsigned asn_MAP_value_from_canonical_260[] = { 0, 4, 5, 2, 6, 3, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_260[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 0 }, /* TargeteNBtoSource-eNBTransparentContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* UE-ContextKeptIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 2 }, /* E-RABs-Admitted-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* E-RAB-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_260 = { + sizeof(struct HandoverRequestAcknowledge_IEs__value), + offsetof(struct HandoverRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct HandoverRequestAcknowledge_IEs__value, present), + sizeof(((struct HandoverRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_260, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_260, + asn_MAP_value_from_canonical_260, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_260 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_260, + 7, /* Elements count */ + &asn_SPC_value_specs_260 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverRequestAcknowledge_IEs_257[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_258, memb_id_constraint_257 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_259, memb_criticality_constraint_257 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_260, + select_HandoverRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_260, memb_value_constraint_257 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverRequestAcknowledge_IEs_tags_257[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverRequestAcknowledge_IEs_tag2el_257[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestAcknowledge_IEs_specs_257 = { + sizeof(struct HandoverRequestAcknowledge_IEs), + offsetof(struct HandoverRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_HandoverRequestAcknowledge_IEs_tag2el_257, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledge_IEs = { + "HandoverRequestAcknowledge-IEs", + "HandoverRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverRequestAcknowledge_IEs_tags_257, + sizeof(asn_DEF_HandoverRequestAcknowledge_IEs_tags_257) + /sizeof(asn_DEF_HandoverRequestAcknowledge_IEs_tags_257[0]), /* 1 */ + asn_DEF_HandoverRequestAcknowledge_IEs_tags_257, /* Same as above */ + sizeof(asn_DEF_HandoverRequestAcknowledge_IEs_tags_257) + /sizeof(asn_DEF_HandoverRequestAcknowledge_IEs_tags_257[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverRequestAcknowledge_IEs_257, + 3, /* Elements count */ + &asn_SPC_HandoverRequestAcknowledge_IEs_specs_257 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_264[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_264[] = { 0, 3, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_264[] = { 0, 3, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_264[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_264 = { + sizeof(struct HandoverPreparationFailure_IEs__value), + offsetof(struct HandoverPreparationFailure_IEs__value, _asn_ctx), + offsetof(struct HandoverPreparationFailure_IEs__value, present), + sizeof(((struct HandoverPreparationFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_264, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_264, + asn_MAP_value_from_canonical_264, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_264 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_264, + 4, /* Elements count */ + &asn_SPC_value_specs_264 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverPreparationFailure_IEs_261[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_262, memb_id_constraint_261 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverPreparationFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_263, memb_criticality_constraint_261 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_264, + select_HandoverPreparationFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_264, memb_value_constraint_261 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverPreparationFailure_IEs_tags_261[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverPreparationFailure_IEs_tag2el_261[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverPreparationFailure_IEs_specs_261 = { + sizeof(struct HandoverPreparationFailure_IEs), + offsetof(struct HandoverPreparationFailure_IEs, _asn_ctx), + asn_MAP_HandoverPreparationFailure_IEs_tag2el_261, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverPreparationFailure_IEs = { + "HandoverPreparationFailure-IEs", + "HandoverPreparationFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverPreparationFailure_IEs_tags_261, + sizeof(asn_DEF_HandoverPreparationFailure_IEs_tags_261) + /sizeof(asn_DEF_HandoverPreparationFailure_IEs_tags_261[0]), /* 1 */ + asn_DEF_HandoverPreparationFailure_IEs_tags_261, /* Same as above */ + sizeof(asn_DEF_HandoverPreparationFailure_IEs_tags_261) + /sizeof(asn_DEF_HandoverPreparationFailure_IEs_tags_261[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverPreparationFailure_IEs_261, + 3, /* Elements count */ + &asn_SPC_HandoverPreparationFailure_IEs_specs_261 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_268[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.HandoverReportType), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_HandoverReportType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverReportType" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.TargetCellInUTRAN), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TargetCellInUTRAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TargetCellInUTRAN" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.CRNTI), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_CRNTI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CRNTI" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.MobilityInformation), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_MobilityInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.UE_RLF_Report_Container), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_UE_RLF_Report_Container, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-RLF-Report-Container" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs__value, choice.UE_RLF_Report_Container_for_extended_bands), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_UE_RLF_Report_Container_for_extended_bands, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-RLF-Report-Container-for-extended-bands" + }, +}; +static const unsigned asn_MAP_value_to_canonical_268[] = { 4, 5, 3, 6, 7, 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_268[] = { 5, 7, 6, 2, 0, 1, 3, 4 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_268[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 4, 0, 1 }, /* CRNTI */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 5, -1, 0 }, /* MobilityInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 2 }, /* TargetCellInUTRAN */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* UE-RLF-Report-Container */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* UE-RLF-Report-Container-for-extended-bands */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* HandoverReportType */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* ECGI */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_268 = { + sizeof(struct HandoverReport_IEs__value), + offsetof(struct HandoverReport_IEs__value, _asn_ctx), + offsetof(struct HandoverReport_IEs__value, present), + sizeof(((struct HandoverReport_IEs__value *)0)->present), + asn_MAP_value_tag2el_268, + 11, /* Count of tags in the map */ + asn_MAP_value_to_canonical_268, + asn_MAP_value_from_canonical_268, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_268 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_268, + 8, /* Elements count */ + &asn_SPC_value_specs_268 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverReport_IEs_265[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_266, memb_id_constraint_265 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverReport_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_267, memb_criticality_constraint_265 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverReport_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_268, + select_HandoverReport_IEs_value_type, + { 0, &asn_PER_memb_value_constr_268, memb_value_constraint_265 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverReport_IEs_tags_265[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverReport_IEs_tag2el_265[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverReport_IEs_specs_265 = { + sizeof(struct HandoverReport_IEs), + offsetof(struct HandoverReport_IEs, _asn_ctx), + asn_MAP_HandoverReport_IEs_tag2el_265, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverReport_IEs = { + "HandoverReport-IEs", + "HandoverReport-IEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverReport_IEs_tags_265, + sizeof(asn_DEF_HandoverReport_IEs_tags_265) + /sizeof(asn_DEF_HandoverReport_IEs_tags_265[0]), /* 1 */ + asn_DEF_HandoverReport_IEs_tags_265, /* Same as above */ + sizeof(asn_DEF_HandoverReport_IEs_tags_265) + /sizeof(asn_DEF_HandoverReport_IEs_tags_265[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverReport_IEs_265, + 3, /* Elements count */ + &asn_SPC_HandoverReport_IEs_specs_265 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_272[] = { + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs__value, choice.E_RABs_SubjectToStatusTransfer_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToStatusTransfer_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToStatusTransfer-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_272[] = { 0, 2, 3, 1 }; +static const unsigned asn_MAP_value_from_canonical_272[] = { 0, 3, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_272[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* E-RABs-SubjectToStatusTransfer-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_272 = { + sizeof(struct SNStatusTransfer_IEs__value), + offsetof(struct SNStatusTransfer_IEs__value, _asn_ctx), + offsetof(struct SNStatusTransfer_IEs__value, present), + sizeof(((struct SNStatusTransfer_IEs__value *)0)->present), + asn_MAP_value_tag2el_272, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_272, + asn_MAP_value_from_canonical_272, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_272 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_272, + 4, /* Elements count */ + &asn_SPC_value_specs_272 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SNStatusTransfer_IEs_269[] = { + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_270, memb_id_constraint_269 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SNStatusTransfer_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_271, memb_criticality_constraint_269 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SNStatusTransfer_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_272, + select_SNStatusTransfer_IEs_value_type, + { 0, &asn_PER_memb_value_constr_272, memb_value_constraint_269 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SNStatusTransfer_IEs_tags_269[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SNStatusTransfer_IEs_tag2el_269[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SNStatusTransfer_IEs_specs_269 = { + sizeof(struct SNStatusTransfer_IEs), + offsetof(struct SNStatusTransfer_IEs, _asn_ctx), + asn_MAP_SNStatusTransfer_IEs_tag2el_269, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SNStatusTransfer_IEs = { + "SNStatusTransfer-IEs", + "SNStatusTransfer-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SNStatusTransfer_IEs_tags_269, + sizeof(asn_DEF_SNStatusTransfer_IEs_tags_269) + /sizeof(asn_DEF_SNStatusTransfer_IEs_tags_269[0]), /* 1 */ + asn_DEF_SNStatusTransfer_IEs_tags_269, /* Same as above */ + sizeof(asn_DEF_SNStatusTransfer_IEs_tags_269) + /sizeof(asn_DEF_SNStatusTransfer_IEs_tags_269[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SNStatusTransfer_IEs_269, + 3, /* Elements count */ + &asn_SPC_SNStatusTransfer_IEs_specs_269 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_276[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs__value, choice.SIPTOBearerDeactivationIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SIPTOBearerDeactivationIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SIPTOBearerDeactivationIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_276[] = { 0, 1, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_276[] = { 0, 1, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_276[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 } /* SIPTOBearerDeactivationIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_276 = { + sizeof(struct UEContextRelease_IEs__value), + offsetof(struct UEContextRelease_IEs__value, _asn_ctx), + offsetof(struct UEContextRelease_IEs__value, present), + sizeof(((struct UEContextRelease_IEs__value *)0)->present), + asn_MAP_value_tag2el_276, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_276, + asn_MAP_value_from_canonical_276, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_276 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_276, + 4, /* Elements count */ + &asn_SPC_value_specs_276 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UEContextRelease_IEs_273[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_274, memb_id_constraint_273 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UEContextRelease_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_275, memb_criticality_constraint_273 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UEContextRelease_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_276, + select_UEContextRelease_IEs_value_type, + { 0, &asn_PER_memb_value_constr_276, memb_value_constraint_273 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEContextRelease_IEs_tags_273[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEContextRelease_IEs_tag2el_273[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UEContextRelease_IEs_specs_273 = { + sizeof(struct UEContextRelease_IEs), + offsetof(struct UEContextRelease_IEs, _asn_ctx), + asn_MAP_UEContextRelease_IEs_tag2el_273, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEContextRelease_IEs = { + "UEContextRelease-IEs", + "UEContextRelease-IEs", + &asn_OP_SEQUENCE, + asn_DEF_UEContextRelease_IEs_tags_273, + sizeof(asn_DEF_UEContextRelease_IEs_tags_273) + /sizeof(asn_DEF_UEContextRelease_IEs_tags_273[0]), /* 1 */ + asn_DEF_UEContextRelease_IEs_tags_273, /* Same as above */ + sizeof(asn_DEF_UEContextRelease_IEs_tags_273) + /sizeof(asn_DEF_UEContextRelease_IEs_tags_273[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEContextRelease_IEs_273, + 3, /* Elements count */ + &asn_SPC_UEContextRelease_IEs_specs_273 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_280[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_280[] = { 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_280[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_280[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_280 = { + sizeof(struct HandoverCancel_IEs__value), + offsetof(struct HandoverCancel_IEs__value, _asn_ctx), + offsetof(struct HandoverCancel_IEs__value, present), + sizeof(((struct HandoverCancel_IEs__value *)0)->present), + asn_MAP_value_tag2el_280, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_280, + asn_MAP_value_from_canonical_280, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_280 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_280, + 3, /* Elements count */ + &asn_SPC_value_specs_280 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_HandoverCancel_IEs_277[] = { + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_278, memb_id_constraint_277 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_HandoverCancel_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_279, memb_criticality_constraint_277 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct HandoverCancel_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_280, + select_HandoverCancel_IEs_value_type, + { 0, &asn_PER_memb_value_constr_280, memb_value_constraint_277 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_HandoverCancel_IEs_tags_277[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HandoverCancel_IEs_tag2el_277[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HandoverCancel_IEs_specs_277 = { + sizeof(struct HandoverCancel_IEs), + offsetof(struct HandoverCancel_IEs, _asn_ctx), + asn_MAP_HandoverCancel_IEs_tag2el_277, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HandoverCancel_IEs = { + "HandoverCancel-IEs", + "HandoverCancel-IEs", + &asn_OP_SEQUENCE, + asn_DEF_HandoverCancel_IEs_tags_277, + sizeof(asn_DEF_HandoverCancel_IEs_tags_277) + /sizeof(asn_DEF_HandoverCancel_IEs_tags_277[0]), /* 1 */ + asn_DEF_HandoverCancel_IEs_tags_277, /* Same as above */ + sizeof(asn_DEF_HandoverCancel_IEs_tags_277) + /sizeof(asn_DEF_HandoverCancel_IEs_tags_277[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_HandoverCancel_IEs_277, + 3, /* Elements count */ + &asn_SPC_HandoverCancel_IEs_specs_277 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_284[] = { + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_284[] = { 0, 3, 4, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_284[] = { 0, 4, 3, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_284[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_284 = { + sizeof(struct ErrorIndication_IEs__value), + offsetof(struct ErrorIndication_IEs__value, _asn_ctx), + offsetof(struct ErrorIndication_IEs__value, present), + sizeof(((struct ErrorIndication_IEs__value *)0)->present), + asn_MAP_value_tag2el_284, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_284, + asn_MAP_value_from_canonical_284, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_284 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_284, + 5, /* Elements count */ + &asn_SPC_value_specs_284 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_281[] = { + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_282, memb_id_constraint_281 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ErrorIndication_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_283, memb_criticality_constraint_281 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_284, + select_ErrorIndication_IEs_value_type, + { 0, &asn_PER_memb_value_constr_284, memb_value_constraint_281 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ErrorIndication_IEs_tags_281[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_IEs_tag2el_281[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_281 = { + sizeof(struct ErrorIndication_IEs), + offsetof(struct ErrorIndication_IEs, _asn_ctx), + asn_MAP_ErrorIndication_IEs_tag2el_281, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs = { + "ErrorIndication-IEs", + "ErrorIndication-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ErrorIndication_IEs_tags_281, + sizeof(asn_DEF_ErrorIndication_IEs_tags_281) + /sizeof(asn_DEF_ErrorIndication_IEs_tags_281[0]), /* 1 */ + asn_DEF_ErrorIndication_IEs_tags_281, /* Same as above */ + sizeof(asn_DEF_ErrorIndication_IEs_tags_281) + /sizeof(asn_DEF_ErrorIndication_IEs_tags_281[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ErrorIndication_IEs_281, + 3, /* Elements count */ + &asn_SPC_ErrorIndication_IEs_specs_281 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_288[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResetRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_288[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_288 = { + sizeof(struct ResetRequest_IEs__value), + offsetof(struct ResetRequest_IEs__value, _asn_ctx), + offsetof(struct ResetRequest_IEs__value, present), + sizeof(((struct ResetRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_288, + 4, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_288 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_288, + 1, /* Elements count */ + &asn_SPC_value_specs_288 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResetRequest_IEs_285[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResetRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_286, memb_id_constraint_285 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResetRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResetRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_287, memb_criticality_constraint_285 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_288, + select_ResetRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_288, memb_value_constraint_285 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResetRequest_IEs_tags_285[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResetRequest_IEs_tag2el_285[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResetRequest_IEs_specs_285 = { + sizeof(struct ResetRequest_IEs), + offsetof(struct ResetRequest_IEs, _asn_ctx), + asn_MAP_ResetRequest_IEs_tag2el_285, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResetRequest_IEs = { + "ResetRequest-IEs", + "ResetRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResetRequest_IEs_tags_285, + sizeof(asn_DEF_ResetRequest_IEs_tags_285) + /sizeof(asn_DEF_ResetRequest_IEs_tags_285[0]), /* 1 */ + asn_DEF_ResetRequest_IEs_tags_285, /* Same as above */ + sizeof(asn_DEF_ResetRequest_IEs_tags_285) + /sizeof(asn_DEF_ResetRequest_IEs_tags_285[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResetRequest_IEs_285, + 3, /* Elements count */ + &asn_SPC_ResetRequest_IEs_specs_285 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_292[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResetResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_292[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_292 = { + sizeof(struct ResetResponse_IEs__value), + offsetof(struct ResetResponse_IEs__value, _asn_ctx), + offsetof(struct ResetResponse_IEs__value, present), + sizeof(((struct ResetResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_292, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_292 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_292, + 1, /* Elements count */ + &asn_SPC_value_specs_292 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResetResponse_IEs_289[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResetResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_290, memb_id_constraint_289 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResetResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResetResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_291, memb_criticality_constraint_289 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_292, + select_ResetResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_292, memb_value_constraint_289 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResetResponse_IEs_tags_289[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResetResponse_IEs_tag2el_289[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResetResponse_IEs_specs_289 = { + sizeof(struct ResetResponse_IEs), + offsetof(struct ResetResponse_IEs, _asn_ctx), + asn_MAP_ResetResponse_IEs_tag2el_289, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResetResponse_IEs = { + "ResetResponse-IEs", + "ResetResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResetResponse_IEs_tags_289, + sizeof(asn_DEF_ResetResponse_IEs_tags_289) + /sizeof(asn_DEF_ResetResponse_IEs_tags_289[0]), /* 1 */ + asn_DEF_ResetResponse_IEs_tags_289, /* Same as above */ + sizeof(asn_DEF_ResetResponse_IEs_tags_289) + /sizeof(asn_DEF_ResetResponse_IEs_tags_289[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResetResponse_IEs_289, + 3, /* Elements count */ + &asn_SPC_ResetResponse_IEs_specs_289 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_296[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs__value, choice.ServedCells), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCells, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedCells" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs__value, choice.GUGroupIDList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUGroupIDList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GUGroupIDList" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs__value, choice.LHN_ID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_LHN_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LHN-ID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_296[] = { 3, 0, 1, 2 }; +static const unsigned asn_MAP_value_from_canonical_296[] = { 1, 2, 3, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_296[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 0 }, /* LHN-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* GlobalENB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* ServedCells */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* GUGroupIDList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_296 = { + sizeof(struct X2SetupRequest_IEs__value), + offsetof(struct X2SetupRequest_IEs__value, _asn_ctx), + offsetof(struct X2SetupRequest_IEs__value, present), + sizeof(((struct X2SetupRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_296, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_296, + asn_MAP_value_from_canonical_296, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_296 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_296, + 4, /* Elements count */ + &asn_SPC_value_specs_296 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2SetupRequest_IEs_293[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_294, memb_id_constraint_293 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2SetupRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_295, memb_criticality_constraint_293 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2SetupRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_296, + select_X2SetupRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_296, memb_value_constraint_293 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SetupRequest_IEs_tags_293[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SetupRequest_IEs_tag2el_293[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SetupRequest_IEs_specs_293 = { + sizeof(struct X2SetupRequest_IEs), + offsetof(struct X2SetupRequest_IEs, _asn_ctx), + asn_MAP_X2SetupRequest_IEs_tag2el_293, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SetupRequest_IEs = { + "X2SetupRequest-IEs", + "X2SetupRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2SetupRequest_IEs_tags_293, + sizeof(asn_DEF_X2SetupRequest_IEs_tags_293) + /sizeof(asn_DEF_X2SetupRequest_IEs_tags_293[0]), /* 1 */ + asn_DEF_X2SetupRequest_IEs_tags_293, /* Same as above */ + sizeof(asn_DEF_X2SetupRequest_IEs_tags_293) + /sizeof(asn_DEF_X2SetupRequest_IEs_tags_293[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SetupRequest_IEs_293, + 3, /* Elements count */ + &asn_SPC_X2SetupRequest_IEs_specs_293 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_300[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs__value, choice.ServedCells), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCells, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedCells" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs__value, choice.GUGroupIDList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUGroupIDList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GUGroupIDList" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs__value, choice.LHN_ID), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_LHN_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LHN-ID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_300[] = { 4, 0, 1, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_300[] = { 1, 2, 3, 4, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_300[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 0 }, /* LHN-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 3 }, /* GlobalENB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 2 }, /* ServedCells */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 1 }, /* GUGroupIDList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_300 = { + sizeof(struct X2SetupResponse_IEs__value), + offsetof(struct X2SetupResponse_IEs__value, _asn_ctx), + offsetof(struct X2SetupResponse_IEs__value, present), + sizeof(((struct X2SetupResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_300, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_300, + asn_MAP_value_from_canonical_300, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_300 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_300, + 5, /* Elements count */ + &asn_SPC_value_specs_300 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2SetupResponse_IEs_297[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_298, memb_id_constraint_297 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2SetupResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_299, memb_criticality_constraint_297 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_300, + select_X2SetupResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_300, memb_value_constraint_297 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SetupResponse_IEs_tags_297[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SetupResponse_IEs_tag2el_297[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SetupResponse_IEs_specs_297 = { + sizeof(struct X2SetupResponse_IEs), + offsetof(struct X2SetupResponse_IEs, _asn_ctx), + asn_MAP_X2SetupResponse_IEs_tag2el_297, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SetupResponse_IEs = { + "X2SetupResponse-IEs", + "X2SetupResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2SetupResponse_IEs_tags_297, + sizeof(asn_DEF_X2SetupResponse_IEs_tags_297) + /sizeof(asn_DEF_X2SetupResponse_IEs_tags_297[0]), /* 1 */ + asn_DEF_X2SetupResponse_IEs_tags_297, /* Same as above */ + sizeof(asn_DEF_X2SetupResponse_IEs_tags_297) + /sizeof(asn_DEF_X2SetupResponse_IEs_tags_297[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SetupResponse_IEs_297, + 3, /* Elements count */ + &asn_SPC_X2SetupResponse_IEs_specs_297 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_304[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs__value, choice.TimeToWait), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TimeToWait" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_304[] = { 1, 2, 0 }; +static const unsigned asn_MAP_value_from_canonical_304[] = { 2, 0, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_304[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWait */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_304 = { + sizeof(struct X2SetupFailure_IEs__value), + offsetof(struct X2SetupFailure_IEs__value, _asn_ctx), + offsetof(struct X2SetupFailure_IEs__value, present), + sizeof(((struct X2SetupFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_304, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_304, + asn_MAP_value_from_canonical_304, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_304 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_304, + 3, /* Elements count */ + &asn_SPC_value_specs_304 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2SetupFailure_IEs_301[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_302, memb_id_constraint_301 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2SetupFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_303, memb_criticality_constraint_301 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_304, + select_X2SetupFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_304, memb_value_constraint_301 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SetupFailure_IEs_tags_301[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SetupFailure_IEs_tag2el_301[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SetupFailure_IEs_specs_301 = { + sizeof(struct X2SetupFailure_IEs), + offsetof(struct X2SetupFailure_IEs, _asn_ctx), + asn_MAP_X2SetupFailure_IEs_tag2el_301, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SetupFailure_IEs = { + "X2SetupFailure-IEs", + "X2SetupFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2SetupFailure_IEs_tags_301, + sizeof(asn_DEF_X2SetupFailure_IEs_tags_301) + /sizeof(asn_DEF_X2SetupFailure_IEs_tags_301[0]), /* 1 */ + asn_DEF_X2SetupFailure_IEs_tags_301, /* Same as above */ + sizeof(asn_DEF_X2SetupFailure_IEs_tags_301) + /sizeof(asn_DEF_X2SetupFailure_IEs_tags_301[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SetupFailure_IEs_301, + 3, /* Elements count */ + &asn_SPC_X2SetupFailure_IEs_specs_301 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_308[] = { + { ATF_NOFLAGS, 0, offsetof(struct LoadInformation_IEs__value, choice.CellInformation_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellInformation_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellInformation-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_308[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CellInformation-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_308 = { + sizeof(struct LoadInformation_IEs__value), + offsetof(struct LoadInformation_IEs__value, _asn_ctx), + offsetof(struct LoadInformation_IEs__value, present), + sizeof(((struct LoadInformation_IEs__value *)0)->present), + asn_MAP_value_tag2el_308, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_308 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_308, + 1, /* Elements count */ + &asn_SPC_value_specs_308 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_LoadInformation_IEs_305[] = { + { ATF_NOFLAGS, 0, offsetof(struct LoadInformation_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_306, memb_id_constraint_305 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct LoadInformation_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_LoadInformation_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_307, memb_criticality_constraint_305 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct LoadInformation_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_308, + select_LoadInformation_IEs_value_type, + { 0, &asn_PER_memb_value_constr_308, memb_value_constraint_305 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_LoadInformation_IEs_tags_305[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LoadInformation_IEs_tag2el_305[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LoadInformation_IEs_specs_305 = { + sizeof(struct LoadInformation_IEs), + offsetof(struct LoadInformation_IEs, _asn_ctx), + asn_MAP_LoadInformation_IEs_tag2el_305, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LoadInformation_IEs = { + "LoadInformation-IEs", + "LoadInformation-IEs", + &asn_OP_SEQUENCE, + asn_DEF_LoadInformation_IEs_tags_305, + sizeof(asn_DEF_LoadInformation_IEs_tags_305) + /sizeof(asn_DEF_LoadInformation_IEs_tags_305[0]), /* 1 */ + asn_DEF_LoadInformation_IEs_tags_305, /* Same as above */ + sizeof(asn_DEF_LoadInformation_IEs_tags_305) + /sizeof(asn_DEF_LoadInformation_IEs_tags_305[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_LoadInformation_IEs_305, + 3, /* Elements count */ + &asn_SPC_LoadInformation_IEs_specs_305 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_312[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs__value, choice.ServedCells), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCells, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedCells" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs__value, choice.ServedCellsToModify), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToModify, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedCellsToModify" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs__value, choice.Old_ECGIs), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Old_ECGIs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Old-ECGIs" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs__value, choice.GUGroupIDList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUGroupIDList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GUGroupIDList" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs__value, choice.CoverageModificationList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CoverageModificationList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CoverageModificationList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_312[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 4 }, /* ServedCells */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 3 }, /* ServedCellsToModify */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 2 }, /* Old-ECGIs */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 1 }, /* GUGroupIDList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 0 } /* CoverageModificationList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_312 = { + sizeof(struct ENBConfigurationUpdate_IEs__value), + offsetof(struct ENBConfigurationUpdate_IEs__value, _asn_ctx), + offsetof(struct ENBConfigurationUpdate_IEs__value, present), + sizeof(((struct ENBConfigurationUpdate_IEs__value *)0)->present), + asn_MAP_value_tag2el_312, + 5, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_312 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_312, + 5, /* Elements count */ + &asn_SPC_value_specs_312 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENBConfigurationUpdate_IEs_309[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_310, memb_id_constraint_309 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENBConfigurationUpdate_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_311, memb_criticality_constraint_309 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdate_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_312, + select_ENBConfigurationUpdate_IEs_value_type, + { 0, &asn_PER_memb_value_constr_312, memb_value_constraint_309 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENBConfigurationUpdate_IEs_tags_309[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENBConfigurationUpdate_IEs_tag2el_309[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdate_IEs_specs_309 = { + sizeof(struct ENBConfigurationUpdate_IEs), + offsetof(struct ENBConfigurationUpdate_IEs, _asn_ctx), + asn_MAP_ENBConfigurationUpdate_IEs_tag2el_309, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdate_IEs = { + "ENBConfigurationUpdate-IEs", + "ENBConfigurationUpdate-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENBConfigurationUpdate_IEs_tags_309, + sizeof(asn_DEF_ENBConfigurationUpdate_IEs_tags_309) + /sizeof(asn_DEF_ENBConfigurationUpdate_IEs_tags_309[0]), /* 1 */ + asn_DEF_ENBConfigurationUpdate_IEs_tags_309, /* Same as above */ + sizeof(asn_DEF_ENBConfigurationUpdate_IEs_tags_309) + /sizeof(asn_DEF_ENBConfigurationUpdate_IEs_tags_309[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENBConfigurationUpdate_IEs_309, + 3, /* Elements count */ + &asn_SPC_ENBConfigurationUpdate_IEs_specs_309 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_316[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_316[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_316 = { + sizeof(struct ENBConfigurationUpdateAcknowledge_IEs__value), + offsetof(struct ENBConfigurationUpdateAcknowledge_IEs__value, _asn_ctx), + offsetof(struct ENBConfigurationUpdateAcknowledge_IEs__value, present), + sizeof(((struct ENBConfigurationUpdateAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_316, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_316 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_316, + 1, /* Elements count */ + &asn_SPC_value_specs_316 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateAcknowledge_IEs_313[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_314, memb_id_constraint_313 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENBConfigurationUpdateAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_315, memb_criticality_constraint_313 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_316, + select_ENBConfigurationUpdateAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_316, memb_value_constraint_313 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENBConfigurationUpdateAcknowledge_IEs_tag2el_313[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateAcknowledge_IEs_specs_313 = { + sizeof(struct ENBConfigurationUpdateAcknowledge_IEs), + offsetof(struct ENBConfigurationUpdateAcknowledge_IEs, _asn_ctx), + asn_MAP_ENBConfigurationUpdateAcknowledge_IEs_tag2el_313, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledge_IEs = { + "ENBConfigurationUpdateAcknowledge-IEs", + "ENBConfigurationUpdateAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313, + sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313) + /sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313[0]), /* 1 */ + asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313, /* Same as above */ + sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313) + /sizeof(asn_DEF_ENBConfigurationUpdateAcknowledge_IEs_tags_313[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENBConfigurationUpdateAcknowledge_IEs_313, + 3, /* Elements count */ + &asn_SPC_ENBConfigurationUpdateAcknowledge_IEs_specs_313 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_320[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs__value, choice.TimeToWait), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TimeToWait" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_320[] = { 1, 2, 0 }; +static const unsigned asn_MAP_value_from_canonical_320[] = { 2, 0, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_320[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWait */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_320 = { + sizeof(struct ENBConfigurationUpdateFailure_IEs__value), + offsetof(struct ENBConfigurationUpdateFailure_IEs__value, _asn_ctx), + offsetof(struct ENBConfigurationUpdateFailure_IEs__value, present), + sizeof(((struct ENBConfigurationUpdateFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_320, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_320, + asn_MAP_value_from_canonical_320, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_320 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_320, + 3, /* Elements count */ + &asn_SPC_value_specs_320 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateFailure_IEs_317[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_318, memb_id_constraint_317 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENBConfigurationUpdateFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_319, memb_criticality_constraint_317 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENBConfigurationUpdateFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_320, + select_ENBConfigurationUpdateFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_320, memb_value_constraint_317 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENBConfigurationUpdateFailure_IEs_tag2el_317[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateFailure_IEs_specs_317 = { + sizeof(struct ENBConfigurationUpdateFailure_IEs), + offsetof(struct ENBConfigurationUpdateFailure_IEs, _asn_ctx), + asn_MAP_ENBConfigurationUpdateFailure_IEs_tag2el_317, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailure_IEs = { + "ENBConfigurationUpdateFailure-IEs", + "ENBConfigurationUpdateFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317, + sizeof(asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317) + /sizeof(asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317[0]), /* 1 */ + asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317, /* Same as above */ + sizeof(asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317) + /sizeof(asn_DEF_ENBConfigurationUpdateFailure_IEs_tags_317[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENBConfigurationUpdateFailure_IEs_317, + 3, /* Elements count */ + &asn_SPC_ENBConfigurationUpdateFailure_IEs_specs_317 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_324[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.Measurement_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Measurement_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Measurement-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.Registration_Request), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_Registration_Request, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Registration-Request" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.ReportCharacteristics), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_ReportCharacteristics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReportCharacteristics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.CellToReport_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellToReport_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellToReport-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.ReportingPeriodicity), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ReportingPeriodicity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReportingPeriodicity" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.PartialSuccessIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PartialSuccessIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PartialSuccessIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.ReportingPeriodicityRSRPMR), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ReportingPeriodicityRSRPMR, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReportingPeriodicityRSRPMR" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs__value, choice.ReportingPeriodicityCSIR), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ReportingPeriodicityCSIR, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ReportingPeriodicityCSIR" + }, +}; +static const unsigned asn_MAP_value_to_canonical_324[] = { 0, 2, 1, 4, 5, 6, 7, 3 }; +static const unsigned asn_MAP_value_from_canonical_324[] = { 0, 2, 1, 7, 3, 4, 5, 6 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_324[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* Measurement-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* ReportCharacteristics */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 4 }, /* Registration-Request */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, -1, 3 }, /* ReportingPeriodicity */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, -2, 2 }, /* PartialSuccessIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 6, -3, 1 }, /* ReportingPeriodicityRSRPMR */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 7, -4, 0 }, /* ReportingPeriodicityCSIR */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 } /* CellToReport-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_324 = { + sizeof(struct ResourceStatusRequest_IEs__value), + offsetof(struct ResourceStatusRequest_IEs__value, _asn_ctx), + offsetof(struct ResourceStatusRequest_IEs__value, present), + sizeof(((struct ResourceStatusRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_324, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_324, + asn_MAP_value_from_canonical_324, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_324 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_324, + 8, /* Elements count */ + &asn_SPC_value_specs_324 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResourceStatusRequest_IEs_321[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_322, memb_id_constraint_321 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResourceStatusRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_323, memb_criticality_constraint_321 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_324, + select_ResourceStatusRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_324, memb_value_constraint_321 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusRequest_IEs_tags_321[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusRequest_IEs_tag2el_321[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusRequest_IEs_specs_321 = { + sizeof(struct ResourceStatusRequest_IEs), + offsetof(struct ResourceStatusRequest_IEs, _asn_ctx), + asn_MAP_ResourceStatusRequest_IEs_tag2el_321, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusRequest_IEs = { + "ResourceStatusRequest-IEs", + "ResourceStatusRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusRequest_IEs_tags_321, + sizeof(asn_DEF_ResourceStatusRequest_IEs_tags_321) + /sizeof(asn_DEF_ResourceStatusRequest_IEs_tags_321[0]), /* 1 */ + asn_DEF_ResourceStatusRequest_IEs_tags_321, /* Same as above */ + sizeof(asn_DEF_ResourceStatusRequest_IEs_tags_321) + /sizeof(asn_DEF_ResourceStatusRequest_IEs_tags_321[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusRequest_IEs_321, + 3, /* Elements count */ + &asn_SPC_ResourceStatusRequest_IEs_specs_321 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_328[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs__value, choice.Measurement_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Measurement_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Measurement-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs__value, choice.MeasurementInitiationResult_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeasurementInitiationResult_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeasurementInitiationResult-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_328[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* Measurement-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* MeasurementInitiationResult-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_328 = { + sizeof(struct ResourceStatusResponse_IEs__value), + offsetof(struct ResourceStatusResponse_IEs__value, _asn_ctx), + offsetof(struct ResourceStatusResponse_IEs__value, present), + sizeof(((struct ResourceStatusResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_328, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_328 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_328, + 3, /* Elements count */ + &asn_SPC_value_specs_328 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResourceStatusResponse_IEs_325[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_326, memb_id_constraint_325 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResourceStatusResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_327, memb_criticality_constraint_325 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_328, + select_ResourceStatusResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_328, memb_value_constraint_325 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusResponse_IEs_tags_325[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusResponse_IEs_tag2el_325[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusResponse_IEs_specs_325 = { + sizeof(struct ResourceStatusResponse_IEs), + offsetof(struct ResourceStatusResponse_IEs, _asn_ctx), + asn_MAP_ResourceStatusResponse_IEs_tag2el_325, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusResponse_IEs = { + "ResourceStatusResponse-IEs", + "ResourceStatusResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusResponse_IEs_tags_325, + sizeof(asn_DEF_ResourceStatusResponse_IEs_tags_325) + /sizeof(asn_DEF_ResourceStatusResponse_IEs_tags_325[0]), /* 1 */ + asn_DEF_ResourceStatusResponse_IEs_tags_325, /* Same as above */ + sizeof(asn_DEF_ResourceStatusResponse_IEs_tags_325) + /sizeof(asn_DEF_ResourceStatusResponse_IEs_tags_325[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusResponse_IEs_325, + 3, /* Elements count */ + &asn_SPC_ResourceStatusResponse_IEs_specs_325 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_332[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs__value, choice.Measurement_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Measurement_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Measurement-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs__value, choice.CompleteFailureCauseInformation_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CompleteFailureCauseInformation_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CompleteFailureCauseInformation-List" + }, +}; +static const unsigned asn_MAP_value_to_canonical_332[] = { 0, 2, 3, 1 }; +static const unsigned asn_MAP_value_from_canonical_332[] = { 0, 3, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_332[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* Measurement-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CompleteFailureCauseInformation-List */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_332 = { + sizeof(struct ResourceStatusFailure_IEs__value), + offsetof(struct ResourceStatusFailure_IEs__value, _asn_ctx), + offsetof(struct ResourceStatusFailure_IEs__value, present), + sizeof(((struct ResourceStatusFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_332, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_332, + asn_MAP_value_from_canonical_332, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_332 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_332, + 4, /* Elements count */ + &asn_SPC_value_specs_332 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResourceStatusFailure_IEs_329[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_330, memb_id_constraint_329 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResourceStatusFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_331, memb_criticality_constraint_329 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResourceStatusFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_332, + select_ResourceStatusFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_332, memb_value_constraint_329 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusFailure_IEs_tags_329[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusFailure_IEs_tag2el_329[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusFailure_IEs_specs_329 = { + sizeof(struct ResourceStatusFailure_IEs), + offsetof(struct ResourceStatusFailure_IEs, _asn_ctx), + asn_MAP_ResourceStatusFailure_IEs_tag2el_329, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusFailure_IEs = { + "ResourceStatusFailure-IEs", + "ResourceStatusFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusFailure_IEs_tags_329, + sizeof(asn_DEF_ResourceStatusFailure_IEs_tags_329) + /sizeof(asn_DEF_ResourceStatusFailure_IEs_tags_329[0]), /* 1 */ + asn_DEF_ResourceStatusFailure_IEs_tags_329, /* Same as above */ + sizeof(asn_DEF_ResourceStatusFailure_IEs_tags_329) + /sizeof(asn_DEF_ResourceStatusFailure_IEs_tags_329[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusFailure_IEs_329, + 3, /* Elements count */ + &asn_SPC_ResourceStatusFailure_IEs_specs_329 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_336[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate_IEs__value, choice.Measurement_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_Measurement_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Measurement-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate_IEs__value, choice.CellMeasurementResult_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellMeasurementResult_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellMeasurementResult-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_336[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* Measurement-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* CellMeasurementResult-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_336 = { + sizeof(struct ResourceStatusUpdate_IEs__value), + offsetof(struct ResourceStatusUpdate_IEs__value, _asn_ctx), + offsetof(struct ResourceStatusUpdate_IEs__value, present), + sizeof(((struct ResourceStatusUpdate_IEs__value *)0)->present), + asn_MAP_value_tag2el_336, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_336 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_336, + 2, /* Elements count */ + &asn_SPC_value_specs_336 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ResourceStatusUpdate_IEs_333[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_334, memb_id_constraint_333 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ResourceStatusUpdate_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_335, memb_criticality_constraint_333 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_336, + select_ResourceStatusUpdate_IEs_value_type, + { 0, &asn_PER_memb_value_constr_336, memb_value_constraint_333 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusUpdate_IEs_tags_333[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusUpdate_IEs_tag2el_333[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusUpdate_IEs_specs_333 = { + sizeof(struct ResourceStatusUpdate_IEs), + offsetof(struct ResourceStatusUpdate_IEs, _asn_ctx), + asn_MAP_ResourceStatusUpdate_IEs_tag2el_333, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusUpdate_IEs = { + "ResourceStatusUpdate-IEs", + "ResourceStatusUpdate-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusUpdate_IEs_tags_333, + sizeof(asn_DEF_ResourceStatusUpdate_IEs_tags_333) + /sizeof(asn_DEF_ResourceStatusUpdate_IEs_tags_333[0]), /* 1 */ + asn_DEF_ResourceStatusUpdate_IEs_tags_333, /* Same as above */ + sizeof(asn_DEF_ResourceStatusUpdate_IEs_tags_333) + /sizeof(asn_DEF_ResourceStatusUpdate_IEs_tags_333[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusUpdate_IEs_333, + 3, /* Elements count */ + &asn_SPC_ResourceStatusUpdate_IEs_specs_333 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_340[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs__value, choice.MobilityParametersInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityParametersInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityParametersInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_340[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* ECGI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* MobilityParametersInformation */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_340 = { + sizeof(struct MobilityChangeRequest_IEs__value), + offsetof(struct MobilityChangeRequest_IEs__value, _asn_ctx), + offsetof(struct MobilityChangeRequest_IEs__value, present), + sizeof(((struct MobilityChangeRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_340, + 6, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_340 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_340, + 3, /* Elements count */ + &asn_SPC_value_specs_340 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MobilityChangeRequest_IEs_337[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_338, memb_id_constraint_337 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MobilityChangeRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_339, memb_criticality_constraint_337 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MobilityChangeRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_340, + select_MobilityChangeRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_340, memb_value_constraint_337 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityChangeRequest_IEs_tags_337[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityChangeRequest_IEs_tag2el_337[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeRequest_IEs_specs_337 = { + sizeof(struct MobilityChangeRequest_IEs), + offsetof(struct MobilityChangeRequest_IEs, _asn_ctx), + asn_MAP_MobilityChangeRequest_IEs_tag2el_337, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityChangeRequest_IEs = { + "MobilityChangeRequest-IEs", + "MobilityChangeRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_MobilityChangeRequest_IEs_tags_337, + sizeof(asn_DEF_MobilityChangeRequest_IEs_tags_337) + /sizeof(asn_DEF_MobilityChangeRequest_IEs_tags_337[0]), /* 1 */ + asn_DEF_MobilityChangeRequest_IEs_tags_337, /* Same as above */ + sizeof(asn_DEF_MobilityChangeRequest_IEs_tags_337) + /sizeof(asn_DEF_MobilityChangeRequest_IEs_tags_337[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityChangeRequest_IEs_337, + 3, /* Elements count */ + &asn_SPC_MobilityChangeRequest_IEs_specs_337 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_344[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_344[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* ECGI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_344 = { + sizeof(struct MobilityChangeAcknowledge_IEs__value), + offsetof(struct MobilityChangeAcknowledge_IEs__value, _asn_ctx), + offsetof(struct MobilityChangeAcknowledge_IEs__value, present), + sizeof(((struct MobilityChangeAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_344, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_344 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_344, + 2, /* Elements count */ + &asn_SPC_value_specs_344 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MobilityChangeAcknowledge_IEs_341[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_342, memb_id_constraint_341 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MobilityChangeAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_343, memb_criticality_constraint_341 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MobilityChangeAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_344, + select_MobilityChangeAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_344, memb_value_constraint_341 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityChangeAcknowledge_IEs_tags_341[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityChangeAcknowledge_IEs_tag2el_341[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeAcknowledge_IEs_specs_341 = { + sizeof(struct MobilityChangeAcknowledge_IEs), + offsetof(struct MobilityChangeAcknowledge_IEs, _asn_ctx), + asn_MAP_MobilityChangeAcknowledge_IEs_tag2el_341, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityChangeAcknowledge_IEs = { + "MobilityChangeAcknowledge-IEs", + "MobilityChangeAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_MobilityChangeAcknowledge_IEs_tags_341, + sizeof(asn_DEF_MobilityChangeAcknowledge_IEs_tags_341) + /sizeof(asn_DEF_MobilityChangeAcknowledge_IEs_tags_341[0]), /* 1 */ + asn_DEF_MobilityChangeAcknowledge_IEs_tags_341, /* Same as above */ + sizeof(asn_DEF_MobilityChangeAcknowledge_IEs_tags_341) + /sizeof(asn_DEF_MobilityChangeAcknowledge_IEs_tags_341[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityChangeAcknowledge_IEs_341, + 3, /* Elements count */ + &asn_SPC_MobilityChangeAcknowledge_IEs_specs_341 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_348[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs__value, choice.MobilityParametersModificationRange), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityParametersModificationRange, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityParametersModificationRange" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_348[] = { 0, 2, 3, 1 }; +static const unsigned asn_MAP_value_from_canonical_348[] = { 0, 3, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_348[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* ECGI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* MobilityParametersModificationRange */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_348 = { + sizeof(struct MobilityChangeFailure_IEs__value), + offsetof(struct MobilityChangeFailure_IEs__value, _asn_ctx), + offsetof(struct MobilityChangeFailure_IEs__value, present), + sizeof(((struct MobilityChangeFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_348, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_348, + asn_MAP_value_from_canonical_348, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_348 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_348, + 4, /* Elements count */ + &asn_SPC_value_specs_348 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MobilityChangeFailure_IEs_345[] = { + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_346, memb_id_constraint_345 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_MobilityChangeFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_347, memb_criticality_constraint_345 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MobilityChangeFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_348, + select_MobilityChangeFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_348, memb_value_constraint_345 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MobilityChangeFailure_IEs_tags_345[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MobilityChangeFailure_IEs_tag2el_345[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeFailure_IEs_specs_345 = { + sizeof(struct MobilityChangeFailure_IEs), + offsetof(struct MobilityChangeFailure_IEs, _asn_ctx), + asn_MAP_MobilityChangeFailure_IEs_tag2el_345, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MobilityChangeFailure_IEs = { + "MobilityChangeFailure-IEs", + "MobilityChangeFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_MobilityChangeFailure_IEs_tags_345, + sizeof(asn_DEF_MobilityChangeFailure_IEs_tags_345) + /sizeof(asn_DEF_MobilityChangeFailure_IEs_tags_345[0]), /* 1 */ + asn_DEF_MobilityChangeFailure_IEs_tags_345, /* Same as above */ + sizeof(asn_DEF_MobilityChangeFailure_IEs_tags_345) + /sizeof(asn_DEF_MobilityChangeFailure_IEs_tags_345[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MobilityChangeFailure_IEs_345, + 3, /* Elements count */ + &asn_SPC_MobilityChangeFailure_IEs_specs_345 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_352[] = { + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.PCI), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_PCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PCI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.CRNTI), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_CRNTI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CRNTI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.ShortMAC_I), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_ShortMAC_I, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ShortMAC-I" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.UE_RLF_Report_Container), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_UE_RLF_Report_Container, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-RLF-Report-Container" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.RRCConnSetupIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RRCConnSetupIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRCConnSetupIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.RRCConnReestabIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RRCConnReestabIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRCConnReestabIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs__value, choice.UE_RLF_Report_Container_for_extended_bands), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_UE_RLF_Report_Container_for_extended_bands, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-RLF-Report-Container-for-extended-bands" + }, +}; +static const unsigned asn_MAP_value_to_canonical_352[] = { 0, 2, 3, 4, 7, 5, 6, 1 }; +static const unsigned asn_MAP_value_from_canonical_352[] = { 0, 7, 1, 2, 3, 5, 6, 4 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_352[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* PCI */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 1 }, /* CRNTI */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 3, -1, 0 }, /* ShortMAC-I */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 1 }, /* UE-RLF-Report-Container */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -1, 0 }, /* UE-RLF-Report-Container-for-extended-bands */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 1 }, /* RRCConnSetupIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 6, -1, 0 }, /* RRCConnReestabIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* ECGI */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_352 = { + sizeof(struct RLFIndication_IEs__value), + offsetof(struct RLFIndication_IEs__value, _asn_ctx), + offsetof(struct RLFIndication_IEs__value, present), + sizeof(((struct RLFIndication_IEs__value *)0)->present), + asn_MAP_value_tag2el_352, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_352, + asn_MAP_value_from_canonical_352, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_352 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_352, + 8, /* Elements count */ + &asn_SPC_value_specs_352 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RLFIndication_IEs_349[] = { + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_350, memb_id_constraint_349 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RLFIndication_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_351, memb_criticality_constraint_349 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RLFIndication_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_352, + select_RLFIndication_IEs_value_type, + { 0, &asn_PER_memb_value_constr_352, memb_value_constraint_349 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RLFIndication_IEs_tags_349[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RLFIndication_IEs_tag2el_349[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RLFIndication_IEs_specs_349 = { + sizeof(struct RLFIndication_IEs), + offsetof(struct RLFIndication_IEs, _asn_ctx), + asn_MAP_RLFIndication_IEs_tag2el_349, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RLFIndication_IEs = { + "RLFIndication-IEs", + "RLFIndication-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RLFIndication_IEs_tags_349, + sizeof(asn_DEF_RLFIndication_IEs_tags_349) + /sizeof(asn_DEF_RLFIndication_IEs_tags_349[0]), /* 1 */ + asn_DEF_RLFIndication_IEs_tags_349, /* Same as above */ + sizeof(asn_DEF_RLFIndication_IEs_tags_349) + /sizeof(asn_DEF_RLFIndication_IEs_tags_349[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RLFIndication_IEs_349, + 3, /* Elements count */ + &asn_SPC_RLFIndication_IEs_specs_349 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_356[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationRequest_IEs__value, choice.ServedCellsToActivate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToActivate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedCellsToActivate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_356[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* ServedCellsToActivate */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_356 = { + sizeof(struct CellActivationRequest_IEs__value), + offsetof(struct CellActivationRequest_IEs__value, _asn_ctx), + offsetof(struct CellActivationRequest_IEs__value, present), + sizeof(((struct CellActivationRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_356, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_356 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_356, + 1, /* Elements count */ + &asn_SPC_value_specs_356 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellActivationRequest_IEs_353[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_354, memb_id_constraint_353 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellActivationRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellActivationRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_355, memb_criticality_constraint_353 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellActivationRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_356, + select_CellActivationRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_356, memb_value_constraint_353 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellActivationRequest_IEs_tags_353[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellActivationRequest_IEs_tag2el_353[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellActivationRequest_IEs_specs_353 = { + sizeof(struct CellActivationRequest_IEs), + offsetof(struct CellActivationRequest_IEs, _asn_ctx), + asn_MAP_CellActivationRequest_IEs_tag2el_353, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellActivationRequest_IEs = { + "CellActivationRequest-IEs", + "CellActivationRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_CellActivationRequest_IEs_tags_353, + sizeof(asn_DEF_CellActivationRequest_IEs_tags_353) + /sizeof(asn_DEF_CellActivationRequest_IEs_tags_353[0]), /* 1 */ + asn_DEF_CellActivationRequest_IEs_tags_353, /* Same as above */ + sizeof(asn_DEF_CellActivationRequest_IEs_tags_353) + /sizeof(asn_DEF_CellActivationRequest_IEs_tags_353[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellActivationRequest_IEs_353, + 3, /* Elements count */ + &asn_SPC_CellActivationRequest_IEs_specs_353 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_360[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationResponse_IEs__value, choice.ActivatedCellList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActivatedCellList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ActivatedCellList" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellActivationResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_360[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* ActivatedCellList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_360 = { + sizeof(struct CellActivationResponse_IEs__value), + offsetof(struct CellActivationResponse_IEs__value, _asn_ctx), + offsetof(struct CellActivationResponse_IEs__value, present), + sizeof(((struct CellActivationResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_360, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_360 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_360, + 2, /* Elements count */ + &asn_SPC_value_specs_360 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellActivationResponse_IEs_357[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_358, memb_id_constraint_357 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellActivationResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellActivationResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_359, memb_criticality_constraint_357 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellActivationResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_360, + select_CellActivationResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_360, memb_value_constraint_357 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellActivationResponse_IEs_tags_357[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellActivationResponse_IEs_tag2el_357[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellActivationResponse_IEs_specs_357 = { + sizeof(struct CellActivationResponse_IEs), + offsetof(struct CellActivationResponse_IEs, _asn_ctx), + asn_MAP_CellActivationResponse_IEs_tag2el_357, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellActivationResponse_IEs = { + "CellActivationResponse-IEs", + "CellActivationResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_CellActivationResponse_IEs_tags_357, + sizeof(asn_DEF_CellActivationResponse_IEs_tags_357) + /sizeof(asn_DEF_CellActivationResponse_IEs_tags_357[0]), /* 1 */ + asn_DEF_CellActivationResponse_IEs_tags_357, /* Same as above */ + sizeof(asn_DEF_CellActivationResponse_IEs_tags_357) + /sizeof(asn_DEF_CellActivationResponse_IEs_tags_357[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellActivationResponse_IEs_357, + 3, /* Elements count */ + &asn_SPC_CellActivationResponse_IEs_specs_357 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_364[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_364[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_364[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_364[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_364 = { + sizeof(struct CellActivationFailure_IEs__value), + offsetof(struct CellActivationFailure_IEs__value, _asn_ctx), + offsetof(struct CellActivationFailure_IEs__value, present), + sizeof(((struct CellActivationFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_364, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_364, + asn_MAP_value_from_canonical_364, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_364 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_364, + 2, /* Elements count */ + &asn_SPC_value_specs_364 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CellActivationFailure_IEs_361[] = { + { ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_362, memb_id_constraint_361 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_CellActivationFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_363, memb_criticality_constraint_361 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CellActivationFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_364, + select_CellActivationFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_364, memb_value_constraint_361 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CellActivationFailure_IEs_tags_361[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CellActivationFailure_IEs_tag2el_361[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CellActivationFailure_IEs_specs_361 = { + sizeof(struct CellActivationFailure_IEs), + offsetof(struct CellActivationFailure_IEs, _asn_ctx), + asn_MAP_CellActivationFailure_IEs_tag2el_361, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CellActivationFailure_IEs = { + "CellActivationFailure-IEs", + "CellActivationFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_CellActivationFailure_IEs_tags_361, + sizeof(asn_DEF_CellActivationFailure_IEs_tags_361) + /sizeof(asn_DEF_CellActivationFailure_IEs_tags_361[0]), /* 1 */ + asn_DEF_CellActivationFailure_IEs_tags_361, /* Same as above */ + sizeof(asn_DEF_CellActivationFailure_IEs_tags_361) + /sizeof(asn_DEF_CellActivationFailure_IEs_tags_361[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellActivationFailure_IEs_361, + 3, /* Elements count */ + &asn_SPC_CellActivationFailure_IEs_specs_361 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_368[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2Release_IEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_368[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalENB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_368 = { + sizeof(struct X2Release_IEs__value), + offsetof(struct X2Release_IEs__value, _asn_ctx), + offsetof(struct X2Release_IEs__value, present), + sizeof(((struct X2Release_IEs__value *)0)->present), + asn_MAP_value_tag2el_368, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_368 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_368, + 1, /* Elements count */ + &asn_SPC_value_specs_368 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2Release_IEs_365[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2Release_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_366, memb_id_constraint_365 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2Release_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2Release_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_367, memb_criticality_constraint_365 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2Release_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_368, + select_X2Release_IEs_value_type, + { 0, &asn_PER_memb_value_constr_368, memb_value_constraint_365 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2Release_IEs_tags_365[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2Release_IEs_tag2el_365[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2Release_IEs_specs_365 = { + sizeof(struct X2Release_IEs), + offsetof(struct X2Release_IEs, _asn_ctx), + asn_MAP_X2Release_IEs_tag2el_365, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2Release_IEs = { + "X2Release-IEs", + "X2Release-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2Release_IEs_tags_365, + sizeof(asn_DEF_X2Release_IEs_tags_365) + /sizeof(asn_DEF_X2Release_IEs_tags_365[0]), /* 1 */ + asn_DEF_X2Release_IEs_tags_365, /* Same as above */ + sizeof(asn_DEF_X2Release_IEs_tags_365) + /sizeof(asn_DEF_X2Release_IEs_tags_365[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2Release_IEs_365, + 3, /* Elements count */ + &asn_SPC_X2Release_IEs_specs_365 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_372[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2APMessageTransfer_IEs__value, choice.RNL_Header), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RNL_Header, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RNL-Header" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2APMessageTransfer_IEs__value, choice.X2AP_Message), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_X2AP_Message, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2AP-Message" + }, +}; +static const unsigned asn_MAP_value_to_canonical_372[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_372[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_372[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* X2AP-Message */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RNL-Header */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_372 = { + sizeof(struct X2APMessageTransfer_IEs__value), + offsetof(struct X2APMessageTransfer_IEs__value, _asn_ctx), + offsetof(struct X2APMessageTransfer_IEs__value, present), + sizeof(((struct X2APMessageTransfer_IEs__value *)0)->present), + asn_MAP_value_tag2el_372, + 2, /* Count of tags in the map */ + asn_MAP_value_to_canonical_372, + asn_MAP_value_from_canonical_372, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_372 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_372, + 2, /* Elements count */ + &asn_SPC_value_specs_372 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2APMessageTransfer_IEs_369[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2APMessageTransfer_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_370, memb_id_constraint_369 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2APMessageTransfer_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2APMessageTransfer_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_371, memb_criticality_constraint_369 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2APMessageTransfer_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_372, + select_X2APMessageTransfer_IEs_value_type, + { 0, &asn_PER_memb_value_constr_372, memb_value_constraint_369 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2APMessageTransfer_IEs_tags_369[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2APMessageTransfer_IEs_tag2el_369[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2APMessageTransfer_IEs_specs_369 = { + sizeof(struct X2APMessageTransfer_IEs), + offsetof(struct X2APMessageTransfer_IEs, _asn_ctx), + asn_MAP_X2APMessageTransfer_IEs_tag2el_369, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2APMessageTransfer_IEs = { + "X2APMessageTransfer-IEs", + "X2APMessageTransfer-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2APMessageTransfer_IEs_tags_369, + sizeof(asn_DEF_X2APMessageTransfer_IEs_tags_369) + /sizeof(asn_DEF_X2APMessageTransfer_IEs_tags_369[0]), /* 1 */ + asn_DEF_X2APMessageTransfer_IEs_tags_369, /* Same as above */ + sizeof(asn_DEF_X2APMessageTransfer_IEs_tags_369) + /sizeof(asn_DEF_X2APMessageTransfer_IEs_tags_369[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2APMessageTransfer_IEs_369, + 3, /* Elements count */ + &asn_SPC_X2APMessageTransfer_IEs_specs_369 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_376[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.UESecurityCapabilities), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UESecurityCapabilities" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.SeNBSecurityKey), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_SeNBSecurityKey, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBSecurityKey" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.UEAggregateMaximumBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEAggregateMaximumBitRate" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.PLMN_Identity), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.E_RABs_ToBeAdded_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.MeNBtoSeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.CSGMembershipStatus), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_CSGMembershipStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CSGMembershipStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs__value, choice.ExpectedUEBehaviour), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEBehaviour, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExpectedUEBehaviour" + }, +}; +static const unsigned asn_MAP_value_to_canonical_376[] = { 0, 8, 2, 4, 6, 7, 1, 3, 5, 9 }; +static const unsigned asn_MAP_value_from_canonical_376[] = { 0, 6, 2, 7, 3, 8, 4, 5, 1, 9 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_376[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 8, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* SeNBSecurityKey */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 1 }, /* PLMN-Identity */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 0 }, /* MeNBtoSeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 7, 0, 0 }, /* CSGMembershipStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 3 }, /* UESecurityCapabilities */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 2 }, /* UEAggregateMaximumBitRate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -2, 1 }, /* E-RABs-ToBeAdded-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -3, 0 } /* ExpectedUEBehaviour */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_376 = { + sizeof(struct SeNBAdditionRequest_IEs__value), + offsetof(struct SeNBAdditionRequest_IEs__value, _asn_ctx), + offsetof(struct SeNBAdditionRequest_IEs__value, present), + sizeof(((struct SeNBAdditionRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_376, + 10, /* Count of tags in the map */ + asn_MAP_value_to_canonical_376, + asn_MAP_value_from_canonical_376, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_376 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_376, + 10, /* Elements count */ + &asn_SPC_value_specs_376 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequest_IEs_373[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_374, memb_id_constraint_373 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBAdditionRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_375, memb_criticality_constraint_373 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_376, + select_SeNBAdditionRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_376, memb_value_constraint_373 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequest_IEs_tags_373[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequest_IEs_tag2el_373[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequest_IEs_specs_373 = { + sizeof(struct SeNBAdditionRequest_IEs), + offsetof(struct SeNBAdditionRequest_IEs, _asn_ctx), + asn_MAP_SeNBAdditionRequest_IEs_tag2el_373, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequest_IEs = { + "SeNBAdditionRequest-IEs", + "SeNBAdditionRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequest_IEs_tags_373, + sizeof(asn_DEF_SeNBAdditionRequest_IEs_tags_373) + /sizeof(asn_DEF_SeNBAdditionRequest_IEs_tags_373[0]), /* 1 */ + asn_DEF_SeNBAdditionRequest_IEs_tags_373, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequest_IEs_tags_373) + /sizeof(asn_DEF_SeNBAdditionRequest_IEs_tags_373[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequest_IEs_373, + 3, /* Elements count */ + &asn_SPC_SeNBAdditionRequest_IEs_specs_373 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_380[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeAdded_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.E_RAB_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.SeNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SeNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.TransportLayerAddress), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_TransportLayerAddress, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TransportLayerAddress" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, choice.TunnelInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TunnelInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TunnelInformation" + }, +}; +static const unsigned asn_MAP_value_to_canonical_380[] = { 0, 6, 5, 3, 1, 2, 4, 7 }; +static const unsigned asn_MAP_value_from_canonical_380[] = { 0, 4, 5, 3, 6, 2, 1, 7 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_380[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 5, 0, 0 }, /* TransportLayerAddress */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 0 }, /* SeNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 3 }, /* E-RABs-Admitted-ToBeAdded-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 2 }, /* E-RAB-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -3, 0 } /* TunnelInformation */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_380 = { + sizeof(struct SeNBAdditionRequestAcknowledge_IEs__value), + offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct SeNBAdditionRequestAcknowledge_IEs__value, present), + sizeof(((struct SeNBAdditionRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_380, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_380, + asn_MAP_value_from_canonical_380, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_380 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_380, + 8, /* Elements count */ + &asn_SPC_value_specs_380 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequestAcknowledge_IEs_377[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_378, memb_id_constraint_377 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBAdditionRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_379, memb_criticality_constraint_377 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_380, + select_SeNBAdditionRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_380, memb_value_constraint_377 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequestAcknowledge_IEs_tag2el_377[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestAcknowledge_IEs_specs_377 = { + sizeof(struct SeNBAdditionRequestAcknowledge_IEs), + offsetof(struct SeNBAdditionRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_SeNBAdditionRequestAcknowledge_IEs_tag2el_377, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestAcknowledge_IEs = { + "SeNBAdditionRequestAcknowledge-IEs", + "SeNBAdditionRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377, + sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377) + /sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377[0]), /* 1 */ + asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377) + /sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_IEs_tags_377[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequestAcknowledge_IEs_377, + 3, /* Elements count */ + &asn_SPC_SeNBAdditionRequestAcknowledge_IEs_specs_377 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_384[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_384[] = { 0, 3, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_384[] = { 0, 3, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_384[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_384 = { + sizeof(struct SeNBAdditionRequestReject_IEs__value), + offsetof(struct SeNBAdditionRequestReject_IEs__value, _asn_ctx), + offsetof(struct SeNBAdditionRequestReject_IEs__value, present), + sizeof(((struct SeNBAdditionRequestReject_IEs__value *)0)->present), + asn_MAP_value_tag2el_384, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_384, + asn_MAP_value_from_canonical_384, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_384 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_384, + 4, /* Elements count */ + &asn_SPC_value_specs_384 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequestReject_IEs_381[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_382, memb_id_constraint_381 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBAdditionRequestReject_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_383, memb_criticality_constraint_381 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_384, + select_SeNBAdditionRequestReject_IEs_value_type, + { 0, &asn_PER_memb_value_constr_384, memb_value_constraint_381 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequestReject_IEs_tags_381[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequestReject_IEs_tag2el_381[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestReject_IEs_specs_381 = { + sizeof(struct SeNBAdditionRequestReject_IEs), + offsetof(struct SeNBAdditionRequestReject_IEs, _asn_ctx), + asn_MAP_SeNBAdditionRequestReject_IEs_tag2el_381, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestReject_IEs = { + "SeNBAdditionRequestReject-IEs", + "SeNBAdditionRequestReject-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequestReject_IEs_tags_381, + sizeof(asn_DEF_SeNBAdditionRequestReject_IEs_tags_381) + /sizeof(asn_DEF_SeNBAdditionRequestReject_IEs_tags_381[0]), /* 1 */ + asn_DEF_SeNBAdditionRequestReject_IEs_tags_381, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequestReject_IEs_tags_381) + /sizeof(asn_DEF_SeNBAdditionRequestReject_IEs_tags_381[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequestReject_IEs_381, + 3, /* Elements count */ + &asn_SPC_SeNBAdditionRequestReject_IEs_specs_381 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_388[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs__value, choice.ResponseInformationSeNBReconfComp), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ResponseInformationSeNBReconfComp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResponseInformationSeNBReconfComp" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_388[] = { 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_388[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_388[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* success */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* reject-by-MeNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_388 = { + sizeof(struct SeNBReconfigurationComplete_IEs__value), + offsetof(struct SeNBReconfigurationComplete_IEs__value, _asn_ctx), + offsetof(struct SeNBReconfigurationComplete_IEs__value, present), + sizeof(((struct SeNBReconfigurationComplete_IEs__value *)0)->present), + asn_MAP_value_tag2el_388, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_388, + asn_MAP_value_from_canonical_388, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_388 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_388, + 3, /* Elements count */ + &asn_SPC_value_specs_388 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBReconfigurationComplete_IEs_385[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_386, memb_id_constraint_385 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBReconfigurationComplete_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_387, memb_criticality_constraint_385 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBReconfigurationComplete_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_388, + select_SeNBReconfigurationComplete_IEs_value_type, + { 0, &asn_PER_memb_value_constr_388, memb_value_constraint_385 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReconfigurationComplete_IEs_tags_385[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReconfigurationComplete_IEs_tag2el_385[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReconfigurationComplete_IEs_specs_385 = { + sizeof(struct SeNBReconfigurationComplete_IEs), + offsetof(struct SeNBReconfigurationComplete_IEs, _asn_ctx), + asn_MAP_SeNBReconfigurationComplete_IEs_tag2el_385, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReconfigurationComplete_IEs = { + "SeNBReconfigurationComplete-IEs", + "SeNBReconfigurationComplete-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReconfigurationComplete_IEs_tags_385, + sizeof(asn_DEF_SeNBReconfigurationComplete_IEs_tags_385) + /sizeof(asn_DEF_SeNBReconfigurationComplete_IEs_tags_385[0]), /* 1 */ + asn_DEF_SeNBReconfigurationComplete_IEs_tags_385, /* Same as above */ + sizeof(asn_DEF_SeNBReconfigurationComplete_IEs_tags_385) + /sizeof(asn_DEF_SeNBReconfigurationComplete_IEs_tags_385[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReconfigurationComplete_IEs_385, + 3, /* Elements count */ + &asn_SPC_SeNBReconfigurationComplete_IEs_specs_385 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_392[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.SCGChangeIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SCGChangeIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SCGChangeIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.PLMN_Identity), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.UE_ContextInformationSeNBModReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformationSeNBModReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextInformationSeNBModReq" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.MeNBtoSeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.CSGMembershipStatus), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_CSGMembershipStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CSGMembershipStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_392[] = { 0, 7, 3, 5, 2, 6, 4, 1 }; +static const unsigned asn_MAP_value_from_canonical_392[] = { 0, 7, 4, 2, 6, 3, 5, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_392[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 7, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 1 }, /* PLMN-Identity */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, -1, 0 }, /* MeNBtoSeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 1 }, /* SCGChangeIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 6, -1, 0 }, /* CSGMembershipStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 0 }, /* UE-ContextInformationSeNBModReq */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_392 = { + sizeof(struct SeNBModificationRequest_IEs__value), + offsetof(struct SeNBModificationRequest_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationRequest_IEs__value, present), + sizeof(((struct SeNBModificationRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_392, + 11, /* Count of tags in the map */ + asn_MAP_value_to_canonical_392, + asn_MAP_value_from_canonical_392, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_392 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_392, + 8, /* Elements count */ + &asn_SPC_value_specs_392 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationRequest_IEs_389[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_390, memb_id_constraint_389 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_391, memb_criticality_constraint_389 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_392, + select_SeNBModificationRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_392, memb_value_constraint_389 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequest_IEs_tags_389[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequest_IEs_tag2el_389[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequest_IEs_specs_389 = { + sizeof(struct SeNBModificationRequest_IEs), + offsetof(struct SeNBModificationRequest_IEs, _asn_ctx), + asn_MAP_SeNBModificationRequest_IEs_tag2el_389, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequest_IEs = { + "SeNBModificationRequest-IEs", + "SeNBModificationRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequest_IEs_tags_389, + sizeof(asn_DEF_SeNBModificationRequest_IEs_tags_389) + /sizeof(asn_DEF_SeNBModificationRequest_IEs_tags_389[0]), /* 1 */ + asn_DEF_SeNBModificationRequest_IEs_tags_389, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequest_IEs_tags_389) + /sizeof(asn_DEF_SeNBModificationRequest_IEs_tags_389[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequest_IEs_389, + 3, /* Elements count */ + &asn_SPC_SeNBModificationRequest_IEs_specs_389 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_396[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeAdded_ModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-ModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeModified_ModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_ModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeModified-ModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeReleased_ModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeReleased-ModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.E_RAB_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.SeNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SeNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_396[] = { 0, 7, 5, 1, 2, 3, 4, 6 }; +static const unsigned asn_MAP_value_from_canonical_396[] = { 0, 3, 4, 5, 6, 2, 7, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_396[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 7, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 0 }, /* SeNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 4 }, /* E-RABs-Admitted-ToBeAdded-ModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 3 }, /* E-RABs-Admitted-ToBeModified-ModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 2 }, /* E-RABs-Admitted-ToBeReleased-ModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -3, 1 }, /* E-RAB-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -4, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_396 = { + sizeof(struct SeNBModificationRequestAcknowledge_IEs__value), + offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationRequestAcknowledge_IEs__value, present), + sizeof(((struct SeNBModificationRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_396, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_396, + asn_MAP_value_from_canonical_396, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_396 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_396, + 8, /* Elements count */ + &asn_SPC_value_specs_396 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationRequestAcknowledge_IEs_393[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_394, memb_id_constraint_393 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_395, memb_criticality_constraint_393 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_396, + select_SeNBModificationRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_396, memb_value_constraint_393 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequestAcknowledge_IEs_tag2el_393[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestAcknowledge_IEs_specs_393 = { + sizeof(struct SeNBModificationRequestAcknowledge_IEs), + offsetof(struct SeNBModificationRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_SeNBModificationRequestAcknowledge_IEs_tag2el_393, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestAcknowledge_IEs = { + "SeNBModificationRequestAcknowledge-IEs", + "SeNBModificationRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393, + sizeof(asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393) + /sizeof(asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393[0]), /* 1 */ + asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393) + /sizeof(asn_DEF_SeNBModificationRequestAcknowledge_IEs_tags_393[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequestAcknowledge_IEs_393, + 3, /* Elements count */ + &asn_SPC_SeNBModificationRequestAcknowledge_IEs_specs_393 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_400[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_400[] = { 0, 3, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_400[] = { 0, 3, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_400[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_400 = { + sizeof(struct SeNBModificationRequestReject_IEs__value), + offsetof(struct SeNBModificationRequestReject_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationRequestReject_IEs__value, present), + sizeof(((struct SeNBModificationRequestReject_IEs__value *)0)->present), + asn_MAP_value_tag2el_400, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_400, + asn_MAP_value_from_canonical_400, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_400 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_400, + 4, /* Elements count */ + &asn_SPC_value_specs_400 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationRequestReject_IEs_397[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_398, memb_id_constraint_397 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationRequestReject_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_399, memb_criticality_constraint_397 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_400, + select_SeNBModificationRequestReject_IEs_value_type, + { 0, &asn_PER_memb_value_constr_400, memb_value_constraint_397 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequestReject_IEs_tags_397[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequestReject_IEs_tag2el_397[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestReject_IEs_specs_397 = { + sizeof(struct SeNBModificationRequestReject_IEs), + offsetof(struct SeNBModificationRequestReject_IEs, _asn_ctx), + asn_MAP_SeNBModificationRequestReject_IEs_tag2el_397, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestReject_IEs = { + "SeNBModificationRequestReject-IEs", + "SeNBModificationRequestReject-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequestReject_IEs_tags_397, + sizeof(asn_DEF_SeNBModificationRequestReject_IEs_tags_397) + /sizeof(asn_DEF_SeNBModificationRequestReject_IEs_tags_397[0]), /* 1 */ + asn_DEF_SeNBModificationRequestReject_IEs_tags_397, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequestReject_IEs_tags_397) + /sizeof(asn_DEF_SeNBModificationRequestReject_IEs_tags_397[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequestReject_IEs_397, + 3, /* Elements count */ + &asn_SPC_SeNBModificationRequestReject_IEs_specs_397 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_404[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.SCGChangeIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SCGChangeIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SCGChangeIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.E_RABs_ToBeReleased_ModReqd), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_ModReqd, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-ModReqd" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.SeNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SeNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_404[] = { 0, 5, 4, 2, 3, 1 }; +static const unsigned asn_MAP_value_from_canonical_404[] = { 0, 5, 3, 4, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_404[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 0 }, /* SeNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* SCGChangeIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* E-RABs-ToBeReleased-ModReqd */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_404 = { + sizeof(struct SeNBModificationRequired_IEs__value), + offsetof(struct SeNBModificationRequired_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationRequired_IEs__value, present), + sizeof(((struct SeNBModificationRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_404, + 9, /* Count of tags in the map */ + asn_MAP_value_to_canonical_404, + asn_MAP_value_from_canonical_404, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_404 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_404, + 6, /* Elements count */ + &asn_SPC_value_specs_404 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationRequired_IEs_401[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_402, memb_id_constraint_401 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_403, memb_criticality_constraint_401 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_404, + select_SeNBModificationRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_404, memb_value_constraint_401 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequired_IEs_tags_401[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequired_IEs_tag2el_401[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequired_IEs_specs_401 = { + sizeof(struct SeNBModificationRequired_IEs), + offsetof(struct SeNBModificationRequired_IEs, _asn_ctx), + asn_MAP_SeNBModificationRequired_IEs_tag2el_401, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequired_IEs = { + "SeNBModificationRequired-IEs", + "SeNBModificationRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequired_IEs_tags_401, + sizeof(asn_DEF_SeNBModificationRequired_IEs_tags_401) + /sizeof(asn_DEF_SeNBModificationRequired_IEs_tags_401[0]), /* 1 */ + asn_DEF_SeNBModificationRequired_IEs_tags_401, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequired_IEs_tags_401) + /sizeof(asn_DEF_SeNBModificationRequired_IEs_tags_401[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequired_IEs_401, + 3, /* Elements count */ + &asn_SPC_SeNBModificationRequired_IEs_specs_401 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_408[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs__value, choice.MeNBtoSeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_408[] = { 0, 3, 1, 2 }; +static const unsigned asn_MAP_value_from_canonical_408[] = { 0, 2, 3, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_408[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* MeNBtoSeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_408 = { + sizeof(struct SeNBModificationConfirm_IEs__value), + offsetof(struct SeNBModificationConfirm_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationConfirm_IEs__value, present), + sizeof(((struct SeNBModificationConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_408, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_408, + asn_MAP_value_from_canonical_408, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_408 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_408, + 4, /* Elements count */ + &asn_SPC_value_specs_408 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationConfirm_IEs_405[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_406, memb_id_constraint_405 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_407, memb_criticality_constraint_405 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_408, + select_SeNBModificationConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_408, memb_value_constraint_405 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationConfirm_IEs_tags_405[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationConfirm_IEs_tag2el_405[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationConfirm_IEs_specs_405 = { + sizeof(struct SeNBModificationConfirm_IEs), + offsetof(struct SeNBModificationConfirm_IEs, _asn_ctx), + asn_MAP_SeNBModificationConfirm_IEs_tag2el_405, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationConfirm_IEs = { + "SeNBModificationConfirm-IEs", + "SeNBModificationConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationConfirm_IEs_tags_405, + sizeof(asn_DEF_SeNBModificationConfirm_IEs_tags_405) + /sizeof(asn_DEF_SeNBModificationConfirm_IEs_tags_405[0]), /* 1 */ + asn_DEF_SeNBModificationConfirm_IEs_tags_405, /* Same as above */ + sizeof(asn_DEF_SeNBModificationConfirm_IEs_tags_405) + /sizeof(asn_DEF_SeNBModificationConfirm_IEs_tags_405[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationConfirm_IEs_405, + 3, /* Elements count */ + &asn_SPC_SeNBModificationConfirm_IEs_specs_405 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_412[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs__value, choice.MeNBtoSeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_412[] = { 0, 4, 2, 3, 1 }; +static const unsigned asn_MAP_value_from_canonical_412[] = { 0, 4, 2, 3, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_412[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 0 }, /* MeNBtoSeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_412 = { + sizeof(struct SeNBModificationRefuse_IEs__value), + offsetof(struct SeNBModificationRefuse_IEs__value, _asn_ctx), + offsetof(struct SeNBModificationRefuse_IEs__value, present), + sizeof(((struct SeNBModificationRefuse_IEs__value *)0)->present), + asn_MAP_value_tag2el_412, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_412, + asn_MAP_value_from_canonical_412, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_412 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_412, + 5, /* Elements count */ + &asn_SPC_value_specs_412 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBModificationRefuse_IEs_409[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_410, memb_id_constraint_409 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBModificationRefuse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_411, memb_criticality_constraint_409 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_412, + select_SeNBModificationRefuse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_412, memb_value_constraint_409 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRefuse_IEs_tags_409[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRefuse_IEs_tag2el_409[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRefuse_IEs_specs_409 = { + sizeof(struct SeNBModificationRefuse_IEs), + offsetof(struct SeNBModificationRefuse_IEs, _asn_ctx), + asn_MAP_SeNBModificationRefuse_IEs_tag2el_409, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRefuse_IEs = { + "SeNBModificationRefuse-IEs", + "SeNBModificationRefuse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRefuse_IEs_tags_409, + sizeof(asn_DEF_SeNBModificationRefuse_IEs_tags_409) + /sizeof(asn_DEF_SeNBModificationRefuse_IEs_tags_409[0]), /* 1 */ + asn_DEF_SeNBModificationRefuse_IEs_tags_409, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRefuse_IEs_tags_409) + /sizeof(asn_DEF_SeNBModificationRefuse_IEs_tags_409[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRefuse_IEs_409, + 3, /* Elements count */ + &asn_SPC_SeNBModificationRefuse_IEs_specs_409 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_416[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.E_RABs_ToBeReleased_List_RelReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_List_RelReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-List-RelReq" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.UE_ContextKeptIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UE_ContextKeptIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextKeptIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs__value, choice.MakeBeforeBreakIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_MakeBeforeBreakIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MakeBeforeBreakIndicator" + }, +}; +static const unsigned asn_MAP_value_to_canonical_416[] = { 0, 4, 3, 5, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_416[] = { 0, 5, 4, 2, 1, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_416[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 1 }, /* UE-ContextKeptIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, -1, 0 }, /* MakeBeforeBreakIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* E-RABs-ToBeReleased-List-RelReq */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_416 = { + sizeof(struct SeNBReleaseRequest_IEs__value), + offsetof(struct SeNBReleaseRequest_IEs__value, _asn_ctx), + offsetof(struct SeNBReleaseRequest_IEs__value, present), + sizeof(((struct SeNBReleaseRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_416, + 9, /* Count of tags in the map */ + asn_MAP_value_to_canonical_416, + asn_MAP_value_from_canonical_416, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_416 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_416, + 6, /* Elements count */ + &asn_SPC_value_specs_416 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBReleaseRequest_IEs_413[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_414, memb_id_constraint_413 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBReleaseRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_415, memb_criticality_constraint_413 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_416, + select_SeNBReleaseRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_416, memb_value_constraint_413 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReleaseRequest_IEs_tags_413[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReleaseRequest_IEs_tag2el_413[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequest_IEs_specs_413 = { + sizeof(struct SeNBReleaseRequest_IEs), + offsetof(struct SeNBReleaseRequest_IEs, _asn_ctx), + asn_MAP_SeNBReleaseRequest_IEs_tag2el_413, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequest_IEs = { + "SeNBReleaseRequest-IEs", + "SeNBReleaseRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReleaseRequest_IEs_tags_413, + sizeof(asn_DEF_SeNBReleaseRequest_IEs_tags_413) + /sizeof(asn_DEF_SeNBReleaseRequest_IEs_tags_413[0]), /* 1 */ + asn_DEF_SeNBReleaseRequest_IEs_tags_413, /* Same as above */ + sizeof(asn_DEF_SeNBReleaseRequest_IEs_tags_413) + /sizeof(asn_DEF_SeNBReleaseRequest_IEs_tags_413[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReleaseRequest_IEs_413, + 3, /* Elements count */ + &asn_SPC_SeNBReleaseRequest_IEs_specs_413 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_420[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_420[] = { 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_420[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_420[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_420 = { + sizeof(struct SeNBReleaseRequired_IEs__value), + offsetof(struct SeNBReleaseRequired_IEs__value, _asn_ctx), + offsetof(struct SeNBReleaseRequired_IEs__value, present), + sizeof(((struct SeNBReleaseRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_420, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_420, + asn_MAP_value_from_canonical_420, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_420 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_420, + 3, /* Elements count */ + &asn_SPC_value_specs_420 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBReleaseRequired_IEs_417[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_418, memb_id_constraint_417 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBReleaseRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_419, memb_criticality_constraint_417 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_420, + select_SeNBReleaseRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_420, memb_value_constraint_417 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReleaseRequired_IEs_tags_417[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReleaseRequired_IEs_tag2el_417[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequired_IEs_specs_417 = { + sizeof(struct SeNBReleaseRequired_IEs), + offsetof(struct SeNBReleaseRequired_IEs, _asn_ctx), + asn_MAP_SeNBReleaseRequired_IEs_tag2el_417, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequired_IEs = { + "SeNBReleaseRequired-IEs", + "SeNBReleaseRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReleaseRequired_IEs_tags_417, + sizeof(asn_DEF_SeNBReleaseRequired_IEs_tags_417) + /sizeof(asn_DEF_SeNBReleaseRequired_IEs_tags_417[0]), /* 1 */ + asn_DEF_SeNBReleaseRequired_IEs_tags_417, /* Same as above */ + sizeof(asn_DEF_SeNBReleaseRequired_IEs_tags_417) + /sizeof(asn_DEF_SeNBReleaseRequired_IEs_tags_417[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReleaseRequired_IEs_417, + 3, /* Elements count */ + &asn_SPC_SeNBReleaseRequired_IEs_specs_417 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_424[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs__value, choice.E_RABs_ToBeReleased_List_RelConf), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_List_RelConf, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-List-RelConf" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_424[] = { 0, 3, 1, 2 }; +static const unsigned asn_MAP_value_from_canonical_424[] = { 0, 2, 3, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_424[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* E-RABs-ToBeReleased-List-RelConf */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_424 = { + sizeof(struct SeNBReleaseConfirm_IEs__value), + offsetof(struct SeNBReleaseConfirm_IEs__value, _asn_ctx), + offsetof(struct SeNBReleaseConfirm_IEs__value, present), + sizeof(((struct SeNBReleaseConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_424, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_424, + asn_MAP_value_from_canonical_424, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_424 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_424, + 4, /* Elements count */ + &asn_SPC_value_specs_424 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBReleaseConfirm_IEs_421[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_422, memb_id_constraint_421 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBReleaseConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_423, memb_criticality_constraint_421 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_424, + select_SeNBReleaseConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_424, memb_value_constraint_421 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReleaseConfirm_IEs_tags_421[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReleaseConfirm_IEs_tag2el_421[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseConfirm_IEs_specs_421 = { + sizeof(struct SeNBReleaseConfirm_IEs), + offsetof(struct SeNBReleaseConfirm_IEs, _asn_ctx), + asn_MAP_SeNBReleaseConfirm_IEs_tag2el_421, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReleaseConfirm_IEs = { + "SeNBReleaseConfirm-IEs", + "SeNBReleaseConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReleaseConfirm_IEs_tags_421, + sizeof(asn_DEF_SeNBReleaseConfirm_IEs_tags_421) + /sizeof(asn_DEF_SeNBReleaseConfirm_IEs_tags_421[0]), /* 1 */ + asn_DEF_SeNBReleaseConfirm_IEs_tags_421, /* Same as above */ + sizeof(asn_DEF_SeNBReleaseConfirm_IEs_tags_421) + /sizeof(asn_DEF_SeNBReleaseConfirm_IEs_tags_421[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReleaseConfirm_IEs_421, + 3, /* Elements count */ + &asn_SPC_SeNBReleaseConfirm_IEs_specs_421 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_428[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs__value, choice.E_RABs_SubjectToCounterCheck_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToCounterCheck_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToCounterCheck-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_428[] = { 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_428[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_428[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* E-RABs-SubjectToCounterCheck-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_428 = { + sizeof(struct SeNBCounterCheckRequest_IEs__value), + offsetof(struct SeNBCounterCheckRequest_IEs__value, _asn_ctx), + offsetof(struct SeNBCounterCheckRequest_IEs__value, present), + sizeof(((struct SeNBCounterCheckRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_428, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_428, + asn_MAP_value_from_canonical_428, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_428 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_428, + 3, /* Elements count */ + &asn_SPC_value_specs_428 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SeNBCounterCheckRequest_IEs_425[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_426, memb_id_constraint_425 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SeNBCounterCheckRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_427, memb_criticality_constraint_425 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_428, + select_SeNBCounterCheckRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_428, memb_value_constraint_425 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBCounterCheckRequest_IEs_tags_425[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBCounterCheckRequest_IEs_tag2el_425[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBCounterCheckRequest_IEs_specs_425 = { + sizeof(struct SeNBCounterCheckRequest_IEs), + offsetof(struct SeNBCounterCheckRequest_IEs, _asn_ctx), + asn_MAP_SeNBCounterCheckRequest_IEs_tag2el_425, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBCounterCheckRequest_IEs = { + "SeNBCounterCheckRequest-IEs", + "SeNBCounterCheckRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SeNBCounterCheckRequest_IEs_tags_425, + sizeof(asn_DEF_SeNBCounterCheckRequest_IEs_tags_425) + /sizeof(asn_DEF_SeNBCounterCheckRequest_IEs_tags_425[0]), /* 1 */ + asn_DEF_SeNBCounterCheckRequest_IEs_tags_425, /* Same as above */ + sizeof(asn_DEF_SeNBCounterCheckRequest_IEs_tags_425) + /sizeof(asn_DEF_SeNBCounterCheckRequest_IEs_tags_425[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBCounterCheckRequest_IEs_425, + 3, /* Elements count */ + &asn_SPC_SeNBCounterCheckRequest_IEs_specs_425 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_432[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalRequest_IEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalRequest_IEs__value, choice.X2BenefitValue), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_X2BenefitValue, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2BenefitValue" + }, +}; +static const unsigned asn_MAP_value_to_canonical_432[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_432[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_432[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* X2BenefitValue */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalENB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_432 = { + sizeof(struct X2RemovalRequest_IEs__value), + offsetof(struct X2RemovalRequest_IEs__value, _asn_ctx), + offsetof(struct X2RemovalRequest_IEs__value, present), + sizeof(((struct X2RemovalRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_432, + 2, /* Count of tags in the map */ + asn_MAP_value_to_canonical_432, + asn_MAP_value_from_canonical_432, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_432 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_432, + 2, /* Elements count */ + &asn_SPC_value_specs_432 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2RemovalRequest_IEs_429[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_430, memb_id_constraint_429 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2RemovalRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_431, memb_criticality_constraint_429 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2RemovalRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_432, + select_X2RemovalRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_432, memb_value_constraint_429 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2RemovalRequest_IEs_tags_429[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2RemovalRequest_IEs_tag2el_429[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2RemovalRequest_IEs_specs_429 = { + sizeof(struct X2RemovalRequest_IEs), + offsetof(struct X2RemovalRequest_IEs, _asn_ctx), + asn_MAP_X2RemovalRequest_IEs_tag2el_429, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2RemovalRequest_IEs = { + "X2RemovalRequest-IEs", + "X2RemovalRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2RemovalRequest_IEs_tags_429, + sizeof(asn_DEF_X2RemovalRequest_IEs_tags_429) + /sizeof(asn_DEF_X2RemovalRequest_IEs_tags_429[0]), /* 1 */ + asn_DEF_X2RemovalRequest_IEs_tags_429, /* Same as above */ + sizeof(asn_DEF_X2RemovalRequest_IEs_tags_429) + /sizeof(asn_DEF_X2RemovalRequest_IEs_tags_429[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2RemovalRequest_IEs_429, + 3, /* Elements count */ + &asn_SPC_X2RemovalRequest_IEs_specs_429 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_436[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse_IEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_436[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GlobalENB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_436 = { + sizeof(struct X2RemovalResponse_IEs__value), + offsetof(struct X2RemovalResponse_IEs__value, _asn_ctx), + offsetof(struct X2RemovalResponse_IEs__value, present), + sizeof(((struct X2RemovalResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_436, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_436 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_436, + 2, /* Elements count */ + &asn_SPC_value_specs_436 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2RemovalResponse_IEs_433[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_434, memb_id_constraint_433 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2RemovalResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_435, memb_criticality_constraint_433 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_436, + select_X2RemovalResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_436, memb_value_constraint_433 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2RemovalResponse_IEs_tags_433[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2RemovalResponse_IEs_tag2el_433[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2RemovalResponse_IEs_specs_433 = { + sizeof(struct X2RemovalResponse_IEs), + offsetof(struct X2RemovalResponse_IEs, _asn_ctx), + asn_MAP_X2RemovalResponse_IEs_tag2el_433, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2RemovalResponse_IEs = { + "X2RemovalResponse-IEs", + "X2RemovalResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2RemovalResponse_IEs_tags_433, + sizeof(asn_DEF_X2RemovalResponse_IEs_tags_433) + /sizeof(asn_DEF_X2RemovalResponse_IEs_tags_433[0]), /* 1 */ + asn_DEF_X2RemovalResponse_IEs_tags_433, /* Same as above */ + sizeof(asn_DEF_X2RemovalResponse_IEs_tags_433) + /sizeof(asn_DEF_X2RemovalResponse_IEs_tags_433[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2RemovalResponse_IEs_433, + 3, /* Elements count */ + &asn_SPC_X2RemovalResponse_IEs_specs_433 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_440[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_440[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_440[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_440[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_440 = { + sizeof(struct X2RemovalFailure_IEs__value), + offsetof(struct X2RemovalFailure_IEs__value, _asn_ctx), + offsetof(struct X2RemovalFailure_IEs__value, present), + sizeof(((struct X2RemovalFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_440, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_440, + asn_MAP_value_from_canonical_440, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_440 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_440, + 2, /* Elements count */ + &asn_SPC_value_specs_440 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2RemovalFailure_IEs_437[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_438, memb_id_constraint_437 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2RemovalFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_439, memb_criticality_constraint_437 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2RemovalFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_440, + select_X2RemovalFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_440, memb_value_constraint_437 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2RemovalFailure_IEs_tags_437[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2RemovalFailure_IEs_tag2el_437[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2RemovalFailure_IEs_specs_437 = { + sizeof(struct X2RemovalFailure_IEs), + offsetof(struct X2RemovalFailure_IEs, _asn_ctx), + asn_MAP_X2RemovalFailure_IEs_tag2el_437, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2RemovalFailure_IEs = { + "X2RemovalFailure-IEs", + "X2RemovalFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_X2RemovalFailure_IEs_tags_437, + sizeof(asn_DEF_X2RemovalFailure_IEs_tags_437) + /sizeof(asn_DEF_X2RemovalFailure_IEs_tags_437[0]), /* 1 */ + asn_DEF_X2RemovalFailure_IEs_tags_437, /* Same as above */ + sizeof(asn_DEF_X2RemovalFailure_IEs_tags_437) + /sizeof(asn_DEF_X2RemovalFailure_IEs_tags_437[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2RemovalFailure_IEs_437, + 3, /* Elements count */ + &asn_SPC_X2RemovalFailure_IEs_specs_437 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_444[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.ResumeID), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ResumeID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResumeID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.ShortMAC_I), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_ShortMAC_I, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ShortMAC-I" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.EUTRANCellIdentifier), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_EUTRANCellIdentifier, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EUTRANCellIdentifier" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.CRNTI), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_CRNTI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CRNTI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs__value, choice.PCI), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_PCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PCI" + }, +}; +static const unsigned asn_MAP_value_to_canonical_444[] = { 0, 1, 6, 3, 4, 5, 2 }; +static const unsigned asn_MAP_value_from_canonical_444[] = { 0, 1, 6, 3, 4, 5, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_444[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* PCI */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 3, 0, 2 }, /* ShortMAC-I */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 4, -1, 1 }, /* EUTRANCellIdentifier */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 5, -2, 0 }, /* CRNTI */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* non-truncated */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* truncated */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_444 = { + sizeof(struct RetrieveUEContextRequest_IEs__value), + offsetof(struct RetrieveUEContextRequest_IEs__value, _asn_ctx), + offsetof(struct RetrieveUEContextRequest_IEs__value, present), + sizeof(((struct RetrieveUEContextRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_444, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_444, + asn_MAP_value_from_canonical_444, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_444 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_444, + 7, /* Elements count */ + &asn_SPC_value_specs_444 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RetrieveUEContextRequest_IEs_441[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_442, memb_id_constraint_441 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RetrieveUEContextRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_443, memb_criticality_constraint_441 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_444, + select_RetrieveUEContextRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_444, memb_value_constraint_441 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextRequest_IEs_tags_441[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextRequest_IEs_tag2el_441[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextRequest_IEs_specs_441 = { + sizeof(struct RetrieveUEContextRequest_IEs), + offsetof(struct RetrieveUEContextRequest_IEs, _asn_ctx), + asn_MAP_RetrieveUEContextRequest_IEs_tag2el_441, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextRequest_IEs = { + "RetrieveUEContextRequest-IEs", + "RetrieveUEContextRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextRequest_IEs_tags_441, + sizeof(asn_DEF_RetrieveUEContextRequest_IEs_tags_441) + /sizeof(asn_DEF_RetrieveUEContextRequest_IEs_tags_441[0]), /* 1 */ + asn_DEF_RetrieveUEContextRequest_IEs_tags_441, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextRequest_IEs_tags_441) + /sizeof(asn_DEF_RetrieveUEContextRequest_IEs_tags_441[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextRequest_IEs_441, + 3, /* Elements count */ + &asn_SPC_RetrieveUEContextRequest_IEs_specs_441 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_448[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.GUMMEI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GUMMEI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GUMMEI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.UE_ContextInformationRetrieve), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformationRetrieve, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextInformationRetrieve" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.TraceActivation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TraceActivation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TraceActivation" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.SRVCCOperationPossible), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SRVCCOperationPossible, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SRVCCOperationPossible" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.Masked_IMEISV), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_Masked_IMEISV, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Masked-IMEISV" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.ExpectedUEBehaviour), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEBehaviour, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExpectedUEBehaviour" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.ProSeAuthorized), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProSeAuthorized, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ProSeAuthorized" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.V2XServicesAuthorized), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_V2XServicesAuthorized, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "V2XServicesAuthorized" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.AerialUEsubscriptionInformation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_AerialUEsubscriptionInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "AerialUEsubscriptionInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs__value, choice.Subscription_Based_UE_DifferentiationInfo), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Subscription_Based_UE_DifferentiationInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Subscription-Based-UE-DifferentiationInfo" + }, +}; +static const unsigned asn_MAP_value_to_canonical_448[] = { 0, 1, 6, 5, 11, 2, 3, 4, 7, 8, 9, 10, 12 }; +static const unsigned asn_MAP_value_from_canonical_448[] = { 0, 1, 5, 6, 7, 3, 2, 8, 9, 10, 11, 4, 12 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_448[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 6, 0, 0 }, /* Masked-IMEISV */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 1 }, /* SRVCCOperationPossible */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 11, -1, 0 }, /* AerialUEsubscriptionInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 7 }, /* GUMMEI */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 6 }, /* UE-ContextInformationRetrieve */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 5 }, /* TraceActivation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -3, 4 }, /* ExpectedUEBehaviour */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -4, 3 }, /* ProSeAuthorized */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -5, 2 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -6, 1 }, /* V2XServicesAuthorized */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -7, 0 } /* Subscription-Based-UE-DifferentiationInfo */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_448 = { + sizeof(struct RetrieveUEContextResponse_IEs__value), + offsetof(struct RetrieveUEContextResponse_IEs__value, _asn_ctx), + offsetof(struct RetrieveUEContextResponse_IEs__value, present), + sizeof(((struct RetrieveUEContextResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_448, + 13, /* Count of tags in the map */ + asn_MAP_value_to_canonical_448, + asn_MAP_value_from_canonical_448, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_448 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_448, + 13, /* Elements count */ + &asn_SPC_value_specs_448 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RetrieveUEContextResponse_IEs_445[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_446, memb_id_constraint_445 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RetrieveUEContextResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_447, memb_criticality_constraint_445 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_448, + select_RetrieveUEContextResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_448, memb_value_constraint_445 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextResponse_IEs_tags_445[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextResponse_IEs_tag2el_445[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextResponse_IEs_specs_445 = { + sizeof(struct RetrieveUEContextResponse_IEs), + offsetof(struct RetrieveUEContextResponse_IEs, _asn_ctx), + asn_MAP_RetrieveUEContextResponse_IEs_tag2el_445, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextResponse_IEs = { + "RetrieveUEContextResponse-IEs", + "RetrieveUEContextResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextResponse_IEs_tags_445, + sizeof(asn_DEF_RetrieveUEContextResponse_IEs_tags_445) + /sizeof(asn_DEF_RetrieveUEContextResponse_IEs_tags_445[0]), /* 1 */ + asn_DEF_RetrieveUEContextResponse_IEs_tags_445, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextResponse_IEs_tags_445) + /sizeof(asn_DEF_RetrieveUEContextResponse_IEs_tags_445[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextResponse_IEs_445, + 3, /* Elements count */ + &asn_SPC_RetrieveUEContextResponse_IEs_specs_445 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_452[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_452[] = { 0, 1, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_452[] = { 0, 1, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_452[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_452 = { + sizeof(struct RetrieveUEContextFailure_IEs__value), + offsetof(struct RetrieveUEContextFailure_IEs__value, _asn_ctx), + offsetof(struct RetrieveUEContextFailure_IEs__value, present), + sizeof(((struct RetrieveUEContextFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_452, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_452, + asn_MAP_value_from_canonical_452, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_452 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_452, + 4, /* Elements count */ + &asn_SPC_value_specs_452 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RetrieveUEContextFailure_IEs_449[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_450, memb_id_constraint_449 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RetrieveUEContextFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_451, memb_criticality_constraint_449 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_452, + select_RetrieveUEContextFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_452, memb_value_constraint_449 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextFailure_IEs_tags_449[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextFailure_IEs_tag2el_449[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextFailure_IEs_specs_449 = { + sizeof(struct RetrieveUEContextFailure_IEs), + offsetof(struct RetrieveUEContextFailure_IEs, _asn_ctx), + asn_MAP_RetrieveUEContextFailure_IEs_tag2el_449, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextFailure_IEs = { + "RetrieveUEContextFailure-IEs", + "RetrieveUEContextFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextFailure_IEs_tags_449, + sizeof(asn_DEF_RetrieveUEContextFailure_IEs_tags_449) + /sizeof(asn_DEF_RetrieveUEContextFailure_IEs_tags_449[0]), /* 1 */ + asn_DEF_RetrieveUEContextFailure_IEs_tags_449, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextFailure_IEs_tags_449) + /sizeof(asn_DEF_RetrieveUEContextFailure_IEs_tags_449[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextFailure_IEs_449, + 3, /* Elements count */ + &asn_SPC_RetrieveUEContextFailure_IEs_specs_449 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_456[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.NRUESecurityCapabilities), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRUESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "NRUESecurityCapabilities" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.SgNBSecurityKey), + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), + 0, + &asn_DEF_SgNBSecurityKey, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBSecurityKey" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.UEAggregateMaximumBitRate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEAggregateMaximumBitRate" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.PLMN_Identity), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.HandoverRestrictionList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverRestrictionList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverRestrictionList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.E_RABs_ToBeAdded_SgNBAddReqList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeAdded_SgNBAddReqList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeAdded-SgNBAddReqList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.MeNBtoSgNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSgNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.ExpectedUEBehaviour), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ExpectedUEBehaviour, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ExpectedUEBehaviour" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.SplitSRBs), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SplitSRBs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SplitSRBs" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.MeNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBResourceCoordinationInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.SGNB_Addition_Trigger_Ind), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SGNB_Addition_Trigger_Ind, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SGNB-Addition-Trigger-Ind" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.SubscriberProfileIDforRFP), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SubscriberProfileIDforRFP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SubscriberProfileIDforRFP" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs__value, choice.ECGI), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ECGI" + }, +}; +static const unsigned asn_MAP_value_to_canonical_456[] = { 0, 8, 10, 14, 2, 4, 7, 11, 13, 1, 3, 5, 6, 9, 12, 15 }; +static const unsigned asn_MAP_value_from_canonical_456[] = { 0, 9, 4, 10, 5, 11, 12, 6, 1, 13, 2, 7, 14, 8, 3, 15 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_456[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 3 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 8, -1, 2 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 10, -2, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 14, -3, 0 }, /* SubscriberProfileIDforRFP */ + { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* SgNBSecurityKey */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 1 }, /* PLMN-Identity */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -1, 0 }, /* MeNBtoSgNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 11, 0, 1 }, /* SplitSRBs */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 13, -1, 0 }, /* SGNB-Addition-Trigger-Ind */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 6 }, /* NRUESecurityCapabilities */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 5 }, /* UEAggregateMaximumBitRate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -2, 4 }, /* HandoverRestrictionList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -3, 3 }, /* E-RABs-ToBeAdded-SgNBAddReqList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -4, 2 }, /* ExpectedUEBehaviour */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -5, 1 }, /* MeNBResourceCoordinationInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -6, 0 } /* ECGI */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_456 = { + sizeof(struct SgNBAdditionRequest_IEs__value), + offsetof(struct SgNBAdditionRequest_IEs__value, _asn_ctx), + offsetof(struct SgNBAdditionRequest_IEs__value, present), + sizeof(((struct SgNBAdditionRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_456, + 16, /* Count of tags in the map */ + asn_MAP_value_to_canonical_456, + asn_MAP_value_from_canonical_456, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_456 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_456, + 16, /* Elements count */ + &asn_SPC_value_specs_456 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBAdditionRequest_IEs_453[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_454, memb_id_constraint_453 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBAdditionRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_455, memb_criticality_constraint_453 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_456, + select_SgNBAdditionRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_456, memb_value_constraint_453 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBAdditionRequest_IEs_tags_453[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBAdditionRequest_IEs_tag2el_453[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequest_IEs_specs_453 = { + sizeof(struct SgNBAdditionRequest_IEs), + offsetof(struct SgNBAdditionRequest_IEs, _asn_ctx), + asn_MAP_SgNBAdditionRequest_IEs_tag2el_453, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequest_IEs = { + "SgNBAdditionRequest-IEs", + "SgNBAdditionRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBAdditionRequest_IEs_tags_453, + sizeof(asn_DEF_SgNBAdditionRequest_IEs_tags_453) + /sizeof(asn_DEF_SgNBAdditionRequest_IEs_tags_453[0]), /* 1 */ + asn_DEF_SgNBAdditionRequest_IEs_tags_453, /* Same as above */ + sizeof(asn_DEF_SgNBAdditionRequest_IEs_tags_453) + /sizeof(asn_DEF_SgNBAdditionRequest_IEs_tags_453[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBAdditionRequest_IEs_453, + 3, /* Elements count */ + &asn_SPC_SgNBAdditionRequest_IEs_specs_453 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_460[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.E_RAB_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.SgNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SgNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.SplitSRBs), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SplitSRBs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SplitSRBs" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.SgNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBResourceCoordinationInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, choice.RRC_Config_Ind), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RRC_Config_Ind, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRC-Config-Ind" + }, +}; +static const unsigned asn_MAP_value_to_canonical_460[] = { 0, 1, 6, 4, 7, 9, 2, 3, 5, 8 }; +static const unsigned asn_MAP_value_from_canonical_460[] = { 0, 1, 6, 7, 3, 8, 2, 4, 9, 5 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_460[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 0 }, /* SgNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 7, 0, 1 }, /* SplitSRBs */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 9, -1, 0 }, /* RRC-Config-Ind */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 3 }, /* E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 2 }, /* E-RAB-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -2, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -3, 0 } /* SgNBResourceCoordinationInformation */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_460 = { + sizeof(struct SgNBAdditionRequestAcknowledge_IEs__value), + offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct SgNBAdditionRequestAcknowledge_IEs__value, present), + sizeof(((struct SgNBAdditionRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_460, + 10, /* Count of tags in the map */ + asn_MAP_value_to_canonical_460, + asn_MAP_value_from_canonical_460, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_460 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_460, + 10, /* Elements count */ + &asn_SPC_value_specs_460 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBAdditionRequestAcknowledge_IEs_457[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_458, memb_id_constraint_457 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBAdditionRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_459, memb_criticality_constraint_457 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_460, + select_SgNBAdditionRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_460, memb_value_constraint_457 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBAdditionRequestAcknowledge_IEs_tag2el_457[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestAcknowledge_IEs_specs_457 = { + sizeof(struct SgNBAdditionRequestAcknowledge_IEs), + offsetof(struct SgNBAdditionRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_SgNBAdditionRequestAcknowledge_IEs_tag2el_457, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestAcknowledge_IEs = { + "SgNBAdditionRequestAcknowledge-IEs", + "SgNBAdditionRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457, + sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457) + /sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457[0]), /* 1 */ + asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457, /* Same as above */ + sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457) + /sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_IEs_tags_457[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBAdditionRequestAcknowledge_IEs_457, + 3, /* Elements count */ + &asn_SPC_SgNBAdditionRequestAcknowledge_IEs_specs_457 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_464[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_464[] = { 0, 1, 4, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_464[] = { 0, 1, 4, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_464[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_464 = { + sizeof(struct SgNBAdditionRequestReject_IEs__value), + offsetof(struct SgNBAdditionRequestReject_IEs__value, _asn_ctx), + offsetof(struct SgNBAdditionRequestReject_IEs__value, present), + sizeof(((struct SgNBAdditionRequestReject_IEs__value *)0)->present), + asn_MAP_value_tag2el_464, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_464, + asn_MAP_value_from_canonical_464, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_464 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_464, + 5, /* Elements count */ + &asn_SPC_value_specs_464 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBAdditionRequestReject_IEs_461[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_462, memb_id_constraint_461 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBAdditionRequestReject_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_463, memb_criticality_constraint_461 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestReject_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_464, + select_SgNBAdditionRequestReject_IEs_value_type, + { 0, &asn_PER_memb_value_constr_464, memb_value_constraint_461 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBAdditionRequestReject_IEs_tags_461[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBAdditionRequestReject_IEs_tag2el_461[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestReject_IEs_specs_461 = { + sizeof(struct SgNBAdditionRequestReject_IEs), + offsetof(struct SgNBAdditionRequestReject_IEs, _asn_ctx), + asn_MAP_SgNBAdditionRequestReject_IEs_tag2el_461, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestReject_IEs = { + "SgNBAdditionRequestReject-IEs", + "SgNBAdditionRequestReject-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBAdditionRequestReject_IEs_tags_461, + sizeof(asn_DEF_SgNBAdditionRequestReject_IEs_tags_461) + /sizeof(asn_DEF_SgNBAdditionRequestReject_IEs_tags_461[0]), /* 1 */ + asn_DEF_SgNBAdditionRequestReject_IEs_tags_461, /* Same as above */ + sizeof(asn_DEF_SgNBAdditionRequestReject_IEs_tags_461) + /sizeof(asn_DEF_SgNBAdditionRequestReject_IEs_tags_461[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBAdditionRequestReject_IEs_461, + 3, /* Elements count */ + &asn_SPC_SgNBAdditionRequestReject_IEs_specs_461 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_468[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs__value, choice.ResponseInformationSgNBReconfComp), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ResponseInformationSgNBReconfComp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResponseInformationSgNBReconfComp" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_468[] = { 0, 1, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_468[] = { 0, 1, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_468[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* success-SgNBReconfComp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* reject-by-MeNB-SgNBReconfComp */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_468 = { + sizeof(struct SgNBReconfigurationComplete_IEs__value), + offsetof(struct SgNBReconfigurationComplete_IEs__value, _asn_ctx), + offsetof(struct SgNBReconfigurationComplete_IEs__value, present), + sizeof(((struct SgNBReconfigurationComplete_IEs__value *)0)->present), + asn_MAP_value_tag2el_468, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_468, + asn_MAP_value_from_canonical_468, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_468 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_468, + 4, /* Elements count */ + &asn_SPC_value_specs_468 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReconfigurationComplete_IEs_465[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_466, memb_id_constraint_465 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReconfigurationComplete_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_467, memb_criticality_constraint_465 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReconfigurationComplete_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_468, + select_SgNBReconfigurationComplete_IEs_value_type, + { 0, &asn_PER_memb_value_constr_468, memb_value_constraint_465 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReconfigurationComplete_IEs_tags_465[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReconfigurationComplete_IEs_tag2el_465[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReconfigurationComplete_IEs_specs_465 = { + sizeof(struct SgNBReconfigurationComplete_IEs), + offsetof(struct SgNBReconfigurationComplete_IEs, _asn_ctx), + asn_MAP_SgNBReconfigurationComplete_IEs_tag2el_465, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReconfigurationComplete_IEs = { + "SgNBReconfigurationComplete-IEs", + "SgNBReconfigurationComplete-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReconfigurationComplete_IEs_tags_465, + sizeof(asn_DEF_SgNBReconfigurationComplete_IEs_tags_465) + /sizeof(asn_DEF_SgNBReconfigurationComplete_IEs_tags_465[0]), /* 1 */ + asn_DEF_SgNBReconfigurationComplete_IEs_tags_465, /* Same as above */ + sizeof(asn_DEF_SgNBReconfigurationComplete_IEs_tags_465) + /sizeof(asn_DEF_SgNBReconfigurationComplete_IEs_tags_465[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReconfigurationComplete_IEs_465, + 3, /* Elements count */ + &asn_SPC_SgNBReconfigurationComplete_IEs_specs_465 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_472[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.PLMN_Identity), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.HandoverRestrictionList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverRestrictionList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverRestrictionList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.SCGConfigurationQuery), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SCGConfigurationQuery, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SCGConfigurationQuery" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.UE_ContextInformation_SgNBModReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UE_ContextInformation_SgNBModReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextInformation-SgNBModReq" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.MeNBtoSgNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSgNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.MeNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBResourceCoordinationInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs__value, choice.SplitSRBs), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SplitSRBs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SplitSRBs" + }, +}; +static const unsigned asn_MAP_value_to_canonical_472[] = { 0, 1, 8, 3, 7, 5, 10, 4, 6, 9, 2 }; +static const unsigned asn_MAP_value_from_canonical_472[] = { 0, 1, 10, 3, 7, 5, 8, 4, 2, 9, 6 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_472[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 8, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 1 }, /* PLMN-Identity */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -1, 0 }, /* MeNBtoSgNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 1 }, /* SCGConfigurationQuery */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 10, -1, 0 }, /* SplitSRBs */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 2 }, /* HandoverRestrictionList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -1, 1 }, /* UE-ContextInformation-SgNBModReq */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -2, 0 }, /* MeNBResourceCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_472 = { + sizeof(struct SgNBModificationRequest_IEs__value), + offsetof(struct SgNBModificationRequest_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationRequest_IEs__value, present), + sizeof(((struct SgNBModificationRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_472, + 14, /* Count of tags in the map */ + asn_MAP_value_to_canonical_472, + asn_MAP_value_from_canonical_472, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_472 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_472, + 11, /* Elements count */ + &asn_SPC_value_specs_472 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationRequest_IEs_469[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_470, memb_id_constraint_469 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_471, memb_criticality_constraint_469 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_472, + select_SgNBModificationRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_472, memb_value_constraint_469 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequest_IEs_tags_469[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequest_IEs_tag2el_469[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequest_IEs_specs_469 = { + sizeof(struct SgNBModificationRequest_IEs), + offsetof(struct SgNBModificationRequest_IEs, _asn_ctx), + asn_MAP_SgNBModificationRequest_IEs_tag2el_469, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequest_IEs = { + "SgNBModificationRequest-IEs", + "SgNBModificationRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequest_IEs_tags_469, + sizeof(asn_DEF_SgNBModificationRequest_IEs_tags_469) + /sizeof(asn_DEF_SgNBModificationRequest_IEs_tags_469[0]), /* 1 */ + asn_DEF_SgNBModificationRequest_IEs_tags_469, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequest_IEs_tags_469) + /sizeof(asn_DEF_SgNBModificationRequest_IEs_tags_469[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequest_IEs_469, + 3, /* Elements count */ + &asn_SPC_SgNBModificationRequest_IEs_specs_469 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_476[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeAdded_SgNBModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeAdded-SgNBModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeModified_SgNBModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeModified-SgNBModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeReleased_SgNBModAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeReleased-SgNBModAckList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.E_RAB_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RAB_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RAB-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.SgNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SgNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.SgNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBResourceCoordinationInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.SplitSRBs), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SplitSRBs, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SplitSRBs" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, choice.RRC_Config_Ind), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RRC_Config_Ind, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRC-Config-Ind" + }, +}; +static const unsigned asn_MAP_value_to_canonical_476[] = { 0, 1, 8, 6, 10, 11, 2, 3, 4, 5, 7, 9 }; +static const unsigned asn_MAP_value_from_canonical_476[] = { 0, 1, 6, 7, 8, 9, 3, 10, 2, 11, 4, 5 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_476[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 8, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, 0, 0 }, /* SgNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 10, 0, 1 }, /* SplitSRBs */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 11, -1, 0 }, /* RRC-Config-Ind */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 5 }, /* E-RABs-Admitted-ToBeAdded-SgNBModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 4 }, /* E-RABs-Admitted-ToBeModified-SgNBModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 3 }, /* E-RABs-Admitted-ToBeReleased-SgNBModAckList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -3, 2 }, /* E-RAB-List */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -4, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -5, 0 } /* SgNBResourceCoordinationInformation */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_476 = { + sizeof(struct SgNBModificationRequestAcknowledge_IEs__value), + offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationRequestAcknowledge_IEs__value, present), + sizeof(((struct SgNBModificationRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_476, + 12, /* Count of tags in the map */ + asn_MAP_value_to_canonical_476, + asn_MAP_value_from_canonical_476, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_476 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_476, + 12, /* Elements count */ + &asn_SPC_value_specs_476 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationRequestAcknowledge_IEs_473[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_474, memb_id_constraint_473 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_475, memb_criticality_constraint_473 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_476, + select_SgNBModificationRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_476, memb_value_constraint_473 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequestAcknowledge_IEs_tag2el_473[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestAcknowledge_IEs_specs_473 = { + sizeof(struct SgNBModificationRequestAcknowledge_IEs), + offsetof(struct SgNBModificationRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_SgNBModificationRequestAcknowledge_IEs_tag2el_473, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestAcknowledge_IEs = { + "SgNBModificationRequestAcknowledge-IEs", + "SgNBModificationRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473, + sizeof(asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473) + /sizeof(asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473[0]), /* 1 */ + asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473) + /sizeof(asn_DEF_SgNBModificationRequestAcknowledge_IEs_tags_473[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequestAcknowledge_IEs_473, + 3, /* Elements count */ + &asn_SPC_SgNBModificationRequestAcknowledge_IEs_specs_473 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_480[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_480[] = { 0, 1, 4, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_480[] = { 0, 1, 4, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_480[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_480 = { + sizeof(struct SgNBModificationRequestReject_IEs__value), + offsetof(struct SgNBModificationRequestReject_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationRequestReject_IEs__value, present), + sizeof(((struct SgNBModificationRequestReject_IEs__value *)0)->present), + asn_MAP_value_tag2el_480, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_480, + asn_MAP_value_from_canonical_480, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_480 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_480, + 5, /* Elements count */ + &asn_SPC_value_specs_480 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationRequestReject_IEs_477[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_478, memb_id_constraint_477 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationRequestReject_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_479, memb_criticality_constraint_477 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestReject_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_480, + select_SgNBModificationRequestReject_IEs_value_type, + { 0, &asn_PER_memb_value_constr_480, memb_value_constraint_477 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequestReject_IEs_tags_477[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequestReject_IEs_tag2el_477[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestReject_IEs_specs_477 = { + sizeof(struct SgNBModificationRequestReject_IEs), + offsetof(struct SgNBModificationRequestReject_IEs, _asn_ctx), + asn_MAP_SgNBModificationRequestReject_IEs_tag2el_477, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestReject_IEs = { + "SgNBModificationRequestReject-IEs", + "SgNBModificationRequestReject-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequestReject_IEs_tags_477, + sizeof(asn_DEF_SgNBModificationRequestReject_IEs_tags_477) + /sizeof(asn_DEF_SgNBModificationRequestReject_IEs_tags_477[0]), /* 1 */ + asn_DEF_SgNBModificationRequestReject_IEs_tags_477, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequestReject_IEs_tags_477) + /sizeof(asn_DEF_SgNBModificationRequestReject_IEs_tags_477[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequestReject_IEs_477, + 3, /* Elements count */ + &asn_SPC_SgNBModificationRequestReject_IEs_specs_477 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_484[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.PDCPChangeIndication), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_PDCPChangeIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PDCPChangeIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.E_RABs_ToBeReleased_SgNBModReqdList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBModReqdList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBModReqdList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.SgNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SgNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.E_RABs_ToBeModified_SgNBModReqdList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeModified_SgNBModReqdList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeModified-SgNBModReqdList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.SgNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBResourceCoordinationInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs__value, choice.RRC_Config_Ind), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RRC_Config_Ind, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRC-Config-Ind" + }, +}; +static const unsigned asn_MAP_value_to_canonical_484[] = { 0, 1, 6, 5, 3, 9, 4, 7, 8, 2 }; +static const unsigned asn_MAP_value_from_canonical_484[] = { 0, 1, 9, 4, 6, 3, 2, 7, 8, 5 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_484[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 0 }, /* SgNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 1 }, /* PDCPChangeIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 9, -1, 0 }, /* RRC-Config-Ind */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 2 }, /* E-RABs-ToBeReleased-SgNBModReqdList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -1, 1 }, /* E-RABs-ToBeModified-SgNBModReqdList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -2, 0 }, /* SgNBResourceCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_484 = { + sizeof(struct SgNBModificationRequired_IEs__value), + offsetof(struct SgNBModificationRequired_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationRequired_IEs__value, present), + sizeof(((struct SgNBModificationRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_484, + 13, /* Count of tags in the map */ + asn_MAP_value_to_canonical_484, + asn_MAP_value_from_canonical_484, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_484 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_484, + 10, /* Elements count */ + &asn_SPC_value_specs_484 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationRequired_IEs_481[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_482, memb_id_constraint_481 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_483, memb_criticality_constraint_481 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_484, + select_SgNBModificationRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_484, memb_value_constraint_481 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequired_IEs_tags_481[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequired_IEs_tag2el_481[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequired_IEs_specs_481 = { + sizeof(struct SgNBModificationRequired_IEs), + offsetof(struct SgNBModificationRequired_IEs, _asn_ctx), + asn_MAP_SgNBModificationRequired_IEs_tag2el_481, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequired_IEs = { + "SgNBModificationRequired-IEs", + "SgNBModificationRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequired_IEs_tags_481, + sizeof(asn_DEF_SgNBModificationRequired_IEs_tags_481) + /sizeof(asn_DEF_SgNBModificationRequired_IEs_tags_481[0]), /* 1 */ + asn_DEF_SgNBModificationRequired_IEs_tags_481, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequired_IEs_tags_481) + /sizeof(asn_DEF_SgNBModificationRequired_IEs_tags_481[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequired_IEs_481, + 3, /* Elements count */ + &asn_SPC_SgNBModificationRequired_IEs_specs_481 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_488[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.E_RABs_AdmittedToBeModified_SgNBModConfList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConfList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-AdmittedToBeModified-SgNBModConfList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.MeNBtoSgNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSgNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs__value, choice.MeNBResourceCoordinationInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MeNBResourceCoordinationInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBResourceCoordinationInformation" + }, +}; +static const unsigned asn_MAP_value_to_canonical_488[] = { 0, 1, 5, 3, 2, 4, 6 }; +static const unsigned asn_MAP_value_from_canonical_488[] = { 0, 1, 4, 3, 5, 2, 6 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_488[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 0 }, /* MeNBtoSgNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 2 }, /* E-RABs-AdmittedToBeModified-SgNBModConfList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -2, 0 } /* MeNBResourceCoordinationInformation */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_488 = { + sizeof(struct SgNBModificationConfirm_IEs__value), + offsetof(struct SgNBModificationConfirm_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationConfirm_IEs__value, present), + sizeof(((struct SgNBModificationConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_488, + 7, /* Count of tags in the map */ + asn_MAP_value_to_canonical_488, + asn_MAP_value_from_canonical_488, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_488 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_488, + 7, /* Elements count */ + &asn_SPC_value_specs_488 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationConfirm_IEs_485[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_486, memb_id_constraint_485 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_487, memb_criticality_constraint_485 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_488, + select_SgNBModificationConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_488, memb_value_constraint_485 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationConfirm_IEs_tags_485[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationConfirm_IEs_tag2el_485[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationConfirm_IEs_specs_485 = { + sizeof(struct SgNBModificationConfirm_IEs), + offsetof(struct SgNBModificationConfirm_IEs, _asn_ctx), + asn_MAP_SgNBModificationConfirm_IEs_tag2el_485, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationConfirm_IEs = { + "SgNBModificationConfirm-IEs", + "SgNBModificationConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationConfirm_IEs_tags_485, + sizeof(asn_DEF_SgNBModificationConfirm_IEs_tags_485) + /sizeof(asn_DEF_SgNBModificationConfirm_IEs_tags_485[0]), /* 1 */ + asn_DEF_SgNBModificationConfirm_IEs_tags_485, /* Same as above */ + sizeof(asn_DEF_SgNBModificationConfirm_IEs_tags_485) + /sizeof(asn_DEF_SgNBModificationConfirm_IEs_tags_485[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationConfirm_IEs_485, + 3, /* Elements count */ + &asn_SPC_SgNBModificationConfirm_IEs_specs_485 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_492[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.MeNBtoSgNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSgNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_492[] = { 0, 1, 5, 3, 4, 2 }; +static const unsigned asn_MAP_value_from_canonical_492[] = { 0, 1, 5, 3, 4, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_492[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, 0, 0 }, /* MeNBtoSgNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_492 = { + sizeof(struct SgNBModificationRefuse_IEs__value), + offsetof(struct SgNBModificationRefuse_IEs__value, _asn_ctx), + offsetof(struct SgNBModificationRefuse_IEs__value, present), + sizeof(((struct SgNBModificationRefuse_IEs__value *)0)->present), + asn_MAP_value_tag2el_492, + 9, /* Count of tags in the map */ + asn_MAP_value_to_canonical_492, + asn_MAP_value_from_canonical_492, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_492 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_492, + 6, /* Elements count */ + &asn_SPC_value_specs_492 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBModificationRefuse_IEs_489[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_490, memb_id_constraint_489 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBModificationRefuse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_491, memb_criticality_constraint_489 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_492, + select_SgNBModificationRefuse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_492, memb_value_constraint_489 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRefuse_IEs_tags_489[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRefuse_IEs_tag2el_489[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRefuse_IEs_specs_489 = { + sizeof(struct SgNBModificationRefuse_IEs), + offsetof(struct SgNBModificationRefuse_IEs, _asn_ctx), + asn_MAP_SgNBModificationRefuse_IEs_tag2el_489, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRefuse_IEs = { + "SgNBModificationRefuse-IEs", + "SgNBModificationRefuse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRefuse_IEs_tags_489, + sizeof(asn_DEF_SgNBModificationRefuse_IEs_tags_489) + /sizeof(asn_DEF_SgNBModificationRefuse_IEs_tags_489[0]), /* 1 */ + asn_DEF_SgNBModificationRefuse_IEs_tags_489, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRefuse_IEs_tags_489) + /sizeof(asn_DEF_SgNBModificationRefuse_IEs_tags_489[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRefuse_IEs_489, + 3, /* Elements count */ + &asn_SPC_SgNBModificationRefuse_IEs_specs_489 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_496[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.E_RABs_ToBeReleased_SgNBRelReqList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReqList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelReqList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.UE_ContextKeptIndicator), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UE_ContextKeptIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-ContextKeptIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs__value, choice.MeNBtoSgNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MeNBtoSgNBContainer" + }, +}; +static const unsigned asn_MAP_value_to_canonical_496[] = { 0, 1, 5, 6, 4, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_496[] = { 0, 1, 6, 5, 4, 2, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_496[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, 0, 0 }, /* MeNBtoSgNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* UE-ContextKeptIndicator */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* E-RABs-ToBeReleased-SgNBRelReqList */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_496 = { + sizeof(struct SgNBReleaseRequest_IEs__value), + offsetof(struct SgNBReleaseRequest_IEs__value, _asn_ctx), + offsetof(struct SgNBReleaseRequest_IEs__value, present), + sizeof(((struct SgNBReleaseRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_496, + 10, /* Count of tags in the map */ + asn_MAP_value_to_canonical_496, + asn_MAP_value_from_canonical_496, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_496 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_496, + 7, /* Elements count */ + &asn_SPC_value_specs_496 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequest_IEs_493[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_494, memb_id_constraint_493 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReleaseRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_495, memb_criticality_constraint_493 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_496, + select_SgNBReleaseRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_496, memb_value_constraint_493 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequest_IEs_tags_493[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequest_IEs_tag2el_493[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequest_IEs_specs_493 = { + sizeof(struct SgNBReleaseRequest_IEs), + offsetof(struct SgNBReleaseRequest_IEs, _asn_ctx), + asn_MAP_SgNBReleaseRequest_IEs_tag2el_493, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequest_IEs = { + "SgNBReleaseRequest-IEs", + "SgNBReleaseRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequest_IEs_tags_493, + sizeof(asn_DEF_SgNBReleaseRequest_IEs_tags_493) + /sizeof(asn_DEF_SgNBReleaseRequest_IEs_tags_493[0]), /* 1 */ + asn_DEF_SgNBReleaseRequest_IEs_tags_493, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequest_IEs_tags_493) + /sizeof(asn_DEF_SgNBReleaseRequest_IEs_tags_493[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequest_IEs_493, + 3, /* Elements count */ + &asn_SPC_SgNBReleaseRequest_IEs_specs_493 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_500[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, choice.E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList" + }, +}; +static const unsigned asn_MAP_value_to_canonical_500[] = { 0, 1, 3, 2, 4 }; +static const unsigned asn_MAP_value_from_canonical_500[] = { 0, 1, 3, 2, 4 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_500[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 } /* E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_500 = { + sizeof(struct SgNBReleaseRequestAcknowledge_IEs__value), + offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, _asn_ctx), + offsetof(struct SgNBReleaseRequestAcknowledge_IEs__value, present), + sizeof(((struct SgNBReleaseRequestAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_500, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_500, + asn_MAP_value_from_canonical_500, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_500 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_500, + 5, /* Elements count */ + &asn_SPC_value_specs_500 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequestAcknowledge_IEs_497[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_498, memb_id_constraint_497 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReleaseRequestAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_499, memb_criticality_constraint_497 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_500, + select_SgNBReleaseRequestAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_500, memb_value_constraint_497 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequestAcknowledge_IEs_tag2el_497[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestAcknowledge_IEs_specs_497 = { + sizeof(struct SgNBReleaseRequestAcknowledge_IEs), + offsetof(struct SgNBReleaseRequestAcknowledge_IEs, _asn_ctx), + asn_MAP_SgNBReleaseRequestAcknowledge_IEs_tag2el_497, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestAcknowledge_IEs = { + "SgNBReleaseRequestAcknowledge-IEs", + "SgNBReleaseRequestAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497, + sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497) + /sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497[0]), /* 1 */ + asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497) + /sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_IEs_tags_497[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequestAcknowledge_IEs_497, + 3, /* Elements count */ + &asn_SPC_SgNBReleaseRequestAcknowledge_IEs_specs_497 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_504[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_504[] = { 0, 1, 4, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_504[] = { 0, 1, 4, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_504[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_504 = { + sizeof(struct SgNBReleaseRequestReject_IEs__value), + offsetof(struct SgNBReleaseRequestReject_IEs__value, _asn_ctx), + offsetof(struct SgNBReleaseRequestReject_IEs__value, present), + sizeof(((struct SgNBReleaseRequestReject_IEs__value *)0)->present), + asn_MAP_value_tag2el_504, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_504, + asn_MAP_value_from_canonical_504, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_504 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_504, + 5, /* Elements count */ + &asn_SPC_value_specs_504 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequestReject_IEs_501[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_502, memb_id_constraint_501 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReleaseRequestReject_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_503, memb_criticality_constraint_501 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_504, + select_SgNBReleaseRequestReject_IEs_value_type, + { 0, &asn_PER_memb_value_constr_504, memb_value_constraint_501 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequestReject_IEs_tags_501[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequestReject_IEs_tag2el_501[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestReject_IEs_specs_501 = { + sizeof(struct SgNBReleaseRequestReject_IEs), + offsetof(struct SgNBReleaseRequestReject_IEs, _asn_ctx), + asn_MAP_SgNBReleaseRequestReject_IEs_tag2el_501, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestReject_IEs = { + "SgNBReleaseRequestReject-IEs", + "SgNBReleaseRequestReject-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequestReject_IEs_tags_501, + sizeof(asn_DEF_SgNBReleaseRequestReject_IEs_tags_501) + /sizeof(asn_DEF_SgNBReleaseRequestReject_IEs_tags_501[0]), /* 1 */ + asn_DEF_SgNBReleaseRequestReject_IEs_tags_501, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequestReject_IEs_tags_501) + /sizeof(asn_DEF_SgNBReleaseRequestReject_IEs_tags_501[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequestReject_IEs_501, + 3, /* Elements count */ + &asn_SPC_SgNBReleaseRequestReject_IEs_specs_501 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_508[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs__value, choice.E_RABs_ToBeReleased_SgNBRelReqdList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelReqdList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelReqdList" + }, +}; +static const unsigned asn_MAP_value_to_canonical_508[] = { 0, 1, 3, 4, 2 }; +static const unsigned asn_MAP_value_from_canonical_508[] = { 0, 1, 4, 2, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_508[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 0 }, /* E-RABs-ToBeReleased-SgNBRelReqdList */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_508 = { + sizeof(struct SgNBReleaseRequired_IEs__value), + offsetof(struct SgNBReleaseRequired_IEs__value, _asn_ctx), + offsetof(struct SgNBReleaseRequired_IEs__value, present), + sizeof(((struct SgNBReleaseRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_508, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_508, + asn_MAP_value_from_canonical_508, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_508 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_508, + 5, /* Elements count */ + &asn_SPC_value_specs_508 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequired_IEs_505[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_506, memb_id_constraint_505 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReleaseRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_507, memb_criticality_constraint_505 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_508, + select_SgNBReleaseRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_508, memb_value_constraint_505 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequired_IEs_tags_505[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequired_IEs_tag2el_505[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequired_IEs_specs_505 = { + sizeof(struct SgNBReleaseRequired_IEs), + offsetof(struct SgNBReleaseRequired_IEs, _asn_ctx), + asn_MAP_SgNBReleaseRequired_IEs_tag2el_505, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequired_IEs = { + "SgNBReleaseRequired-IEs", + "SgNBReleaseRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequired_IEs_tags_505, + sizeof(asn_DEF_SgNBReleaseRequired_IEs_tags_505) + /sizeof(asn_DEF_SgNBReleaseRequired_IEs_tags_505[0]), /* 1 */ + asn_DEF_SgNBReleaseRequired_IEs_tags_505, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequired_IEs_tags_505) + /sizeof(asn_DEF_SgNBReleaseRequired_IEs_tags_505[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequired_IEs_505, + 3, /* Elements count */ + &asn_SPC_SgNBReleaseRequired_IEs_specs_505 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_512[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs__value, choice.E_RABs_ToBeReleased_SgNBRelConfList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBRelConfList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBRelConfList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_512[] = { 0, 1, 4, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_512[] = { 0, 1, 3, 4, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_512[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* E-RABs-ToBeReleased-SgNBRelConfList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_512 = { + sizeof(struct SgNBReleaseConfirm_IEs__value), + offsetof(struct SgNBReleaseConfirm_IEs__value, _asn_ctx), + offsetof(struct SgNBReleaseConfirm_IEs__value, present), + sizeof(((struct SgNBReleaseConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_512, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_512, + asn_MAP_value_from_canonical_512, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_512 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_512, + 5, /* Elements count */ + &asn_SPC_value_specs_512 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBReleaseConfirm_IEs_509[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_510, memb_id_constraint_509 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBReleaseConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_511, memb_criticality_constraint_509 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_512, + select_SgNBReleaseConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_512, memb_value_constraint_509 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseConfirm_IEs_tags_509[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseConfirm_IEs_tag2el_509[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseConfirm_IEs_specs_509 = { + sizeof(struct SgNBReleaseConfirm_IEs), + offsetof(struct SgNBReleaseConfirm_IEs, _asn_ctx), + asn_MAP_SgNBReleaseConfirm_IEs_tag2el_509, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseConfirm_IEs = { + "SgNBReleaseConfirm-IEs", + "SgNBReleaseConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseConfirm_IEs_tags_509, + sizeof(asn_DEF_SgNBReleaseConfirm_IEs_tags_509) + /sizeof(asn_DEF_SgNBReleaseConfirm_IEs_tags_509[0]), /* 1 */ + asn_DEF_SgNBReleaseConfirm_IEs_tags_509, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseConfirm_IEs_tags_509) + /sizeof(asn_DEF_SgNBReleaseConfirm_IEs_tags_509[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseConfirm_IEs_509, + 3, /* Elements count */ + &asn_SPC_SgNBReleaseConfirm_IEs_specs_509 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_516[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs__value, choice.E_RABs_SubjectToSgNBCounterCheck_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_SubjectToSgNBCounterCheck_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-SubjectToSgNBCounterCheck-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_516[] = { 0, 1, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_516[] = { 0, 1, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_516[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 } /* E-RABs-SubjectToSgNBCounterCheck-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_516 = { + sizeof(struct SgNBCounterCheckRequest_IEs__value), + offsetof(struct SgNBCounterCheckRequest_IEs__value, _asn_ctx), + offsetof(struct SgNBCounterCheckRequest_IEs__value, present), + sizeof(((struct SgNBCounterCheckRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_516, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_516, + asn_MAP_value_from_canonical_516, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_516 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_516, + 4, /* Elements count */ + &asn_SPC_value_specs_516 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBCounterCheckRequest_IEs_513[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_514, memb_id_constraint_513 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBCounterCheckRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_515, memb_criticality_constraint_513 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_516, + select_SgNBCounterCheckRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_516, memb_value_constraint_513 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBCounterCheckRequest_IEs_tags_513[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBCounterCheckRequest_IEs_tag2el_513[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBCounterCheckRequest_IEs_specs_513 = { + sizeof(struct SgNBCounterCheckRequest_IEs), + offsetof(struct SgNBCounterCheckRequest_IEs, _asn_ctx), + asn_MAP_SgNBCounterCheckRequest_IEs_tag2el_513, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBCounterCheckRequest_IEs = { + "SgNBCounterCheckRequest-IEs", + "SgNBCounterCheckRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBCounterCheckRequest_IEs_tags_513, + sizeof(asn_DEF_SgNBCounterCheckRequest_IEs_tags_513) + /sizeof(asn_DEF_SgNBCounterCheckRequest_IEs_tags_513[0]), /* 1 */ + asn_DEF_SgNBCounterCheckRequest_IEs_tags_513, /* Same as above */ + sizeof(asn_DEF_SgNBCounterCheckRequest_IEs_tags_513) + /sizeof(asn_DEF_SgNBCounterCheckRequest_IEs_tags_513[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBCounterCheckRequest_IEs_513, + 3, /* Elements count */ + &asn_SPC_SgNBCounterCheckRequest_IEs_specs_513 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_520[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.GlobalGNB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalGNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.SgNBtoMeNBContainer), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_SgNBtoMeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBtoMeNBContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_520[] = { 0, 1, 5, 4, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_520[] = { 0, 1, 4, 5, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_520[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 5, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, 0, 0 }, /* SgNBtoMeNBContainer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* GlobalGNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_520 = { + sizeof(struct SgNBChangeRequired_IEs__value), + offsetof(struct SgNBChangeRequired_IEs__value, _asn_ctx), + offsetof(struct SgNBChangeRequired_IEs__value, present), + sizeof(((struct SgNBChangeRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_520, + 9, /* Count of tags in the map */ + asn_MAP_value_to_canonical_520, + asn_MAP_value_from_canonical_520, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_520 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_520, + 6, /* Elements count */ + &asn_SPC_value_specs_520 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBChangeRequired_IEs_517[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_518, memb_id_constraint_517 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBChangeRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_519, memb_criticality_constraint_517 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_520, + select_SgNBChangeRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_520, memb_value_constraint_517 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeRequired_IEs_tags_517[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeRequired_IEs_tag2el_517[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRequired_IEs_specs_517 = { + sizeof(struct SgNBChangeRequired_IEs), + offsetof(struct SgNBChangeRequired_IEs, _asn_ctx), + asn_MAP_SgNBChangeRequired_IEs_tag2el_517, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeRequired_IEs = { + "SgNBChangeRequired-IEs", + "SgNBChangeRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeRequired_IEs_tags_517, + sizeof(asn_DEF_SgNBChangeRequired_IEs_tags_517) + /sizeof(asn_DEF_SgNBChangeRequired_IEs_tags_517[0]), /* 1 */ + asn_DEF_SgNBChangeRequired_IEs_tags_517, /* Same as above */ + sizeof(asn_DEF_SgNBChangeRequired_IEs_tags_517) + /sizeof(asn_DEF_SgNBChangeRequired_IEs_tags_517[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeRequired_IEs_517, + 3, /* Elements count */ + &asn_SPC_SgNBChangeRequired_IEs_specs_517 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_524[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs__value, choice.E_RABs_ToBeReleased_SgNBChaConfList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_ToBeReleased_SgNBChaConfList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-ToBeReleased-SgNBChaConfList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_524[] = { 0, 1, 4, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_524[] = { 0, 1, 3, 4, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_524[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* E-RABs-ToBeReleased-SgNBChaConfList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_524 = { + sizeof(struct SgNBChangeConfirm_IEs__value), + offsetof(struct SgNBChangeConfirm_IEs__value, _asn_ctx), + offsetof(struct SgNBChangeConfirm_IEs__value, present), + sizeof(((struct SgNBChangeConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_524, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_524, + asn_MAP_value_from_canonical_524, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_524 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_524, + 5, /* Elements count */ + &asn_SPC_value_specs_524 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBChangeConfirm_IEs_521[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_522, memb_id_constraint_521 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBChangeConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_523, memb_criticality_constraint_521 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_524, + select_SgNBChangeConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_524, memb_value_constraint_521 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeConfirm_IEs_tags_521[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeConfirm_IEs_tag2el_521[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeConfirm_IEs_specs_521 = { + sizeof(struct SgNBChangeConfirm_IEs), + offsetof(struct SgNBChangeConfirm_IEs, _asn_ctx), + asn_MAP_SgNBChangeConfirm_IEs_tag2el_521, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeConfirm_IEs = { + "SgNBChangeConfirm-IEs", + "SgNBChangeConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeConfirm_IEs_tags_521, + sizeof(asn_DEF_SgNBChangeConfirm_IEs_tags_521) + /sizeof(asn_DEF_SgNBChangeConfirm_IEs_tags_521[0]), /* 1 */ + asn_DEF_SgNBChangeConfirm_IEs_tags_521, /* Same as above */ + sizeof(asn_DEF_SgNBChangeConfirm_IEs_tags_521) + /sizeof(asn_DEF_SgNBChangeConfirm_IEs_tags_521[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeConfirm_IEs_521, + 3, /* Elements count */ + &asn_SPC_SgNBChangeConfirm_IEs_specs_521 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_528[] = { + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs__value, choice.SplitSRB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SplitSRB, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SplitSRB" + }, + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs__value, choice.UENRMeasurement), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UENRMeasurement, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UENRMeasurement" + }, + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_528[] = { 0, 1, 4, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_528[] = { 0, 1, 3, 4, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_528[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* SplitSRB */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 } /* UENRMeasurement */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_528 = { + sizeof(struct RRCTransfer_IEs__value), + offsetof(struct RRCTransfer_IEs__value, _asn_ctx), + offsetof(struct RRCTransfer_IEs__value, present), + sizeof(((struct RRCTransfer_IEs__value *)0)->present), + asn_MAP_value_tag2el_528, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_528, + asn_MAP_value_from_canonical_528, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_528 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_528, + 5, /* Elements count */ + &asn_SPC_value_specs_528 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RRCTransfer_IEs_525[] = { + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_526, memb_id_constraint_525 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_RRCTransfer_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_527, memb_criticality_constraint_525 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RRCTransfer_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_528, + select_RRCTransfer_IEs_value_type, + { 0, &asn_PER_memb_value_constr_528, memb_value_constraint_525 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_RRCTransfer_IEs_tags_525[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RRCTransfer_IEs_tag2el_525[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RRCTransfer_IEs_specs_525 = { + sizeof(struct RRCTransfer_IEs), + offsetof(struct RRCTransfer_IEs, _asn_ctx), + asn_MAP_RRCTransfer_IEs_tag2el_525, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RRCTransfer_IEs = { + "RRCTransfer-IEs", + "RRCTransfer-IEs", + &asn_OP_SEQUENCE, + asn_DEF_RRCTransfer_IEs_tags_525, + sizeof(asn_DEF_RRCTransfer_IEs_tags_525) + /sizeof(asn_DEF_RRCTransfer_IEs_tags_525[0]), /* 1 */ + asn_DEF_RRCTransfer_IEs_tags_525, /* Same as above */ + sizeof(asn_DEF_RRCTransfer_IEs_tags_525) + /sizeof(asn_DEF_RRCTransfer_IEs_tags_525[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RRCTransfer_IEs_525, + 3, /* Elements count */ + &asn_SPC_RRCTransfer_IEs_specs_525 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_532[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_532[] = { 0, 1, 4, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_532[] = { 0, 1, 4, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_532[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_532 = { + sizeof(struct SgNBChangeRefuse_IEs__value), + offsetof(struct SgNBChangeRefuse_IEs__value, _asn_ctx), + offsetof(struct SgNBChangeRefuse_IEs__value, present), + sizeof(((struct SgNBChangeRefuse_IEs__value *)0)->present), + asn_MAP_value_tag2el_532, + 8, /* Count of tags in the map */ + asn_MAP_value_to_canonical_532, + asn_MAP_value_from_canonical_532, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_532 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_532, + 5, /* Elements count */ + &asn_SPC_value_specs_532 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBChangeRefuse_IEs_529[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_530, memb_id_constraint_529 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBChangeRefuse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_531, memb_criticality_constraint_529 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_532, + select_SgNBChangeRefuse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_532, memb_value_constraint_529 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeRefuse_IEs_tags_529[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeRefuse_IEs_tag2el_529[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRefuse_IEs_specs_529 = { + sizeof(struct SgNBChangeRefuse_IEs), + offsetof(struct SgNBChangeRefuse_IEs, _asn_ctx), + asn_MAP_SgNBChangeRefuse_IEs_tag2el_529, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeRefuse_IEs = { + "SgNBChangeRefuse-IEs", + "SgNBChangeRefuse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeRefuse_IEs_tags_529, + sizeof(asn_DEF_SgNBChangeRefuse_IEs_tags_529) + /sizeof(asn_DEF_SgNBChangeRefuse_IEs_tags_529[0]), /* 1 */ + asn_DEF_SgNBChangeRefuse_IEs_tags_529, /* Same as above */ + sizeof(asn_DEF_SgNBChangeRefuse_IEs_tags_529) + /sizeof(asn_DEF_SgNBChangeRefuse_IEs_tags_529[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeRefuse_IEs_529, + 3, /* Elements count */ + &asn_SPC_SgNBChangeRefuse_IEs_specs_529 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_536[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupRequest_IEs__value, choice.InitiatingNodeType_EndcX2Setup), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_InitiatingNodeType_EndcX2Setup, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "InitiatingNodeType-EndcX2Setup" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_536[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* init-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* init-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_536 = { + sizeof(struct ENDCX2SetupRequest_IEs__value), + offsetof(struct ENDCX2SetupRequest_IEs__value, _asn_ctx), + offsetof(struct ENDCX2SetupRequest_IEs__value, present), + sizeof(((struct ENDCX2SetupRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_536, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_536 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_536, + 1, /* Elements count */ + &asn_SPC_value_specs_536 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2SetupRequest_IEs_533[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_534, memb_id_constraint_533 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2SetupRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_535, memb_criticality_constraint_533 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_536, + select_ENDCX2SetupRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_536, memb_value_constraint_533 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2SetupRequest_IEs_tags_533[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2SetupRequest_IEs_tag2el_533[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupRequest_IEs_specs_533 = { + sizeof(struct ENDCX2SetupRequest_IEs), + offsetof(struct ENDCX2SetupRequest_IEs, _asn_ctx), + asn_MAP_ENDCX2SetupRequest_IEs_tag2el_533, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupRequest_IEs = { + "ENDCX2SetupRequest-IEs", + "ENDCX2SetupRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2SetupRequest_IEs_tags_533, + sizeof(asn_DEF_ENDCX2SetupRequest_IEs_tags_533) + /sizeof(asn_DEF_ENDCX2SetupRequest_IEs_tags_533[0]), /* 1 */ + asn_DEF_ENDCX2SetupRequest_IEs_tags_533, /* Same as above */ + sizeof(asn_DEF_ENDCX2SetupRequest_IEs_tags_533) + /sizeof(asn_DEF_ENDCX2SetupRequest_IEs_tags_533[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2SetupRequest_IEs_533, + 3, /* Elements count */ + &asn_SPC_ENDCX2SetupRequest_IEs_specs_533 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_540[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqIEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqIEs__value, choice.ServedEUTRAcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedEUTRAcellsENDCX2ManagementList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_540[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GlobalENB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ServedEUTRAcellsENDCX2ManagementList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_540 = { + sizeof(struct ENB_ENDCX2SetupReqIEs__value), + offsetof(struct ENB_ENDCX2SetupReqIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCX2SetupReqIEs__value, present), + sizeof(((struct ENB_ENDCX2SetupReqIEs__value *)0)->present), + asn_MAP_value_tag2el_540, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_540 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_540, + 2, /* Elements count */ + &asn_SPC_value_specs_540 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCX2SetupReqIEs_537[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_538, memb_id_constraint_537 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_ENDCX2SetupReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_539, memb_criticality_constraint_537 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_540, + select_ENB_ENDCX2SetupReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_540, memb_value_constraint_537 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCX2SetupReqIEs_tag2el_537[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2SetupReqIEs_specs_537 = { + sizeof(struct ENB_ENDCX2SetupReqIEs), + offsetof(struct ENB_ENDCX2SetupReqIEs, _asn_ctx), + asn_MAP_ENB_ENDCX2SetupReqIEs_tag2el_537, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2SetupReqIEs = { + "ENB-ENDCX2SetupReqIEs", + "ENB-ENDCX2SetupReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537, + sizeof(asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537) + /sizeof(asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537[0]), /* 1 */ + asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537) + /sizeof(asn_DEF_ENB_ENDCX2SetupReqIEs_tags_537[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCX2SetupReqIEs_537, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCX2SetupReqIEs_specs_537 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_544[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqIEs__value, choice.GlobalGNB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalGNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqIEs__value, choice.ServedNRcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsENDCX2ManagementList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_544[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GlobalGNB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ServedNRcellsENDCX2ManagementList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_544 = { + sizeof(struct En_gNB_ENDCX2SetupReqIEs__value), + offsetof(struct En_gNB_ENDCX2SetupReqIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCX2SetupReqIEs__value, present), + sizeof(((struct En_gNB_ENDCX2SetupReqIEs__value *)0)->present), + asn_MAP_value_tag2el_544, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_544 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_544, + 2, /* Elements count */ + &asn_SPC_value_specs_544 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2SetupReqIEs_541[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_542, memb_id_constraint_541 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCX2SetupReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_543, memb_criticality_constraint_541 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_544, + select_En_gNB_ENDCX2SetupReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_544, memb_value_constraint_541 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCX2SetupReqIEs_tag2el_541[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2SetupReqIEs_specs_541 = { + sizeof(struct En_gNB_ENDCX2SetupReqIEs), + offsetof(struct En_gNB_ENDCX2SetupReqIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCX2SetupReqIEs_tag2el_541, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2SetupReqIEs = { + "En-gNB-ENDCX2SetupReqIEs", + "En-gNB-ENDCX2SetupReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541, + sizeof(asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541) + /sizeof(asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541[0]), /* 1 */ + asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541) + /sizeof(asn_DEF_En_gNB_ENDCX2SetupReqIEs_tags_541[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCX2SetupReqIEs_541, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCX2SetupReqIEs_specs_541 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_548[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupResponse_IEs__value, choice.RespondingNodeType_EndcX2Setup), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RespondingNodeType_EndcX2Setup, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RespondingNodeType-EndcX2Setup" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_548[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_548 = { + sizeof(struct ENDCX2SetupResponse_IEs__value), + offsetof(struct ENDCX2SetupResponse_IEs__value, _asn_ctx), + offsetof(struct ENDCX2SetupResponse_IEs__value, present), + sizeof(((struct ENDCX2SetupResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_548, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_548 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_548, + 1, /* Elements count */ + &asn_SPC_value_specs_548 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2SetupResponse_IEs_545[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_546, memb_id_constraint_545 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2SetupResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_547, memb_criticality_constraint_545 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_548, + select_ENDCX2SetupResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_548, memb_value_constraint_545 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2SetupResponse_IEs_tags_545[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2SetupResponse_IEs_tag2el_545[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupResponse_IEs_specs_545 = { + sizeof(struct ENDCX2SetupResponse_IEs), + offsetof(struct ENDCX2SetupResponse_IEs, _asn_ctx), + asn_MAP_ENDCX2SetupResponse_IEs_tag2el_545, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupResponse_IEs = { + "ENDCX2SetupResponse-IEs", + "ENDCX2SetupResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2SetupResponse_IEs_tags_545, + sizeof(asn_DEF_ENDCX2SetupResponse_IEs_tags_545) + /sizeof(asn_DEF_ENDCX2SetupResponse_IEs_tags_545[0]), /* 1 */ + asn_DEF_ENDCX2SetupResponse_IEs_tags_545, /* Same as above */ + sizeof(asn_DEF_ENDCX2SetupResponse_IEs_tags_545) + /sizeof(asn_DEF_ENDCX2SetupResponse_IEs_tags_545[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2SetupResponse_IEs_545, + 3, /* Elements count */ + &asn_SPC_ENDCX2SetupResponse_IEs_specs_545 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_552[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqAckIEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqAckIEs__value, choice.ServedEUTRAcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedEUTRAcellsENDCX2ManagementList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_552[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GlobalENB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ServedEUTRAcellsENDCX2ManagementList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_552 = { + sizeof(struct ENB_ENDCX2SetupReqAckIEs__value), + offsetof(struct ENB_ENDCX2SetupReqAckIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCX2SetupReqAckIEs__value, present), + sizeof(((struct ENB_ENDCX2SetupReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_552, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_552 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_552, + 2, /* Elements count */ + &asn_SPC_value_specs_552 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCX2SetupReqAckIEs_549[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_550, memb_id_constraint_549 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_ENDCX2SetupReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_551, memb_criticality_constraint_549 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2SetupReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_552, + select_ENB_ENDCX2SetupReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_552, memb_value_constraint_549 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCX2SetupReqAckIEs_tag2el_549[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2SetupReqAckIEs_specs_549 = { + sizeof(struct ENB_ENDCX2SetupReqAckIEs), + offsetof(struct ENB_ENDCX2SetupReqAckIEs, _asn_ctx), + asn_MAP_ENB_ENDCX2SetupReqAckIEs_tag2el_549, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2SetupReqAckIEs = { + "ENB-ENDCX2SetupReqAckIEs", + "ENB-ENDCX2SetupReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549, + sizeof(asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549) + /sizeof(asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549[0]), /* 1 */ + asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549) + /sizeof(asn_DEF_ENB_ENDCX2SetupReqAckIEs_tags_549[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCX2SetupReqAckIEs_549, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCX2SetupReqAckIEs_specs_549 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_556[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqAckIEs__value, choice.GlobalGNB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalGNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqAckIEs__value, choice.ServedNRcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsENDCX2ManagementList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_556[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* GlobalGNB-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ServedNRcellsENDCX2ManagementList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_556 = { + sizeof(struct En_gNB_ENDCX2SetupReqAckIEs__value), + offsetof(struct En_gNB_ENDCX2SetupReqAckIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCX2SetupReqAckIEs__value, present), + sizeof(((struct En_gNB_ENDCX2SetupReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_556, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_556 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_556, + 2, /* Elements count */ + &asn_SPC_value_specs_556 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2SetupReqAckIEs_553[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_554, memb_id_constraint_553 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCX2SetupReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_555, memb_criticality_constraint_553 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_556, + select_En_gNB_ENDCX2SetupReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_556, memb_value_constraint_553 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCX2SetupReqAckIEs_tag2el_553[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2SetupReqAckIEs_specs_553 = { + sizeof(struct En_gNB_ENDCX2SetupReqAckIEs), + offsetof(struct En_gNB_ENDCX2SetupReqAckIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCX2SetupReqAckIEs_tag2el_553, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2SetupReqAckIEs = { + "En-gNB-ENDCX2SetupReqAckIEs", + "En-gNB-ENDCX2SetupReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553, + sizeof(asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553) + /sizeof(asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553[0]), /* 1 */ + asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553) + /sizeof(asn_DEF_En_gNB_ENDCX2SetupReqAckIEs_tags_553[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCX2SetupReqAckIEs_553, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCX2SetupReqAckIEs_specs_553 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_560[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs__value, choice.TimeToWait), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TimeToWait" + }, +}; +static const unsigned asn_MAP_value_to_canonical_560[] = { 2, 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_560[] = { 2, 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_560[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWait */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_560 = { + sizeof(struct ENDCX2SetupFailure_IEs__value), + offsetof(struct ENDCX2SetupFailure_IEs__value, _asn_ctx), + offsetof(struct ENDCX2SetupFailure_IEs__value, present), + sizeof(((struct ENDCX2SetupFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_560, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_560, + asn_MAP_value_from_canonical_560, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_560 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_560, + 3, /* Elements count */ + &asn_SPC_value_specs_560 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2SetupFailure_IEs_557[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_558, memb_id_constraint_557 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2SetupFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_559, memb_criticality_constraint_557 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2SetupFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_560, + select_ENDCX2SetupFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_560, memb_value_constraint_557 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2SetupFailure_IEs_tags_557[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2SetupFailure_IEs_tag2el_557[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupFailure_IEs_specs_557 = { + sizeof(struct ENDCX2SetupFailure_IEs), + offsetof(struct ENDCX2SetupFailure_IEs, _asn_ctx), + asn_MAP_ENDCX2SetupFailure_IEs_tag2el_557, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupFailure_IEs = { + "ENDCX2SetupFailure-IEs", + "ENDCX2SetupFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2SetupFailure_IEs_tags_557, + sizeof(asn_DEF_ENDCX2SetupFailure_IEs_tags_557) + /sizeof(asn_DEF_ENDCX2SetupFailure_IEs_tags_557[0]), /* 1 */ + asn_DEF_ENDCX2SetupFailure_IEs_tags_557, /* Same as above */ + sizeof(asn_DEF_ENDCX2SetupFailure_IEs_tags_557) + /sizeof(asn_DEF_ENDCX2SetupFailure_IEs_tags_557[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2SetupFailure_IEs_557, + 3, /* Elements count */ + &asn_SPC_ENDCX2SetupFailure_IEs_specs_557 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_564[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdate_IEs__value, choice.InitiatingNodeType_EndcConfigUpdate), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_InitiatingNodeType_EndcConfigUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "InitiatingNodeType-EndcConfigUpdate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_564[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* init-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* init-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_564 = { + sizeof(struct ENDCConfigurationUpdate_IEs__value), + offsetof(struct ENDCConfigurationUpdate_IEs__value, _asn_ctx), + offsetof(struct ENDCConfigurationUpdate_IEs__value, present), + sizeof(((struct ENDCConfigurationUpdate_IEs__value *)0)->present), + asn_MAP_value_tag2el_564, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_564 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_564, + 1, /* Elements count */ + &asn_SPC_value_specs_564 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdate_IEs_561[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdate_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_562, memb_id_constraint_561 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdate_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCConfigurationUpdate_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_563, memb_criticality_constraint_561 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdate_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_564, + select_ENDCConfigurationUpdate_IEs_value_type, + { 0, &asn_PER_memb_value_constr_564, memb_value_constraint_561 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCConfigurationUpdate_IEs_tags_561[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCConfigurationUpdate_IEs_tag2el_561[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdate_IEs_specs_561 = { + sizeof(struct ENDCConfigurationUpdate_IEs), + offsetof(struct ENDCConfigurationUpdate_IEs, _asn_ctx), + asn_MAP_ENDCConfigurationUpdate_IEs_tag2el_561, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdate_IEs = { + "ENDCConfigurationUpdate-IEs", + "ENDCConfigurationUpdate-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCConfigurationUpdate_IEs_tags_561, + sizeof(asn_DEF_ENDCConfigurationUpdate_IEs_tags_561) + /sizeof(asn_DEF_ENDCConfigurationUpdate_IEs_tags_561[0]), /* 1 */ + asn_DEF_ENDCConfigurationUpdate_IEs_tags_561, /* Same as above */ + sizeof(asn_DEF_ENDCConfigurationUpdate_IEs_tags_561) + /sizeof(asn_DEF_ENDCConfigurationUpdate_IEs_tags_561[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCConfigurationUpdate_IEs_561, + 3, /* Elements count */ + &asn_SPC_ENDCConfigurationUpdate_IEs_specs_561 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_568[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs__value, choice.CellAssistanceInformation), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_CellAssistanceInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellAssistanceInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs__value, choice.ServedEUTRAcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedEUTRAcellsENDCX2ManagementList" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs__value, choice.ServedEUTRAcellsToModifyListENDCConfUpd), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedEUTRAcellsToModifyListENDCConfUpd" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs__value, choice.ServedEUTRAcellsToDeleteListENDCConfUpd), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedEUTRAcellsToDeleteListENDCConfUpd" + }, +}; +static const unsigned asn_MAP_value_to_canonical_568[] = { 1, 2, 3, 0 }; +static const unsigned asn_MAP_value_from_canonical_568[] = { 3, 0, 1, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_568[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 2 }, /* ServedEUTRAcellsENDCX2ManagementList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* ServedEUTRAcellsToModifyListENDCConfUpd */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 }, /* ServedEUTRAcellsToDeleteListENDCConfUpd */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* limited-list */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* full-list */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_568 = { + sizeof(struct ENB_ENDCConfigUpdateIEs__value), + offsetof(struct ENB_ENDCConfigUpdateIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCConfigUpdateIEs__value, present), + sizeof(((struct ENB_ENDCConfigUpdateIEs__value *)0)->present), + asn_MAP_value_tag2el_568, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_568, + asn_MAP_value_from_canonical_568, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_568 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_568, + 4, /* Elements count */ + &asn_SPC_value_specs_568 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCConfigUpdateIEs_565[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_566, memb_id_constraint_565 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_ENDCConfigUpdateIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_567, memb_criticality_constraint_565 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_568, + select_ENB_ENDCConfigUpdateIEs_value_type, + { 0, &asn_PER_memb_value_constr_568, memb_value_constraint_565 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCConfigUpdateIEs_tag2el_565[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCConfigUpdateIEs_specs_565 = { + sizeof(struct ENB_ENDCConfigUpdateIEs), + offsetof(struct ENB_ENDCConfigUpdateIEs, _asn_ctx), + asn_MAP_ENB_ENDCConfigUpdateIEs_tag2el_565, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCConfigUpdateIEs = { + "ENB-ENDCConfigUpdateIEs", + "ENB-ENDCConfigUpdateIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565, + sizeof(asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565) + /sizeof(asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565[0]), /* 1 */ + asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565) + /sizeof(asn_DEF_ENB_ENDCConfigUpdateIEs_tags_565[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCConfigUpdateIEs_565, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCConfigUpdateIEs_specs_565 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_572[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs__value, choice.ServedNRcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsENDCX2ManagementList" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs__value, choice.ServedNRcellsToModifyENDCConfUpdList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsToModifyENDCConfUpdList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsToModifyENDCConfUpdList" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs__value, choice.ServedNRcellsToDeleteENDCConfUpdList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsToDeleteENDCConfUpdList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsToDeleteENDCConfUpdList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_572[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* ServedNRcellsENDCX2ManagementList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* ServedNRcellsToModifyENDCConfUpdList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* ServedNRcellsToDeleteENDCConfUpdList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_572 = { + sizeof(struct En_gNB_ENDCConfigUpdateIEs__value), + offsetof(struct En_gNB_ENDCConfigUpdateIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCConfigUpdateIEs__value, present), + sizeof(((struct En_gNB_ENDCConfigUpdateIEs__value *)0)->present), + asn_MAP_value_tag2el_572, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_572 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_572, + 3, /* Elements count */ + &asn_SPC_value_specs_572 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCConfigUpdateIEs_569[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_570, memb_id_constraint_569 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCConfigUpdateIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_571, memb_criticality_constraint_569 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_572, + select_En_gNB_ENDCConfigUpdateIEs_value_type, + { 0, &asn_PER_memb_value_constr_572, memb_value_constraint_569 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCConfigUpdateIEs_tag2el_569[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCConfigUpdateIEs_specs_569 = { + sizeof(struct En_gNB_ENDCConfigUpdateIEs), + offsetof(struct En_gNB_ENDCConfigUpdateIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCConfigUpdateIEs_tag2el_569, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCConfigUpdateIEs = { + "En-gNB-ENDCConfigUpdateIEs", + "En-gNB-ENDCConfigUpdateIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569, + sizeof(asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569) + /sizeof(asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569[0]), /* 1 */ + asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569) + /sizeof(asn_DEF_En_gNB_ENDCConfigUpdateIEs_tags_569[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCConfigUpdateIEs_569, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCConfigUpdateIEs_specs_569 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_576[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs__value, choice.RespondingNodeType_EndcConfigUpdate), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RespondingNodeType_EndcConfigUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RespondingNodeType-EndcConfigUpdate" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_576[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_576 = { + sizeof(struct ENDCConfigurationUpdateAcknowledge_IEs__value), + offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs__value, _asn_ctx), + offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs__value, present), + sizeof(((struct ENDCConfigurationUpdateAcknowledge_IEs__value *)0)->present), + asn_MAP_value_tag2el_576, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_576 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_576, + 1, /* Elements count */ + &asn_SPC_value_specs_576 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateAcknowledge_IEs_573[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_574, memb_id_constraint_573 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCConfigurationUpdateAcknowledge_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_575, memb_criticality_constraint_573 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_576, + select_ENDCConfigurationUpdateAcknowledge_IEs_value_type, + { 0, &asn_PER_memb_value_constr_576, memb_value_constraint_573 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCConfigurationUpdateAcknowledge_IEs_tag2el_573[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateAcknowledge_IEs_specs_573 = { + sizeof(struct ENDCConfigurationUpdateAcknowledge_IEs), + offsetof(struct ENDCConfigurationUpdateAcknowledge_IEs, _asn_ctx), + asn_MAP_ENDCConfigurationUpdateAcknowledge_IEs_tag2el_573, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs = { + "ENDCConfigurationUpdateAcknowledge-IEs", + "ENDCConfigurationUpdateAcknowledge-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573, + sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573) + /sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573[0]), /* 1 */ + asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573, /* Same as above */ + sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573) + /sizeof(asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs_tags_573[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCConfigurationUpdateAcknowledge_IEs_573, + 3, /* Elements count */ + &asn_SPC_ENDCConfigurationUpdateAcknowledge_IEs_specs_573 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_value_specs_580 = { + sizeof(struct ENB_ENDCConfigUpdateAckIEs__value), + offsetof(struct ENB_ENDCConfigUpdateAckIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCConfigUpdateAckIEs__value, present), + sizeof(((struct ENB_ENDCConfigUpdateAckIEs__value *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_580 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + 0, 0, /* No members */ + &asn_SPC_value_specs_580 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCConfigUpdateAckIEs_577[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_578, memb_id_constraint_577 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, + { 0, &asn_PER_memb_criticality_constr_579, memb_criticality_constraint_577 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCConfigUpdateAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_580, + 0, + { 0, &asn_PER_memb_value_constr_580, memb_value_constraint_577 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCConfigUpdateAckIEs_tag2el_577[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCConfigUpdateAckIEs_specs_577 = { + sizeof(struct ENB_ENDCConfigUpdateAckIEs), + offsetof(struct ENB_ENDCConfigUpdateAckIEs, _asn_ctx), + asn_MAP_ENB_ENDCConfigUpdateAckIEs_tag2el_577, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCConfigUpdateAckIEs = { + "ENB-ENDCConfigUpdateAckIEs", + "ENB-ENDCConfigUpdateAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577, + sizeof(asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577) + /sizeof(asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577[0]), /* 1 */ + asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577) + /sizeof(asn_DEF_ENB_ENDCConfigUpdateAckIEs_tags_577[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCConfigUpdateAckIEs_577, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCConfigUpdateAckIEs_specs_577 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_584[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateAckIEs__value, choice.ServedNRcellsENDCX2ManagementList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRcellsENDCX2ManagementList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRcellsENDCX2ManagementList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_584[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* ServedNRcellsENDCX2ManagementList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_584 = { + sizeof(struct En_gNB_ENDCConfigUpdateAckIEs__value), + offsetof(struct En_gNB_ENDCConfigUpdateAckIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCConfigUpdateAckIEs__value, present), + sizeof(((struct En_gNB_ENDCConfigUpdateAckIEs__value *)0)->present), + asn_MAP_value_tag2el_584, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_584 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_584, + 1, /* Elements count */ + &asn_SPC_value_specs_584 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCConfigUpdateAckIEs_581[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_582, memb_id_constraint_581 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCConfigUpdateAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_583, memb_criticality_constraint_581 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_584, + select_En_gNB_ENDCConfigUpdateAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_584, memb_value_constraint_581 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCConfigUpdateAckIEs_tag2el_581[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCConfigUpdateAckIEs_specs_581 = { + sizeof(struct En_gNB_ENDCConfigUpdateAckIEs), + offsetof(struct En_gNB_ENDCConfigUpdateAckIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCConfigUpdateAckIEs_tag2el_581, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCConfigUpdateAckIEs = { + "En-gNB-ENDCConfigUpdateAckIEs", + "En-gNB-ENDCConfigUpdateAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581, + sizeof(asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581) + /sizeof(asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581[0]), /* 1 */ + asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581) + /sizeof(asn_DEF_En_gNB_ENDCConfigUpdateAckIEs_tags_581[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCConfigUpdateAckIEs_581, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCConfigUpdateAckIEs_specs_581 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_588[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs__value, choice.TimeToWait), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_TimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "TimeToWait" + }, +}; +static const unsigned asn_MAP_value_to_canonical_588[] = { 2, 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_588[] = { 2, 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_588[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWait */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_588 = { + sizeof(struct ENDCConfigurationUpdateFailure_IEs__value), + offsetof(struct ENDCConfigurationUpdateFailure_IEs__value, _asn_ctx), + offsetof(struct ENDCConfigurationUpdateFailure_IEs__value, present), + sizeof(((struct ENDCConfigurationUpdateFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_588, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_588, + asn_MAP_value_from_canonical_588, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_588 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_588, + 3, /* Elements count */ + &asn_SPC_value_specs_588 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateFailure_IEs_585[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_586, memb_id_constraint_585 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCConfigurationUpdateFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_587, memb_criticality_constraint_585 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCConfigurationUpdateFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_588, + select_ENDCConfigurationUpdateFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_588, memb_value_constraint_585 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCConfigurationUpdateFailure_IEs_tag2el_585[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateFailure_IEs_specs_585 = { + sizeof(struct ENDCConfigurationUpdateFailure_IEs), + offsetof(struct ENDCConfigurationUpdateFailure_IEs, _asn_ctx), + asn_MAP_ENDCConfigurationUpdateFailure_IEs_tag2el_585, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateFailure_IEs = { + "ENDCConfigurationUpdateFailure-IEs", + "ENDCConfigurationUpdateFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585, + sizeof(asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585) + /sizeof(asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585[0]), /* 1 */ + asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585, /* Same as above */ + sizeof(asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585) + /sizeof(asn_DEF_ENDCConfigurationUpdateFailure_IEs_tags_585[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCConfigurationUpdateFailure_IEs_585, + 3, /* Elements count */ + &asn_SPC_ENDCConfigurationUpdateFailure_IEs_specs_585 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_592[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationRequest_IEs__value, choice.ServedNRCellsToActivate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCellsToActivate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ServedNRCellsToActivate" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationRequest_IEs__value, choice.ActivationID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ActivationID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ActivationID" + }, +}; +static const unsigned asn_MAP_value_to_canonical_592[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_592[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_592[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* ActivationID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* ServedNRCellsToActivate */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_592 = { + sizeof(struct ENDCCellActivationRequest_IEs__value), + offsetof(struct ENDCCellActivationRequest_IEs__value, _asn_ctx), + offsetof(struct ENDCCellActivationRequest_IEs__value, present), + sizeof(((struct ENDCCellActivationRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_592, + 2, /* Count of tags in the map */ + asn_MAP_value_to_canonical_592, + asn_MAP_value_from_canonical_592, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_592 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_592, + 2, /* Elements count */ + &asn_SPC_value_specs_592 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCCellActivationRequest_IEs_589[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_590, memb_id_constraint_589 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCCellActivationRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_591, memb_criticality_constraint_589 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_592, + select_ENDCCellActivationRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_592, memb_value_constraint_589 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCCellActivationRequest_IEs_tags_589[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCCellActivationRequest_IEs_tag2el_589[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationRequest_IEs_specs_589 = { + sizeof(struct ENDCCellActivationRequest_IEs), + offsetof(struct ENDCCellActivationRequest_IEs, _asn_ctx), + asn_MAP_ENDCCellActivationRequest_IEs_tag2el_589, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationRequest_IEs = { + "ENDCCellActivationRequest-IEs", + "ENDCCellActivationRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCCellActivationRequest_IEs_tags_589, + sizeof(asn_DEF_ENDCCellActivationRequest_IEs_tags_589) + /sizeof(asn_DEF_ENDCCellActivationRequest_IEs_tags_589[0]), /* 1 */ + asn_DEF_ENDCCellActivationRequest_IEs_tags_589, /* Same as above */ + sizeof(asn_DEF_ENDCCellActivationRequest_IEs_tags_589) + /sizeof(asn_DEF_ENDCCellActivationRequest_IEs_tags_589[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCCellActivationRequest_IEs_589, + 3, /* Elements count */ + &asn_SPC_ENDCCellActivationRequest_IEs_specs_589 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_596[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs__value, choice.ActivatedNRCellList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ActivatedNRCellList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ActivatedNRCellList" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs__value, choice.ActivationID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ActivationID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ActivationID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_596[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_596[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_596[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* ActivationID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* ActivatedNRCellList */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* CriticalityDiagnostics */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_596 = { + sizeof(struct ENDCCellActivationResponse_IEs__value), + offsetof(struct ENDCCellActivationResponse_IEs__value, _asn_ctx), + offsetof(struct ENDCCellActivationResponse_IEs__value, present), + sizeof(((struct ENDCCellActivationResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_596, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_596, + asn_MAP_value_from_canonical_596, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_596 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_596, + 3, /* Elements count */ + &asn_SPC_value_specs_596 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCCellActivationResponse_IEs_593[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_594, memb_id_constraint_593 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCCellActivationResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_595, memb_criticality_constraint_593 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_596, + select_ENDCCellActivationResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_596, memb_value_constraint_593 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCCellActivationResponse_IEs_tags_593[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCCellActivationResponse_IEs_tag2el_593[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationResponse_IEs_specs_593 = { + sizeof(struct ENDCCellActivationResponse_IEs), + offsetof(struct ENDCCellActivationResponse_IEs, _asn_ctx), + asn_MAP_ENDCCellActivationResponse_IEs_tag2el_593, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationResponse_IEs = { + "ENDCCellActivationResponse-IEs", + "ENDCCellActivationResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCCellActivationResponse_IEs_tags_593, + sizeof(asn_DEF_ENDCCellActivationResponse_IEs_tags_593) + /sizeof(asn_DEF_ENDCCellActivationResponse_IEs_tags_593[0]), /* 1 */ + asn_DEF_ENDCCellActivationResponse_IEs_tags_593, /* Same as above */ + sizeof(asn_DEF_ENDCCellActivationResponse_IEs_tags_593) + /sizeof(asn_DEF_ENDCCellActivationResponse_IEs_tags_593[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCCellActivationResponse_IEs_593, + 3, /* Elements count */ + &asn_SPC_ENDCCellActivationResponse_IEs_specs_593 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_600[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs__value, choice.ActivationID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ActivationID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ActivationID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_600[] = { 0, 2, 1 }; +static const unsigned asn_MAP_value_from_canonical_600[] = { 0, 2, 1 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_600[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* ActivationID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_600 = { + sizeof(struct ENDCCellActivationFailure_IEs__value), + offsetof(struct ENDCCellActivationFailure_IEs__value, _asn_ctx), + offsetof(struct ENDCCellActivationFailure_IEs__value, present), + sizeof(((struct ENDCCellActivationFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_600, + 6, /* Count of tags in the map */ + asn_MAP_value_to_canonical_600, + asn_MAP_value_from_canonical_600, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_600 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_600, + 3, /* Elements count */ + &asn_SPC_value_specs_600 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCCellActivationFailure_IEs_597[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_598, memb_id_constraint_597 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCCellActivationFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_599, memb_criticality_constraint_597 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCCellActivationFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_600, + select_ENDCCellActivationFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_600, memb_value_constraint_597 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCCellActivationFailure_IEs_tags_597[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCCellActivationFailure_IEs_tag2el_597[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationFailure_IEs_specs_597 = { + sizeof(struct ENDCCellActivationFailure_IEs), + offsetof(struct ENDCCellActivationFailure_IEs, _asn_ctx), + asn_MAP_ENDCCellActivationFailure_IEs_tag2el_597, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationFailure_IEs = { + "ENDCCellActivationFailure-IEs", + "ENDCCellActivationFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCCellActivationFailure_IEs_tags_597, + sizeof(asn_DEF_ENDCCellActivationFailure_IEs_tags_597) + /sizeof(asn_DEF_ENDCCellActivationFailure_IEs_tags_597[0]), /* 1 */ + asn_DEF_ENDCCellActivationFailure_IEs_tags_597, /* Same as above */ + sizeof(asn_DEF_ENDCCellActivationFailure_IEs_tags_597) + /sizeof(asn_DEF_ENDCCellActivationFailure_IEs_tags_597[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCCellActivationFailure_IEs_597, + 3, /* Elements count */ + &asn_SPC_ENDCCellActivationFailure_IEs_specs_597 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_604[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs__value, choice.SecondaryRATUsageReportList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SecondaryRATUsageReportList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SecondaryRATUsageReportList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_604[] = { 0, 1, 3, 2 }; +static const unsigned asn_MAP_value_from_canonical_604[] = { 0, 1, 3, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_604[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 } /* SecondaryRATUsageReportList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_604 = { + sizeof(struct SecondaryRATDataUsageReport_IEs__value), + offsetof(struct SecondaryRATDataUsageReport_IEs__value, _asn_ctx), + offsetof(struct SecondaryRATDataUsageReport_IEs__value, present), + sizeof(((struct SecondaryRATDataUsageReport_IEs__value *)0)->present), + asn_MAP_value_tag2el_604, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_604, + asn_MAP_value_from_canonical_604, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_604 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_604, + 4, /* Elements count */ + &asn_SPC_value_specs_604 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReport_IEs_601[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_602, memb_id_constraint_601 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SecondaryRATDataUsageReport_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_603, memb_criticality_constraint_601 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SecondaryRATDataUsageReport_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_604, + select_SecondaryRATDataUsageReport_IEs_value_type, + { 0, &asn_PER_memb_value_constr_604, memb_value_constraint_601 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SecondaryRATDataUsageReport_IEs_tag2el_601[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReport_IEs_specs_601 = { + sizeof(struct SecondaryRATDataUsageReport_IEs), + offsetof(struct SecondaryRATDataUsageReport_IEs, _asn_ctx), + asn_MAP_SecondaryRATDataUsageReport_IEs_tag2el_601, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReport_IEs = { + "SecondaryRATDataUsageReport-IEs", + "SecondaryRATDataUsageReport-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601, + sizeof(asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601) + /sizeof(asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601[0]), /* 1 */ + asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601, /* Same as above */ + sizeof(asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601) + /sizeof(asn_DEF_SecondaryRATDataUsageReport_IEs_tags_601[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SecondaryRATDataUsageReport_IEs_601, + 3, /* Elements count */ + &asn_SPC_SecondaryRATDataUsageReport_IEs_specs_601 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_608[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs__value, choice.SgNB_UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SgNB_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs__value, choice.UserPlaneTrafficActivityReport), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UserPlaneTrafficActivityReport, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UserPlaneTrafficActivityReport" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs__value, choice.ERABActivityNotifyItemList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ERABActivityNotifyItemList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ERABActivityNotifyItemList" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, +}; +static const unsigned asn_MAP_value_to_canonical_608[] = { 0, 1, 4, 2, 3 }; +static const unsigned asn_MAP_value_from_canonical_608[] = { 0, 1, 3, 4, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_608[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* SgNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 4, -2, 0 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* UserPlaneTrafficActivityReport */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 } /* ERABActivityNotifyItemList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_608 = { + sizeof(struct SgNBActivityNotification_IEs__value), + offsetof(struct SgNBActivityNotification_IEs__value, _asn_ctx), + offsetof(struct SgNBActivityNotification_IEs__value, present), + sizeof(((struct SgNBActivityNotification_IEs__value *)0)->present), + asn_MAP_value_tag2el_608, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_608, + asn_MAP_value_from_canonical_608, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_608 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_608, + 5, /* Elements count */ + &asn_SPC_value_specs_608 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SgNBActivityNotification_IEs_605[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_606, memb_id_constraint_605 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SgNBActivityNotification_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_607, memb_criticality_constraint_605 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_608, + select_SgNBActivityNotification_IEs_value_type, + { 0, &asn_PER_memb_value_constr_608, memb_value_constraint_605 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBActivityNotification_IEs_tags_605[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBActivityNotification_IEs_tag2el_605[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBActivityNotification_IEs_specs_605 = { + sizeof(struct SgNBActivityNotification_IEs), + offsetof(struct SgNBActivityNotification_IEs, _asn_ctx), + asn_MAP_SgNBActivityNotification_IEs_tag2el_605, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBActivityNotification_IEs = { + "SgNBActivityNotification-IEs", + "SgNBActivityNotification-IEs", + &asn_OP_SEQUENCE, + asn_DEF_SgNBActivityNotification_IEs_tags_605, + sizeof(asn_DEF_SgNBActivityNotification_IEs_tags_605) + /sizeof(asn_DEF_SgNBActivityNotification_IEs_tags_605[0]), /* 1 */ + asn_DEF_SgNBActivityNotification_IEs_tags_605, /* Same as above */ + sizeof(asn_DEF_SgNBActivityNotification_IEs_tags_605) + /sizeof(asn_DEF_SgNBActivityNotification_IEs_tags_605[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBActivityNotification_IEs_605, + 3, /* Elements count */ + &asn_SPC_SgNBActivityNotification_IEs_specs_605 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_612[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired_IEs__value, choice.UEsToBeResetList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEsToBeResetList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEsToBeResetList" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_612[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* UEsToBeResetList */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_612 = { + sizeof(struct ENDCPartialResetRequired_IEs__value), + offsetof(struct ENDCPartialResetRequired_IEs__value, _asn_ctx), + offsetof(struct ENDCPartialResetRequired_IEs__value, present), + sizeof(((struct ENDCPartialResetRequired_IEs__value *)0)->present), + asn_MAP_value_tag2el_612, + 5, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_612 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_612, + 2, /* Elements count */ + &asn_SPC_value_specs_612 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCPartialResetRequired_IEs_609[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_610, memb_id_constraint_609 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCPartialResetRequired_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_611, memb_criticality_constraint_609 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetRequired_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_612, + select_ENDCPartialResetRequired_IEs_value_type, + { 0, &asn_PER_memb_value_constr_612, memb_value_constraint_609 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCPartialResetRequired_IEs_tags_609[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCPartialResetRequired_IEs_tag2el_609[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetRequired_IEs_specs_609 = { + sizeof(struct ENDCPartialResetRequired_IEs), + offsetof(struct ENDCPartialResetRequired_IEs, _asn_ctx), + asn_MAP_ENDCPartialResetRequired_IEs_tag2el_609, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetRequired_IEs = { + "ENDCPartialResetRequired-IEs", + "ENDCPartialResetRequired-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCPartialResetRequired_IEs_tags_609, + sizeof(asn_DEF_ENDCPartialResetRequired_IEs_tags_609) + /sizeof(asn_DEF_ENDCPartialResetRequired_IEs_tags_609[0]), /* 1 */ + asn_DEF_ENDCPartialResetRequired_IEs_tags_609, /* Same as above */ + sizeof(asn_DEF_ENDCPartialResetRequired_IEs_tags_609) + /sizeof(asn_DEF_ENDCPartialResetRequired_IEs_tags_609[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCPartialResetRequired_IEs_609, + 3, /* Elements count */ + &asn_SPC_ENDCPartialResetRequired_IEs_specs_609 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_616[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetConfirm_IEs__value, choice.UEsToBeResetList), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEsToBeResetList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEsToBeResetList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_616[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* UEsToBeResetList */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_616 = { + sizeof(struct ENDCPartialResetConfirm_IEs__value), + offsetof(struct ENDCPartialResetConfirm_IEs__value, _asn_ctx), + offsetof(struct ENDCPartialResetConfirm_IEs__value, present), + sizeof(((struct ENDCPartialResetConfirm_IEs__value *)0)->present), + asn_MAP_value_tag2el_616, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_616 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_616, + 1, /* Elements count */ + &asn_SPC_value_specs_616 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCPartialResetConfirm_IEs_613[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetConfirm_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_614, memb_id_constraint_613 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetConfirm_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCPartialResetConfirm_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_615, memb_criticality_constraint_613 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCPartialResetConfirm_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_616, + select_ENDCPartialResetConfirm_IEs_value_type, + { 0, &asn_PER_memb_value_constr_616, memb_value_constraint_613 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCPartialResetConfirm_IEs_tags_613[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCPartialResetConfirm_IEs_tag2el_613[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetConfirm_IEs_specs_613 = { + sizeof(struct ENDCPartialResetConfirm_IEs), + offsetof(struct ENDCPartialResetConfirm_IEs, _asn_ctx), + asn_MAP_ENDCPartialResetConfirm_IEs_tag2el_613, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetConfirm_IEs = { + "ENDCPartialResetConfirm-IEs", + "ENDCPartialResetConfirm-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCPartialResetConfirm_IEs_tags_613, + sizeof(asn_DEF_ENDCPartialResetConfirm_IEs_tags_613) + /sizeof(asn_DEF_ENDCPartialResetConfirm_IEs_tags_613[0]), /* 1 */ + asn_DEF_ENDCPartialResetConfirm_IEs_tags_613, /* Same as above */ + sizeof(asn_DEF_ENDCPartialResetConfirm_IEs_tags_613) + /sizeof(asn_DEF_ENDCPartialResetConfirm_IEs_tags_613[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCPartialResetConfirm_IEs_613, + 3, /* Elements count */ + &asn_SPC_ENDCPartialResetConfirm_IEs_specs_613 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_620[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs__value, choice.InitiatingNodeType_EutranrCellResourceCoordination), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_InitiatingNodeType_EutranrCellResourceCoordination, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "InitiatingNodeType-EutranrCellResourceCoordination" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_620[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiate-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* initiate-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_620 = { + sizeof(struct EUTRANRCellResourceCoordinationRequest_IEs__value), + offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs__value, _asn_ctx), + offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs__value, present), + sizeof(((struct EUTRANRCellResourceCoordinationRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_620, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_620 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_620, + 1, /* Elements count */ + &asn_SPC_value_specs_620 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationRequest_IEs_617[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_618, memb_id_constraint_617 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_EUTRANRCellResourceCoordinationRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_619, memb_criticality_constraint_617 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_620, + select_EUTRANRCellResourceCoordinationRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_620, memb_value_constraint_617 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EUTRANRCellResourceCoordinationRequest_IEs_tag2el_617[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationRequest_IEs_specs_617 = { + sizeof(struct EUTRANRCellResourceCoordinationRequest_IEs), + offsetof(struct EUTRANRCellResourceCoordinationRequest_IEs, _asn_ctx), + asn_MAP_EUTRANRCellResourceCoordinationRequest_IEs_tag2el_617, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs = { + "EUTRANRCellResourceCoordinationRequest-IEs", + "EUTRANRCellResourceCoordinationRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617, + sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617[0]), /* 1 */ + asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617, /* Same as above */ + sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs_tags_617[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EUTRANRCellResourceCoordinationRequest_IEs_617, + 3, /* Elements count */ + &asn_SPC_EUTRANRCellResourceCoordinationRequest_IEs_specs_617 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_624[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.DataTrafficResourceIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataTrafficResourceIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DataTrafficResourceIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.SpectrumSharingGroupID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SpectrumSharingGroupID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SpectrumSharingGroupID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.ListofEUTRACellsinEUTRACoordinationReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ListofEUTRACellsinEUTRACoordinationReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ListofEUTRACellsinEUTRACoordinationReq" + }, +}; +static const unsigned asn_MAP_value_to_canonical_624[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_624[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_624[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* SpectrumSharingGroupID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* DataTrafficResourceIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* ListofEUTRACellsinEUTRACoordinationReq */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_624 = { + sizeof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value, _asn_ctx), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value, present), + sizeof(((struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value *)0)->present), + asn_MAP_value_tag2el_624, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_624, + asn_MAP_value_from_canonical_624, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_624 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_624, + 3, /* Elements count */ + &asn_SPC_value_specs_624 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqIEs_621[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_622, memb_id_constraint_621 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_EUTRA_NRCellResourceCoordinationReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_623, memb_criticality_constraint_621 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_624, + select_ENB_EUTRA_NRCellResourceCoordinationReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_624, memb_value_constraint_621 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tag2el_621[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqIEs_specs_621 = { + sizeof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqIEs, _asn_ctx), + asn_MAP_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tag2el_621, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs = { + "ENB-EUTRA-NRCellResourceCoordinationReqIEs", + "ENB-EUTRA-NRCellResourceCoordinationReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621, + sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621) + /sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621[0]), /* 1 */ + asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621, /* Same as above */ + sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621) + /sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs_tags_621[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqIEs_621, + 3, /* Elements count */ + &asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqIEs_specs_621 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_628[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.DataTrafficResourceIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataTrafficResourceIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DataTrafficResourceIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.ListofEUTRACellsinNRCoordinationReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ListofEUTRACellsinNRCoordinationReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ListofEUTRACellsinNRCoordinationReq" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.SpectrumSharingGroupID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SpectrumSharingGroupID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SpectrumSharingGroupID" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, choice.ListofNRCellsinNRCoordinationReq), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ListofNRCellsinNRCoordinationReq, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ListofNRCellsinNRCoordinationReq" + }, +}; +static const unsigned asn_MAP_value_to_canonical_628[] = { 2, 0, 1, 3 }; +static const unsigned asn_MAP_value_from_canonical_628[] = { 1, 2, 0, 3 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_628[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, 0, 0 }, /* SpectrumSharingGroupID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* DataTrafficResourceIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* ListofEUTRACellsinNRCoordinationReq */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* ListofNRCellsinNRCoordinationReq */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_628 = { + sizeof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, _asn_ctx), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value, present), + sizeof(((struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value *)0)->present), + asn_MAP_value_tag2el_628, + 4, /* Count of tags in the map */ + asn_MAP_value_to_canonical_628, + asn_MAP_value_from_canonical_628, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_628 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_628, + 4, /* Elements count */ + &asn_SPC_value_specs_628 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_625[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_626, memb_id_constraint_625 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_627, memb_criticality_constraint_625 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_628, + select_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_628, memb_value_constraint_625 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tag2el_625[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_specs_625 = { + sizeof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs, _asn_ctx), + asn_MAP_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tag2el_625, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs = { + "En-gNB-EUTRA-NRCellResourceCoordinationReqIEs", + "En-gNB-EUTRA-NRCellResourceCoordinationReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625, + sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625) + /sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625[0]), /* 1 */ + asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625, /* Same as above */ + sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625) + /sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_tags_625[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_625, + 3, /* Elements count */ + &asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_specs_625 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_632[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs__value, choice.RespondingNodeType_EutranrCellResourceCoordination), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RespondingNodeType_EutranrCellResourceCoordination, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RespondingNodeType-EutranrCellResourceCoordination" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_632[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_632 = { + sizeof(struct EUTRANRCellResourceCoordinationResponse_IEs__value), + offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs__value, _asn_ctx), + offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs__value, present), + sizeof(((struct EUTRANRCellResourceCoordinationResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_632, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_632 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_632, + 1, /* Elements count */ + &asn_SPC_value_specs_632 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationResponse_IEs_629[] = { + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_630, memb_id_constraint_629 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_EUTRANRCellResourceCoordinationResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_631, memb_criticality_constraint_629 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_632, + select_EUTRANRCellResourceCoordinationResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_632, memb_value_constraint_629 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EUTRANRCellResourceCoordinationResponse_IEs_tag2el_629[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationResponse_IEs_specs_629 = { + sizeof(struct EUTRANRCellResourceCoordinationResponse_IEs), + offsetof(struct EUTRANRCellResourceCoordinationResponse_IEs, _asn_ctx), + asn_MAP_EUTRANRCellResourceCoordinationResponse_IEs_tag2el_629, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs = { + "EUTRANRCellResourceCoordinationResponse-IEs", + "EUTRANRCellResourceCoordinationResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629, + sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629[0]), /* 1 */ + asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629, /* Same as above */ + sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629) + /sizeof(asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs_tags_629[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_EUTRANRCellResourceCoordinationResponse_IEs_629, + 3, /* Elements count */ + &asn_SPC_EUTRANRCellResourceCoordinationResponse_IEs_specs_629 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_636[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.DataTrafficResourceIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataTrafficResourceIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DataTrafficResourceIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.SpectrumSharingGroupID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SpectrumSharingGroupID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SpectrumSharingGroupID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.ListofEUTRACellsinEUTRACoordinationResp), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ListofEUTRACellsinEUTRACoordinationResp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ListofEUTRACellsinEUTRACoordinationResp" + }, +}; +static const unsigned asn_MAP_value_to_canonical_636[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_636[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_636[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* SpectrumSharingGroupID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* DataTrafficResourceIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* ListofEUTRACellsinEUTRACoordinationResp */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_636 = { + sizeof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, _asn_ctx), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, present), + sizeof(((struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_636, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_636, + asn_MAP_value_from_canonical_636, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_636 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_636, + 3, /* Elements count */ + &asn_SPC_value_specs_636 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_633[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_634, memb_id_constraint_633 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_635, memb_criticality_constraint_633 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_636, + select_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_636, memb_value_constraint_633 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tag2el_633[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_633 = { + sizeof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs), + offsetof(struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs, _asn_ctx), + asn_MAP_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tag2el_633, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs = { + "ENB-EUTRA-NRCellResourceCoordinationReqAckIEs", + "ENB-EUTRA-NRCellResourceCoordinationReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633, + sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633) + /sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633[0]), /* 1 */ + asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633, /* Same as above */ + sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633) + /sizeof(asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_633[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_633, + 3, /* Elements count */ + &asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_633 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_640[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.DataTrafficResourceIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataTrafficResourceIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DataTrafficResourceIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.SpectrumSharingGroupID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SpectrumSharingGroupID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SpectrumSharingGroupID" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, choice.ListofNRCellsinNRCoordinationResp), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ListofNRCellsinNRCoordinationResp, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ListofNRCellsinNRCoordinationResp" + }, +}; +static const unsigned asn_MAP_value_to_canonical_640[] = { 1, 0, 2 }; +static const unsigned asn_MAP_value_from_canonical_640[] = { 1, 0, 2 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_640[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* SpectrumSharingGroupID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* DataTrafficResourceIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* ListofNRCellsinNRCoordinationResp */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_640 = { + sizeof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, _asn_ctx), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value, present), + sizeof(((struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_640, + 3, /* Count of tags in the map */ + asn_MAP_value_to_canonical_640, + asn_MAP_value_from_canonical_640, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_640 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_640, + 3, /* Elements count */ + &asn_SPC_value_specs_640 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_637[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_638, memb_id_constraint_637 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_639, memb_criticality_constraint_637 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_640, + select_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_640, memb_value_constraint_637 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tag2el_637[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_637 = { + sizeof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs), + offsetof(struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs, _asn_ctx), + asn_MAP_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tag2el_637, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs = { + "En-gNB-EUTRA-NRCellResourceCoordinationReqAckIEs", + "En-gNB-EUTRA-NRCellResourceCoordinationReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637, + sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637) + /sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637[0]), /* 1 */ + asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637, /* Same as above */ + sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637) + /sizeof(asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_tags_637[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_637, + 3, /* Elements count */ + &asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_637 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_644[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalRequest_IEs__value, choice.InitiatingNodeType_EndcX2Removal), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_InitiatingNodeType_EndcX2Removal, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "InitiatingNodeType-EndcX2Removal" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_644[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* init-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* init-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_644 = { + sizeof(struct ENDCX2RemovalRequest_IEs__value), + offsetof(struct ENDCX2RemovalRequest_IEs__value, _asn_ctx), + offsetof(struct ENDCX2RemovalRequest_IEs__value, present), + sizeof(((struct ENDCX2RemovalRequest_IEs__value *)0)->present), + asn_MAP_value_tag2el_644, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_644 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_644, + 1, /* Elements count */ + &asn_SPC_value_specs_644 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2RemovalRequest_IEs_641[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalRequest_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_642, memb_id_constraint_641 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalRequest_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2RemovalRequest_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_643, memb_criticality_constraint_641 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalRequest_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_644, + select_ENDCX2RemovalRequest_IEs_value_type, + { 0, &asn_PER_memb_value_constr_644, memb_value_constraint_641 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2RemovalRequest_IEs_tags_641[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2RemovalRequest_IEs_tag2el_641[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalRequest_IEs_specs_641 = { + sizeof(struct ENDCX2RemovalRequest_IEs), + offsetof(struct ENDCX2RemovalRequest_IEs, _asn_ctx), + asn_MAP_ENDCX2RemovalRequest_IEs_tag2el_641, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalRequest_IEs = { + "ENDCX2RemovalRequest-IEs", + "ENDCX2RemovalRequest-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2RemovalRequest_IEs_tags_641, + sizeof(asn_DEF_ENDCX2RemovalRequest_IEs_tags_641) + /sizeof(asn_DEF_ENDCX2RemovalRequest_IEs_tags_641[0]), /* 1 */ + asn_DEF_ENDCX2RemovalRequest_IEs_tags_641, /* Same as above */ + sizeof(asn_DEF_ENDCX2RemovalRequest_IEs_tags_641) + /sizeof(asn_DEF_ENDCX2RemovalRequest_IEs_tags_641[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2RemovalRequest_IEs_641, + 3, /* Elements count */ + &asn_SPC_ENDCX2RemovalRequest_IEs_specs_641 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_648[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqIEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_648[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalENB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_648 = { + sizeof(struct ENB_ENDCX2RemovalReqIEs__value), + offsetof(struct ENB_ENDCX2RemovalReqIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCX2RemovalReqIEs__value, present), + sizeof(((struct ENB_ENDCX2RemovalReqIEs__value *)0)->present), + asn_MAP_value_tag2el_648, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_648 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_648, + 1, /* Elements count */ + &asn_SPC_value_specs_648 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCX2RemovalReqIEs_645[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_646, memb_id_constraint_645 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_ENDCX2RemovalReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_647, memb_criticality_constraint_645 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_648, + select_ENB_ENDCX2RemovalReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_648, memb_value_constraint_645 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCX2RemovalReqIEs_tag2el_645[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2RemovalReqIEs_specs_645 = { + sizeof(struct ENB_ENDCX2RemovalReqIEs), + offsetof(struct ENB_ENDCX2RemovalReqIEs, _asn_ctx), + asn_MAP_ENB_ENDCX2RemovalReqIEs_tag2el_645, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2RemovalReqIEs = { + "ENB-ENDCX2RemovalReqIEs", + "ENB-ENDCX2RemovalReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645, + sizeof(asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645) + /sizeof(asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645[0]), /* 1 */ + asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645) + /sizeof(asn_DEF_ENB_ENDCX2RemovalReqIEs_tags_645[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCX2RemovalReqIEs_645, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCX2RemovalReqIEs_specs_645 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_652[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqIEs__value, choice.GlobalGNB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalGNB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_652[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalGNB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_652 = { + sizeof(struct En_gNB_ENDCX2RemovalReqIEs__value), + offsetof(struct En_gNB_ENDCX2RemovalReqIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCX2RemovalReqIEs__value, present), + sizeof(((struct En_gNB_ENDCX2RemovalReqIEs__value *)0)->present), + asn_MAP_value_tag2el_652, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_652 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_652, + 1, /* Elements count */ + &asn_SPC_value_specs_652 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2RemovalReqIEs_649[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_650, memb_id_constraint_649 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCX2RemovalReqIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_651, memb_criticality_constraint_649 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_652, + select_En_gNB_ENDCX2RemovalReqIEs_value_type, + { 0, &asn_PER_memb_value_constr_652, memb_value_constraint_649 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCX2RemovalReqIEs_tag2el_649[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2RemovalReqIEs_specs_649 = { + sizeof(struct En_gNB_ENDCX2RemovalReqIEs), + offsetof(struct En_gNB_ENDCX2RemovalReqIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCX2RemovalReqIEs_tag2el_649, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2RemovalReqIEs = { + "En-gNB-ENDCX2RemovalReqIEs", + "En-gNB-ENDCX2RemovalReqIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649, + sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649) + /sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649[0]), /* 1 */ + asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649) + /sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqIEs_tags_649[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCX2RemovalReqIEs_649, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCX2RemovalReqIEs_specs_649 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_656[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalResponse_IEs__value, choice.RespondingNodeType_EndcX2Removal), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RespondingNodeType_EndcX2Removal, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RespondingNodeType-EndcX2Removal" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_656[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_656 = { + sizeof(struct ENDCX2RemovalResponse_IEs__value), + offsetof(struct ENDCX2RemovalResponse_IEs__value, _asn_ctx), + offsetof(struct ENDCX2RemovalResponse_IEs__value, present), + sizeof(((struct ENDCX2RemovalResponse_IEs__value *)0)->present), + asn_MAP_value_tag2el_656, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_656 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_656, + 1, /* Elements count */ + &asn_SPC_value_specs_656 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2RemovalResponse_IEs_653[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalResponse_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_654, memb_id_constraint_653 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalResponse_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2RemovalResponse_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_655, memb_criticality_constraint_653 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalResponse_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_656, + select_ENDCX2RemovalResponse_IEs_value_type, + { 0, &asn_PER_memb_value_constr_656, memb_value_constraint_653 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2RemovalResponse_IEs_tags_653[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2RemovalResponse_IEs_tag2el_653[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalResponse_IEs_specs_653 = { + sizeof(struct ENDCX2RemovalResponse_IEs), + offsetof(struct ENDCX2RemovalResponse_IEs, _asn_ctx), + asn_MAP_ENDCX2RemovalResponse_IEs_tag2el_653, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalResponse_IEs = { + "ENDCX2RemovalResponse-IEs", + "ENDCX2RemovalResponse-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2RemovalResponse_IEs_tags_653, + sizeof(asn_DEF_ENDCX2RemovalResponse_IEs_tags_653) + /sizeof(asn_DEF_ENDCX2RemovalResponse_IEs_tags_653[0]), /* 1 */ + asn_DEF_ENDCX2RemovalResponse_IEs_tags_653, /* Same as above */ + sizeof(asn_DEF_ENDCX2RemovalResponse_IEs_tags_653) + /sizeof(asn_DEF_ENDCX2RemovalResponse_IEs_tags_653[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2RemovalResponse_IEs_653, + 3, /* Elements count */ + &asn_SPC_ENDCX2RemovalResponse_IEs_specs_653 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_660[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqAckIEs__value, choice.GlobalENB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalENB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_660[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalENB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_660 = { + sizeof(struct ENB_ENDCX2RemovalReqAckIEs__value), + offsetof(struct ENB_ENDCX2RemovalReqAckIEs__value, _asn_ctx), + offsetof(struct ENB_ENDCX2RemovalReqAckIEs__value, present), + sizeof(((struct ENB_ENDCX2RemovalReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_660, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_660 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_660, + 1, /* Elements count */ + &asn_SPC_value_specs_660 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENB_ENDCX2RemovalReqAckIEs_657[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_658, memb_id_constraint_657 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENB_ENDCX2RemovalReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_659, memb_criticality_constraint_657 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENB_ENDCX2RemovalReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_660, + select_ENB_ENDCX2RemovalReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_660, memb_value_constraint_657 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENB_ENDCX2RemovalReqAckIEs_tag2el_657[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2RemovalReqAckIEs_specs_657 = { + sizeof(struct ENB_ENDCX2RemovalReqAckIEs), + offsetof(struct ENB_ENDCX2RemovalReqAckIEs, _asn_ctx), + asn_MAP_ENB_ENDCX2RemovalReqAckIEs_tag2el_657, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2RemovalReqAckIEs = { + "ENB-ENDCX2RemovalReqAckIEs", + "ENB-ENDCX2RemovalReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657, + sizeof(asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657) + /sizeof(asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657[0]), /* 1 */ + asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657, /* Same as above */ + sizeof(asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657) + /sizeof(asn_DEF_ENB_ENDCX2RemovalReqAckIEs_tags_657[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENB_ENDCX2RemovalReqAckIEs_657, + 3, /* Elements count */ + &asn_SPC_ENB_ENDCX2RemovalReqAckIEs_specs_657 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_664[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs__value, choice.GlobalGNB_ID), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GlobalGNB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GlobalGNB-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_664[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* GlobalGNB-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_664 = { + sizeof(struct En_gNB_ENDCX2RemovalReqAckIEs__value), + offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs__value, _asn_ctx), + offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs__value, present), + sizeof(((struct En_gNB_ENDCX2RemovalReqAckIEs__value *)0)->present), + asn_MAP_value_tag2el_664, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_664 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_664, + 1, /* Elements count */ + &asn_SPC_value_specs_664 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2RemovalReqAckIEs_661[] = { + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_662, memb_id_constraint_661 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_En_gNB_ENDCX2RemovalReqAckIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_663, memb_criticality_constraint_661 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_664, + select_En_gNB_ENDCX2RemovalReqAckIEs_value_type, + { 0, &asn_PER_memb_value_constr_664, memb_value_constraint_661 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_En_gNB_ENDCX2RemovalReqAckIEs_tag2el_661[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2RemovalReqAckIEs_specs_661 = { + sizeof(struct En_gNB_ENDCX2RemovalReqAckIEs), + offsetof(struct En_gNB_ENDCX2RemovalReqAckIEs, _asn_ctx), + asn_MAP_En_gNB_ENDCX2RemovalReqAckIEs_tag2el_661, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs = { + "En-gNB-ENDCX2RemovalReqAckIEs", + "En-gNB-ENDCX2RemovalReqAckIEs", + &asn_OP_SEQUENCE, + asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661, + sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661) + /sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661[0]), /* 1 */ + asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661, /* Same as above */ + sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661) + /sizeof(asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs_tags_661[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_En_gNB_ENDCX2RemovalReqAckIEs_661, + 3, /* Elements count */ + &asn_SPC_En_gNB_ENDCX2RemovalReqAckIEs_specs_661 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_668[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure_IEs__value, choice.Cause), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "Cause" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure_IEs__value, choice.CriticalityDiagnostics), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CriticalityDiagnostics, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CriticalityDiagnostics" + }, +}; +static const unsigned asn_MAP_value_to_canonical_668[] = { 1, 0 }; +static const unsigned asn_MAP_value_from_canonical_668[] = { 1, 0 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_668[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* CriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_668 = { + sizeof(struct ENDCX2RemovalFailure_IEs__value), + offsetof(struct ENDCX2RemovalFailure_IEs__value, _asn_ctx), + offsetof(struct ENDCX2RemovalFailure_IEs__value, present), + sizeof(((struct ENDCX2RemovalFailure_IEs__value *)0)->present), + asn_MAP_value_tag2el_668, + 5, /* Count of tags in the map */ + asn_MAP_value_to_canonical_668, + asn_MAP_value_from_canonical_668, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_668 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_668, + 2, /* Elements count */ + &asn_SPC_value_specs_668 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ENDCX2RemovalFailure_IEs_665[] = { + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_666, memb_id_constraint_665 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_ENDCX2RemovalFailure_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_667, memb_criticality_constraint_665 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ENDCX2RemovalFailure_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_668, + select_ENDCX2RemovalFailure_IEs_value_type, + { 0, &asn_PER_memb_value_constr_668, memb_value_constraint_665 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_ENDCX2RemovalFailure_IEs_tags_665[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ENDCX2RemovalFailure_IEs_tag2el_665[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalFailure_IEs_specs_665 = { + sizeof(struct ENDCX2RemovalFailure_IEs), + offsetof(struct ENDCX2RemovalFailure_IEs, _asn_ctx), + asn_MAP_ENDCX2RemovalFailure_IEs_tag2el_665, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalFailure_IEs = { + "ENDCX2RemovalFailure-IEs", + "ENDCX2RemovalFailure-IEs", + &asn_OP_SEQUENCE, + asn_DEF_ENDCX2RemovalFailure_IEs_tags_665, + sizeof(asn_DEF_ENDCX2RemovalFailure_IEs_tags_665) + /sizeof(asn_DEF_ENDCX2RemovalFailure_IEs_tags_665[0]), /* 1 */ + asn_DEF_ENDCX2RemovalFailure_IEs_tags_665, /* Same as above */ + sizeof(asn_DEF_ENDCX2RemovalFailure_IEs_tags_665) + /sizeof(asn_DEF_ENDCX2RemovalFailure_IEs_tags_665[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ENDCX2RemovalFailure_IEs_665, + 3, /* Elements count */ + &asn_SPC_ENDCX2RemovalFailure_IEs_specs_665 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_672[] = { + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs__value, choice.UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID-Extension" + }, + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs__value, choice.UE_X2AP_ID), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs__value, choice.E_RABs_DataForwardingAddress_List), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_E_RABs_DataForwardingAddress_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "E-RABs-DataForwardingAddress-List" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_672[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* UE-X2AP-ID */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 } /* E-RABs-DataForwardingAddress-List */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_672 = { + sizeof(struct DataForwardingAddressIndication_IEs__value), + offsetof(struct DataForwardingAddressIndication_IEs__value, _asn_ctx), + offsetof(struct DataForwardingAddressIndication_IEs__value, present), + sizeof(((struct DataForwardingAddressIndication_IEs__value *)0)->present), + asn_MAP_value_tag2el_672, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_672 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_672, + 3, /* Elements count */ + &asn_SPC_value_specs_672 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DataForwardingAddressIndication_IEs_669[] = { + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_670, memb_id_constraint_669 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_DataForwardingAddressIndication_IEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_671, memb_criticality_constraint_669 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct DataForwardingAddressIndication_IEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_672, + select_DataForwardingAddressIndication_IEs_value_type, + { 0, &asn_PER_memb_value_constr_672, memb_value_constraint_669 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_DataForwardingAddressIndication_IEs_tags_669[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DataForwardingAddressIndication_IEs_tag2el_669[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DataForwardingAddressIndication_IEs_specs_669 = { + sizeof(struct DataForwardingAddressIndication_IEs), + offsetof(struct DataForwardingAddressIndication_IEs, _asn_ctx), + asn_MAP_DataForwardingAddressIndication_IEs_tag2el_669, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DataForwardingAddressIndication_IEs = { + "DataForwardingAddressIndication-IEs", + "DataForwardingAddressIndication-IEs", + &asn_OP_SEQUENCE, + asn_DEF_DataForwardingAddressIndication_IEs_tags_669, + sizeof(asn_DEF_DataForwardingAddressIndication_IEs_tags_669) + /sizeof(asn_DEF_DataForwardingAddressIndication_IEs_tags_669[0]), /* 1 */ + asn_DEF_DataForwardingAddressIndication_IEs_tags_669, /* Same as above */ + sizeof(asn_DEF_DataForwardingAddressIndication_IEs_tags_669) + /sizeof(asn_DEF_DataForwardingAddressIndication_IEs_tags_669[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_DataForwardingAddressIndication_IEs_669, + 3, /* Elements count */ + &asn_SPC_DataForwardingAddressIndication_IEs_specs_669 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_value_676[] = { + { ATF_NOFLAGS, 0, offsetof(struct GNBStatusIndicationIEs__value, choice.GNBOverloadInformation), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_GNBOverloadInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GNBOverloadInformation" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_676[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* GNBOverloadInformation */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_676 = { + sizeof(struct GNBStatusIndicationIEs__value), + offsetof(struct GNBStatusIndicationIEs__value, _asn_ctx), + offsetof(struct GNBStatusIndicationIEs__value, present), + sizeof(((struct GNBStatusIndicationIEs__value *)0)->present), + asn_MAP_value_tag2el_676, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_676 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_676, + 1, /* Elements count */ + &asn_SPC_value_specs_676 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GNBStatusIndicationIEs_673[] = { + { ATF_NOFLAGS, 0, offsetof(struct GNBStatusIndicationIEs, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, + { 0, &asn_PER_memb_id_constr_674, memb_id_constraint_673 }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct GNBStatusIndicationIEs, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_GNBStatusIndicationIEs_criticality_type, + { 0, &asn_PER_memb_criticality_constr_675, memb_criticality_constraint_673 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct GNBStatusIndicationIEs, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_676, + select_GNBStatusIndicationIEs_value_type, + { 0, &asn_PER_memb_value_constr_676, memb_value_constraint_673 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_GNBStatusIndicationIEs_tags_673[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GNBStatusIndicationIEs_tag2el_673[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GNBStatusIndicationIEs_specs_673 = { + sizeof(struct GNBStatusIndicationIEs), + offsetof(struct GNBStatusIndicationIEs, _asn_ctx), + asn_MAP_GNBStatusIndicationIEs_tag2el_673, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GNBStatusIndicationIEs = { + "GNBStatusIndicationIEs", + "GNBStatusIndicationIEs", + &asn_OP_SEQUENCE, + asn_DEF_GNBStatusIndicationIEs_tags_673, + sizeof(asn_DEF_GNBStatusIndicationIEs_tags_673) + /sizeof(asn_DEF_GNBStatusIndicationIEs_tags_673[0]), /* 1 */ + asn_DEF_GNBStatusIndicationIEs_tags_673, /* Same as above */ + sizeof(asn_DEF_GNBStatusIndicationIEs_tags_673) + /sizeof(asn_DEF_GNBStatusIndicationIEs_tags_673[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_GNBStatusIndicationIEs_673, + 3, /* Elements count */ + &asn_SPC_GNBStatusIndicationIEs_specs_673 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtocolIE-Field.h b/asn1c_defs/all-defs/ProtocolIE-Field.h new file mode 100755 index 0000000..410ac8f --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-Field.h @@ -0,0 +1,4885 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolIE_Field_H_ +#define _ProtocolIE_Field_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-ID.h" +#include "Criticality.h" +#include +#include +#include "RICaction-ToBeSetup-Item.h" +#include "Presence.h" +#include +#include +#include +#include "RICaction-Admitted-Item.h" +#include "RICaction-NotAdmitted-Item.h" +#include "RANfunction-Item.h" +#include "RANfunctionID-Item.h" +#include "RANfunctionIDcause-Item.h" +#include "E-RABs-ToBeSetup-Item.h" +#include "E-RABs-Admitted-Item.h" +#include "E-RABs-SubjectToStatusTransfer-Item.h" +#include "CellInformation-Item.h" +#include "CellToReport-Item.h" +#include "MeasurementInitiationResult-Item.h" +#include "MeasurementFailureCause-Item.h" +#include "CompleteFailureCauseInformation-Item.h" +#include "CellMeasurementResult-Item.h" +#include "E-RABs-ToBeAdded-Item.h" +#include "E-RABs-Admitted-ToBeAdded-Item.h" +#include "E-RABs-ToBeAdded-ModReqItem.h" +#include "E-RABs-ToBeModified-ModReqItem.h" +#include "E-RABs-ToBeReleased-ModReqItem.h" +#include "E-RABs-Admitted-ToBeAdded-ModAckItem.h" +#include "E-RABs-Admitted-ToBeModified-ModAckItem.h" +#include "E-RABs-Admitted-ToReleased-ModAckItem.h" +#include "E-RABs-ToBeReleased-ModReqdItem.h" +#include "E-RABs-ToBeReleased-RelReqItem.h" +#include "E-RABs-ToBeReleased-RelConfItem.h" +#include "E-RABs-SubjectToCounterCheckItem.h" +#include "E-RABs-ToBeSetupRetrieve-Item.h" +#include "E-RABs-ToBeAdded-SgNBAddReq-Item.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item.h" +#include "E-RABs-ToBeAdded-SgNBModReq-Item.h" +#include "E-RABs-ToBeModified-SgNBModReq-Item.h" +#include "E-RABs-ToBeReleased-SgNBModReq-Item.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item.h" +#include "E-RABs-Admitted-ToBeModified-SgNBModAck-Item.h" +#include "E-RABs-Admitted-ToReleased-SgNBModAck-Item.h" +#include "E-RABs-ToBeReleased-SgNBModReqd-Item.h" +#include "E-RABs-ToBeModified-SgNBModReqd-Item.h" +#include "E-RABs-AdmittedToBeModified-SgNBModConf-Item.h" +#include "E-RABs-ToBeReleased-SgNBRelReq-Item.h" +#include "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item.h" +#include "E-RABs-ToBeReleased-SgNBRelReqd-Item.h" +#include "E-RABs-ToBeReleased-SgNBRelConf-Item.h" +#include "E-RABs-SubjectToSgNBCounterCheck-Item.h" +#include "E-RABs-ToBeReleased-SgNBChaConf-Item.h" +#include "E-RABs-DataForwardingAddress-Item.h" +#include "E-RAB-Item.h" +#include "E-RABUsageReport-Item.h" +#include "SecondaryRATUsageReport-Item.h" +#include "RICrequestID.h" +#include "RANfunctionID.h" +#include "RICsubscription.h" +#include "RICaction-Admitted-List.h" +#include "RICaction-NotAdmitted-List.h" +#include "CriticalityDiagnostics.h" +#include "RICcause.h" +#include "RICactionID.h" +#include "RICindicationSN.h" +#include "RICindicationType.h" +#include "RICindicationHeader.h" +#include "RICindicationMessage.h" +#include "RICcallProcessID.h" +#include "RICcontrolHeader.h" +#include "RICcontrolMessage.h" +#include "RICcontrolAckRequest.h" +#include "RICcontrolStatus.h" +#include "RANfunctions-List.h" +#include "RANfunctionsID-List.h" +#include "RANfunctionsIDcause-List.h" +#include "TimeToWait.h" +#include "UE-X2AP-ID.h" +#include "Cause.h" +#include "ECGI.h" +#include "GUMMEI.h" +#include "UE-ContextInformation.h" +#include "UE-HistoryInformation.h" +#include "TraceActivation.h" +#include "SRVCCOperationPossible.h" +#include "CSGMembershipStatus.h" +#include "MobilityInformation.h" +#include "Masked-IMEISV.h" +#include "UE-HistoryInformationFromTheUE.h" +#include "ExpectedUEBehaviour.h" +#include "ProSeAuthorized.h" +#include "UE-ContextReferenceAtSeNB.h" +#include "UE-X2AP-ID-Extension.h" +#include "V2XServicesAuthorized.h" +#include "UE-ContextReferenceAtWT.h" +#include "NRUESecurityCapabilities.h" +#include "UE-ContextReferenceAtSgNB.h" +#include "AerialUEsubscriptionInformation.h" +#include "Subscription-Based-UE-DifferentiationInfo.h" +#include "E-RABs-Admitted-List.h" +#include "E-RAB-List.h" +#include "TargeteNBtoSource-eNBTransparentContainer.h" +#include "UE-ContextKeptIndicator.h" +#include "HandoverReportType.h" +#include "TargetCellInUTRAN.h" +#include "CRNTI.h" +#include "UE-RLF-Report-Container.h" +#include "UE-RLF-Report-Container-for-extended-bands.h" +#include "E-RABs-SubjectToStatusTransfer-List.h" +#include "SgNB-UE-X2AP-ID.h" +#include "SIPTOBearerDeactivationIndication.h" +#include "GlobalENB-ID.h" +#include "ServedCells.h" +#include "GUGroupIDList.h" +#include "LHN-ID.h" +#include "CellInformation-List.h" +#include "ServedCellsToModify.h" +#include "Old-ECGIs.h" +#include "CoverageModificationList.h" +#include "Measurement-ID.h" +#include "Registration-Request.h" +#include "ReportCharacteristics.h" +#include "CellToReport-List.h" +#include "ReportingPeriodicity.h" +#include "PartialSuccessIndicator.h" +#include "ReportingPeriodicityRSRPMR.h" +#include "ReportingPeriodicityCSIR.h" +#include "MeasurementInitiationResult-List.h" +#include "CompleteFailureCauseInformation-List.h" +#include "CellMeasurementResult-List.h" +#include "MobilityParametersInformation.h" +#include "MobilityParametersModificationRange.h" +#include "PCI.h" +#include "ShortMAC-I.h" +#include "RRCConnSetupIndicator.h" +#include "RRCConnReestabIndicator.h" +#include "ServedCellsToActivate.h" +#include "ActivatedCellList.h" +#include "RNL-Header.h" +#include "X2AP-Message.h" +#include "UESecurityCapabilities.h" +#include "SeNBSecurityKey.h" +#include "UEAggregateMaximumBitRate.h" +#include "PLMN-Identity.h" +#include "E-RABs-ToBeAdded-List.h" +#include "MeNBtoSeNBContainer.h" +#include "E-RABs-Admitted-ToBeAdded-List.h" +#include "SeNBtoMeNBContainer.h" +#include "TransportLayerAddress.h" +#include "TunnelInformation.h" +#include "ResponseInformationSeNBReconfComp.h" +#include "SCGChangeIndication.h" +#include "UE-ContextInformationSeNBModReq.h" +#include "E-RABs-Admitted-ToBeAdded-ModAckList.h" +#include "E-RABs-Admitted-ToBeModified-ModAckList.h" +#include "E-RABs-Admitted-ToBeReleased-ModAckList.h" +#include "E-RABs-ToBeReleased-ModReqd.h" +#include "E-RABs-ToBeReleased-List-RelReq.h" +#include "MakeBeforeBreakIndicator.h" +#include "E-RABs-ToBeReleased-List-RelConf.h" +#include "E-RABs-SubjectToCounterCheck-List.h" +#include "X2BenefitValue.h" +#include "ResumeID.h" +#include "EUTRANCellIdentifier.h" +#include "UE-ContextInformationRetrieve.h" +#include "SgNBSecurityKey.h" +#include "HandoverRestrictionList.h" +#include "E-RABs-ToBeAdded-SgNBAddReqList.h" +#include "MeNBtoSgNBContainer.h" +#include "SplitSRBs.h" +#include "MeNBResourceCoordinationInformation.h" +#include "SGNB-Addition-Trigger-Ind.h" +#include "SubscriberProfileIDforRFP.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList.h" +#include "SgNBtoMeNBContainer.h" +#include "SgNBResourceCoordinationInformation.h" +#include "RRC-Config-Ind.h" +#include "ResponseInformationSgNBReconfComp.h" +#include "SCGConfigurationQuery.h" +#include "UE-ContextInformation-SgNBModReq.h" +#include "E-RABs-Admitted-ToBeAdded-SgNBModAckList.h" +#include "E-RABs-Admitted-ToBeModified-SgNBModAckList.h" +#include "E-RABs-Admitted-ToBeReleased-SgNBModAckList.h" +#include "PDCPChangeIndication.h" +#include "E-RABs-ToBeReleased-SgNBModReqdList.h" +#include "E-RABs-ToBeModified-SgNBModReqdList.h" +#include "E-RABs-AdmittedToBeModified-SgNBModConfList.h" +#include "E-RABs-ToBeReleased-SgNBRelReqList.h" +#include "E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList.h" +#include "E-RABs-ToBeReleased-SgNBRelReqdList.h" +#include "E-RABs-ToBeReleased-SgNBRelConfList.h" +#include "E-RABs-SubjectToSgNBCounterCheck-List.h" +#include "GlobalGNB-ID.h" +#include "E-RABs-ToBeReleased-SgNBChaConfList.h" +#include "SplitSRB.h" +#include "UENRMeasurement.h" +#include "InitiatingNodeType-EndcX2Setup.h" +#include "ServedEUTRAcellsENDCX2ManagementList.h" +#include "ServedNRcellsENDCX2ManagementList.h" +#include "RespondingNodeType-EndcX2Setup.h" +#include "InitiatingNodeType-EndcConfigUpdate.h" +#include "CellAssistanceInformation.h" +#include "ServedEUTRAcellsToModifyListENDCConfUpd.h" +#include "ServedEUTRAcellsToDeleteListENDCConfUpd.h" +#include "ServedNRcellsToModifyENDCConfUpdList.h" +#include "ServedNRcellsToDeleteENDCConfUpdList.h" +#include "RespondingNodeType-EndcConfigUpdate.h" +#include "ServedNRCellsToActivate.h" +#include "ActivationID.h" +#include "ActivatedNRCellList.h" +#include "SecondaryRATUsageReportList.h" +#include "UserPlaneTrafficActivityReport.h" +#include "ERABActivityNotifyItemList.h" +#include "UEsToBeResetList.h" +#include "InitiatingNodeType-EutranrCellResourceCoordination.h" +#include "DataTrafficResourceIndication.h" +#include "SpectrumSharingGroupID.h" +#include "ListofEUTRACellsinEUTRACoordinationReq.h" +#include "ListofEUTRACellsinNRCoordinationReq.h" +#include "ListofNRCellsinNRCoordinationReq.h" +#include "RespondingNodeType-EutranrCellResourceCoordination.h" +#include "ListofEUTRACellsinEUTRACoordinationResp.h" +#include "ListofNRCellsinNRCoordinationResp.h" +#include "InitiatingNodeType-EndcX2Removal.h" +#include "RespondingNodeType-EndcX2Removal.h" +#include "E-RABs-DataForwardingAddress-List.h" +#include "GNBOverloadInformation.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICaction_ToBeSetup_ItemIEs__value_PR { + RICaction_ToBeSetup_ItemIEs__value_PR_NOTHING, /* No components present */ + RICaction_ToBeSetup_ItemIEs__value_PR_RICaction_ToBeSetup_Item +} RICaction_ToBeSetup_ItemIEs__value_PR; +typedef enum RICaction_Admitted_ItemIEs__value_PR { + RICaction_Admitted_ItemIEs__value_PR_NOTHING, /* No components present */ + RICaction_Admitted_ItemIEs__value_PR_RICaction_Admitted_Item +} RICaction_Admitted_ItemIEs__value_PR; +typedef enum RICaction_NotAdmitted_ItemIEs__value_PR { + RICaction_NotAdmitted_ItemIEs__value_PR_NOTHING, /* No components present */ + RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item +} RICaction_NotAdmitted_ItemIEs__value_PR; +typedef enum RANfunction_ItemIEs__value_PR { + RANfunction_ItemIEs__value_PR_NOTHING, /* No components present */ + RANfunction_ItemIEs__value_PR_RANfunction_Item +} RANfunction_ItemIEs__value_PR; +typedef enum RANfunctionID_ItemIEs__value_PR { + RANfunctionID_ItemIEs__value_PR_NOTHING, /* No components present */ + RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item +} RANfunctionID_ItemIEs__value_PR; +typedef enum RANfunctionIDcause_ItemIEs__value_PR { + RANfunctionIDcause_ItemIEs__value_PR_NOTHING, /* No components present */ + RANfunctionIDcause_ItemIEs__value_PR_RANfunctionIDcause_Item +} RANfunctionIDcause_ItemIEs__value_PR; +typedef enum E_RABs_ToBeSetup_ItemIEs__value_PR { + E_RABs_ToBeSetup_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeSetup_ItemIEs__value_PR_E_RABs_ToBeSetup_Item +} E_RABs_ToBeSetup_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ItemIEs__value_PR { + E_RABs_Admitted_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ItemIEs__value_PR_E_RABs_Admitted_Item +} E_RABs_Admitted_ItemIEs__value_PR; +typedef enum E_RABs_SubjectToStatusTransfer_ItemIEs__value_PR { + E_RABs_SubjectToStatusTransfer_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_SubjectToStatusTransfer_ItemIEs__value_PR_E_RABs_SubjectToStatusTransfer_Item +} E_RABs_SubjectToStatusTransfer_ItemIEs__value_PR; +typedef enum CellInformation_ItemIEs__value_PR { + CellInformation_ItemIEs__value_PR_NOTHING, /* No components present */ + CellInformation_ItemIEs__value_PR_CellInformation_Item +} CellInformation_ItemIEs__value_PR; +typedef enum CellToReport_ItemIEs__value_PR { + CellToReport_ItemIEs__value_PR_NOTHING, /* No components present */ + CellToReport_ItemIEs__value_PR_CellToReport_Item +} CellToReport_ItemIEs__value_PR; +typedef enum MeasurementInitiationResult_ItemIEs__value_PR { + MeasurementInitiationResult_ItemIEs__value_PR_NOTHING, /* No components present */ + MeasurementInitiationResult_ItemIEs__value_PR_MeasurementInitiationResult_Item +} MeasurementInitiationResult_ItemIEs__value_PR; +typedef enum MeasurementFailureCause_ItemIEs__value_PR { + MeasurementFailureCause_ItemIEs__value_PR_NOTHING, /* No components present */ + MeasurementFailureCause_ItemIEs__value_PR_MeasurementFailureCause_Item +} MeasurementFailureCause_ItemIEs__value_PR; +typedef enum CompleteFailureCauseInformation_ItemIEs__value_PR { + CompleteFailureCauseInformation_ItemIEs__value_PR_NOTHING, /* No components present */ + CompleteFailureCauseInformation_ItemIEs__value_PR_CompleteFailureCauseInformation_Item +} CompleteFailureCauseInformation_ItemIEs__value_PR; +typedef enum CellMeasurementResult_ItemIEs__value_PR { + CellMeasurementResult_ItemIEs__value_PR_NOTHING, /* No components present */ + CellMeasurementResult_ItemIEs__value_PR_CellMeasurementResult_Item +} CellMeasurementResult_ItemIEs__value_PR; +typedef enum E_RABs_ToBeAdded_ItemIEs__value_PR { + E_RABs_ToBeAdded_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_ItemIEs__value_PR_E_RABs_ToBeAdded_Item +} E_RABs_ToBeAdded_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeAdded_ItemIEs__value_PR { + E_RABs_Admitted_ToBeAdded_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_ItemIEs__value_PR_E_RABs_Admitted_ToBeAdded_Item +} E_RABs_Admitted_ToBeAdded_ItemIEs__value_PR; +typedef enum E_RABs_ToBeAdded_ModReqItemIEs__value_PR { + E_RABs_ToBeAdded_ModReqItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_ModReqItemIEs__value_PR_E_RABs_ToBeAdded_ModReqItem +} E_RABs_ToBeAdded_ModReqItemIEs__value_PR; +typedef enum E_RABs_ToBeModified_ModReqItemIEs__value_PR { + E_RABs_ToBeModified_ModReqItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_ModReqItemIEs__value_PR_E_RABs_ToBeModified_ModReqItem +} E_RABs_ToBeModified_ModReqItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_ModReqItemIEs__value_PR { + E_RABs_ToBeReleased_ModReqItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_ModReqItemIEs__value_PR_E_RABs_ToBeReleased_ModReqItem +} E_RABs_ToBeReleased_ModReqItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_PR { + E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_PR_E_RABs_Admitted_ToBeAdded_ModAckItem +} E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_PR { + E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_PR_E_RABs_Admitted_ToBeModified_ModAckItem +} E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_PR { + E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_PR_E_RABs_Admitted_ToReleased_ModAckItem +} E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_ModReqdItemIEs__value_PR { + E_RABs_ToBeReleased_ModReqdItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_ModReqdItemIEs__value_PR_E_RABs_ToBeReleased_ModReqdItem +} E_RABs_ToBeReleased_ModReqdItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_RelReqItemIEs__value_PR { + E_RABs_ToBeReleased_RelReqItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_RelReqItemIEs__value_PR_E_RABs_ToBeReleased_RelReqItem +} E_RABs_ToBeReleased_RelReqItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_RelConfItemIEs__value_PR { + E_RABs_ToBeReleased_RelConfItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_RelConfItemIEs__value_PR_E_RABs_ToBeReleased_RelConfItem +} E_RABs_ToBeReleased_RelConfItemIEs__value_PR; +typedef enum E_RABs_SubjectToCounterCheckItemIEs__value_PR { + E_RABs_SubjectToCounterCheckItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_SubjectToCounterCheckItemIEs__value_PR_E_RABs_SubjectToCounterCheckItem +} E_RABs_SubjectToCounterCheckItemIEs__value_PR; +typedef enum E_RABs_ToBeSetupRetrieve_ItemIEs__value_PR { + E_RABs_ToBeSetupRetrieve_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeSetupRetrieve_ItemIEs__value_PR_E_RABs_ToBeSetupRetrieve_Item +} E_RABs_ToBeSetupRetrieve_ItemIEs__value_PR; +typedef enum E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_PR { + E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_PR_E_RABs_ToBeAdded_SgNBAddReq_Item +} E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_PR { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_PR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_PR; +typedef enum E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_PR { + E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_PR_E_RABs_ToBeAdded_SgNBModReq_Item +} E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_PR; +typedef enum E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_PR { + E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_PR_E_RABs_ToBeModified_SgNBModReq_Item +} E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBModReq_Item +} E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_PR { + E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_PR_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item +} E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_PR { + E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_PR_E_RABs_Admitted_ToBeModified_SgNBModAck_Item +} E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_PR { + E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_PR_E_RABs_Admitted_ToReleased_SgNBModAck_Item +} E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBModReqd_Item +} E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_PR; +typedef enum E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_PR { + E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_PR_E_RABs_ToBeModified_SgNBModReqd_Item +} E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_PR; +typedef enum E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_PR { + E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_PR_E_RABs_AdmittedToBeModified_SgNBModConf_Item +} E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBRelReq_Item +} E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_PR; +typedef enum E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_PR { + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_PR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBRelReqd_Item +} E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBRelConf_Item +} E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_PR; +typedef enum E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_PR { + E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_PR_E_RABs_SubjectToSgNBCounterCheck_Item +} E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_PR; +typedef enum E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_PR { + E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_PR_E_RABs_ToBeReleased_SgNBChaConf_Item +} E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_PR; +typedef enum E_RABs_DataForwardingAddress_ItemIEs__value_PR { + E_RABs_DataForwardingAddress_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABs_DataForwardingAddress_ItemIEs__value_PR_E_RABs_DataForwardingAddress_Item +} E_RABs_DataForwardingAddress_ItemIEs__value_PR; +typedef enum E_RAB_ItemIEs__value_PR { + E_RAB_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RAB_ItemIEs__value_PR_E_RAB_Item +} E_RAB_ItemIEs__value_PR; +typedef enum E_RABUsageReport_ItemIEs__value_PR { + E_RABUsageReport_ItemIEs__value_PR_NOTHING, /* No components present */ + E_RABUsageReport_ItemIEs__value_PR_E_RABUsageReport_Item +} E_RABUsageReport_ItemIEs__value_PR; +typedef enum SecondaryRATUsageReport_ItemIEs__value_PR { + SecondaryRATUsageReport_ItemIEs__value_PR_NOTHING, /* No components present */ + SecondaryRATUsageReport_ItemIEs__value_PR_SecondaryRATUsageReport_Item +} SecondaryRATUsageReport_ItemIEs__value_PR; +typedef enum RICsubscriptionRequest_IEs__value_PR { + RICsubscriptionRequest_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionRequest_IEs__value_PR_RICrequestID, + RICsubscriptionRequest_IEs__value_PR_RANfunctionID, + RICsubscriptionRequest_IEs__value_PR_RICsubscription +} RICsubscriptionRequest_IEs__value_PR; +typedef enum RICsubscriptionResponse_IEs__value_PR { + RICsubscriptionResponse_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionResponse_IEs__value_PR_RICrequestID, + RICsubscriptionResponse_IEs__value_PR_RANfunctionID, + RICsubscriptionResponse_IEs__value_PR_RICaction_Admitted_List, + RICsubscriptionResponse_IEs__value_PR_RICaction_NotAdmitted_List +} RICsubscriptionResponse_IEs__value_PR; +typedef enum RICsubscriptionFailure_IEs__value_PR { + RICsubscriptionFailure_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionFailure_IEs__value_PR_RICrequestID, + RICsubscriptionFailure_IEs__value_PR_RANfunctionID, + RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List, + RICsubscriptionFailure_IEs__value_PR_CriticalityDiagnostics +} RICsubscriptionFailure_IEs__value_PR; +typedef enum RICsubscriptionDeleteRequest_IEs__value_PR { + RICsubscriptionDeleteRequest_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionDeleteRequest_IEs__value_PR_RICrequestID, + RICsubscriptionDeleteRequest_IEs__value_PR_RANfunctionID +} RICsubscriptionDeleteRequest_IEs__value_PR; +typedef enum RICsubscriptionDeleteResponse_IEs__value_PR { + RICsubscriptionDeleteResponse_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionDeleteResponse_IEs__value_PR_RICrequestID, + RICsubscriptionDeleteResponse_IEs__value_PR_RANfunctionID +} RICsubscriptionDeleteResponse_IEs__value_PR; +typedef enum RICsubscriptionDeleteFailure_IEs__value_PR { + RICsubscriptionDeleteFailure_IEs__value_PR_NOTHING, /* No components present */ + RICsubscriptionDeleteFailure_IEs__value_PR_RICrequestID, + RICsubscriptionDeleteFailure_IEs__value_PR_RANfunctionID, + RICsubscriptionDeleteFailure_IEs__value_PR_RICcause, + RICsubscriptionDeleteFailure_IEs__value_PR_CriticalityDiagnostics +} RICsubscriptionDeleteFailure_IEs__value_PR; +typedef enum RICindication_IEs__value_PR { + RICindication_IEs__value_PR_NOTHING, /* No components present */ + RICindication_IEs__value_PR_RICrequestID, + RICindication_IEs__value_PR_RANfunctionID, + RICindication_IEs__value_PR_RICactionID, + RICindication_IEs__value_PR_RICindicationSN, + RICindication_IEs__value_PR_RICindicationType, + RICindication_IEs__value_PR_RICindicationHeader, + RICindication_IEs__value_PR_RICindicationMessage, + RICindication_IEs__value_PR_RICcallProcessID +} RICindication_IEs__value_PR; +typedef enum RICcontrolRequest_IEs__value_PR { + RICcontrolRequest_IEs__value_PR_NOTHING, /* No components present */ + RICcontrolRequest_IEs__value_PR_RICrequestID, + RICcontrolRequest_IEs__value_PR_RANfunctionID, + RICcontrolRequest_IEs__value_PR_RICcallProcessID, + RICcontrolRequest_IEs__value_PR_RICcontrolHeader, + RICcontrolRequest_IEs__value_PR_RICcontrolMessage, + RICcontrolRequest_IEs__value_PR_RICcontrolAckRequest +} RICcontrolRequest_IEs__value_PR; +typedef enum RICcontrolAcknowledge_IEs__value_PR { + RICcontrolAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + RICcontrolAcknowledge_IEs__value_PR_RICrequestID, + RICcontrolAcknowledge_IEs__value_PR_RANfunctionID, + RICcontrolAcknowledge_IEs__value_PR_RICcallProcessID, + RICcontrolAcknowledge_IEs__value_PR_RICcontrolStatus +} RICcontrolAcknowledge_IEs__value_PR; +typedef enum RICcontrolFailure_IEs__value_PR { + RICcontrolFailure_IEs__value_PR_NOTHING, /* No components present */ + RICcontrolFailure_IEs__value_PR_RICrequestID, + RICcontrolFailure_IEs__value_PR_RANfunctionID, + RICcontrolFailure_IEs__value_PR_RICcallProcessID, + RICcontrolFailure_IEs__value_PR_RICcause +} RICcontrolFailure_IEs__value_PR; +typedef enum RICserviceUpdate_IEs__value_PR { + RICserviceUpdate_IEs__value_PR_NOTHING, /* No components present */ + RICserviceUpdate_IEs__value_PR_RANfunctions_List, + RICserviceUpdate_IEs__value_PR_RANfunctionsID_List +} RICserviceUpdate_IEs__value_PR; +typedef enum RICserviceUpdateAcknowledge_IEs__value_PR { + RICserviceUpdateAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsID_List, + RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsIDcause_List +} RICserviceUpdateAcknowledge_IEs__value_PR; +typedef enum RICserviceUpdateFailure_IEs__value_PR { + RICserviceUpdateFailure_IEs__value_PR_NOTHING, /* No components present */ + RICserviceUpdateFailure_IEs__value_PR_RANfunctionsIDcause_List, + RICserviceUpdateFailure_IEs__value_PR_TimeToWait, + RICserviceUpdateFailure_IEs__value_PR_CriticalityDiagnostics +} RICserviceUpdateFailure_IEs__value_PR; +typedef enum RICserviceQuery_IEs__value_PR { + RICserviceQuery_IEs__value_PR_NOTHING, /* No components present */ + RICserviceQuery_IEs__value_PR_RANfunctionsID_List +} RICserviceQuery_IEs__value_PR; +typedef enum HandoverRequest_IEs__value_PR { + HandoverRequest_IEs__value_PR_NOTHING, /* No components present */ + HandoverRequest_IEs__value_PR_UE_X2AP_ID, + HandoverRequest_IEs__value_PR_Cause, + HandoverRequest_IEs__value_PR_ECGI, + HandoverRequest_IEs__value_PR_GUMMEI, + HandoverRequest_IEs__value_PR_UE_ContextInformation, + HandoverRequest_IEs__value_PR_UE_HistoryInformation, + HandoverRequest_IEs__value_PR_TraceActivation, + HandoverRequest_IEs__value_PR_SRVCCOperationPossible, + HandoverRequest_IEs__value_PR_CSGMembershipStatus, + HandoverRequest_IEs__value_PR_MobilityInformation, + HandoverRequest_IEs__value_PR_Masked_IMEISV, + HandoverRequest_IEs__value_PR_UE_HistoryInformationFromTheUE, + HandoverRequest_IEs__value_PR_ExpectedUEBehaviour, + HandoverRequest_IEs__value_PR_ProSeAuthorized, + HandoverRequest_IEs__value_PR_UE_ContextReferenceAtSeNB, + HandoverRequest_IEs__value_PR_UE_X2AP_ID_Extension, + HandoverRequest_IEs__value_PR_V2XServicesAuthorized, + HandoverRequest_IEs__value_PR_UE_ContextReferenceAtWT, + HandoverRequest_IEs__value_PR_NRUESecurityCapabilities, + HandoverRequest_IEs__value_PR_UE_ContextReferenceAtSgNB, + HandoverRequest_IEs__value_PR_AerialUEsubscriptionInformation, + HandoverRequest_IEs__value_PR_Subscription_Based_UE_DifferentiationInfo +} HandoverRequest_IEs__value_PR; +typedef enum HandoverRequestAcknowledge_IEs__value_PR { + HandoverRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + HandoverRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + HandoverRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_List, + HandoverRequestAcknowledge_IEs__value_PR_E_RAB_List, + HandoverRequestAcknowledge_IEs__value_PR_TargeteNBtoSource_eNBTransparentContainer, + HandoverRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + HandoverRequestAcknowledge_IEs__value_PR_UE_ContextKeptIndicator, + HandoverRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension +} HandoverRequestAcknowledge_IEs__value_PR; +typedef enum HandoverPreparationFailure_IEs__value_PR { + HandoverPreparationFailure_IEs__value_PR_NOTHING, /* No components present */ + HandoverPreparationFailure_IEs__value_PR_UE_X2AP_ID, + HandoverPreparationFailure_IEs__value_PR_Cause, + HandoverPreparationFailure_IEs__value_PR_CriticalityDiagnostics, + HandoverPreparationFailure_IEs__value_PR_UE_X2AP_ID_Extension +} HandoverPreparationFailure_IEs__value_PR; +typedef enum HandoverReport_IEs__value_PR { + HandoverReport_IEs__value_PR_NOTHING, /* No components present */ + HandoverReport_IEs__value_PR_HandoverReportType, + HandoverReport_IEs__value_PR_Cause, + HandoverReport_IEs__value_PR_ECGI, + HandoverReport_IEs__value_PR_TargetCellInUTRAN, + HandoverReport_IEs__value_PR_CRNTI, + HandoverReport_IEs__value_PR_MobilityInformation, + HandoverReport_IEs__value_PR_UE_RLF_Report_Container, + HandoverReport_IEs__value_PR_UE_RLF_Report_Container_for_extended_bands +} HandoverReport_IEs__value_PR; +typedef enum SNStatusTransfer_IEs__value_PR { + SNStatusTransfer_IEs__value_PR_NOTHING, /* No components present */ + SNStatusTransfer_IEs__value_PR_UE_X2AP_ID, + SNStatusTransfer_IEs__value_PR_E_RABs_SubjectToStatusTransfer_List, + SNStatusTransfer_IEs__value_PR_UE_X2AP_ID_Extension, + SNStatusTransfer_IEs__value_PR_SgNB_UE_X2AP_ID +} SNStatusTransfer_IEs__value_PR; +typedef enum UEContextRelease_IEs__value_PR { + UEContextRelease_IEs__value_PR_NOTHING, /* No components present */ + UEContextRelease_IEs__value_PR_UE_X2AP_ID, + UEContextRelease_IEs__value_PR_UE_X2AP_ID_Extension, + UEContextRelease_IEs__value_PR_SIPTOBearerDeactivationIndication, + UEContextRelease_IEs__value_PR_SgNB_UE_X2AP_ID +} UEContextRelease_IEs__value_PR; +typedef enum HandoverCancel_IEs__value_PR { + HandoverCancel_IEs__value_PR_NOTHING, /* No components present */ + HandoverCancel_IEs__value_PR_UE_X2AP_ID, + HandoverCancel_IEs__value_PR_Cause, + HandoverCancel_IEs__value_PR_UE_X2AP_ID_Extension +} HandoverCancel_IEs__value_PR; +typedef enum ErrorIndication_IEs__value_PR { + ErrorIndication_IEs__value_PR_NOTHING, /* No components present */ + ErrorIndication_IEs__value_PR_UE_X2AP_ID, + ErrorIndication_IEs__value_PR_Cause, + ErrorIndication_IEs__value_PR_CriticalityDiagnostics, + ErrorIndication_IEs__value_PR_UE_X2AP_ID_Extension, + ErrorIndication_IEs__value_PR_SgNB_UE_X2AP_ID +} ErrorIndication_IEs__value_PR; +typedef enum ResetRequest_IEs__value_PR { + ResetRequest_IEs__value_PR_NOTHING, /* No components present */ + ResetRequest_IEs__value_PR_Cause +} ResetRequest_IEs__value_PR; +typedef enum ResetResponse_IEs__value_PR { + ResetResponse_IEs__value_PR_NOTHING, /* No components present */ + ResetResponse_IEs__value_PR_CriticalityDiagnostics +} ResetResponse_IEs__value_PR; +typedef enum X2SetupRequest_IEs__value_PR { + X2SetupRequest_IEs__value_PR_NOTHING, /* No components present */ + X2SetupRequest_IEs__value_PR_GlobalENB_ID, + X2SetupRequest_IEs__value_PR_ServedCells, + X2SetupRequest_IEs__value_PR_GUGroupIDList, + X2SetupRequest_IEs__value_PR_LHN_ID +} X2SetupRequest_IEs__value_PR; +typedef enum X2SetupResponse_IEs__value_PR { + X2SetupResponse_IEs__value_PR_NOTHING, /* No components present */ + X2SetupResponse_IEs__value_PR_GlobalENB_ID, + X2SetupResponse_IEs__value_PR_ServedCells, + X2SetupResponse_IEs__value_PR_GUGroupIDList, + X2SetupResponse_IEs__value_PR_CriticalityDiagnostics, + X2SetupResponse_IEs__value_PR_LHN_ID +} X2SetupResponse_IEs__value_PR; +typedef enum X2SetupFailure_IEs__value_PR { + X2SetupFailure_IEs__value_PR_NOTHING, /* No components present */ + X2SetupFailure_IEs__value_PR_Cause, + X2SetupFailure_IEs__value_PR_TimeToWait, + X2SetupFailure_IEs__value_PR_CriticalityDiagnostics +} X2SetupFailure_IEs__value_PR; +typedef enum LoadInformation_IEs__value_PR { + LoadInformation_IEs__value_PR_NOTHING, /* No components present */ + LoadInformation_IEs__value_PR_CellInformation_List +} LoadInformation_IEs__value_PR; +typedef enum ENBConfigurationUpdate_IEs__value_PR { + ENBConfigurationUpdate_IEs__value_PR_NOTHING, /* No components present */ + ENBConfigurationUpdate_IEs__value_PR_ServedCells, + ENBConfigurationUpdate_IEs__value_PR_ServedCellsToModify, + ENBConfigurationUpdate_IEs__value_PR_Old_ECGIs, + ENBConfigurationUpdate_IEs__value_PR_GUGroupIDList, + ENBConfigurationUpdate_IEs__value_PR_CoverageModificationList +} ENBConfigurationUpdate_IEs__value_PR; +typedef enum ENBConfigurationUpdateAcknowledge_IEs__value_PR { + ENBConfigurationUpdateAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + ENBConfigurationUpdateAcknowledge_IEs__value_PR_CriticalityDiagnostics +} ENBConfigurationUpdateAcknowledge_IEs__value_PR; +typedef enum ENBConfigurationUpdateFailure_IEs__value_PR { + ENBConfigurationUpdateFailure_IEs__value_PR_NOTHING, /* No components present */ + ENBConfigurationUpdateFailure_IEs__value_PR_Cause, + ENBConfigurationUpdateFailure_IEs__value_PR_TimeToWait, + ENBConfigurationUpdateFailure_IEs__value_PR_CriticalityDiagnostics +} ENBConfigurationUpdateFailure_IEs__value_PR; +typedef enum ResourceStatusRequest_IEs__value_PR { + ResourceStatusRequest_IEs__value_PR_NOTHING, /* No components present */ + ResourceStatusRequest_IEs__value_PR_Measurement_ID, + ResourceStatusRequest_IEs__value_PR_Registration_Request, + ResourceStatusRequest_IEs__value_PR_ReportCharacteristics, + ResourceStatusRequest_IEs__value_PR_CellToReport_List, + ResourceStatusRequest_IEs__value_PR_ReportingPeriodicity, + ResourceStatusRequest_IEs__value_PR_PartialSuccessIndicator, + ResourceStatusRequest_IEs__value_PR_ReportingPeriodicityRSRPMR, + ResourceStatusRequest_IEs__value_PR_ReportingPeriodicityCSIR +} ResourceStatusRequest_IEs__value_PR; +typedef enum ResourceStatusResponse_IEs__value_PR { + ResourceStatusResponse_IEs__value_PR_NOTHING, /* No components present */ + ResourceStatusResponse_IEs__value_PR_Measurement_ID, + ResourceStatusResponse_IEs__value_PR_CriticalityDiagnostics, + ResourceStatusResponse_IEs__value_PR_MeasurementInitiationResult_List +} ResourceStatusResponse_IEs__value_PR; +typedef enum ResourceStatusFailure_IEs__value_PR { + ResourceStatusFailure_IEs__value_PR_NOTHING, /* No components present */ + ResourceStatusFailure_IEs__value_PR_Measurement_ID, + ResourceStatusFailure_IEs__value_PR_Cause, + ResourceStatusFailure_IEs__value_PR_CriticalityDiagnostics, + ResourceStatusFailure_IEs__value_PR_CompleteFailureCauseInformation_List +} ResourceStatusFailure_IEs__value_PR; +typedef enum ResourceStatusUpdate_IEs__value_PR { + ResourceStatusUpdate_IEs__value_PR_NOTHING, /* No components present */ + ResourceStatusUpdate_IEs__value_PR_Measurement_ID, + ResourceStatusUpdate_IEs__value_PR_CellMeasurementResult_List +} ResourceStatusUpdate_IEs__value_PR; +typedef enum MobilityChangeRequest_IEs__value_PR { + MobilityChangeRequest_IEs__value_PR_NOTHING, /* No components present */ + MobilityChangeRequest_IEs__value_PR_ECGI, + MobilityChangeRequest_IEs__value_PR_MobilityParametersInformation, + MobilityChangeRequest_IEs__value_PR_Cause +} MobilityChangeRequest_IEs__value_PR; +typedef enum MobilityChangeAcknowledge_IEs__value_PR { + MobilityChangeAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + MobilityChangeAcknowledge_IEs__value_PR_ECGI, + MobilityChangeAcknowledge_IEs__value_PR_CriticalityDiagnostics +} MobilityChangeAcknowledge_IEs__value_PR; +typedef enum MobilityChangeFailure_IEs__value_PR { + MobilityChangeFailure_IEs__value_PR_NOTHING, /* No components present */ + MobilityChangeFailure_IEs__value_PR_ECGI, + MobilityChangeFailure_IEs__value_PR_Cause, + MobilityChangeFailure_IEs__value_PR_MobilityParametersModificationRange, + MobilityChangeFailure_IEs__value_PR_CriticalityDiagnostics +} MobilityChangeFailure_IEs__value_PR; +typedef enum RLFIndication_IEs__value_PR { + RLFIndication_IEs__value_PR_NOTHING, /* No components present */ + RLFIndication_IEs__value_PR_PCI, + RLFIndication_IEs__value_PR_ECGI, + RLFIndication_IEs__value_PR_CRNTI, + RLFIndication_IEs__value_PR_ShortMAC_I, + RLFIndication_IEs__value_PR_UE_RLF_Report_Container, + RLFIndication_IEs__value_PR_RRCConnSetupIndicator, + RLFIndication_IEs__value_PR_RRCConnReestabIndicator, + RLFIndication_IEs__value_PR_UE_RLF_Report_Container_for_extended_bands +} RLFIndication_IEs__value_PR; +typedef enum CellActivationRequest_IEs__value_PR { + CellActivationRequest_IEs__value_PR_NOTHING, /* No components present */ + CellActivationRequest_IEs__value_PR_ServedCellsToActivate +} CellActivationRequest_IEs__value_PR; +typedef enum CellActivationResponse_IEs__value_PR { + CellActivationResponse_IEs__value_PR_NOTHING, /* No components present */ + CellActivationResponse_IEs__value_PR_ActivatedCellList, + CellActivationResponse_IEs__value_PR_CriticalityDiagnostics +} CellActivationResponse_IEs__value_PR; +typedef enum CellActivationFailure_IEs__value_PR { + CellActivationFailure_IEs__value_PR_NOTHING, /* No components present */ + CellActivationFailure_IEs__value_PR_Cause, + CellActivationFailure_IEs__value_PR_CriticalityDiagnostics +} CellActivationFailure_IEs__value_PR; +typedef enum X2Release_IEs__value_PR { + X2Release_IEs__value_PR_NOTHING, /* No components present */ + X2Release_IEs__value_PR_GlobalENB_ID +} X2Release_IEs__value_PR; +typedef enum X2APMessageTransfer_IEs__value_PR { + X2APMessageTransfer_IEs__value_PR_NOTHING, /* No components present */ + X2APMessageTransfer_IEs__value_PR_RNL_Header, + X2APMessageTransfer_IEs__value_PR_X2AP_Message +} X2APMessageTransfer_IEs__value_PR; +typedef enum SeNBAdditionRequest_IEs__value_PR { + SeNBAdditionRequest_IEs__value_PR_NOTHING, /* No components present */ + SeNBAdditionRequest_IEs__value_PR_UE_X2AP_ID, + SeNBAdditionRequest_IEs__value_PR_UESecurityCapabilities, + SeNBAdditionRequest_IEs__value_PR_SeNBSecurityKey, + SeNBAdditionRequest_IEs__value_PR_UEAggregateMaximumBitRate, + SeNBAdditionRequest_IEs__value_PR_PLMN_Identity, + SeNBAdditionRequest_IEs__value_PR_E_RABs_ToBeAdded_List, + SeNBAdditionRequest_IEs__value_PR_MeNBtoSeNBContainer, + SeNBAdditionRequest_IEs__value_PR_CSGMembershipStatus, + SeNBAdditionRequest_IEs__value_PR_UE_X2AP_ID_Extension, + SeNBAdditionRequest_IEs__value_PR_ExpectedUEBehaviour +} SeNBAdditionRequest_IEs__value_PR; +typedef enum SeNBAdditionRequestAcknowledge_IEs__value_PR { + SeNBAdditionRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + SeNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + SeNBAdditionRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeAdded_List, + SeNBAdditionRequestAcknowledge_IEs__value_PR_E_RAB_List, + SeNBAdditionRequestAcknowledge_IEs__value_PR_SeNBtoMeNBContainer, + SeNBAdditionRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + SeNBAdditionRequestAcknowledge_IEs__value_PR_TransportLayerAddress, + SeNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension, + SeNBAdditionRequestAcknowledge_IEs__value_PR_TunnelInformation +} SeNBAdditionRequestAcknowledge_IEs__value_PR; +typedef enum SeNBAdditionRequestReject_IEs__value_PR { + SeNBAdditionRequestReject_IEs__value_PR_NOTHING, /* No components present */ + SeNBAdditionRequestReject_IEs__value_PR_UE_X2AP_ID, + SeNBAdditionRequestReject_IEs__value_PR_Cause, + SeNBAdditionRequestReject_IEs__value_PR_CriticalityDiagnostics, + SeNBAdditionRequestReject_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBAdditionRequestReject_IEs__value_PR; +typedef enum SeNBReconfigurationComplete_IEs__value_PR { + SeNBReconfigurationComplete_IEs__value_PR_NOTHING, /* No components present */ + SeNBReconfigurationComplete_IEs__value_PR_UE_X2AP_ID, + SeNBReconfigurationComplete_IEs__value_PR_ResponseInformationSeNBReconfComp, + SeNBReconfigurationComplete_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBReconfigurationComplete_IEs__value_PR; +typedef enum SeNBModificationRequest_IEs__value_PR { + SeNBModificationRequest_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationRequest_IEs__value_PR_UE_X2AP_ID, + SeNBModificationRequest_IEs__value_PR_Cause, + SeNBModificationRequest_IEs__value_PR_SCGChangeIndication, + SeNBModificationRequest_IEs__value_PR_PLMN_Identity, + SeNBModificationRequest_IEs__value_PR_UE_ContextInformationSeNBModReq, + SeNBModificationRequest_IEs__value_PR_MeNBtoSeNBContainer, + SeNBModificationRequest_IEs__value_PR_CSGMembershipStatus, + SeNBModificationRequest_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationRequest_IEs__value_PR; +typedef enum SeNBModificationRequestAcknowledge_IEs__value_PR { + SeNBModificationRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + SeNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeAdded_ModAckList, + SeNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeModified_ModAckList, + SeNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeReleased_ModAckList, + SeNBModificationRequestAcknowledge_IEs__value_PR_E_RAB_List, + SeNBModificationRequestAcknowledge_IEs__value_PR_SeNBtoMeNBContainer, + SeNBModificationRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + SeNBModificationRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationRequestAcknowledge_IEs__value_PR; +typedef enum SeNBModificationRequestReject_IEs__value_PR { + SeNBModificationRequestReject_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationRequestReject_IEs__value_PR_UE_X2AP_ID, + SeNBModificationRequestReject_IEs__value_PR_Cause, + SeNBModificationRequestReject_IEs__value_PR_CriticalityDiagnostics, + SeNBModificationRequestReject_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationRequestReject_IEs__value_PR; +typedef enum SeNBModificationRequired_IEs__value_PR { + SeNBModificationRequired_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationRequired_IEs__value_PR_UE_X2AP_ID, + SeNBModificationRequired_IEs__value_PR_Cause, + SeNBModificationRequired_IEs__value_PR_SCGChangeIndication, + SeNBModificationRequired_IEs__value_PR_E_RABs_ToBeReleased_ModReqd, + SeNBModificationRequired_IEs__value_PR_SeNBtoMeNBContainer, + SeNBModificationRequired_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationRequired_IEs__value_PR; +typedef enum SeNBModificationConfirm_IEs__value_PR { + SeNBModificationConfirm_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationConfirm_IEs__value_PR_UE_X2AP_ID, + SeNBModificationConfirm_IEs__value_PR_MeNBtoSeNBContainer, + SeNBModificationConfirm_IEs__value_PR_CriticalityDiagnostics, + SeNBModificationConfirm_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationConfirm_IEs__value_PR; +typedef enum SeNBModificationRefuse_IEs__value_PR { + SeNBModificationRefuse_IEs__value_PR_NOTHING, /* No components present */ + SeNBModificationRefuse_IEs__value_PR_UE_X2AP_ID, + SeNBModificationRefuse_IEs__value_PR_Cause, + SeNBModificationRefuse_IEs__value_PR_MeNBtoSeNBContainer, + SeNBModificationRefuse_IEs__value_PR_CriticalityDiagnostics, + SeNBModificationRefuse_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBModificationRefuse_IEs__value_PR; +typedef enum SeNBReleaseRequest_IEs__value_PR { + SeNBReleaseRequest_IEs__value_PR_NOTHING, /* No components present */ + SeNBReleaseRequest_IEs__value_PR_UE_X2AP_ID, + SeNBReleaseRequest_IEs__value_PR_Cause, + SeNBReleaseRequest_IEs__value_PR_E_RABs_ToBeReleased_List_RelReq, + SeNBReleaseRequest_IEs__value_PR_UE_ContextKeptIndicator, + SeNBReleaseRequest_IEs__value_PR_UE_X2AP_ID_Extension, + SeNBReleaseRequest_IEs__value_PR_MakeBeforeBreakIndicator +} SeNBReleaseRequest_IEs__value_PR; +typedef enum SeNBReleaseRequired_IEs__value_PR { + SeNBReleaseRequired_IEs__value_PR_NOTHING, /* No components present */ + SeNBReleaseRequired_IEs__value_PR_UE_X2AP_ID, + SeNBReleaseRequired_IEs__value_PR_Cause, + SeNBReleaseRequired_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBReleaseRequired_IEs__value_PR; +typedef enum SeNBReleaseConfirm_IEs__value_PR { + SeNBReleaseConfirm_IEs__value_PR_NOTHING, /* No components present */ + SeNBReleaseConfirm_IEs__value_PR_UE_X2AP_ID, + SeNBReleaseConfirm_IEs__value_PR_E_RABs_ToBeReleased_List_RelConf, + SeNBReleaseConfirm_IEs__value_PR_CriticalityDiagnostics, + SeNBReleaseConfirm_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBReleaseConfirm_IEs__value_PR; +typedef enum SeNBCounterCheckRequest_IEs__value_PR { + SeNBCounterCheckRequest_IEs__value_PR_NOTHING, /* No components present */ + SeNBCounterCheckRequest_IEs__value_PR_UE_X2AP_ID, + SeNBCounterCheckRequest_IEs__value_PR_E_RABs_SubjectToCounterCheck_List, + SeNBCounterCheckRequest_IEs__value_PR_UE_X2AP_ID_Extension +} SeNBCounterCheckRequest_IEs__value_PR; +typedef enum X2RemovalRequest_IEs__value_PR { + X2RemovalRequest_IEs__value_PR_NOTHING, /* No components present */ + X2RemovalRequest_IEs__value_PR_GlobalENB_ID, + X2RemovalRequest_IEs__value_PR_X2BenefitValue +} X2RemovalRequest_IEs__value_PR; +typedef enum X2RemovalResponse_IEs__value_PR { + X2RemovalResponse_IEs__value_PR_NOTHING, /* No components present */ + X2RemovalResponse_IEs__value_PR_GlobalENB_ID, + X2RemovalResponse_IEs__value_PR_CriticalityDiagnostics +} X2RemovalResponse_IEs__value_PR; +typedef enum X2RemovalFailure_IEs__value_PR { + X2RemovalFailure_IEs__value_PR_NOTHING, /* No components present */ + X2RemovalFailure_IEs__value_PR_Cause, + X2RemovalFailure_IEs__value_PR_CriticalityDiagnostics +} X2RemovalFailure_IEs__value_PR; +typedef enum RetrieveUEContextRequest_IEs__value_PR { + RetrieveUEContextRequest_IEs__value_PR_NOTHING, /* No components present */ + RetrieveUEContextRequest_IEs__value_PR_UE_X2AP_ID, + RetrieveUEContextRequest_IEs__value_PR_UE_X2AP_ID_Extension, + RetrieveUEContextRequest_IEs__value_PR_ResumeID, + RetrieveUEContextRequest_IEs__value_PR_ShortMAC_I, + RetrieveUEContextRequest_IEs__value_PR_EUTRANCellIdentifier, + RetrieveUEContextRequest_IEs__value_PR_CRNTI, + RetrieveUEContextRequest_IEs__value_PR_PCI +} RetrieveUEContextRequest_IEs__value_PR; +typedef enum RetrieveUEContextResponse_IEs__value_PR { + RetrieveUEContextResponse_IEs__value_PR_NOTHING, /* No components present */ + RetrieveUEContextResponse_IEs__value_PR_UE_X2AP_ID, + RetrieveUEContextResponse_IEs__value_PR_UE_X2AP_ID_Extension, + RetrieveUEContextResponse_IEs__value_PR_GUMMEI, + RetrieveUEContextResponse_IEs__value_PR_UE_ContextInformationRetrieve, + RetrieveUEContextResponse_IEs__value_PR_TraceActivation, + RetrieveUEContextResponse_IEs__value_PR_SRVCCOperationPossible, + RetrieveUEContextResponse_IEs__value_PR_Masked_IMEISV, + RetrieveUEContextResponse_IEs__value_PR_ExpectedUEBehaviour, + RetrieveUEContextResponse_IEs__value_PR_ProSeAuthorized, + RetrieveUEContextResponse_IEs__value_PR_CriticalityDiagnostics, + RetrieveUEContextResponse_IEs__value_PR_V2XServicesAuthorized, + RetrieveUEContextResponse_IEs__value_PR_AerialUEsubscriptionInformation, + RetrieveUEContextResponse_IEs__value_PR_Subscription_Based_UE_DifferentiationInfo +} RetrieveUEContextResponse_IEs__value_PR; +typedef enum RetrieveUEContextFailure_IEs__value_PR { + RetrieveUEContextFailure_IEs__value_PR_NOTHING, /* No components present */ + RetrieveUEContextFailure_IEs__value_PR_UE_X2AP_ID, + RetrieveUEContextFailure_IEs__value_PR_UE_X2AP_ID_Extension, + RetrieveUEContextFailure_IEs__value_PR_Cause, + RetrieveUEContextFailure_IEs__value_PR_CriticalityDiagnostics +} RetrieveUEContextFailure_IEs__value_PR; +typedef enum SgNBAdditionRequest_IEs__value_PR { + SgNBAdditionRequest_IEs__value_PR_NOTHING, /* No components present */ + SgNBAdditionRequest_IEs__value_PR_UE_X2AP_ID, + SgNBAdditionRequest_IEs__value_PR_NRUESecurityCapabilities, + SgNBAdditionRequest_IEs__value_PR_SgNBSecurityKey, + SgNBAdditionRequest_IEs__value_PR_UEAggregateMaximumBitRate, + SgNBAdditionRequest_IEs__value_PR_PLMN_Identity, + SgNBAdditionRequest_IEs__value_PR_HandoverRestrictionList, + SgNBAdditionRequest_IEs__value_PR_E_RABs_ToBeAdded_SgNBAddReqList, + SgNBAdditionRequest_IEs__value_PR_MeNBtoSgNBContainer, + SgNBAdditionRequest_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBAdditionRequest_IEs__value_PR_ExpectedUEBehaviour, + SgNBAdditionRequest_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBAdditionRequest_IEs__value_PR_SplitSRBs, + SgNBAdditionRequest_IEs__value_PR_MeNBResourceCoordinationInformation, + SgNBAdditionRequest_IEs__value_PR_SGNB_Addition_Trigger_Ind, + SgNBAdditionRequest_IEs__value_PR_SubscriberProfileIDforRFP, + SgNBAdditionRequest_IEs__value_PR_ECGI +} SgNBAdditionRequest_IEs__value_PR; +typedef enum SgNBAdditionRequestAcknowledge_IEs__value_PR { + SgNBAdditionRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + SgNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + SgNBAdditionRequestAcknowledge_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBAdditionRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, + SgNBAdditionRequestAcknowledge_IEs__value_PR_E_RAB_List, + SgNBAdditionRequestAcknowledge_IEs__value_PR_SgNBtoMeNBContainer, + SgNBAdditionRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + SgNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBAdditionRequestAcknowledge_IEs__value_PR_SplitSRBs, + SgNBAdditionRequestAcknowledge_IEs__value_PR_SgNBResourceCoordinationInformation, + SgNBAdditionRequestAcknowledge_IEs__value_PR_RRC_Config_Ind +} SgNBAdditionRequestAcknowledge_IEs__value_PR; +typedef enum SgNBAdditionRequestReject_IEs__value_PR { + SgNBAdditionRequestReject_IEs__value_PR_NOTHING, /* No components present */ + SgNBAdditionRequestReject_IEs__value_PR_UE_X2AP_ID, + SgNBAdditionRequestReject_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBAdditionRequestReject_IEs__value_PR_Cause, + SgNBAdditionRequestReject_IEs__value_PR_CriticalityDiagnostics, + SgNBAdditionRequestReject_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBAdditionRequestReject_IEs__value_PR; +typedef enum SgNBReconfigurationComplete_IEs__value_PR { + SgNBReconfigurationComplete_IEs__value_PR_NOTHING, /* No components present */ + SgNBReconfigurationComplete_IEs__value_PR_UE_X2AP_ID, + SgNBReconfigurationComplete_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReconfigurationComplete_IEs__value_PR_ResponseInformationSgNBReconfComp, + SgNBReconfigurationComplete_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBReconfigurationComplete_IEs__value_PR; +typedef enum SgNBModificationRequest_IEs__value_PR { + SgNBModificationRequest_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationRequest_IEs__value_PR_UE_X2AP_ID, + SgNBModificationRequest_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationRequest_IEs__value_PR_Cause, + SgNBModificationRequest_IEs__value_PR_PLMN_Identity, + SgNBModificationRequest_IEs__value_PR_HandoverRestrictionList, + SgNBModificationRequest_IEs__value_PR_SCGConfigurationQuery, + SgNBModificationRequest_IEs__value_PR_UE_ContextInformation_SgNBModReq, + SgNBModificationRequest_IEs__value_PR_MeNBtoSgNBContainer, + SgNBModificationRequest_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBModificationRequest_IEs__value_PR_MeNBResourceCoordinationInformation, + SgNBModificationRequest_IEs__value_PR_SplitSRBs +} SgNBModificationRequest_IEs__value_PR; +typedef enum SgNBModificationRequestAcknowledge_IEs__value_PR { + SgNBModificationRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + SgNBModificationRequestAcknowledge_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeAdded_SgNBModAckList, + SgNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeModified_SgNBModAckList, + SgNBModificationRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeReleased_SgNBModAckList, + SgNBModificationRequestAcknowledge_IEs__value_PR_E_RAB_List, + SgNBModificationRequestAcknowledge_IEs__value_PR_SgNBtoMeNBContainer, + SgNBModificationRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + SgNBModificationRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBModificationRequestAcknowledge_IEs__value_PR_SgNBResourceCoordinationInformation, + SgNBModificationRequestAcknowledge_IEs__value_PR_SplitSRBs, + SgNBModificationRequestAcknowledge_IEs__value_PR_RRC_Config_Ind +} SgNBModificationRequestAcknowledge_IEs__value_PR; +typedef enum SgNBModificationRequestReject_IEs__value_PR { + SgNBModificationRequestReject_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationRequestReject_IEs__value_PR_UE_X2AP_ID, + SgNBModificationRequestReject_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationRequestReject_IEs__value_PR_Cause, + SgNBModificationRequestReject_IEs__value_PR_CriticalityDiagnostics, + SgNBModificationRequestReject_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBModificationRequestReject_IEs__value_PR; +typedef enum SgNBModificationRequired_IEs__value_PR { + SgNBModificationRequired_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationRequired_IEs__value_PR_UE_X2AP_ID, + SgNBModificationRequired_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationRequired_IEs__value_PR_Cause, + SgNBModificationRequired_IEs__value_PR_PDCPChangeIndication, + SgNBModificationRequired_IEs__value_PR_E_RABs_ToBeReleased_SgNBModReqdList, + SgNBModificationRequired_IEs__value_PR_SgNBtoMeNBContainer, + SgNBModificationRequired_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBModificationRequired_IEs__value_PR_E_RABs_ToBeModified_SgNBModReqdList, + SgNBModificationRequired_IEs__value_PR_SgNBResourceCoordinationInformation, + SgNBModificationRequired_IEs__value_PR_RRC_Config_Ind +} SgNBModificationRequired_IEs__value_PR; +typedef enum SgNBModificationConfirm_IEs__value_PR { + SgNBModificationConfirm_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationConfirm_IEs__value_PR_UE_X2AP_ID, + SgNBModificationConfirm_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationConfirm_IEs__value_PR_E_RABs_AdmittedToBeModified_SgNBModConfList, + SgNBModificationConfirm_IEs__value_PR_MeNBtoSgNBContainer, + SgNBModificationConfirm_IEs__value_PR_CriticalityDiagnostics, + SgNBModificationConfirm_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBModificationConfirm_IEs__value_PR_MeNBResourceCoordinationInformation +} SgNBModificationConfirm_IEs__value_PR; +typedef enum SgNBModificationRefuse_IEs__value_PR { + SgNBModificationRefuse_IEs__value_PR_NOTHING, /* No components present */ + SgNBModificationRefuse_IEs__value_PR_UE_X2AP_ID, + SgNBModificationRefuse_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBModificationRefuse_IEs__value_PR_Cause, + SgNBModificationRefuse_IEs__value_PR_MeNBtoSgNBContainer, + SgNBModificationRefuse_IEs__value_PR_CriticalityDiagnostics, + SgNBModificationRefuse_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBModificationRefuse_IEs__value_PR; +typedef enum SgNBReleaseRequest_IEs__value_PR { + SgNBReleaseRequest_IEs__value_PR_NOTHING, /* No components present */ + SgNBReleaseRequest_IEs__value_PR_UE_X2AP_ID, + SgNBReleaseRequest_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReleaseRequest_IEs__value_PR_Cause, + SgNBReleaseRequest_IEs__value_PR_E_RABs_ToBeReleased_SgNBRelReqList, + SgNBReleaseRequest_IEs__value_PR_UE_ContextKeptIndicator, + SgNBReleaseRequest_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBReleaseRequest_IEs__value_PR_MeNBtoSgNBContainer +} SgNBReleaseRequest_IEs__value_PR; +typedef enum SgNBReleaseRequestAcknowledge_IEs__value_PR { + SgNBReleaseRequestAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + SgNBReleaseRequestAcknowledge_IEs__value_PR_UE_X2AP_ID, + SgNBReleaseRequestAcknowledge_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReleaseRequestAcknowledge_IEs__value_PR_CriticalityDiagnostics, + SgNBReleaseRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBReleaseRequestAcknowledge_IEs__value_PR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList +} SgNBReleaseRequestAcknowledge_IEs__value_PR; +typedef enum SgNBReleaseRequestReject_IEs__value_PR { + SgNBReleaseRequestReject_IEs__value_PR_NOTHING, /* No components present */ + SgNBReleaseRequestReject_IEs__value_PR_UE_X2AP_ID, + SgNBReleaseRequestReject_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReleaseRequestReject_IEs__value_PR_Cause, + SgNBReleaseRequestReject_IEs__value_PR_CriticalityDiagnostics, + SgNBReleaseRequestReject_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBReleaseRequestReject_IEs__value_PR; +typedef enum SgNBReleaseRequired_IEs__value_PR { + SgNBReleaseRequired_IEs__value_PR_NOTHING, /* No components present */ + SgNBReleaseRequired_IEs__value_PR_UE_X2AP_ID, + SgNBReleaseRequired_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReleaseRequired_IEs__value_PR_Cause, + SgNBReleaseRequired_IEs__value_PR_UE_X2AP_ID_Extension, + SgNBReleaseRequired_IEs__value_PR_E_RABs_ToBeReleased_SgNBRelReqdList +} SgNBReleaseRequired_IEs__value_PR; +typedef enum SgNBReleaseConfirm_IEs__value_PR { + SgNBReleaseConfirm_IEs__value_PR_NOTHING, /* No components present */ + SgNBReleaseConfirm_IEs__value_PR_UE_X2AP_ID, + SgNBReleaseConfirm_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBReleaseConfirm_IEs__value_PR_E_RABs_ToBeReleased_SgNBRelConfList, + SgNBReleaseConfirm_IEs__value_PR_CriticalityDiagnostics, + SgNBReleaseConfirm_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBReleaseConfirm_IEs__value_PR; +typedef enum SgNBCounterCheckRequest_IEs__value_PR { + SgNBCounterCheckRequest_IEs__value_PR_NOTHING, /* No components present */ + SgNBCounterCheckRequest_IEs__value_PR_UE_X2AP_ID, + SgNBCounterCheckRequest_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBCounterCheckRequest_IEs__value_PR_E_RABs_SubjectToSgNBCounterCheck_List, + SgNBCounterCheckRequest_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBCounterCheckRequest_IEs__value_PR; +typedef enum SgNBChangeRequired_IEs__value_PR { + SgNBChangeRequired_IEs__value_PR_NOTHING, /* No components present */ + SgNBChangeRequired_IEs__value_PR_UE_X2AP_ID, + SgNBChangeRequired_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBChangeRequired_IEs__value_PR_GlobalGNB_ID, + SgNBChangeRequired_IEs__value_PR_Cause, + SgNBChangeRequired_IEs__value_PR_SgNBtoMeNBContainer, + SgNBChangeRequired_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBChangeRequired_IEs__value_PR; +typedef enum SgNBChangeConfirm_IEs__value_PR { + SgNBChangeConfirm_IEs__value_PR_NOTHING, /* No components present */ + SgNBChangeConfirm_IEs__value_PR_UE_X2AP_ID, + SgNBChangeConfirm_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBChangeConfirm_IEs__value_PR_E_RABs_ToBeReleased_SgNBChaConfList, + SgNBChangeConfirm_IEs__value_PR_CriticalityDiagnostics, + SgNBChangeConfirm_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBChangeConfirm_IEs__value_PR; +typedef enum RRCTransfer_IEs__value_PR { + RRCTransfer_IEs__value_PR_NOTHING, /* No components present */ + RRCTransfer_IEs__value_PR_UE_X2AP_ID, + RRCTransfer_IEs__value_PR_SgNB_UE_X2AP_ID, + RRCTransfer_IEs__value_PR_SplitSRB, + RRCTransfer_IEs__value_PR_UENRMeasurement, + RRCTransfer_IEs__value_PR_UE_X2AP_ID_Extension +} RRCTransfer_IEs__value_PR; +typedef enum SgNBChangeRefuse_IEs__value_PR { + SgNBChangeRefuse_IEs__value_PR_NOTHING, /* No components present */ + SgNBChangeRefuse_IEs__value_PR_UE_X2AP_ID, + SgNBChangeRefuse_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBChangeRefuse_IEs__value_PR_Cause, + SgNBChangeRefuse_IEs__value_PR_CriticalityDiagnostics, + SgNBChangeRefuse_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBChangeRefuse_IEs__value_PR; +typedef enum ENDCX2SetupRequest_IEs__value_PR { + ENDCX2SetupRequest_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2SetupRequest_IEs__value_PR_InitiatingNodeType_EndcX2Setup +} ENDCX2SetupRequest_IEs__value_PR; +typedef enum ENB_ENDCX2SetupReqIEs__value_PR { + ENB_ENDCX2SetupReqIEs__value_PR_NOTHING, /* No components present */ + ENB_ENDCX2SetupReqIEs__value_PR_GlobalENB_ID, + ENB_ENDCX2SetupReqIEs__value_PR_ServedEUTRAcellsENDCX2ManagementList +} ENB_ENDCX2SetupReqIEs__value_PR; +typedef enum En_gNB_ENDCX2SetupReqIEs__value_PR { + En_gNB_ENDCX2SetupReqIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCX2SetupReqIEs__value_PR_GlobalGNB_ID, + En_gNB_ENDCX2SetupReqIEs__value_PR_ServedNRcellsENDCX2ManagementList +} En_gNB_ENDCX2SetupReqIEs__value_PR; +typedef enum ENDCX2SetupResponse_IEs__value_PR { + ENDCX2SetupResponse_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2SetupResponse_IEs__value_PR_RespondingNodeType_EndcX2Setup +} ENDCX2SetupResponse_IEs__value_PR; +typedef enum ENB_ENDCX2SetupReqAckIEs__value_PR { + ENB_ENDCX2SetupReqAckIEs__value_PR_NOTHING, /* No components present */ + ENB_ENDCX2SetupReqAckIEs__value_PR_GlobalENB_ID, + ENB_ENDCX2SetupReqAckIEs__value_PR_ServedEUTRAcellsENDCX2ManagementList +} ENB_ENDCX2SetupReqAckIEs__value_PR; +typedef enum En_gNB_ENDCX2SetupReqAckIEs__value_PR { + En_gNB_ENDCX2SetupReqAckIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCX2SetupReqAckIEs__value_PR_GlobalGNB_ID, + En_gNB_ENDCX2SetupReqAckIEs__value_PR_ServedNRcellsENDCX2ManagementList +} En_gNB_ENDCX2SetupReqAckIEs__value_PR; +typedef enum ENDCX2SetupFailure_IEs__value_PR { + ENDCX2SetupFailure_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2SetupFailure_IEs__value_PR_Cause, + ENDCX2SetupFailure_IEs__value_PR_CriticalityDiagnostics, + ENDCX2SetupFailure_IEs__value_PR_TimeToWait +} ENDCX2SetupFailure_IEs__value_PR; +typedef enum ENDCConfigurationUpdate_IEs__value_PR { + ENDCConfigurationUpdate_IEs__value_PR_NOTHING, /* No components present */ + ENDCConfigurationUpdate_IEs__value_PR_InitiatingNodeType_EndcConfigUpdate +} ENDCConfigurationUpdate_IEs__value_PR; +typedef enum ENB_ENDCConfigUpdateIEs__value_PR { + ENB_ENDCConfigUpdateIEs__value_PR_NOTHING, /* No components present */ + ENB_ENDCConfigUpdateIEs__value_PR_CellAssistanceInformation, + ENB_ENDCConfigUpdateIEs__value_PR_ServedEUTRAcellsENDCX2ManagementList, + ENB_ENDCConfigUpdateIEs__value_PR_ServedEUTRAcellsToModifyListENDCConfUpd, + ENB_ENDCConfigUpdateIEs__value_PR_ServedEUTRAcellsToDeleteListENDCConfUpd +} ENB_ENDCConfigUpdateIEs__value_PR; +typedef enum En_gNB_ENDCConfigUpdateIEs__value_PR { + En_gNB_ENDCConfigUpdateIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCConfigUpdateIEs__value_PR_ServedNRcellsENDCX2ManagementList, + En_gNB_ENDCConfigUpdateIEs__value_PR_ServedNRcellsToModifyENDCConfUpdList, + En_gNB_ENDCConfigUpdateIEs__value_PR_ServedNRcellsToDeleteENDCConfUpdList +} En_gNB_ENDCConfigUpdateIEs__value_PR; +typedef enum ENDCConfigurationUpdateAcknowledge_IEs__value_PR { + ENDCConfigurationUpdateAcknowledge_IEs__value_PR_NOTHING, /* No components present */ + ENDCConfigurationUpdateAcknowledge_IEs__value_PR_RespondingNodeType_EndcConfigUpdate +} ENDCConfigurationUpdateAcknowledge_IEs__value_PR; +typedef enum ENB_ENDCConfigUpdateAckIEs__value_PR { + ENB_ENDCConfigUpdateAckIEs__value_PR_NOTHING /* No components present */ + +} ENB_ENDCConfigUpdateAckIEs__value_PR; +typedef enum En_gNB_ENDCConfigUpdateAckIEs__value_PR { + En_gNB_ENDCConfigUpdateAckIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCConfigUpdateAckIEs__value_PR_ServedNRcellsENDCX2ManagementList +} En_gNB_ENDCConfigUpdateAckIEs__value_PR; +typedef enum ENDCConfigurationUpdateFailure_IEs__value_PR { + ENDCConfigurationUpdateFailure_IEs__value_PR_NOTHING, /* No components present */ + ENDCConfigurationUpdateFailure_IEs__value_PR_Cause, + ENDCConfigurationUpdateFailure_IEs__value_PR_CriticalityDiagnostics, + ENDCConfigurationUpdateFailure_IEs__value_PR_TimeToWait +} ENDCConfigurationUpdateFailure_IEs__value_PR; +typedef enum ENDCCellActivationRequest_IEs__value_PR { + ENDCCellActivationRequest_IEs__value_PR_NOTHING, /* No components present */ + ENDCCellActivationRequest_IEs__value_PR_ServedNRCellsToActivate, + ENDCCellActivationRequest_IEs__value_PR_ActivationID +} ENDCCellActivationRequest_IEs__value_PR; +typedef enum ENDCCellActivationResponse_IEs__value_PR { + ENDCCellActivationResponse_IEs__value_PR_NOTHING, /* No components present */ + ENDCCellActivationResponse_IEs__value_PR_ActivatedNRCellList, + ENDCCellActivationResponse_IEs__value_PR_ActivationID, + ENDCCellActivationResponse_IEs__value_PR_CriticalityDiagnostics +} ENDCCellActivationResponse_IEs__value_PR; +typedef enum ENDCCellActivationFailure_IEs__value_PR { + ENDCCellActivationFailure_IEs__value_PR_NOTHING, /* No components present */ + ENDCCellActivationFailure_IEs__value_PR_ActivationID, + ENDCCellActivationFailure_IEs__value_PR_Cause, + ENDCCellActivationFailure_IEs__value_PR_CriticalityDiagnostics +} ENDCCellActivationFailure_IEs__value_PR; +typedef enum SecondaryRATDataUsageReport_IEs__value_PR { + SecondaryRATDataUsageReport_IEs__value_PR_NOTHING, /* No components present */ + SecondaryRATDataUsageReport_IEs__value_PR_UE_X2AP_ID, + SecondaryRATDataUsageReport_IEs__value_PR_SgNB_UE_X2AP_ID, + SecondaryRATDataUsageReport_IEs__value_PR_SecondaryRATUsageReportList, + SecondaryRATDataUsageReport_IEs__value_PR_UE_X2AP_ID_Extension +} SecondaryRATDataUsageReport_IEs__value_PR; +typedef enum SgNBActivityNotification_IEs__value_PR { + SgNBActivityNotification_IEs__value_PR_NOTHING, /* No components present */ + SgNBActivityNotification_IEs__value_PR_UE_X2AP_ID, + SgNBActivityNotification_IEs__value_PR_SgNB_UE_X2AP_ID, + SgNBActivityNotification_IEs__value_PR_UserPlaneTrafficActivityReport, + SgNBActivityNotification_IEs__value_PR_ERABActivityNotifyItemList, + SgNBActivityNotification_IEs__value_PR_UE_X2AP_ID_Extension +} SgNBActivityNotification_IEs__value_PR; +typedef enum ENDCPartialResetRequired_IEs__value_PR { + ENDCPartialResetRequired_IEs__value_PR_NOTHING, /* No components present */ + ENDCPartialResetRequired_IEs__value_PR_UEsToBeResetList, + ENDCPartialResetRequired_IEs__value_PR_Cause +} ENDCPartialResetRequired_IEs__value_PR; +typedef enum ENDCPartialResetConfirm_IEs__value_PR { + ENDCPartialResetConfirm_IEs__value_PR_NOTHING, /* No components present */ + ENDCPartialResetConfirm_IEs__value_PR_UEsToBeResetList +} ENDCPartialResetConfirm_IEs__value_PR; +typedef enum EUTRANRCellResourceCoordinationRequest_IEs__value_PR { + EUTRANRCellResourceCoordinationRequest_IEs__value_PR_NOTHING, /* No components present */ + EUTRANRCellResourceCoordinationRequest_IEs__value_PR_InitiatingNodeType_EutranrCellResourceCoordination +} EUTRANRCellResourceCoordinationRequest_IEs__value_PR; +typedef enum ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR { + ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_NOTHING, /* No components present */ + ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_DataTrafficResourceIndication, + ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_SpectrumSharingGroupID, + ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_ListofEUTRACellsinEUTRACoordinationReq +} ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR; +typedef enum En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR { + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_NOTHING, /* No components present */ + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_DataTrafficResourceIndication, + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_ListofEUTRACellsinNRCoordinationReq, + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_SpectrumSharingGroupID, + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR_ListofNRCellsinNRCoordinationReq +} En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR; +typedef enum EUTRANRCellResourceCoordinationResponse_IEs__value_PR { + EUTRANRCellResourceCoordinationResponse_IEs__value_PR_NOTHING, /* No components present */ + EUTRANRCellResourceCoordinationResponse_IEs__value_PR_RespondingNodeType_EutranrCellResourceCoordination +} EUTRANRCellResourceCoordinationResponse_IEs__value_PR; +typedef enum ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR { + ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_NOTHING, /* No components present */ + ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_DataTrafficResourceIndication, + ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_SpectrumSharingGroupID, + ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_ListofEUTRACellsinEUTRACoordinationResp +} ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR; +typedef enum En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR { + En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_NOTHING, /* No components present */ + En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_DataTrafficResourceIndication, + En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_SpectrumSharingGroupID, + En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR_ListofNRCellsinNRCoordinationResp +} En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR; +typedef enum ENDCX2RemovalRequest_IEs__value_PR { + ENDCX2RemovalRequest_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2RemovalRequest_IEs__value_PR_InitiatingNodeType_EndcX2Removal +} ENDCX2RemovalRequest_IEs__value_PR; +typedef enum ENB_ENDCX2RemovalReqIEs__value_PR { + ENB_ENDCX2RemovalReqIEs__value_PR_NOTHING, /* No components present */ + ENB_ENDCX2RemovalReqIEs__value_PR_GlobalENB_ID +} ENB_ENDCX2RemovalReqIEs__value_PR; +typedef enum En_gNB_ENDCX2RemovalReqIEs__value_PR { + En_gNB_ENDCX2RemovalReqIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCX2RemovalReqIEs__value_PR_GlobalGNB_ID +} En_gNB_ENDCX2RemovalReqIEs__value_PR; +typedef enum ENDCX2RemovalResponse_IEs__value_PR { + ENDCX2RemovalResponse_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2RemovalResponse_IEs__value_PR_RespondingNodeType_EndcX2Removal +} ENDCX2RemovalResponse_IEs__value_PR; +typedef enum ENB_ENDCX2RemovalReqAckIEs__value_PR { + ENB_ENDCX2RemovalReqAckIEs__value_PR_NOTHING, /* No components present */ + ENB_ENDCX2RemovalReqAckIEs__value_PR_GlobalENB_ID +} ENB_ENDCX2RemovalReqAckIEs__value_PR; +typedef enum En_gNB_ENDCX2RemovalReqAckIEs__value_PR { + En_gNB_ENDCX2RemovalReqAckIEs__value_PR_NOTHING, /* No components present */ + En_gNB_ENDCX2RemovalReqAckIEs__value_PR_GlobalGNB_ID +} En_gNB_ENDCX2RemovalReqAckIEs__value_PR; +typedef enum ENDCX2RemovalFailure_IEs__value_PR { + ENDCX2RemovalFailure_IEs__value_PR_NOTHING, /* No components present */ + ENDCX2RemovalFailure_IEs__value_PR_Cause, + ENDCX2RemovalFailure_IEs__value_PR_CriticalityDiagnostics +} ENDCX2RemovalFailure_IEs__value_PR; +typedef enum DataForwardingAddressIndication_IEs__value_PR { + DataForwardingAddressIndication_IEs__value_PR_NOTHING, /* No components present */ + DataForwardingAddressIndication_IEs__value_PR_UE_X2AP_ID_Extension, + DataForwardingAddressIndication_IEs__value_PR_UE_X2AP_ID, + DataForwardingAddressIndication_IEs__value_PR_E_RABs_DataForwardingAddress_List +} DataForwardingAddressIndication_IEs__value_PR; +typedef enum GNBStatusIndicationIEs__value_PR { + GNBStatusIndicationIEs__value_PR_NOTHING, /* No components present */ + GNBStatusIndicationIEs__value_PR_GNBOverloadInformation +} GNBStatusIndicationIEs__value_PR; + +/* ProtocolIE-Field */ +typedef struct RICaction_ToBeSetup_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICaction_ToBeSetup_ItemIEs__value { + RICaction_ToBeSetup_ItemIEs__value_PR present; + union RICaction_ToBeSetup_ItemIEs__value_u { + RICaction_ToBeSetup_Item_t RICaction_ToBeSetup_Item; + } 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; +} RICaction_ToBeSetup_ItemIEs_t; +typedef struct RICaction_Admitted_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICaction_Admitted_ItemIEs__value { + RICaction_Admitted_ItemIEs__value_PR present; + union RICaction_Admitted_ItemIEs__value_u { + RICaction_Admitted_Item_t RICaction_Admitted_Item; + } 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; +} RICaction_Admitted_ItemIEs_t; +typedef struct RICaction_NotAdmitted_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICaction_NotAdmitted_ItemIEs__value { + RICaction_NotAdmitted_ItemIEs__value_PR present; + union RICaction_NotAdmitted_ItemIEs__value_u { + RICaction_NotAdmitted_Item_t RICaction_NotAdmitted_Item; + } 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; +} RICaction_NotAdmitted_ItemIEs_t; +typedef struct RANfunction_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RANfunction_ItemIEs__value { + RANfunction_ItemIEs__value_PR present; + union RANfunction_ItemIEs__value_u { + RANfunction_Item_t RANfunction_Item; + } 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; +} RANfunction_ItemIEs_t; +typedef struct RANfunctionID_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RANfunctionID_ItemIEs__value { + RANfunctionID_ItemIEs__value_PR present; + union RANfunctionID_ItemIEs__value_u { + RANfunctionID_Item_t RANfunctionID_Item; + } 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; +} RANfunctionID_ItemIEs_t; +typedef struct RANfunctionIDcause_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RANfunctionIDcause_ItemIEs__value { + RANfunctionIDcause_ItemIEs__value_PR present; + union RANfunctionIDcause_ItemIEs__value_u { + RANfunctionIDcause_Item_t RANfunctionIDcause_Item; + } 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; +} RANfunctionIDcause_ItemIEs_t; +typedef struct E_RABs_ToBeSetup_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeSetup_ItemIEs__value { + E_RABs_ToBeSetup_ItemIEs__value_PR present; + union E_RABs_ToBeSetup_ItemIEs__value_u { + E_RABs_ToBeSetup_Item_t E_RABs_ToBeSetup_Item; + } 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; +} E_RABs_ToBeSetup_ItemIEs_t; +typedef struct E_RABs_Admitted_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ItemIEs__value { + E_RABs_Admitted_ItemIEs__value_PR present; + union E_RABs_Admitted_ItemIEs__value_u { + E_RABs_Admitted_Item_t E_RABs_Admitted_Item; + } 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; +} E_RABs_Admitted_ItemIEs_t; +typedef struct E_RABs_SubjectToStatusTransfer_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToStatusTransfer_ItemIEs__value { + E_RABs_SubjectToStatusTransfer_ItemIEs__value_PR present; + union E_RABs_SubjectToStatusTransfer_ItemIEs__value_u { + E_RABs_SubjectToStatusTransfer_Item_t E_RABs_SubjectToStatusTransfer_Item; + } 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; +} E_RABs_SubjectToStatusTransfer_ItemIEs_t; +typedef struct CellInformation_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellInformation_ItemIEs__value { + CellInformation_ItemIEs__value_PR present; + union CellInformation_ItemIEs__value_u { + CellInformation_Item_t CellInformation_Item; + } 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; +} CellInformation_ItemIEs_t; +typedef struct CellToReport_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellToReport_ItemIEs__value { + CellToReport_ItemIEs__value_PR present; + union CellToReport_ItemIEs__value_u { + CellToReport_Item_t CellToReport_Item; + } 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; +} CellToReport_ItemIEs_t; +typedef struct MeasurementInitiationResult_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MeasurementInitiationResult_ItemIEs__value { + MeasurementInitiationResult_ItemIEs__value_PR present; + union MeasurementInitiationResult_ItemIEs__value_u { + MeasurementInitiationResult_Item_t MeasurementInitiationResult_Item; + } 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; +} MeasurementInitiationResult_ItemIEs_t; +typedef struct MeasurementFailureCause_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MeasurementFailureCause_ItemIEs__value { + MeasurementFailureCause_ItemIEs__value_PR present; + union MeasurementFailureCause_ItemIEs__value_u { + MeasurementFailureCause_Item_t MeasurementFailureCause_Item; + } 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; +} MeasurementFailureCause_ItemIEs_t; +typedef struct CompleteFailureCauseInformation_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CompleteFailureCauseInformation_ItemIEs__value { + CompleteFailureCauseInformation_ItemIEs__value_PR present; + union CompleteFailureCauseInformation_ItemIEs__value_u { + CompleteFailureCauseInformation_Item_t CompleteFailureCauseInformation_Item; + } 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; +} CompleteFailureCauseInformation_ItemIEs_t; +typedef struct CellMeasurementResult_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellMeasurementResult_ItemIEs__value { + CellMeasurementResult_ItemIEs__value_PR present; + union CellMeasurementResult_ItemIEs__value_u { + CellMeasurementResult_Item_t CellMeasurementResult_Item; + } 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; +} CellMeasurementResult_ItemIEs_t; +typedef struct E_RABs_ToBeAdded_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_ItemIEs__value { + E_RABs_ToBeAdded_ItemIEs__value_PR present; + union E_RABs_ToBeAdded_ItemIEs__value_u { + E_RABs_ToBeAdded_Item_t E_RABs_ToBeAdded_Item; + } 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; +} E_RABs_ToBeAdded_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_ItemIEs__value { + E_RABs_Admitted_ToBeAdded_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeAdded_ItemIEs__value_u { + E_RABs_Admitted_ToBeAdded_Item_t E_RABs_Admitted_ToBeAdded_Item; + } 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; +} E_RABs_Admitted_ToBeAdded_ItemIEs_t; +typedef struct E_RABs_ToBeAdded_ModReqItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_ModReqItemIEs__value { + E_RABs_ToBeAdded_ModReqItemIEs__value_PR present; + union E_RABs_ToBeAdded_ModReqItemIEs__value_u { + E_RABs_ToBeAdded_ModReqItem_t E_RABs_ToBeAdded_ModReqItem; + } 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; +} E_RABs_ToBeAdded_ModReqItemIEs_t; +typedef struct E_RABs_ToBeModified_ModReqItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_ModReqItemIEs__value { + E_RABs_ToBeModified_ModReqItemIEs__value_PR present; + union E_RABs_ToBeModified_ModReqItemIEs__value_u { + E_RABs_ToBeModified_ModReqItem_t E_RABs_ToBeModified_ModReqItem; + } 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; +} E_RABs_ToBeModified_ModReqItemIEs_t; +typedef struct E_RABs_ToBeReleased_ModReqItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_ModReqItemIEs__value { + E_RABs_ToBeReleased_ModReqItemIEs__value_PR present; + union E_RABs_ToBeReleased_ModReqItemIEs__value_u { + E_RABs_ToBeReleased_ModReqItem_t E_RABs_ToBeReleased_ModReqItem; + } 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; +} E_RABs_ToBeReleased_ModReqItemIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value { + E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_PR present; + union E_RABs_Admitted_ToBeAdded_ModAckItemIEs__value_u { + E_RABs_Admitted_ToBeAdded_ModAckItem_t E_RABs_Admitted_ToBeAdded_ModAckItem; + } 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; +} E_RABs_Admitted_ToBeAdded_ModAckItemIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_ModAckItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_ModAckItemIEs__value { + E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_PR present; + union E_RABs_Admitted_ToBeModified_ModAckItemIEs__value_u { + E_RABs_Admitted_ToBeModified_ModAckItem_t E_RABs_Admitted_ToBeModified_ModAckItem; + } 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; +} E_RABs_Admitted_ToBeModified_ModAckItemIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value { + E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_PR present; + union E_RABs_Admitted_ToBeReleased_ModAckItemIEs__value_u { + E_RABs_Admitted_ToReleased_ModAckItem_t E_RABs_Admitted_ToReleased_ModAckItem; + } 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; +} E_RABs_Admitted_ToBeReleased_ModAckItemIEs_t; +typedef struct E_RABs_ToBeReleased_ModReqdItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_ModReqdItemIEs__value { + E_RABs_ToBeReleased_ModReqdItemIEs__value_PR present; + union E_RABs_ToBeReleased_ModReqdItemIEs__value_u { + E_RABs_ToBeReleased_ModReqdItem_t E_RABs_ToBeReleased_ModReqdItem; + } 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; +} E_RABs_ToBeReleased_ModReqdItemIEs_t; +typedef struct E_RABs_ToBeReleased_RelReqItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelReqItemIEs__value { + E_RABs_ToBeReleased_RelReqItemIEs__value_PR present; + union E_RABs_ToBeReleased_RelReqItemIEs__value_u { + E_RABs_ToBeReleased_RelReqItem_t E_RABs_ToBeReleased_RelReqItem; + } 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; +} E_RABs_ToBeReleased_RelReqItemIEs_t; +typedef struct E_RABs_ToBeReleased_RelConfItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_RelConfItemIEs__value { + E_RABs_ToBeReleased_RelConfItemIEs__value_PR present; + union E_RABs_ToBeReleased_RelConfItemIEs__value_u { + E_RABs_ToBeReleased_RelConfItem_t E_RABs_ToBeReleased_RelConfItem; + } 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; +} E_RABs_ToBeReleased_RelConfItemIEs_t; +typedef struct E_RABs_SubjectToCounterCheckItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToCounterCheckItemIEs__value { + E_RABs_SubjectToCounterCheckItemIEs__value_PR present; + union E_RABs_SubjectToCounterCheckItemIEs__value_u { + E_RABs_SubjectToCounterCheckItem_t E_RABs_SubjectToCounterCheckItem; + } 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; +} E_RABs_SubjectToCounterCheckItemIEs_t; +typedef struct E_RABs_ToBeSetupRetrieve_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeSetupRetrieve_ItemIEs__value { + E_RABs_ToBeSetupRetrieve_ItemIEs__value_PR present; + union E_RABs_ToBeSetupRetrieve_ItemIEs__value_u { + E_RABs_ToBeSetupRetrieve_Item_t E_RABs_ToBeSetupRetrieve_Item; + } 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; +} E_RABs_ToBeSetupRetrieve_ItemIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value { + E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_PR present; + union E_RABs_ToBeAdded_SgNBAddReq_ItemIEs__value_u { + E_RABs_ToBeAdded_SgNBAddReq_Item_t E_RABs_ToBeAdded_SgNBAddReq_Item; + } 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; +} E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs__value_u { + E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item; + } 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; +} E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_t; +typedef struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value { + E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_PR present; + union E_RABs_ToBeAdded_SgNBModReq_ItemIEs__value_u { + E_RABs_ToBeAdded_SgNBModReq_Item_t E_RABs_ToBeAdded_SgNBModReq_Item; + } 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; +} E_RABs_ToBeAdded_SgNBModReq_ItemIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReq_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReq_ItemIEs__value { + E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_PR present; + union E_RABs_ToBeModified_SgNBModReq_ItemIEs__value_u { + E_RABs_ToBeModified_SgNBModReq_Item_t E_RABs_ToBeModified_SgNBModReq_Item; + } 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; +} E_RABs_ToBeModified_SgNBModReq_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value { + E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBModReq_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBModReq_Item_t E_RABs_ToBeReleased_SgNBModReq_Item; + } 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; +} E_RABs_ToBeReleased_SgNBModReq_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value { + E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs__value_u { + E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item; + } 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; +} E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value { + E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs__value_u { + E_RABs_Admitted_ToBeModified_SgNBModAck_Item_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item; + } 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; +} E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value { + E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs__value_u { + E_RABs_Admitted_ToReleased_SgNBModAck_Item_t E_RABs_Admitted_ToReleased_SgNBModAck_Item; + } 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; +} E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value { + E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBModReqd_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBModReqd_Item_t E_RABs_ToBeReleased_SgNBModReqd_Item; + } 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; +} E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_t; +typedef struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value { + E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_PR present; + union E_RABs_ToBeModified_SgNBModReqd_ItemIEs__value_u { + E_RABs_ToBeModified_SgNBModReqd_Item_t E_RABs_ToBeModified_SgNBModReqd_Item; + } 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; +} E_RABs_ToBeModified_SgNBModReqd_ItemIEs_t; +typedef struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value { + E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_PR present; + union E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs__value_u { + E_RABs_AdmittedToBeModified_SgNBModConf_Item_t E_RABs_AdmittedToBeModified_SgNBModConf_Item; + } 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; +} E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value { + E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBRelReq_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBRelReq_Item_t E_RABs_ToBeReleased_SgNBRelReq_Item; + } 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; +} E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_t; +typedef struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value { + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_PR present; + union E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs__value_u { + E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_t E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item; + } 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; +} E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value { + E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBRelReqd_Item_t E_RABs_ToBeReleased_SgNBRelReqd_Item; + } 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; +} E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value { + E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBRelConf_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBRelConf_Item_t E_RABs_ToBeReleased_SgNBRelConf_Item; + } 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; +} E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_t; +typedef struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value { + E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_PR present; + union E_RABs_SubjectToSgNBCounterCheck_ItemIEs__value_u { + E_RABs_SubjectToSgNBCounterCheck_Item_t E_RABs_SubjectToSgNBCounterCheck_Item; + } 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; +} E_RABs_SubjectToSgNBCounterCheck_ItemIEs_t; +typedef struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value { + E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_PR present; + union E_RABs_ToBeReleased_SgNBChaConf_ItemIEs__value_u { + E_RABs_ToBeReleased_SgNBChaConf_Item_t E_RABs_ToBeReleased_SgNBChaConf_Item; + } 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; +} E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_t; +typedef struct E_RABs_DataForwardingAddress_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABs_DataForwardingAddress_ItemIEs__value { + E_RABs_DataForwardingAddress_ItemIEs__value_PR present; + union E_RABs_DataForwardingAddress_ItemIEs__value_u { + E_RABs_DataForwardingAddress_Item_t E_RABs_DataForwardingAddress_Item; + } 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; +} E_RABs_DataForwardingAddress_ItemIEs_t; +typedef struct E_RAB_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RAB_ItemIEs__value { + E_RAB_ItemIEs__value_PR present; + union E_RAB_ItemIEs__value_u { + E_RAB_Item_t E_RAB_Item; + } 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; +} E_RAB_ItemIEs_t; +typedef struct E_RABUsageReport_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct E_RABUsageReport_ItemIEs__value { + E_RABUsageReport_ItemIEs__value_PR present; + union E_RABUsageReport_ItemIEs__value_u { + E_RABUsageReport_Item_t E_RABUsageReport_Item; + } 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; +} E_RABUsageReport_ItemIEs_t; +typedef struct SecondaryRATUsageReport_ItemIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SecondaryRATUsageReport_ItemIEs__value { + SecondaryRATUsageReport_ItemIEs__value_PR present; + union SecondaryRATUsageReport_ItemIEs__value_u { + SecondaryRATUsageReport_Item_t SecondaryRATUsageReport_Item; + } 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; +} SecondaryRATUsageReport_ItemIEs_t; +typedef struct RICsubscriptionRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionRequest_IEs__value { + RICsubscriptionRequest_IEs__value_PR present; + union RICsubscriptionRequest_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICsubscription_t RICsubscription; + } 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; +} RICsubscriptionRequest_IEs_t; +typedef struct RICsubscriptionResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionResponse_IEs__value { + RICsubscriptionResponse_IEs__value_PR present; + union RICsubscriptionResponse_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICaction_Admitted_List_t RICaction_Admitted_List; + RICaction_NotAdmitted_List_t RICaction_NotAdmitted_List; + } 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; +} RICsubscriptionResponse_IEs_t; +typedef struct RICsubscriptionFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionFailure_IEs__value { + RICsubscriptionFailure_IEs__value_PR present; + union RICsubscriptionFailure_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICaction_NotAdmitted_List_t RICaction_NotAdmitted_List; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} RICsubscriptionFailure_IEs_t; +typedef struct RICsubscriptionDeleteRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionDeleteRequest_IEs__value { + RICsubscriptionDeleteRequest_IEs__value_PR present; + union RICsubscriptionDeleteRequest_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + } 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; +} RICsubscriptionDeleteRequest_IEs_t; +typedef struct RICsubscriptionDeleteResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionDeleteResponse_IEs__value { + RICsubscriptionDeleteResponse_IEs__value_PR present; + union RICsubscriptionDeleteResponse_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + } 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; +} RICsubscriptionDeleteResponse_IEs_t; +typedef struct RICsubscriptionDeleteFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICsubscriptionDeleteFailure_IEs__value { + RICsubscriptionDeleteFailure_IEs__value_PR present; + union RICsubscriptionDeleteFailure_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICcause_t RICcause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} RICsubscriptionDeleteFailure_IEs_t; +typedef struct RICindication_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICindication_IEs__value { + RICindication_IEs__value_PR present; + union RICindication_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICactionID_t RICactionID; + RICindicationSN_t RICindicationSN; + RICindicationType_t RICindicationType; + RICindicationHeader_t RICindicationHeader; + RICindicationMessage_t RICindicationMessage; + RICcallProcessID_t RICcallProcessID; + } 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; +} RICindication_IEs_t; +typedef struct RICcontrolRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICcontrolRequest_IEs__value { + RICcontrolRequest_IEs__value_PR present; + union RICcontrolRequest_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICcallProcessID_t RICcallProcessID; + RICcontrolHeader_t RICcontrolHeader; + RICcontrolMessage_t RICcontrolMessage; + RICcontrolAckRequest_t RICcontrolAckRequest; + } 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; +} RICcontrolRequest_IEs_t; +typedef struct RICcontrolAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICcontrolAcknowledge_IEs__value { + RICcontrolAcknowledge_IEs__value_PR present; + union RICcontrolAcknowledge_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICcallProcessID_t RICcallProcessID; + RICcontrolStatus_t RICcontrolStatus; + } 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; +} RICcontrolAcknowledge_IEs_t; +typedef struct RICcontrolFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICcontrolFailure_IEs__value { + RICcontrolFailure_IEs__value_PR present; + union RICcontrolFailure_IEs__value_u { + RICrequestID_t RICrequestID; + RANfunctionID_t RANfunctionID; + RICcallProcessID_t RICcallProcessID; + RICcause_t RICcause; + } 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; +} RICcontrolFailure_IEs_t; +typedef struct RICserviceUpdate_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICserviceUpdate_IEs__value { + RICserviceUpdate_IEs__value_PR present; + union RICserviceUpdate_IEs__value_u { + RANfunctions_List_t RANfunctions_List; + RANfunctionsID_List_t RANfunctionsID_List; + } 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; +} RICserviceUpdate_IEs_t; +typedef struct RICserviceUpdateAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICserviceUpdateAcknowledge_IEs__value { + RICserviceUpdateAcknowledge_IEs__value_PR present; + union RICserviceUpdateAcknowledge_IEs__value_u { + RANfunctionsID_List_t RANfunctionsID_List; + RANfunctionsIDcause_List_t RANfunctionsIDcause_List; + } 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; +} RICserviceUpdateAcknowledge_IEs_t; +typedef struct RICserviceUpdateFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICserviceUpdateFailure_IEs__value { + RICserviceUpdateFailure_IEs__value_PR present; + union RICserviceUpdateFailure_IEs__value_u { + RANfunctionsIDcause_List_t RANfunctionsIDcause_List; + TimeToWait_t TimeToWait; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} RICserviceUpdateFailure_IEs_t; +typedef struct RICserviceQuery_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RICserviceQuery_IEs__value { + RICserviceQuery_IEs__value_PR present; + union RICserviceQuery_IEs__value_u { + RANfunctionsID_List_t RANfunctionsID_List; + } 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; +} RICserviceQuery_IEs_t; +typedef struct HandoverRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverRequest_IEs__value { + HandoverRequest_IEs__value_PR present; + union HandoverRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + ECGI_t ECGI; + GUMMEI_t GUMMEI; + UE_ContextInformation_t UE_ContextInformation; + UE_HistoryInformation_t UE_HistoryInformation; + TraceActivation_t TraceActivation; + SRVCCOperationPossible_t SRVCCOperationPossible; + CSGMembershipStatus_t CSGMembershipStatus; + MobilityInformation_t MobilityInformation; + Masked_IMEISV_t Masked_IMEISV; + UE_HistoryInformationFromTheUE_t UE_HistoryInformationFromTheUE; + ExpectedUEBehaviour_t ExpectedUEBehaviour; + ProSeAuthorized_t ProSeAuthorized; + UE_ContextReferenceAtSeNB_t UE_ContextReferenceAtSeNB; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + V2XServicesAuthorized_t V2XServicesAuthorized; + UE_ContextReferenceAtWT_t UE_ContextReferenceAtWT; + NRUESecurityCapabilities_t NRUESecurityCapabilities; + UE_ContextReferenceAtSgNB_t UE_ContextReferenceAtSgNB; + AerialUEsubscriptionInformation_t AerialUEsubscriptionInformation; + Subscription_Based_UE_DifferentiationInfo_t Subscription_Based_UE_DifferentiationInfo; + } 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; +} HandoverRequest_IEs_t; +typedef struct HandoverRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverRequestAcknowledge_IEs__value { + HandoverRequestAcknowledge_IEs__value_PR present; + union HandoverRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_Admitted_List_t E_RABs_Admitted_List; + E_RAB_List_t E_RAB_List; + TargeteNBtoSource_eNBTransparentContainer_t TargeteNBtoSource_eNBTransparentContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_ContextKeptIndicator_t UE_ContextKeptIndicator; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} HandoverRequestAcknowledge_IEs_t; +typedef struct HandoverPreparationFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverPreparationFailure_IEs__value { + HandoverPreparationFailure_IEs__value_PR present; + union HandoverPreparationFailure_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} HandoverPreparationFailure_IEs_t; +typedef struct HandoverReport_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverReport_IEs__value { + HandoverReport_IEs__value_PR present; + union HandoverReport_IEs__value_u { + HandoverReportType_t HandoverReportType; + Cause_t Cause; + ECGI_t ECGI; + TargetCellInUTRAN_t TargetCellInUTRAN; + CRNTI_t CRNTI; + MobilityInformation_t MobilityInformation; + UE_RLF_Report_Container_t UE_RLF_Report_Container; + UE_RLF_Report_Container_for_extended_bands_t UE_RLF_Report_Container_for_extended_bands; + } 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; +} HandoverReport_IEs_t; +typedef struct SNStatusTransfer_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SNStatusTransfer_IEs__value { + SNStatusTransfer_IEs__value_PR present; + union SNStatusTransfer_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_SubjectToStatusTransfer_List_t E_RABs_SubjectToStatusTransfer_List; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + } 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; +} SNStatusTransfer_IEs_t; +typedef struct UEContextRelease_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct UEContextRelease_IEs__value { + UEContextRelease_IEs__value_PR present; + union UEContextRelease_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SIPTOBearerDeactivationIndication_t SIPTOBearerDeactivationIndication; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + } 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; +} UEContextRelease_IEs_t; +typedef struct HandoverCancel_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct HandoverCancel_IEs__value { + HandoverCancel_IEs__value_PR present; + union HandoverCancel_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} HandoverCancel_IEs_t; +typedef struct ErrorIndication_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ErrorIndication_IEs__value { + ErrorIndication_IEs__value_PR present; + union ErrorIndication_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + } 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; +} ErrorIndication_IEs_t; +typedef struct ResetRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResetRequest_IEs__value { + ResetRequest_IEs__value_PR present; + union ResetRequest_IEs__value_u { + Cause_t Cause; + } 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; +} ResetRequest_IEs_t; +typedef struct ResetResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResetResponse_IEs__value { + ResetResponse_IEs__value_PR present; + union ResetResponse_IEs__value_u { + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ResetResponse_IEs_t; +typedef struct X2SetupRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2SetupRequest_IEs__value { + X2SetupRequest_IEs__value_PR present; + union X2SetupRequest_IEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + ServedCells_t ServedCells; + GUGroupIDList_t GUGroupIDList; + LHN_ID_t LHN_ID; + } 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; +} X2SetupRequest_IEs_t; +typedef struct X2SetupResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2SetupResponse_IEs__value { + X2SetupResponse_IEs__value_PR present; + union X2SetupResponse_IEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + ServedCells_t ServedCells; + GUGroupIDList_t GUGroupIDList; + CriticalityDiagnostics_t CriticalityDiagnostics; + LHN_ID_t LHN_ID; + } 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; +} X2SetupResponse_IEs_t; +typedef struct X2SetupFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2SetupFailure_IEs__value { + X2SetupFailure_IEs__value_PR present; + union X2SetupFailure_IEs__value_u { + Cause_t Cause; + TimeToWait_t TimeToWait; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} X2SetupFailure_IEs_t; +typedef struct LoadInformation_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct LoadInformation_IEs__value { + LoadInformation_IEs__value_PR present; + union LoadInformation_IEs__value_u { + CellInformation_List_t CellInformation_List; + } 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; +} LoadInformation_IEs_t; +typedef struct ENBConfigurationUpdate_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENBConfigurationUpdate_IEs__value { + ENBConfigurationUpdate_IEs__value_PR present; + union ENBConfigurationUpdate_IEs__value_u { + ServedCells_t ServedCells; + ServedCellsToModify_t ServedCellsToModify; + Old_ECGIs_t Old_ECGIs; + GUGroupIDList_t GUGroupIDList; + CoverageModificationList_t CoverageModificationList; + } 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; +} ENBConfigurationUpdate_IEs_t; +typedef struct ENBConfigurationUpdateAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENBConfigurationUpdateAcknowledge_IEs__value { + ENBConfigurationUpdateAcknowledge_IEs__value_PR present; + union ENBConfigurationUpdateAcknowledge_IEs__value_u { + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ENBConfigurationUpdateAcknowledge_IEs_t; +typedef struct ENBConfigurationUpdateFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENBConfigurationUpdateFailure_IEs__value { + ENBConfigurationUpdateFailure_IEs__value_PR present; + union ENBConfigurationUpdateFailure_IEs__value_u { + Cause_t Cause; + TimeToWait_t TimeToWait; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ENBConfigurationUpdateFailure_IEs_t; +typedef struct ResourceStatusRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResourceStatusRequest_IEs__value { + ResourceStatusRequest_IEs__value_PR present; + union ResourceStatusRequest_IEs__value_u { + Measurement_ID_t Measurement_ID; + Registration_Request_t Registration_Request; + ReportCharacteristics_t ReportCharacteristics; + CellToReport_List_t CellToReport_List; + ReportingPeriodicity_t ReportingPeriodicity; + PartialSuccessIndicator_t PartialSuccessIndicator; + ReportingPeriodicityRSRPMR_t ReportingPeriodicityRSRPMR; + ReportingPeriodicityCSIR_t ReportingPeriodicityCSIR; + } 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; +} ResourceStatusRequest_IEs_t; +typedef struct ResourceStatusResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResourceStatusResponse_IEs__value { + ResourceStatusResponse_IEs__value_PR present; + union ResourceStatusResponse_IEs__value_u { + Measurement_ID_t Measurement_ID; + CriticalityDiagnostics_t CriticalityDiagnostics; + MeasurementInitiationResult_List_t MeasurementInitiationResult_List; + } 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; +} ResourceStatusResponse_IEs_t; +typedef struct ResourceStatusFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResourceStatusFailure_IEs__value { + ResourceStatusFailure_IEs__value_PR present; + union ResourceStatusFailure_IEs__value_u { + Measurement_ID_t Measurement_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + CompleteFailureCauseInformation_List_t CompleteFailureCauseInformation_List; + } 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; +} ResourceStatusFailure_IEs_t; +typedef struct ResourceStatusUpdate_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ResourceStatusUpdate_IEs__value { + ResourceStatusUpdate_IEs__value_PR present; + union ResourceStatusUpdate_IEs__value_u { + Measurement_ID_t Measurement_ID; + CellMeasurementResult_List_t CellMeasurementResult_List; + } 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; +} ResourceStatusUpdate_IEs_t; +typedef struct MobilityChangeRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MobilityChangeRequest_IEs__value { + MobilityChangeRequest_IEs__value_PR present; + union MobilityChangeRequest_IEs__value_u { + ECGI_t ECGI; + MobilityParametersInformation_t MobilityParametersInformation; + Cause_t Cause; + } 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; +} MobilityChangeRequest_IEs_t; +typedef struct MobilityChangeAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MobilityChangeAcknowledge_IEs__value { + MobilityChangeAcknowledge_IEs__value_PR present; + union MobilityChangeAcknowledge_IEs__value_u { + ECGI_t ECGI; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} MobilityChangeAcknowledge_IEs_t; +typedef struct MobilityChangeFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct MobilityChangeFailure_IEs__value { + MobilityChangeFailure_IEs__value_PR present; + union MobilityChangeFailure_IEs__value_u { + ECGI_t ECGI; + Cause_t Cause; + MobilityParametersModificationRange_t MobilityParametersModificationRange; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} MobilityChangeFailure_IEs_t; +typedef struct RLFIndication_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RLFIndication_IEs__value { + RLFIndication_IEs__value_PR present; + union RLFIndication_IEs__value_u { + PCI_t PCI; + ECGI_t ECGI; + CRNTI_t CRNTI; + ShortMAC_I_t ShortMAC_I; + UE_RLF_Report_Container_t UE_RLF_Report_Container; + RRCConnSetupIndicator_t RRCConnSetupIndicator; + RRCConnReestabIndicator_t RRCConnReestabIndicator; + UE_RLF_Report_Container_for_extended_bands_t UE_RLF_Report_Container_for_extended_bands; + } 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; +} RLFIndication_IEs_t; +typedef struct CellActivationRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellActivationRequest_IEs__value { + CellActivationRequest_IEs__value_PR present; + union CellActivationRequest_IEs__value_u { + ServedCellsToActivate_t ServedCellsToActivate; + } 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; +} CellActivationRequest_IEs_t; +typedef struct CellActivationResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellActivationResponse_IEs__value { + CellActivationResponse_IEs__value_PR present; + union CellActivationResponse_IEs__value_u { + ActivatedCellList_t ActivatedCellList; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} CellActivationResponse_IEs_t; +typedef struct CellActivationFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct CellActivationFailure_IEs__value { + CellActivationFailure_IEs__value_PR present; + union CellActivationFailure_IEs__value_u { + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} CellActivationFailure_IEs_t; +typedef struct X2Release_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2Release_IEs__value { + X2Release_IEs__value_PR present; + union X2Release_IEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + } 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; +} X2Release_IEs_t; +typedef struct X2APMessageTransfer_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2APMessageTransfer_IEs__value { + X2APMessageTransfer_IEs__value_PR present; + union X2APMessageTransfer_IEs__value_u { + RNL_Header_t RNL_Header; + X2AP_Message_t X2AP_Message; + } 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; +} X2APMessageTransfer_IEs_t; +typedef struct SeNBAdditionRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBAdditionRequest_IEs__value { + SeNBAdditionRequest_IEs__value_PR present; + union SeNBAdditionRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + UESecurityCapabilities_t UESecurityCapabilities; + SeNBSecurityKey_t SeNBSecurityKey; + UEAggregateMaximumBitRate_t UEAggregateMaximumBitRate; + PLMN_Identity_t PLMN_Identity; + E_RABs_ToBeAdded_List_t E_RABs_ToBeAdded_List; + MeNBtoSeNBContainer_t MeNBtoSeNBContainer; + CSGMembershipStatus_t CSGMembershipStatus; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + ExpectedUEBehaviour_t ExpectedUEBehaviour; + } 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; +} SeNBAdditionRequest_IEs_t; +typedef struct SeNBAdditionRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBAdditionRequestAcknowledge_IEs__value { + SeNBAdditionRequestAcknowledge_IEs__value_PR present; + union SeNBAdditionRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_Admitted_ToBeAdded_List_t E_RABs_Admitted_ToBeAdded_List; + E_RAB_List_t E_RAB_List; + SeNBtoMeNBContainer_t SeNBtoMeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + TransportLayerAddress_t TransportLayerAddress; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + TunnelInformation_t TunnelInformation; + } 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; +} SeNBAdditionRequestAcknowledge_IEs_t; +typedef struct SeNBAdditionRequestReject_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBAdditionRequestReject_IEs__value { + SeNBAdditionRequestReject_IEs__value_PR present; + union SeNBAdditionRequestReject_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBAdditionRequestReject_IEs_t; +typedef struct SeNBReconfigurationComplete_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBReconfigurationComplete_IEs__value { + SeNBReconfigurationComplete_IEs__value_PR present; + union SeNBReconfigurationComplete_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + ResponseInformationSeNBReconfComp_t ResponseInformationSeNBReconfComp; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBReconfigurationComplete_IEs_t; +typedef struct SeNBModificationRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationRequest_IEs__value { + SeNBModificationRequest_IEs__value_PR present; + union SeNBModificationRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + SCGChangeIndication_t SCGChangeIndication; + PLMN_Identity_t PLMN_Identity; + UE_ContextInformationSeNBModReq_t UE_ContextInformationSeNBModReq; + MeNBtoSeNBContainer_t MeNBtoSeNBContainer; + CSGMembershipStatus_t CSGMembershipStatus; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationRequest_IEs_t; +typedef struct SeNBModificationRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationRequestAcknowledge_IEs__value { + SeNBModificationRequestAcknowledge_IEs__value_PR present; + union SeNBModificationRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_Admitted_ToBeAdded_ModAckList_t E_RABs_Admitted_ToBeAdded_ModAckList; + E_RABs_Admitted_ToBeModified_ModAckList_t E_RABs_Admitted_ToBeModified_ModAckList; + E_RABs_Admitted_ToBeReleased_ModAckList_t E_RABs_Admitted_ToBeReleased_ModAckList; + E_RAB_List_t E_RAB_List; + SeNBtoMeNBContainer_t SeNBtoMeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationRequestAcknowledge_IEs_t; +typedef struct SeNBModificationRequestReject_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationRequestReject_IEs__value { + SeNBModificationRequestReject_IEs__value_PR present; + union SeNBModificationRequestReject_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationRequestReject_IEs_t; +typedef struct SeNBModificationRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationRequired_IEs__value { + SeNBModificationRequired_IEs__value_PR present; + union SeNBModificationRequired_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + SCGChangeIndication_t SCGChangeIndication; + E_RABs_ToBeReleased_ModReqd_t E_RABs_ToBeReleased_ModReqd; + SeNBtoMeNBContainer_t SeNBtoMeNBContainer; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationRequired_IEs_t; +typedef struct SeNBModificationConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationConfirm_IEs__value { + SeNBModificationConfirm_IEs__value_PR present; + union SeNBModificationConfirm_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + MeNBtoSeNBContainer_t MeNBtoSeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationConfirm_IEs_t; +typedef struct SeNBModificationRefuse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBModificationRefuse_IEs__value { + SeNBModificationRefuse_IEs__value_PR present; + union SeNBModificationRefuse_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + MeNBtoSeNBContainer_t MeNBtoSeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBModificationRefuse_IEs_t; +typedef struct SeNBReleaseRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBReleaseRequest_IEs__value { + SeNBReleaseRequest_IEs__value_PR present; + union SeNBReleaseRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + E_RABs_ToBeReleased_List_RelReq_t E_RABs_ToBeReleased_List_RelReq; + UE_ContextKeptIndicator_t UE_ContextKeptIndicator; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + MakeBeforeBreakIndicator_t MakeBeforeBreakIndicator; + } 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; +} SeNBReleaseRequest_IEs_t; +typedef struct SeNBReleaseRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBReleaseRequired_IEs__value { + SeNBReleaseRequired_IEs__value_PR present; + union SeNBReleaseRequired_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + Cause_t Cause; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBReleaseRequired_IEs_t; +typedef struct SeNBReleaseConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBReleaseConfirm_IEs__value { + SeNBReleaseConfirm_IEs__value_PR present; + union SeNBReleaseConfirm_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_ToBeReleased_List_RelConf_t E_RABs_ToBeReleased_List_RelConf; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBReleaseConfirm_IEs_t; +typedef struct SeNBCounterCheckRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SeNBCounterCheckRequest_IEs__value { + SeNBCounterCheckRequest_IEs__value_PR present; + union SeNBCounterCheckRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_SubjectToCounterCheck_List_t E_RABs_SubjectToCounterCheck_List; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SeNBCounterCheckRequest_IEs_t; +typedef struct X2RemovalRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2RemovalRequest_IEs__value { + X2RemovalRequest_IEs__value_PR present; + union X2RemovalRequest_IEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + X2BenefitValue_t X2BenefitValue; + } 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; +} X2RemovalRequest_IEs_t; +typedef struct X2RemovalResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2RemovalResponse_IEs__value { + X2RemovalResponse_IEs__value_PR present; + union X2RemovalResponse_IEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} X2RemovalResponse_IEs_t; +typedef struct X2RemovalFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct X2RemovalFailure_IEs__value { + X2RemovalFailure_IEs__value_PR present; + union X2RemovalFailure_IEs__value_u { + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} X2RemovalFailure_IEs_t; +typedef struct RetrieveUEContextRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RetrieveUEContextRequest_IEs__value { + RetrieveUEContextRequest_IEs__value_PR present; + union RetrieveUEContextRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + ResumeID_t ResumeID; + ShortMAC_I_t ShortMAC_I; + EUTRANCellIdentifier_t EUTRANCellIdentifier; + CRNTI_t CRNTI; + PCI_t PCI; + } 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; +} RetrieveUEContextRequest_IEs_t; +typedef struct RetrieveUEContextResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RetrieveUEContextResponse_IEs__value { + RetrieveUEContextResponse_IEs__value_PR present; + union RetrieveUEContextResponse_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + GUMMEI_t GUMMEI; + UE_ContextInformationRetrieve_t UE_ContextInformationRetrieve; + TraceActivation_t TraceActivation; + SRVCCOperationPossible_t SRVCCOperationPossible; + Masked_IMEISV_t Masked_IMEISV; + ExpectedUEBehaviour_t ExpectedUEBehaviour; + ProSeAuthorized_t ProSeAuthorized; + CriticalityDiagnostics_t CriticalityDiagnostics; + V2XServicesAuthorized_t V2XServicesAuthorized; + AerialUEsubscriptionInformation_t AerialUEsubscriptionInformation; + Subscription_Based_UE_DifferentiationInfo_t Subscription_Based_UE_DifferentiationInfo; + } 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; +} RetrieveUEContextResponse_IEs_t; +typedef struct RetrieveUEContextFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RetrieveUEContextFailure_IEs__value { + RetrieveUEContextFailure_IEs__value_PR present; + union RetrieveUEContextFailure_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} RetrieveUEContextFailure_IEs_t; +typedef struct SgNBAdditionRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBAdditionRequest_IEs__value { + SgNBAdditionRequest_IEs__value_PR present; + union SgNBAdditionRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + NRUESecurityCapabilities_t NRUESecurityCapabilities; + SgNBSecurityKey_t SgNBSecurityKey; + UEAggregateMaximumBitRate_t UEAggregateMaximumBitRate; + PLMN_Identity_t PLMN_Identity; + HandoverRestrictionList_t HandoverRestrictionList; + E_RABs_ToBeAdded_SgNBAddReqList_t E_RABs_ToBeAdded_SgNBAddReqList; + MeNBtoSgNBContainer_t MeNBtoSgNBContainer; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + ExpectedUEBehaviour_t ExpectedUEBehaviour; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SplitSRBs_t SplitSRBs; + MeNBResourceCoordinationInformation_t MeNBResourceCoordinationInformation; + SGNB_Addition_Trigger_Ind_t SGNB_Addition_Trigger_Ind; + SubscriberProfileIDforRFP_t SubscriberProfileIDforRFP; + ECGI_t ECGI; + } 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; +} SgNBAdditionRequest_IEs_t; +typedef struct SgNBAdditionRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBAdditionRequestAcknowledge_IEs__value { + SgNBAdditionRequestAcknowledge_IEs__value_PR present; + union SgNBAdditionRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList; + E_RAB_List_t E_RAB_List; + SgNBtoMeNBContainer_t SgNBtoMeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SplitSRBs_t SplitSRBs; + SgNBResourceCoordinationInformation_t SgNBResourceCoordinationInformation; + RRC_Config_Ind_t RRC_Config_Ind; + } 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; +} SgNBAdditionRequestAcknowledge_IEs_t; +typedef struct SgNBAdditionRequestReject_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBAdditionRequestReject_IEs__value { + SgNBAdditionRequestReject_IEs__value_PR present; + union SgNBAdditionRequestReject_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBAdditionRequestReject_IEs_t; +typedef struct SgNBReconfigurationComplete_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReconfigurationComplete_IEs__value { + SgNBReconfigurationComplete_IEs__value_PR present; + union SgNBReconfigurationComplete_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + ResponseInformationSgNBReconfComp_t ResponseInformationSgNBReconfComp; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBReconfigurationComplete_IEs_t; +typedef struct SgNBModificationRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationRequest_IEs__value { + SgNBModificationRequest_IEs__value_PR present; + union SgNBModificationRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + PLMN_Identity_t PLMN_Identity; + HandoverRestrictionList_t HandoverRestrictionList; + SCGConfigurationQuery_t SCGConfigurationQuery; + UE_ContextInformation_SgNBModReq_t UE_ContextInformation_SgNBModReq; + MeNBtoSgNBContainer_t MeNBtoSgNBContainer; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + MeNBResourceCoordinationInformation_t MeNBResourceCoordinationInformation; + SplitSRBs_t SplitSRBs; + } 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; +} SgNBModificationRequest_IEs_t; +typedef struct SgNBModificationRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationRequestAcknowledge_IEs__value { + SgNBModificationRequestAcknowledge_IEs__value_PR present; + union SgNBModificationRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_Admitted_ToBeAdded_SgNBModAckList_t E_RABs_Admitted_ToBeAdded_SgNBModAckList; + E_RABs_Admitted_ToBeModified_SgNBModAckList_t E_RABs_Admitted_ToBeModified_SgNBModAckList; + E_RABs_Admitted_ToBeReleased_SgNBModAckList_t E_RABs_Admitted_ToBeReleased_SgNBModAckList; + E_RAB_List_t E_RAB_List; + SgNBtoMeNBContainer_t SgNBtoMeNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + SgNBResourceCoordinationInformation_t SgNBResourceCoordinationInformation; + SplitSRBs_t SplitSRBs; + RRC_Config_Ind_t RRC_Config_Ind; + } 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; +} SgNBModificationRequestAcknowledge_IEs_t; +typedef struct SgNBModificationRequestReject_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationRequestReject_IEs__value { + SgNBModificationRequestReject_IEs__value_PR present; + union SgNBModificationRequestReject_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBModificationRequestReject_IEs_t; +typedef struct SgNBModificationRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationRequired_IEs__value { + SgNBModificationRequired_IEs__value_PR present; + union SgNBModificationRequired_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + PDCPChangeIndication_t PDCPChangeIndication; + E_RABs_ToBeReleased_SgNBModReqdList_t E_RABs_ToBeReleased_SgNBModReqdList; + SgNBtoMeNBContainer_t SgNBtoMeNBContainer; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + E_RABs_ToBeModified_SgNBModReqdList_t E_RABs_ToBeModified_SgNBModReqdList; + SgNBResourceCoordinationInformation_t SgNBResourceCoordinationInformation; + RRC_Config_Ind_t RRC_Config_Ind; + } 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; +} SgNBModificationRequired_IEs_t; +typedef struct SgNBModificationConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationConfirm_IEs__value { + SgNBModificationConfirm_IEs__value_PR present; + union SgNBModificationConfirm_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_AdmittedToBeModified_SgNBModConfList_t E_RABs_AdmittedToBeModified_SgNBModConfList; + MeNBtoSgNBContainer_t MeNBtoSgNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + MeNBResourceCoordinationInformation_t MeNBResourceCoordinationInformation; + } 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; +} SgNBModificationConfirm_IEs_t; +typedef struct SgNBModificationRefuse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBModificationRefuse_IEs__value { + SgNBModificationRefuse_IEs__value_PR present; + union SgNBModificationRefuse_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + MeNBtoSgNBContainer_t MeNBtoSgNBContainer; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBModificationRefuse_IEs_t; +typedef struct SgNBReleaseRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReleaseRequest_IEs__value { + SgNBReleaseRequest_IEs__value_PR present; + union SgNBReleaseRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + E_RABs_ToBeReleased_SgNBRelReqList_t E_RABs_ToBeReleased_SgNBRelReqList; + UE_ContextKeptIndicator_t UE_ContextKeptIndicator; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + MeNBtoSgNBContainer_t MeNBtoSgNBContainer; + } 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; +} SgNBReleaseRequest_IEs_t; +typedef struct SgNBReleaseRequestAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReleaseRequestAcknowledge_IEs__value { + SgNBReleaseRequestAcknowledge_IEs__value_PR present; + union SgNBReleaseRequestAcknowledge_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_t E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList; + } 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; +} SgNBReleaseRequestAcknowledge_IEs_t; +typedef struct SgNBReleaseRequestReject_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReleaseRequestReject_IEs__value { + SgNBReleaseRequestReject_IEs__value_PR present; + union SgNBReleaseRequestReject_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBReleaseRequestReject_IEs_t; +typedef struct SgNBReleaseRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReleaseRequired_IEs__value { + SgNBReleaseRequired_IEs__value_PR present; + union SgNBReleaseRequired_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + E_RABs_ToBeReleased_SgNBRelReqdList_t E_RABs_ToBeReleased_SgNBRelReqdList; + } 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; +} SgNBReleaseRequired_IEs_t; +typedef struct SgNBReleaseConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBReleaseConfirm_IEs__value { + SgNBReleaseConfirm_IEs__value_PR present; + union SgNBReleaseConfirm_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_ToBeReleased_SgNBRelConfList_t E_RABs_ToBeReleased_SgNBRelConfList; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBReleaseConfirm_IEs_t; +typedef struct SgNBCounterCheckRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBCounterCheckRequest_IEs__value { + SgNBCounterCheckRequest_IEs__value_PR present; + union SgNBCounterCheckRequest_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_SubjectToSgNBCounterCheck_List_t E_RABs_SubjectToSgNBCounterCheck_List; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBCounterCheckRequest_IEs_t; +typedef struct SgNBChangeRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBChangeRequired_IEs__value { + SgNBChangeRequired_IEs__value_PR present; + union SgNBChangeRequired_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + GlobalGNB_ID_t GlobalGNB_ID; + Cause_t Cause; + SgNBtoMeNBContainer_t SgNBtoMeNBContainer; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBChangeRequired_IEs_t; +typedef struct SgNBChangeConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBChangeConfirm_IEs__value { + SgNBChangeConfirm_IEs__value_PR present; + union SgNBChangeConfirm_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + E_RABs_ToBeReleased_SgNBChaConfList_t E_RABs_ToBeReleased_SgNBChaConfList; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBChangeConfirm_IEs_t; +typedef struct RRCTransfer_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct RRCTransfer_IEs__value { + RRCTransfer_IEs__value_PR present; + union RRCTransfer_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + SplitSRB_t SplitSRB; + UENRMeasurement_t UENRMeasurement; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} RRCTransfer_IEs_t; +typedef struct SgNBChangeRefuse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBChangeRefuse_IEs__value { + SgNBChangeRefuse_IEs__value_PR present; + union SgNBChangeRefuse_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBChangeRefuse_IEs_t; +typedef struct ENDCX2SetupRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2SetupRequest_IEs__value { + ENDCX2SetupRequest_IEs__value_PR present; + union ENDCX2SetupRequest_IEs__value_u { + InitiatingNodeType_EndcX2Setup_t InitiatingNodeType_EndcX2Setup; + } 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; +} ENDCX2SetupRequest_IEs_t; +typedef struct ENB_ENDCX2SetupReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCX2SetupReqIEs__value { + ENB_ENDCX2SetupReqIEs__value_PR present; + union ENB_ENDCX2SetupReqIEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + ServedEUTRAcellsENDCX2ManagementList_t ServedEUTRAcellsENDCX2ManagementList; + } 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; +} ENB_ENDCX2SetupReqIEs_t; +typedef struct En_gNB_ENDCX2SetupReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCX2SetupReqIEs__value { + En_gNB_ENDCX2SetupReqIEs__value_PR present; + union En_gNB_ENDCX2SetupReqIEs__value_u { + GlobalGNB_ID_t GlobalGNB_ID; + ServedNRcellsENDCX2ManagementList_t ServedNRcellsENDCX2ManagementList; + } 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; +} En_gNB_ENDCX2SetupReqIEs_t; +typedef struct ENDCX2SetupResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2SetupResponse_IEs__value { + ENDCX2SetupResponse_IEs__value_PR present; + union ENDCX2SetupResponse_IEs__value_u { + RespondingNodeType_EndcX2Setup_t RespondingNodeType_EndcX2Setup; + } 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; +} ENDCX2SetupResponse_IEs_t; +typedef struct ENB_ENDCX2SetupReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCX2SetupReqAckIEs__value { + ENB_ENDCX2SetupReqAckIEs__value_PR present; + union ENB_ENDCX2SetupReqAckIEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + ServedEUTRAcellsENDCX2ManagementList_t ServedEUTRAcellsENDCX2ManagementList; + } 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; +} ENB_ENDCX2SetupReqAckIEs_t; +typedef struct En_gNB_ENDCX2SetupReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCX2SetupReqAckIEs__value { + En_gNB_ENDCX2SetupReqAckIEs__value_PR present; + union En_gNB_ENDCX2SetupReqAckIEs__value_u { + GlobalGNB_ID_t GlobalGNB_ID; + ServedNRcellsENDCX2ManagementList_t ServedNRcellsENDCX2ManagementList; + } 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; +} En_gNB_ENDCX2SetupReqAckIEs_t; +typedef struct ENDCX2SetupFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2SetupFailure_IEs__value { + ENDCX2SetupFailure_IEs__value_PR present; + union ENDCX2SetupFailure_IEs__value_u { + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + TimeToWait_t TimeToWait; + } 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; +} ENDCX2SetupFailure_IEs_t; +typedef struct ENDCConfigurationUpdate_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCConfigurationUpdate_IEs__value { + ENDCConfigurationUpdate_IEs__value_PR present; + union ENDCConfigurationUpdate_IEs__value_u { + InitiatingNodeType_EndcConfigUpdate_t InitiatingNodeType_EndcConfigUpdate; + } 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; +} ENDCConfigurationUpdate_IEs_t; +typedef struct ENB_ENDCConfigUpdateIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCConfigUpdateIEs__value { + ENB_ENDCConfigUpdateIEs__value_PR present; + union ENB_ENDCConfigUpdateIEs__value_u { + CellAssistanceInformation_t CellAssistanceInformation; + ServedEUTRAcellsENDCX2ManagementList_t ServedEUTRAcellsENDCX2ManagementList; + ServedEUTRAcellsToModifyListENDCConfUpd_t ServedEUTRAcellsToModifyListENDCConfUpd; + ServedEUTRAcellsToDeleteListENDCConfUpd_t ServedEUTRAcellsToDeleteListENDCConfUpd; + } 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; +} ENB_ENDCConfigUpdateIEs_t; +typedef struct En_gNB_ENDCConfigUpdateIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCConfigUpdateIEs__value { + En_gNB_ENDCConfigUpdateIEs__value_PR present; + union En_gNB_ENDCConfigUpdateIEs__value_u { + ServedNRcellsENDCX2ManagementList_t ServedNRcellsENDCX2ManagementList; + ServedNRcellsToModifyENDCConfUpdList_t ServedNRcellsToModifyENDCConfUpdList; + ServedNRcellsToDeleteENDCConfUpdList_t ServedNRcellsToDeleteENDCConfUpdList; + } 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; +} En_gNB_ENDCConfigUpdateIEs_t; +typedef struct ENDCConfigurationUpdateAcknowledge_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCConfigurationUpdateAcknowledge_IEs__value { + ENDCConfigurationUpdateAcknowledge_IEs__value_PR present; + union ENDCConfigurationUpdateAcknowledge_IEs__value_u { + RespondingNodeType_EndcConfigUpdate_t RespondingNodeType_EndcConfigUpdate; + } 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; +} ENDCConfigurationUpdateAcknowledge_IEs_t; +typedef struct ENB_ENDCConfigUpdateAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCConfigUpdateAckIEs__value { + ENB_ENDCConfigUpdateAckIEs__value_PR present; + union ENB_ENDCConfigUpdateAckIEs__value_u { + } 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; +} ENB_ENDCConfigUpdateAckIEs_t; +typedef struct En_gNB_ENDCConfigUpdateAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCConfigUpdateAckIEs__value { + En_gNB_ENDCConfigUpdateAckIEs__value_PR present; + union En_gNB_ENDCConfigUpdateAckIEs__value_u { + ServedNRcellsENDCX2ManagementList_t ServedNRcellsENDCX2ManagementList; + } 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; +} En_gNB_ENDCConfigUpdateAckIEs_t; +typedef struct ENDCConfigurationUpdateFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCConfigurationUpdateFailure_IEs__value { + ENDCConfigurationUpdateFailure_IEs__value_PR present; + union ENDCConfigurationUpdateFailure_IEs__value_u { + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + TimeToWait_t TimeToWait; + } 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; +} ENDCConfigurationUpdateFailure_IEs_t; +typedef struct ENDCCellActivationRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCCellActivationRequest_IEs__value { + ENDCCellActivationRequest_IEs__value_PR present; + union ENDCCellActivationRequest_IEs__value_u { + ServedNRCellsToActivate_t ServedNRCellsToActivate; + ActivationID_t ActivationID; + } 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; +} ENDCCellActivationRequest_IEs_t; +typedef struct ENDCCellActivationResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCCellActivationResponse_IEs__value { + ENDCCellActivationResponse_IEs__value_PR present; + union ENDCCellActivationResponse_IEs__value_u { + ActivatedNRCellList_t ActivatedNRCellList; + ActivationID_t ActivationID; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ENDCCellActivationResponse_IEs_t; +typedef struct ENDCCellActivationFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCCellActivationFailure_IEs__value { + ENDCCellActivationFailure_IEs__value_PR present; + union ENDCCellActivationFailure_IEs__value_u { + ActivationID_t ActivationID; + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ENDCCellActivationFailure_IEs_t; +typedef struct SecondaryRATDataUsageReport_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SecondaryRATDataUsageReport_IEs__value { + SecondaryRATDataUsageReport_IEs__value_PR present; + union SecondaryRATDataUsageReport_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + SecondaryRATUsageReportList_t SecondaryRATUsageReportList; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SecondaryRATDataUsageReport_IEs_t; +typedef struct SgNBActivityNotification_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct SgNBActivityNotification_IEs__value { + SgNBActivityNotification_IEs__value_PR present; + union SgNBActivityNotification_IEs__value_u { + UE_X2AP_ID_t UE_X2AP_ID; + SgNB_UE_X2AP_ID_t SgNB_UE_X2AP_ID; + UserPlaneTrafficActivityReport_t UserPlaneTrafficActivityReport; + ERABActivityNotifyItemList_t ERABActivityNotifyItemList; + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + } 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; +} SgNBActivityNotification_IEs_t; +typedef struct ENDCPartialResetRequired_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCPartialResetRequired_IEs__value { + ENDCPartialResetRequired_IEs__value_PR present; + union ENDCPartialResetRequired_IEs__value_u { + UEsToBeResetList_t UEsToBeResetList; + Cause_t Cause; + } 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; +} ENDCPartialResetRequired_IEs_t; +typedef struct ENDCPartialResetConfirm_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCPartialResetConfirm_IEs__value { + ENDCPartialResetConfirm_IEs__value_PR present; + union ENDCPartialResetConfirm_IEs__value_u { + UEsToBeResetList_t UEsToBeResetList; + } 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; +} ENDCPartialResetConfirm_IEs_t; +typedef struct EUTRANRCellResourceCoordinationRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct EUTRANRCellResourceCoordinationRequest_IEs__value { + EUTRANRCellResourceCoordinationRequest_IEs__value_PR present; + union EUTRANRCellResourceCoordinationRequest_IEs__value_u { + InitiatingNodeType_EutranrCellResourceCoordination_t InitiatingNodeType_EutranrCellResourceCoordination; + } 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; +} EUTRANRCellResourceCoordinationRequest_IEs_t; +typedef struct ENB_EUTRA_NRCellResourceCoordinationReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_EUTRA_NRCellResourceCoordinationReqIEs__value { + ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR present; + union ENB_EUTRA_NRCellResourceCoordinationReqIEs__value_u { + DataTrafficResourceIndication_t DataTrafficResourceIndication; + SpectrumSharingGroupID_t SpectrumSharingGroupID; + ListofEUTRACellsinEUTRACoordinationReq_t ListofEUTRACellsinEUTRACoordinationReq; + } 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; +} ENB_EUTRA_NRCellResourceCoordinationReqIEs_t; +typedef struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value { + En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_PR present; + union En_gNB_EUTRA_NRCellResourceCoordinationReqIEs__value_u { + DataTrafficResourceIndication_t DataTrafficResourceIndication; + ListofEUTRACellsinNRCoordinationReq_t ListofEUTRACellsinNRCoordinationReq; + SpectrumSharingGroupID_t SpectrumSharingGroupID; + ListofNRCellsinNRCoordinationReq_t ListofNRCellsinNRCoordinationReq; + } 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; +} En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_t; +typedef struct EUTRANRCellResourceCoordinationResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct EUTRANRCellResourceCoordinationResponse_IEs__value { + EUTRANRCellResourceCoordinationResponse_IEs__value_PR present; + union EUTRANRCellResourceCoordinationResponse_IEs__value_u { + RespondingNodeType_EutranrCellResourceCoordination_t RespondingNodeType_EutranrCellResourceCoordination; + } 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; +} EUTRANRCellResourceCoordinationResponse_IEs_t; +typedef struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value { + ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR present; + union ENB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_u { + DataTrafficResourceIndication_t DataTrafficResourceIndication; + SpectrumSharingGroupID_t SpectrumSharingGroupID; + ListofEUTRACellsinEUTRACoordinationResp_t ListofEUTRACellsinEUTRACoordinationResp; + } 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; +} ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_t; +typedef struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value { + En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_PR present; + union En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs__value_u { + DataTrafficResourceIndication_t DataTrafficResourceIndication; + SpectrumSharingGroupID_t SpectrumSharingGroupID; + ListofNRCellsinNRCoordinationResp_t ListofNRCellsinNRCoordinationResp; + } 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; +} En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_t; +typedef struct ENDCX2RemovalRequest_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2RemovalRequest_IEs__value { + ENDCX2RemovalRequest_IEs__value_PR present; + union ENDCX2RemovalRequest_IEs__value_u { + InitiatingNodeType_EndcX2Removal_t InitiatingNodeType_EndcX2Removal; + } 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; +} ENDCX2RemovalRequest_IEs_t; +typedef struct ENB_ENDCX2RemovalReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCX2RemovalReqIEs__value { + ENB_ENDCX2RemovalReqIEs__value_PR present; + union ENB_ENDCX2RemovalReqIEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + } 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; +} ENB_ENDCX2RemovalReqIEs_t; +typedef struct En_gNB_ENDCX2RemovalReqIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCX2RemovalReqIEs__value { + En_gNB_ENDCX2RemovalReqIEs__value_PR present; + union En_gNB_ENDCX2RemovalReqIEs__value_u { + GlobalGNB_ID_t GlobalGNB_ID; + } 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; +} En_gNB_ENDCX2RemovalReqIEs_t; +typedef struct ENDCX2RemovalResponse_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2RemovalResponse_IEs__value { + ENDCX2RemovalResponse_IEs__value_PR present; + union ENDCX2RemovalResponse_IEs__value_u { + RespondingNodeType_EndcX2Removal_t RespondingNodeType_EndcX2Removal; + } 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; +} ENDCX2RemovalResponse_IEs_t; +typedef struct ENB_ENDCX2RemovalReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENB_ENDCX2RemovalReqAckIEs__value { + ENB_ENDCX2RemovalReqAckIEs__value_PR present; + union ENB_ENDCX2RemovalReqAckIEs__value_u { + GlobalENB_ID_t GlobalENB_ID; + } 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; +} ENB_ENDCX2RemovalReqAckIEs_t; +typedef struct En_gNB_ENDCX2RemovalReqAckIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct En_gNB_ENDCX2RemovalReqAckIEs__value { + En_gNB_ENDCX2RemovalReqAckIEs__value_PR present; + union En_gNB_ENDCX2RemovalReqAckIEs__value_u { + GlobalGNB_ID_t GlobalGNB_ID; + } 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; +} En_gNB_ENDCX2RemovalReqAckIEs_t; +typedef struct ENDCX2RemovalFailure_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct ENDCX2RemovalFailure_IEs__value { + ENDCX2RemovalFailure_IEs__value_PR present; + union ENDCX2RemovalFailure_IEs__value_u { + Cause_t Cause; + CriticalityDiagnostics_t CriticalityDiagnostics; + } 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; +} ENDCX2RemovalFailure_IEs_t; +typedef struct DataForwardingAddressIndication_IEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct DataForwardingAddressIndication_IEs__value { + DataForwardingAddressIndication_IEs__value_PR present; + union DataForwardingAddressIndication_IEs__value_u { + UE_X2AP_ID_Extension_t UE_X2AP_ID_Extension; + UE_X2AP_ID_t UE_X2AP_ID; + E_RABs_DataForwardingAddress_List_t E_RABs_DataForwardingAddress_List; + } 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; +} DataForwardingAddressIndication_IEs_t; +typedef struct GNBStatusIndicationIEs { + ProtocolIE_ID_t id; + Criticality_t criticality; + struct GNBStatusIndicationIEs__value { + GNBStatusIndicationIEs__value_PR present; + union GNBStatusIndicationIEs__value_u { + GNBOverloadInformation_t GNBOverloadInformation; + } 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; +} GNBStatusIndicationIEs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1; +extern asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5; +extern asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9; +extern asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[3]; +extern asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13; +extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[3]; +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17; +extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[3]; +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21; +extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetup_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetup_ItemIEs_specs_25; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetup_ItemIEs_25[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ItemIEs_specs_29; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ItemIEs_29[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToStatusTransfer_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToStatusTransfer_ItemIEs_specs_33; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToStatusTransfer_ItemIEs_33[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellInformation_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellInformation_ItemIEs_specs_37; +extern asn_TYPE_member_t asn_MBR_CellInformation_ItemIEs_37[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellToReport_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellToReport_ItemIEs_specs_41; +extern asn_TYPE_member_t asn_MBR_CellToReport_ItemIEs_41[3]; +extern asn_TYPE_descriptor_t asn_DEF_MeasurementInitiationResult_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementInitiationResult_ItemIEs_specs_45; +extern asn_TYPE_member_t asn_MBR_MeasurementInitiationResult_ItemIEs_45[3]; +extern asn_TYPE_descriptor_t asn_DEF_MeasurementFailureCause_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementFailureCause_ItemIEs_specs_49; +extern asn_TYPE_member_t asn_MBR_MeasurementFailureCause_ItemIEs_49[3]; +extern asn_TYPE_descriptor_t asn_DEF_CompleteFailureCauseInformation_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CompleteFailureCauseInformation_ItemIEs_specs_53; +extern asn_TYPE_member_t asn_MBR_CompleteFailureCauseInformation_ItemIEs_53[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellMeasurementResult_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellMeasurementResult_ItemIEs_specs_57; +extern asn_TYPE_member_t asn_MBR_CellMeasurementResult_ItemIEs_57[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ItemIEs_specs_61; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ItemIEs_61[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ItemIEs_specs_65; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ItemIEs_65[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_ModReqItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_ModReqItemIEs_specs_69; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_ModReqItemIEs_69[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_ModReqItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_ModReqItemIEs_specs_73; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_ModReqItemIEs_73[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqItemIEs_specs_77; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqItemIEs_77[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_ModAckItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_specs_81; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_81[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_ModAckItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItemIEs_specs_85; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItemIEs_85[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_ModAckItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_specs_89; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_89[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_ModReqdItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_ModReqdItemIEs_specs_93; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_ModReqdItemIEs_93[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelReqItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelReqItemIEs_specs_97; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelReqItemIEs_97[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_RelConfItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_RelConfItemIEs_specs_101; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_RelConfItemIEs_101[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToCounterCheckItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToCounterCheckItemIEs_specs_105; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToCounterCheckItemIEs_105[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeSetupRetrieve_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeSetupRetrieve_ItemIEs_specs_109; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeSetupRetrieve_ItemIEs_109[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_specs_113; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_113[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_specs_117; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_117[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeAdded_SgNBModReq_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_specs_121; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_121[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReq_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemIEs_specs_125; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemIEs_125[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReq_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_specs_129; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_129[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_specs_133; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_133[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_specs_137; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_137[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_specs_141; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_141[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_specs_145; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_145[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeModified_SgNBModReqd_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_specs_149; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_149[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_specs_153; +extern asn_TYPE_member_t asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_153[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_specs_157; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_157[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_specs_161; +extern asn_TYPE_member_t asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_161[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_specs_165; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_165[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_specs_169; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_169[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_SubjectToSgNBCounterCheck_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_specs_173; +extern asn_TYPE_member_t asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_173[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_specs_177; +extern asn_TYPE_member_t asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_177[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABs_DataForwardingAddress_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABs_DataForwardingAddress_ItemIEs_specs_181; +extern asn_TYPE_member_t asn_MBR_E_RABs_DataForwardingAddress_ItemIEs_181[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RAB_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RAB_ItemIEs_specs_185; +extern asn_TYPE_member_t asn_MBR_E_RAB_ItemIEs_185[3]; +extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReport_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReport_ItemIEs_specs_189; +extern asn_TYPE_member_t asn_MBR_E_RABUsageReport_ItemIEs_189[3]; +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_ItemIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATUsageReport_ItemIEs_specs_193; +extern asn_TYPE_member_t asn_MBR_SecondaryRATUsageReport_ItemIEs_193[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_197; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_197[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_201; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_201[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_205; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_205[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_209; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_209[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_213; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_213[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_217; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_217[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICindication_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_221; +extern asn_TYPE_member_t asn_MBR_RICindication_IEs_221[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_225; +extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_225[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_229; +extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_229[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_233; +extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_233[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_237; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_237[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_241; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_241[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_245; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_245[3]; +extern asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_249; +extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_249[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequest_IEs_specs_253; +extern asn_TYPE_member_t asn_MBR_HandoverRequest_IEs_253[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestAcknowledge_IEs_specs_257; +extern asn_TYPE_member_t asn_MBR_HandoverRequestAcknowledge_IEs_257[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverPreparationFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverPreparationFailure_IEs_specs_261; +extern asn_TYPE_member_t asn_MBR_HandoverPreparationFailure_IEs_261[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverReport_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverReport_IEs_specs_265; +extern asn_TYPE_member_t asn_MBR_HandoverReport_IEs_265[3]; +extern asn_TYPE_descriptor_t asn_DEF_SNStatusTransfer_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SNStatusTransfer_IEs_specs_269; +extern asn_TYPE_member_t asn_MBR_SNStatusTransfer_IEs_269[3]; +extern asn_TYPE_descriptor_t asn_DEF_UEContextRelease_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_UEContextRelease_IEs_specs_273; +extern asn_TYPE_member_t asn_MBR_UEContextRelease_IEs_273[3]; +extern asn_TYPE_descriptor_t asn_DEF_HandoverCancel_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_HandoverCancel_IEs_specs_277; +extern asn_TYPE_member_t asn_MBR_HandoverCancel_IEs_277[3]; +extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_281; +extern asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_281[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResetRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequest_IEs_specs_285; +extern asn_TYPE_member_t asn_MBR_ResetRequest_IEs_285[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResetResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponse_IEs_specs_289; +extern asn_TYPE_member_t asn_MBR_ResetResponse_IEs_289[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2SetupRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupRequest_IEs_specs_293; +extern asn_TYPE_member_t asn_MBR_X2SetupRequest_IEs_293[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2SetupResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupResponse_IEs_specs_297; +extern asn_TYPE_member_t asn_MBR_X2SetupResponse_IEs_297[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2SetupFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupFailure_IEs_specs_301; +extern asn_TYPE_member_t asn_MBR_X2SetupFailure_IEs_301[3]; +extern asn_TYPE_descriptor_t asn_DEF_LoadInformation_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_LoadInformation_IEs_specs_305; +extern asn_TYPE_member_t asn_MBR_LoadInformation_IEs_305[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdate_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdate_IEs_specs_309; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdate_IEs_309[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateAcknowledge_IEs_specs_313; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateAcknowledge_IEs_313[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateFailure_IEs_specs_317; +extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateFailure_IEs_317[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusRequest_IEs_specs_321; +extern asn_TYPE_member_t asn_MBR_ResourceStatusRequest_IEs_321[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusResponse_IEs_specs_325; +extern asn_TYPE_member_t asn_MBR_ResourceStatusResponse_IEs_325[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusFailure_IEs_specs_329; +extern asn_TYPE_member_t asn_MBR_ResourceStatusFailure_IEs_329[3]; +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusUpdate_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusUpdate_IEs_specs_333; +extern asn_TYPE_member_t asn_MBR_ResourceStatusUpdate_IEs_333[3]; +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeRequest_IEs_specs_337; +extern asn_TYPE_member_t asn_MBR_MobilityChangeRequest_IEs_337[3]; +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeAcknowledge_IEs_specs_341; +extern asn_TYPE_member_t asn_MBR_MobilityChangeAcknowledge_IEs_341[3]; +extern asn_TYPE_descriptor_t asn_DEF_MobilityChangeFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_MobilityChangeFailure_IEs_specs_345; +extern asn_TYPE_member_t asn_MBR_MobilityChangeFailure_IEs_345[3]; +extern asn_TYPE_descriptor_t asn_DEF_RLFIndication_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RLFIndication_IEs_specs_349; +extern asn_TYPE_member_t asn_MBR_RLFIndication_IEs_349[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellActivationRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationRequest_IEs_specs_353; +extern asn_TYPE_member_t asn_MBR_CellActivationRequest_IEs_353[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellActivationResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationResponse_IEs_specs_357; +extern asn_TYPE_member_t asn_MBR_CellActivationResponse_IEs_357[3]; +extern asn_TYPE_descriptor_t asn_DEF_CellActivationFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_CellActivationFailure_IEs_specs_361; +extern asn_TYPE_member_t asn_MBR_CellActivationFailure_IEs_361[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2Release_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2Release_IEs_specs_365; +extern asn_TYPE_member_t asn_MBR_X2Release_IEs_365[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2APMessageTransfer_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2APMessageTransfer_IEs_specs_369; +extern asn_TYPE_member_t asn_MBR_X2APMessageTransfer_IEs_369[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequest_IEs_specs_373; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequest_IEs_373[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestAcknowledge_IEs_specs_377; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequestAcknowledge_IEs_377[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestReject_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestReject_IEs_specs_381; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequestReject_IEs_381[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBReconfigurationComplete_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReconfigurationComplete_IEs_specs_385; +extern asn_TYPE_member_t asn_MBR_SeNBReconfigurationComplete_IEs_385[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequest_IEs_specs_389; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequest_IEs_389[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestAcknowledge_IEs_specs_393; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequestAcknowledge_IEs_393[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestReject_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestReject_IEs_specs_397; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequestReject_IEs_397[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequired_IEs_specs_401; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequired_IEs_401[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationConfirm_IEs_specs_405; +extern asn_TYPE_member_t asn_MBR_SeNBModificationConfirm_IEs_405[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRefuse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRefuse_IEs_specs_409; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRefuse_IEs_409[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequest_IEs_specs_413; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseRequest_IEs_413[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequired_IEs_specs_417; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseRequired_IEs_417[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseConfirm_IEs_specs_421; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseConfirm_IEs_421[3]; +extern asn_TYPE_descriptor_t asn_DEF_SeNBCounterCheckRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBCounterCheckRequest_IEs_specs_425; +extern asn_TYPE_member_t asn_MBR_SeNBCounterCheckRequest_IEs_425[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalRequest_IEs_specs_429; +extern asn_TYPE_member_t asn_MBR_X2RemovalRequest_IEs_429[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalResponse_IEs_specs_433; +extern asn_TYPE_member_t asn_MBR_X2RemovalResponse_IEs_433[3]; +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalFailure_IEs_specs_437; +extern asn_TYPE_member_t asn_MBR_X2RemovalFailure_IEs_437[3]; +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextRequest_IEs_specs_441; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextRequest_IEs_441[3]; +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextResponse_IEs_specs_445; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextResponse_IEs_445[3]; +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextFailure_IEs_specs_449; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextFailure_IEs_449[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequest_IEs_specs_453; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequest_IEs_453[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestAcknowledge_IEs_specs_457; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequestAcknowledge_IEs_457[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestReject_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestReject_IEs_specs_461; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequestReject_IEs_461[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReconfigurationComplete_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReconfigurationComplete_IEs_specs_465; +extern asn_TYPE_member_t asn_MBR_SgNBReconfigurationComplete_IEs_465[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequest_IEs_specs_469; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequest_IEs_469[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestAcknowledge_IEs_specs_473; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequestAcknowledge_IEs_473[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestReject_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestReject_IEs_specs_477; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequestReject_IEs_477[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequired_IEs_specs_481; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequired_IEs_481[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationConfirm_IEs_specs_485; +extern asn_TYPE_member_t asn_MBR_SgNBModificationConfirm_IEs_485[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRefuse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRefuse_IEs_specs_489; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRefuse_IEs_489[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequest_IEs_specs_493; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequest_IEs_493[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestAcknowledge_IEs_specs_497; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequestAcknowledge_IEs_497[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestReject_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestReject_IEs_specs_501; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequestReject_IEs_501[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequired_IEs_specs_505; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequired_IEs_505[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseConfirm_IEs_specs_509; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseConfirm_IEs_509[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBCounterCheckRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBCounterCheckRequest_IEs_specs_513; +extern asn_TYPE_member_t asn_MBR_SgNBCounterCheckRequest_IEs_513[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRequired_IEs_specs_517; +extern asn_TYPE_member_t asn_MBR_SgNBChangeRequired_IEs_517[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeConfirm_IEs_specs_521; +extern asn_TYPE_member_t asn_MBR_SgNBChangeConfirm_IEs_521[3]; +extern asn_TYPE_descriptor_t asn_DEF_RRCTransfer_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_RRCTransfer_IEs_specs_525; +extern asn_TYPE_member_t asn_MBR_RRCTransfer_IEs_525[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeRefuse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRefuse_IEs_specs_529; +extern asn_TYPE_member_t asn_MBR_SgNBChangeRefuse_IEs_529[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupRequest_IEs_specs_533; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupRequest_IEs_533[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2SetupReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2SetupReqIEs_specs_537; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCX2SetupReqIEs_537[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2SetupReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2SetupReqIEs_specs_541; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2SetupReqIEs_541[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupResponse_IEs_specs_545; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupResponse_IEs_545[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2SetupReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2SetupReqAckIEs_specs_549; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCX2SetupReqAckIEs_549[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2SetupReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2SetupReqAckIEs_specs_553; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2SetupReqAckIEs_553[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2SetupFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2SetupFailure_IEs_specs_557; +extern asn_TYPE_member_t asn_MBR_ENDCX2SetupFailure_IEs_557[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdate_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdate_IEs_specs_561; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdate_IEs_561[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCConfigUpdateIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCConfigUpdateIEs_specs_565; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCConfigUpdateIEs_565[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCConfigUpdateIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCConfigUpdateIEs_specs_569; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCConfigUpdateIEs_569[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateAcknowledge_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateAcknowledge_IEs_specs_573; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateAcknowledge_IEs_573[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCConfigUpdateAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCConfigUpdateAckIEs_specs_577; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCConfigUpdateAckIEs_577[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCConfigUpdateAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCConfigUpdateAckIEs_specs_581; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCConfigUpdateAckIEs_581[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCConfigurationUpdateFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCConfigurationUpdateFailure_IEs_specs_585; +extern asn_TYPE_member_t asn_MBR_ENDCConfigurationUpdateFailure_IEs_585[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationRequest_IEs_specs_589; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationRequest_IEs_589[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationResponse_IEs_specs_593; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationResponse_IEs_593[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCCellActivationFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCCellActivationFailure_IEs_specs_597; +extern asn_TYPE_member_t asn_MBR_ENDCCellActivationFailure_IEs_597[3]; +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReport_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReport_IEs_specs_601; +extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReport_IEs_601[3]; +extern asn_TYPE_descriptor_t asn_DEF_SgNBActivityNotification_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBActivityNotification_IEs_specs_605; +extern asn_TYPE_member_t asn_MBR_SgNBActivityNotification_IEs_605[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetRequired_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetRequired_IEs_specs_609; +extern asn_TYPE_member_t asn_MBR_ENDCPartialResetRequired_IEs_609[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCPartialResetConfirm_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCPartialResetConfirm_IEs_specs_613; +extern asn_TYPE_member_t asn_MBR_ENDCPartialResetConfirm_IEs_613[3]; +extern asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationRequest_IEs_specs_617; +extern asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationRequest_IEs_617[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqIEs_specs_621; +extern asn_TYPE_member_t asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqIEs_621[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_specs_625; +extern asn_TYPE_member_t asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqIEs_625[3]; +extern asn_TYPE_descriptor_t asn_DEF_EUTRANRCellResourceCoordinationResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_EUTRANRCellResourceCoordinationResponse_IEs_specs_629; +extern asn_TYPE_member_t asn_MBR_EUTRANRCellResourceCoordinationResponse_IEs_629[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_633; +extern asn_TYPE_member_t asn_MBR_ENB_EUTRA_NRCellResourceCoordinationReqAckIEs_633[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_specs_637; +extern asn_TYPE_member_t asn_MBR_En_gNB_EUTRA_NRCellResourceCoordinationReqAckIEs_637[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalRequest_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalRequest_IEs_specs_641; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalRequest_IEs_641[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2RemovalReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2RemovalReqIEs_specs_645; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCX2RemovalReqIEs_645[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2RemovalReqIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2RemovalReqIEs_specs_649; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2RemovalReqIEs_649[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalResponse_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalResponse_IEs_specs_653; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalResponse_IEs_653[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENB_ENDCX2RemovalReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENB_ENDCX2RemovalReqAckIEs_specs_657; +extern asn_TYPE_member_t asn_MBR_ENB_ENDCX2RemovalReqAckIEs_657[3]; +extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ENDCX2RemovalReqAckIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_En_gNB_ENDCX2RemovalReqAckIEs_specs_661; +extern asn_TYPE_member_t asn_MBR_En_gNB_ENDCX2RemovalReqAckIEs_661[3]; +extern asn_TYPE_descriptor_t asn_DEF_ENDCX2RemovalFailure_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_ENDCX2RemovalFailure_IEs_specs_665; +extern asn_TYPE_member_t asn_MBR_ENDCX2RemovalFailure_IEs_665[3]; +extern asn_TYPE_descriptor_t asn_DEF_DataForwardingAddressIndication_IEs; +extern asn_SEQUENCE_specifics_t asn_SPC_DataForwardingAddressIndication_IEs_specs_669; +extern asn_TYPE_member_t asn_MBR_DataForwardingAddressIndication_IEs_669[3]; +extern asn_TYPE_descriptor_t asn_DEF_GNBStatusIndicationIEs; +extern asn_SEQUENCE_specifics_t asn_SPC_GNBStatusIndicationIEs_specs_673; +extern asn_TYPE_member_t asn_MBR_GNBStatusIndicationIEs_673[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_Field_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-Field.o b/asn1c_defs/all-defs/ProtocolIE-Field.o new file mode 100644 index 0000000000000000000000000000000000000000..5a4e298f2f6565535e6e0049e05b6bb25bd0d36f GIT binary patch literal 1112944 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 zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja zkDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnjakDnja 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 C2J5u| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtocolIE-FieldPair.c b/asn1c_defs/all-defs/ProtocolIE-FieldPair.c new file mode 100755 index 0000000..97667f9 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-FieldPair.c @@ -0,0 +1,9 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtocolIE-FieldPair.h" + diff --git a/asn1c_defs/all-defs/ProtocolIE-FieldPair.h b/asn1c_defs/all-defs/ProtocolIE-FieldPair.h new file mode 100755 index 0000000..45a0d37 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-FieldPair.h @@ -0,0 +1,23 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolIE_FieldPair_H_ +#define _ProtocolIE_FieldPair_H_ + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_FieldPair_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-FieldPair.o b/asn1c_defs/all-defs/ProtocolIE-FieldPair.o new file mode 100644 index 0000000000000000000000000000000000000000..09cf9e1ec9c1b4e0f2d0fc8444934b5056f8208f GIT binary patch literal 952 zcmbVK%}T>S5T3O4@90hNQco(FA%TkGK^96{gi?Cx10-p{VtypqK)vYe_|quV677I1XrY;292)W&w5v$t2C-3{C;&)9KUrW*yZzug4EKLC^JT z8Tp_7BYG3`ZyWy5tiu!SNAUC8k%D38j)3?name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ProtocolIE_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID = { + "ProtocolIE-ID", + "ProtocolIE-ID", + &asn_OP_NativeInteger, + asn_DEF_ProtocolIE_ID_tags_1, + sizeof(asn_DEF_ProtocolIE_ID_tags_1) + /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ + asn_DEF_ProtocolIE_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_ID_tags_1) + /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ProtocolIE_ID_constr_1, ProtocolIE_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/ProtocolIE-ID.h b/asn1c_defs/all-defs/ProtocolIE-ID.h new file mode 100755 index 0000000..c78b6e4 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-ID.h @@ -0,0 +1,396 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolIE_ID_H_ +#define _ProtocolIE_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#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_E_RABs_Admitted_Item ((ProtocolIE_ID_t)0) +#define ProtocolIE_ID_id_E_RABs_Admitted_List ((ProtocolIE_ID_t)1) +#define ProtocolIE_ID_id_E_RAB_Item ((ProtocolIE_ID_t)2) +#define ProtocolIE_ID_id_E_RABs_NotAdmitted_List ((ProtocolIE_ID_t)3) +#define ProtocolIE_ID_id_E_RABs_ToBeSetup_Item ((ProtocolIE_ID_t)4) +#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_TargetCell_ID ((ProtocolIE_ID_t)11) +#define ProtocolIE_ID_id_TargeteNBtoSource_eNBTransparentContainer ((ProtocolIE_ID_t)12) +#define ProtocolIE_ID_id_TraceActivation ((ProtocolIE_ID_t)13) +#define ProtocolIE_ID_id_UE_ContextInformation ((ProtocolIE_ID_t)14) +#define ProtocolIE_ID_id_UE_HistoryInformation ((ProtocolIE_ID_t)15) +#define ProtocolIE_ID_id_UE_X2AP_ID ((ProtocolIE_ID_t)16) +#define ProtocolIE_ID_id_CriticalityDiagnostics ((ProtocolIE_ID_t)17) +#define ProtocolIE_ID_id_E_RABs_SubjectToStatusTransfer_List ((ProtocolIE_ID_t)18) +#define ProtocolIE_ID_id_E_RABs_SubjectToStatusTransfer_Item ((ProtocolIE_ID_t)19) +#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_GUMMEI_ID ((ProtocolIE_ID_t)23) +#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_SRVCCOperationPossible ((ProtocolIE_ID_t)36) +#define ProtocolIE_ID_id_Measurement_ID ((ProtocolIE_ID_t)37) +#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_ENB1_Cell_ID ((ProtocolIE_ID_t)43) +#define ProtocolIE_ID_id_ENB2_Cell_ID ((ProtocolIE_ID_t)44) +#define ProtocolIE_ID_id_ENB2_Proposed_Mobility_Parameters ((ProtocolIE_ID_t)45) +#define ProtocolIE_ID_id_ENB1_Mobility_Parameters ((ProtocolIE_ID_t)46) +#define ProtocolIE_ID_id_ENB2_Mobility_Parameters_Modification_Range ((ProtocolIE_ID_t)47) +#define ProtocolIE_ID_id_FailureCellPCI ((ProtocolIE_ID_t)48) +#define ProtocolIE_ID_id_Re_establishmentCellECGI ((ProtocolIE_ID_t)49) +#define ProtocolIE_ID_id_FailureCellCRNTI ((ProtocolIE_ID_t)50) +#define ProtocolIE_ID_id_ShortMAC_I ((ProtocolIE_ID_t)51) +#define ProtocolIE_ID_id_SourceCellECGI ((ProtocolIE_ID_t)52) +#define ProtocolIE_ID_id_FailureCellECGI ((ProtocolIE_ID_t)53) +#define ProtocolIE_ID_id_HandoverReportType ((ProtocolIE_ID_t)54) +#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_ServedCellsToActivate ((ProtocolIE_ID_t)57) +#define ProtocolIE_ID_id_ActivatedCellList ((ProtocolIE_ID_t)58) +#define ProtocolIE_ID_id_DeactivationIndication ((ProtocolIE_ID_t)59) +#define ProtocolIE_ID_id_UE_RLF_Report_Container ((ProtocolIE_ID_t)60) +#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_CSGMembershipStatus ((ProtocolIE_ID_t)71) +#define ProtocolIE_ID_id_MDTConfiguration ((ProtocolIE_ID_t)72) +#define ProtocolIE_ID_id_ManagementBasedMDTallowed ((ProtocolIE_ID_t)74) +#define ProtocolIE_ID_id_RRCConnSetupIndicator ((ProtocolIE_ID_t)75) +#define ProtocolIE_ID_id_NeighbourTAC ((ProtocolIE_ID_t)76) +#define ProtocolIE_ID_id_Time_UE_StayedInCell_EnhancedGranularity ((ProtocolIE_ID_t)77) +#define ProtocolIE_ID_id_RRCConnReestabIndicator ((ProtocolIE_ID_t)78) +#define ProtocolIE_ID_id_MBMS_Service_Area_List ((ProtocolIE_ID_t)79) +#define ProtocolIE_ID_id_HO_cause ((ProtocolIE_ID_t)80) +#define ProtocolIE_ID_id_TargetCellInUTRAN ((ProtocolIE_ID_t)81) +#define ProtocolIE_ID_id_MobilityInformation ((ProtocolIE_ID_t)82) +#define ProtocolIE_ID_id_SourceCellCRNTI ((ProtocolIE_ID_t)83) +#define ProtocolIE_ID_id_MultibandInfoList ((ProtocolIE_ID_t)84) +#define ProtocolIE_ID_id_M3Configuration ((ProtocolIE_ID_t)85) +#define ProtocolIE_ID_id_M4Configuration ((ProtocolIE_ID_t)86) +#define ProtocolIE_ID_id_M5Configuration ((ProtocolIE_ID_t)87) +#define ProtocolIE_ID_id_MDT_Location_Info ((ProtocolIE_ID_t)88) +#define ProtocolIE_ID_id_ManagementBasedMDTPLMNList ((ProtocolIE_ID_t)89) +#define ProtocolIE_ID_id_SignallingBasedMDTPLMNList ((ProtocolIE_ID_t)90) +#define ProtocolIE_ID_id_ReceiveStatusOfULPDCPSDUsExtended ((ProtocolIE_ID_t)91) +#define ProtocolIE_ID_id_ULCOUNTValueExtended ((ProtocolIE_ID_t)92) +#define ProtocolIE_ID_id_DLCOUNTValueExtended ((ProtocolIE_ID_t)93) +#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_Masked_IMEISV ((ProtocolIE_ID_t)98) +#define ProtocolIE_ID_id_IntendedULDLConfiguration ((ProtocolIE_ID_t)99) +#define ProtocolIE_ID_id_ExtendedULInterferenceOverloadInfo ((ProtocolIE_ID_t)100) +#define ProtocolIE_ID_id_RNL_Header ((ProtocolIE_ID_t)101) +#define ProtocolIE_ID_id_x2APMessage ((ProtocolIE_ID_t)102) +#define ProtocolIE_ID_id_ProSeAuthorized ((ProtocolIE_ID_t)103) +#define ProtocolIE_ID_id_ExpectedUEBehaviour ((ProtocolIE_ID_t)104) +#define ProtocolIE_ID_id_UE_HistoryInformationFromTheUE ((ProtocolIE_ID_t)105) +#define ProtocolIE_ID_id_DynamicDLTransmissionInformation ((ProtocolIE_ID_t)106) +#define ProtocolIE_ID_id_UE_RLF_Report_Container_for_extended_bands ((ProtocolIE_ID_t)107) +#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_UE_SecurityCapabilities ((ProtocolIE_ID_t)113) +#define ProtocolIE_ID_id_SeNBSecurityKey ((ProtocolIE_ID_t)114) +#define ProtocolIE_ID_id_SeNBUEAggregateMaximumBitRate ((ProtocolIE_ID_t)115) +#define ProtocolIE_ID_id_ServingPLMN ((ProtocolIE_ID_t)116) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_List ((ProtocolIE_ID_t)117) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_Item ((ProtocolIE_ID_t)118) +#define ProtocolIE_ID_id_MeNBtoSeNBContainer ((ProtocolIE_ID_t)119) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_List ((ProtocolIE_ID_t)120) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_Item ((ProtocolIE_ID_t)121) +#define ProtocolIE_ID_id_SeNBtoMeNBContainer ((ProtocolIE_ID_t)122) +#define ProtocolIE_ID_id_ResponseInformationSeNBReconfComp ((ProtocolIE_ID_t)123) +#define ProtocolIE_ID_id_UE_ContextInformationSeNBModReq ((ProtocolIE_ID_t)124) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_ModReqItem ((ProtocolIE_ID_t)125) +#define ProtocolIE_ID_id_E_RABs_ToBeModified_ModReqItem ((ProtocolIE_ID_t)126) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_ModReqItem ((ProtocolIE_ID_t)127) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_ModAckList ((ProtocolIE_ID_t)128) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeModified_ModAckList ((ProtocolIE_ID_t)129) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_ModAckList ((ProtocolIE_ID_t)130) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_ModAckItem ((ProtocolIE_ID_t)131) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeModified_ModAckItem ((ProtocolIE_ID_t)132) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_ModAckItem ((ProtocolIE_ID_t)133) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_ModReqd ((ProtocolIE_ID_t)134) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_ModReqdItem ((ProtocolIE_ID_t)135) +#define ProtocolIE_ID_id_SCGChangeIndication ((ProtocolIE_ID_t)136) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_List_RelReq ((ProtocolIE_ID_t)137) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_RelReqItem ((ProtocolIE_ID_t)138) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_List_RelConf ((ProtocolIE_ID_t)139) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_RelConfItem ((ProtocolIE_ID_t)140) +#define ProtocolIE_ID_id_E_RABs_SubjectToCounterCheck_List ((ProtocolIE_ID_t)141) +#define ProtocolIE_ID_id_E_RABs_SubjectToCounterCheckItem ((ProtocolIE_ID_t)142) +#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_ProSeUEtoNetworkRelaying ((ProtocolIE_ID_t)149) +#define ProtocolIE_ID_id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 ((ProtocolIE_ID_t)150) +#define ProtocolIE_ID_id_ULCOUNTValuePDCP_SNlength18 ((ProtocolIE_ID_t)151) +#define ProtocolIE_ID_id_DLCOUNTValuePDCP_SNlength18 ((ProtocolIE_ID_t)152) +#define ProtocolIE_ID_id_UE_ContextReferenceAtSeNB ((ProtocolIE_ID_t)153) +#define ProtocolIE_ID_id_UE_ContextKeptIndicator ((ProtocolIE_ID_t)154) +#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_M6Configuration ((ProtocolIE_ID_t)161) +#define ProtocolIE_ID_id_M7Configuration ((ProtocolIE_ID_t)162) +#define ProtocolIE_ID_id_Tunnel_Information_for_BBF ((ProtocolIE_ID_t)163) +#define ProtocolIE_ID_id_SIPTO_BearerDeactivationIndication ((ProtocolIE_ID_t)164) +#define ProtocolIE_ID_id_GW_TransportLayerAddress ((ProtocolIE_ID_t)165) +#define ProtocolIE_ID_id_Correlation_ID ((ProtocolIE_ID_t)166) +#define ProtocolIE_ID_id_SIPTO_Correlation_ID ((ProtocolIE_ID_t)167) +#define ProtocolIE_ID_id_SIPTO_L_GW_TransportLayerAddress ((ProtocolIE_ID_t)168) +#define ProtocolIE_ID_id_X2RemovalThreshold ((ProtocolIE_ID_t)169) +#define ProtocolIE_ID_id_CellReportingIndicator ((ProtocolIE_ID_t)170) +#define ProtocolIE_ID_id_BearerType ((ProtocolIE_ID_t)171) +#define ProtocolIE_ID_id_resumeID ((ProtocolIE_ID_t)172) +#define ProtocolIE_ID_id_UE_ContextInformationRetrieve ((ProtocolIE_ID_t)173) +#define ProtocolIE_ID_id_E_RABs_ToBeSetupRetrieve_Item ((ProtocolIE_ID_t)174) +#define ProtocolIE_ID_id_NewEUTRANCellIdentifier ((ProtocolIE_ID_t)175) +#define ProtocolIE_ID_id_V2XServicesAuthorized ((ProtocolIE_ID_t)176) +#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_MakeBeforeBreakIndicator ((ProtocolIE_ID_t)181) +#define ProtocolIE_ID_id_UE_ContextReferenceAtWT ((ProtocolIE_ID_t)182) +#define ProtocolIE_ID_id_WT_UE_ContextKeptIndicator ((ProtocolIE_ID_t)183) +#define ProtocolIE_ID_id_UESidelinkAggregateMaximumBitRate ((ProtocolIE_ID_t)184) +#define ProtocolIE_ID_id_uL_GTPtunnelEndpoint ((ProtocolIE_ID_t)185) +#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_UEAppLayerMeasConfig ((ProtocolIE_ID_t)195) +#define ProtocolIE_ID_id_extended_e_RAB_MaximumBitrateDL ((ProtocolIE_ID_t)196) +#define ProtocolIE_ID_id_extended_e_RAB_MaximumBitrateUL ((ProtocolIE_ID_t)197) +#define ProtocolIE_ID_id_extended_e_RAB_GuaranteedBitrateDL ((ProtocolIE_ID_t)198) +#define ProtocolIE_ID_id_extended_e_RAB_GuaranteedBitrateUL ((ProtocolIE_ID_t)199) +#define ProtocolIE_ID_id_extended_uEaggregateMaximumBitRateDownlink ((ProtocolIE_ID_t)200) +#define ProtocolIE_ID_id_extended_uEaggregateMaximumBitRateUplink ((ProtocolIE_ID_t)201) +#define ProtocolIE_ID_id_NRrestrictioninEPSasSecondaryRAT ((ProtocolIE_ID_t)202) +#define ProtocolIE_ID_id_SgNBSecurityKey ((ProtocolIE_ID_t)203) +#define ProtocolIE_ID_id_SgNBUEAggregateMaximumBitRate ((ProtocolIE_ID_t)204) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_SgNBAddReqList ((ProtocolIE_ID_t)205) +#define ProtocolIE_ID_id_MeNBtoSgNBContainer ((ProtocolIE_ID_t)206) +#define ProtocolIE_ID_id_SgNB_UE_X2AP_ID ((ProtocolIE_ID_t)207) +#define ProtocolIE_ID_id_RequestedSplitSRBs ((ProtocolIE_ID_t)208) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_SgNBAddReq_Item ((ProtocolIE_ID_t)209) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList ((ProtocolIE_ID_t)210) +#define ProtocolIE_ID_id_SgNBtoMeNBContainer ((ProtocolIE_ID_t)211) +#define ProtocolIE_ID_id_AdmittedSplitSRBs ((ProtocolIE_ID_t)212) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item ((ProtocolIE_ID_t)213) +#define ProtocolIE_ID_id_ResponseInformationSgNBReconfComp ((ProtocolIE_ID_t)214) +#define ProtocolIE_ID_id_UE_ContextInformation_SgNBModReq ((ProtocolIE_ID_t)215) +#define ProtocolIE_ID_id_E_RABs_ToBeAdded_SgNBModReq_Item ((ProtocolIE_ID_t)216) +#define ProtocolIE_ID_id_E_RABs_ToBeModified_SgNBModReq_Item ((ProtocolIE_ID_t)217) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBModReq_Item ((ProtocolIE_ID_t)218) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_SgNBModAckList ((ProtocolIE_ID_t)219) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeModified_SgNBModAckList ((ProtocolIE_ID_t)220) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_SgNBModAckList ((ProtocolIE_ID_t)221) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item ((ProtocolIE_ID_t)222) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item ((ProtocolIE_ID_t)223) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item ((ProtocolIE_ID_t)224) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBModReqdList ((ProtocolIE_ID_t)225) +#define ProtocolIE_ID_id_E_RABs_ToBeModified_SgNBModReqdList ((ProtocolIE_ID_t)226) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBModReqd_Item ((ProtocolIE_ID_t)227) +#define ProtocolIE_ID_id_E_RABs_ToBeModified_SgNBModReqd_Item ((ProtocolIE_ID_t)228) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBChaConfList ((ProtocolIE_ID_t)229) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBChaConf_Item ((ProtocolIE_ID_t)230) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelReqList ((ProtocolIE_ID_t)231) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelReq_Item ((ProtocolIE_ID_t)232) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelConfList ((ProtocolIE_ID_t)233) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelConf_Item ((ProtocolIE_ID_t)234) +#define ProtocolIE_ID_id_E_RABs_SubjectToSgNBCounterCheck_List ((ProtocolIE_ID_t)235) +#define ProtocolIE_ID_id_E_RABs_SubjectToSgNBCounterCheck_Item ((ProtocolIE_ID_t)236) +#define ProtocolIE_ID_id_RRCContainer ((ProtocolIE_ID_t)237) +#define ProtocolIE_ID_id_SRBType ((ProtocolIE_ID_t)238) +#define ProtocolIE_ID_id_Target_SgNB_ID ((ProtocolIE_ID_t)239) +#define ProtocolIE_ID_id_HandoverRestrictionList ((ProtocolIE_ID_t)240) +#define ProtocolIE_ID_id_SCGConfigurationQuery ((ProtocolIE_ID_t)241) +#define ProtocolIE_ID_id_SplitSRB ((ProtocolIE_ID_t)242) +#define ProtocolIE_ID_id_UENRMeasurement ((ProtocolIE_ID_t)243) +#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_NRUESecurityCapabilities ((ProtocolIE_ID_t)248) +#define ProtocolIE_ID_id_PDCPChangeIndication ((ProtocolIE_ID_t)249) +#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_UE_ContextReferenceAtSgNB ((ProtocolIE_ID_t)254) +#define ProtocolIE_ID_id_SecondaryRATUsageReport ((ProtocolIE_ID_t)255) +#define ProtocolIE_ID_id_ActivationID ((ProtocolIE_ID_t)256) +#define ProtocolIE_ID_id_MeNBResourceCoordinationInformation ((ProtocolIE_ID_t)257) +#define ProtocolIE_ID_id_SgNBResourceCoordinationInformation ((ProtocolIE_ID_t)258) +#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_E_RABUsageReport_Item ((ProtocolIE_ID_t)263) +#define ProtocolIE_ID_id_Old_SgNB_UE_X2AP_ID ((ProtocolIE_ID_t)264) +#define ProtocolIE_ID_id_SecondaryRATUsageReportList ((ProtocolIE_ID_t)265) +#define ProtocolIE_ID_id_SecondaryRATUsageReport_Item ((ProtocolIE_ID_t)266) +#define ProtocolIE_ID_id_ServedNRCellsToActivate ((ProtocolIE_ID_t)267) +#define ProtocolIE_ID_id_ActivatedNRCellList ((ProtocolIE_ID_t)268) +#define ProtocolIE_ID_id_SelectedPLMN ((ProtocolIE_ID_t)269) +#define ProtocolIE_ID_id_UEs_ToBeReset ((ProtocolIE_ID_t)270) +#define ProtocolIE_ID_id_UEs_Admitted_ToBeReset ((ProtocolIE_ID_t)271) +#define ProtocolIE_ID_id_RRCConfigIndication ((ProtocolIE_ID_t)272) +#define ProtocolIE_ID_id_DownlinkPacketLossRate ((ProtocolIE_ID_t)273) +#define ProtocolIE_ID_id_UplinkPacketLossRate ((ProtocolIE_ID_t)274) +#define ProtocolIE_ID_id_SubscriberProfileIDforRFP ((ProtocolIE_ID_t)275) +#define ProtocolIE_ID_id_serviceType ((ProtocolIE_ID_t)276) +#define ProtocolIE_ID_id_AerialUEsubscriptionInformation ((ProtocolIE_ID_t)277) +#define ProtocolIE_ID_id_SGNB_Addition_Trigger_Ind ((ProtocolIE_ID_t)278) +#define ProtocolIE_ID_id_MeNBCell_ID ((ProtocolIE_ID_t)279) +#define ProtocolIE_ID_id_RequestedSplitSRBsrelease ((ProtocolIE_ID_t)280) +#define ProtocolIE_ID_id_AdmittedSplitSRBsrelease ((ProtocolIE_ID_t)281) +#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_InitiatingNodeType_EutranrCellResourceCoordination ((ProtocolIE_ID_t)285) +#define ProtocolIE_ID_id_RespondingNodeType_EutranrCellResourceCoordination ((ProtocolIE_ID_t)286) +#define ProtocolIE_ID_id_DataTrafficResourceIndication ((ProtocolIE_ID_t)287) +#define ProtocolIE_ID_id_SpectrumSharingGroupID ((ProtocolIE_ID_t)288) +#define ProtocolIE_ID_id_ListofEUTRACellsinEUTRACoordinationReq ((ProtocolIE_ID_t)289) +#define ProtocolIE_ID_id_ListofEUTRACellsinEUTRACoordinationResp ((ProtocolIE_ID_t)290) +#define ProtocolIE_ID_id_ListofEUTRACellsinNRCoordinationReq ((ProtocolIE_ID_t)291) +#define ProtocolIE_ID_id_ListofNRCellsinNRCoordinationReq ((ProtocolIE_ID_t)292) +#define ProtocolIE_ID_id_ListofNRCellsinNRCoordinationResp ((ProtocolIE_ID_t)293) +#define ProtocolIE_ID_id_E_RABs_AdmittedToBeModified_SgNBModConfList ((ProtocolIE_ID_t)294) +#define ProtocolIE_ID_id_E_RABs_AdmittedToBeModified_SgNBModConf_Item ((ProtocolIE_ID_t)295) +#define ProtocolIE_ID_id_UEContextLevelUserPlaneActivity ((ProtocolIE_ID_t)296) +#define ProtocolIE_ID_id_ERABActivityNotifyItemList ((ProtocolIE_ID_t)297) +#define ProtocolIE_ID_id_InitiatingNodeType_EndcX2Removal ((ProtocolIE_ID_t)298) +#define ProtocolIE_ID_id_RespondingNodeType_EndcX2Removal ((ProtocolIE_ID_t)299) +#define ProtocolIE_ID_id_RLC_Status ((ProtocolIE_ID_t)300) +#define ProtocolIE_ID_id_CNTypeRestrictions ((ProtocolIE_ID_t)301) +#define ProtocolIE_ID_id_uLpDCPSnLength ((ProtocolIE_ID_t)302) +#define ProtocolIE_ID_id_BluetoothMeasurementConfiguration ((ProtocolIE_ID_t)303) +#define ProtocolIE_ID_id_WLANMeasurementConfiguration ((ProtocolIE_ID_t)304) +#define ProtocolIE_ID_id_NRrestrictionin5GS ((ProtocolIE_ID_t)305) +#define ProtocolIE_ID_id_dL_Forwarding ((ProtocolIE_ID_t)306) +#define ProtocolIE_ID_id_E_RABs_DataForwardingAddress_List ((ProtocolIE_ID_t)307) +#define ProtocolIE_ID_id_E_RABs_DataForwardingAddress_Item ((ProtocolIE_ID_t)308) +#define ProtocolIE_ID_id_Subscription_Based_UE_DifferentiationInfo ((ProtocolIE_ID_t)309) +#define ProtocolIE_ID_id_GNBOverloadInformation ((ProtocolIE_ID_t)310) +#define ProtocolIE_ID_id_dLPDCPSnLength ((ProtocolIE_ID_t)311) +#define ProtocolIE_ID_id_secondarysgNBDLGTPTEIDatPDCP ((ProtocolIE_ID_t)312) +#define ProtocolIE_ID_id_secondarymeNBULGTPTEIDatPDCP ((ProtocolIE_ID_t)313) +#define ProtocolIE_ID_id_lCID ((ProtocolIE_ID_t)314) +#define ProtocolIE_ID_id_duplicationActivation ((ProtocolIE_ID_t)315) +#define ProtocolIE_ID_id_ECGI ((ProtocolIE_ID_t)316) +#define ProtocolIE_ID_id_RLCMode_transferred ((ProtocolIE_ID_t)317) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList ((ProtocolIE_ID_t)318) +#define ProtocolIE_ID_id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item ((ProtocolIE_ID_t)319) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelReqdList ((ProtocolIE_ID_t)320) +#define ProtocolIE_ID_id_E_RABs_ToBeReleased_SgNBRelReqd_Item ((ProtocolIE_ID_t)321) +#define ProtocolIE_ID_id_NRCGI ((ProtocolIE_ID_t)322) +#define ProtocolIE_ID_id_MeNBCoordinationAssistanceInformation ((ProtocolIE_ID_t)323) +#define ProtocolIE_ID_id_SgNBCoordinationAssistanceInformation ((ProtocolIE_ID_t)324) +#define ProtocolIE_ID_id_new_drb_ID_req ((ProtocolIE_ID_t)325) + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-ID.o b/asn1c_defs/all-defs/ProtocolIE-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..82922d3f4506c3a031262c76386c3d735d738e22 GIT binary patch literal 2776 zcmbVN&5IOQ5U<%b?nKQvyYaA~n7$ZS;y$;{g3Cf=WM{MohIKJfLIP=fXL~=)e8_aq zqB;11dKg6Un14X}Fwz7C_;&9|u4u6WQ&0x~!QY?O2fO~@r=;rr;@>?x90Kfk{)64`hDgbA z|K7`D+e)!DH(u^jfpqiIZNq-AUYyaJv<)XRBk8-d0JvX77cq z|96DcqDbt*^74{9dwH$jN&4;?wV>wbyuQ}FTi&9YUr^qO6o*3`xbV#-DBLI)4j-5- zKEdQC5kJCfed5(p`QAiWnrW2WE2WuprSkH=Qn9vwMI&sO!{|Hqz@NE$;^dw{00)10 z97>u1~ycu|V zf@fpBa_>cYz9xi|@%U$cF*6>Rjv zc9a$M{{`HxIM9+BTkgv zpH$8Eg;hOgDW>gTrerx}!*u8gJ8jvD|8WbK`Xx>U*Yo_(uz{Q}2_t^OKVyHp{yS{2 zC63HpOTUPEUjKa_mCx9o`cG3^>X-h1g&3t8JL9Oo;QZzsNBE6@kPXDhbeqs!KofQH$rfg s!C$%HgNV`HvHfXw*?W%=RJid^NioR&e)`|d^Doj6MS7gF>}~u11HRuFRR910 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ProtocolIE-Single-Container.c b/asn1c_defs/all-defs/ProtocolIE-Single-Container.c new file mode 100755 index 0000000..3d1aa74 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-Single-Container.c @@ -0,0 +1,1136 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ProtocolIE-Single-Container.h" + +/* + * This type is implemented using RICaction_ToBeSetup_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using RICaction_Admitted_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using RICaction_NotAdmitted_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using RANfunction_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using RANfunctionID_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using RANfunctionIDcause_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeSetup_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_SubjectToStatusTransfer_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using CellInformation_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using CellToReport_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using MeasurementInitiationResult_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using MeasurementFailureCause_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using CompleteFailureCauseInformation_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using CellMeasurementResult_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeAdded_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeAdded_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeAdded_ModReqItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeModified_ModReqItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_ModReqItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeAdded_ModAckItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeModified_ModAckItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeReleased_ModAckItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_ModReqdItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_RelReqItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_RelConfItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_SubjectToCounterCheckItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeSetupRetrieve_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeAdded_SgNBAddReq_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeAdded_SgNBModReq_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeModified_SgNBModReq_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBModReq_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBModReqd_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeModified_SgNBModReqd_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBRelReq_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBRelConf_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_SubjectToSgNBCounterCheck_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_ToBeReleased_SgNBChaConf_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABs_DataForwardingAddress_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RAB_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using E_RABUsageReport_ItemIEs, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using SecondaryRATUsageReport_ItemIEs, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P0 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P0_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_ToBeSetup_ItemIEs_1, + 3, /* Elements count */ + &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P1 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P1_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_Admitted_ItemIEs_5, + 3, /* Elements count */ + &asn_SPC_RICaction_Admitted_ItemIEs_specs_5 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P2 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P2_tags_3[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_NotAdmitted_ItemIEs_9, + 3, /* Elements count */ + &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P3 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P3_tags_4[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunction_ItemIEs_13, + 3, /* Elements count */ + &asn_SPC_RANfunction_ItemIEs_specs_13 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P4 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P4_tags_5[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionID_ItemIEs_17, + 3, /* Elements count */ + &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P5 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P5_tags_6[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionIDcause_ItemIEs_21, + 3, /* Elements count */ + &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P6 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P6_tags_7[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetup_ItemIEs_25, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetup_ItemIEs_specs_25 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P7 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P7_tags_8[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ItemIEs_29, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ItemIEs_specs_29 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P8 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P8_tags_9[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToStatusTransfer_ItemIEs_33, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToStatusTransfer_ItemIEs_specs_33 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P9 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P9_tags_10[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellInformation_ItemIEs_37, + 3, /* Elements count */ + &asn_SPC_CellInformation_ItemIEs_specs_37 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P10 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P10_tags_11[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellToReport_ItemIEs_41, + 3, /* Elements count */ + &asn_SPC_CellToReport_ItemIEs_specs_41 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P11 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P11_tags_12[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementInitiationResult_ItemIEs_45, + 3, /* Elements count */ + &asn_SPC_MeasurementInitiationResult_ItemIEs_specs_45 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P12 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P12_tags_13[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_MeasurementFailureCause_ItemIEs_49, + 3, /* Elements count */ + &asn_SPC_MeasurementFailureCause_ItemIEs_specs_49 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P13 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P13_tags_14[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CompleteFailureCauseInformation_ItemIEs_53, + 3, /* Elements count */ + &asn_SPC_CompleteFailureCauseInformation_ItemIEs_specs_53 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P14 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P14_tags_15[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_CellMeasurementResult_ItemIEs_57, + 3, /* Elements count */ + &asn_SPC_CellMeasurementResult_ItemIEs_specs_57 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P15 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P15_tags_16[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ItemIEs_61, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ItemIEs_specs_61 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P16 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P16_tags_17[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ItemIEs_65, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ItemIEs_specs_65 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P17 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P17_tags_18[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_ModReqItemIEs_69, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_ModReqItemIEs_specs_69 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P18 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P18_tags_19[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_ModReqItemIEs_73, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_ModReqItemIEs_specs_73 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P19 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P19_tags_20[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqItemIEs_77, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqItemIEs_specs_77 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P20 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P20_tags_21[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_81, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_ModAckItemIEs_specs_81 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P21 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P21_tags_22[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_ModAckItemIEs_85, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_ModAckItemIEs_specs_85 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P22 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P22_tags_23[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_89, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_ModAckItemIEs_specs_89 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P23 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P23_tags_24[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_ModReqdItemIEs_93, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_ModReqdItemIEs_specs_93 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P24 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P24_tags_25[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelReqItemIEs_97, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelReqItemIEs_specs_97 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P25 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P25_tags_26[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_RelConfItemIEs_101, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_RelConfItemIEs_specs_101 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P26 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P26_tags_27[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToCounterCheckItemIEs_105, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToCounterCheckItemIEs_specs_105 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P27 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P27_tags_28[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeSetupRetrieve_ItemIEs_109, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeSetupRetrieve_ItemIEs_specs_109 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P28 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P28_tags_29[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_113, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_specs_113 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P29 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P29_tags_30[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_117, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_specs_117 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P30 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P30_tags_31[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_121, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeAdded_SgNBModReq_ItemIEs_specs_121 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P31 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P31_tags_32[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReq_ItemIEs_125, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReq_ItemIEs_specs_125 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P32 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P32_tags_33[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_129, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReq_ItemIEs_specs_129 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P33 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P33_tags_34[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_133, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_specs_133 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P34 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P34_tags_35[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_137, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_specs_137 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P35 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P35_tags_36[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_141, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_specs_141 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P36 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P36_tags_37[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_145, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_specs_145 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P37 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P37_tags_38[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_149, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeModified_SgNBModReqd_ItemIEs_specs_149 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P38 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P38_tags_39[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_153, + 3, /* Elements count */ + &asn_SPC_E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_specs_153 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P39 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P39_tags_40[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_157, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_specs_157 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P40 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P40_tags_41[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_161, + 3, /* Elements count */ + &asn_SPC_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_specs_161 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P41 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P41_tags_42[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_165, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_specs_165 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P42 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P42_tags_43[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_169, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_specs_169 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P43 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P43_tags_44[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_173, + 3, /* Elements count */ + &asn_SPC_E_RABs_SubjectToSgNBCounterCheck_ItemIEs_specs_173 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P44 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P44_tags_45[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_177, + 3, /* Elements count */ + &asn_SPC_E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_specs_177 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P45 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P45_tags_46[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABs_DataForwardingAddress_ItemIEs_181, + 3, /* Elements count */ + &asn_SPC_E_RABs_DataForwardingAddress_ItemIEs_specs_181 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P46 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P46_tags_47[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RAB_ItemIEs_185, + 3, /* Elements count */ + &asn_SPC_E_RAB_ItemIEs_specs_185 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P47 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P47_tags_48[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_E_RABUsageReport_ItemIEs_189, + 3, /* Elements count */ + &asn_SPC_E_RABUsageReport_ItemIEs_specs_189 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P48 = { + "ProtocolIE-Single-Container", + "ProtocolIE-Single-Container", + &asn_OP_SEQUENCE, + asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49, + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49[0]), /* 1 */ + asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49) + /sizeof(asn_DEF_ProtocolIE_Single_Container_8183P48_tags_49[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SecondaryRATUsageReport_ItemIEs_193, + 3, /* Elements count */ + &asn_SPC_SecondaryRATUsageReport_ItemIEs_specs_193 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ProtocolIE-Single-Container.h b/asn1c_defs/all-defs/ProtocolIE-Single-Container.h new file mode 100755 index 0000000..f794cd5 --- /dev/null +++ b/asn1c_defs/all-defs/ProtocolIE-Single-Container.h @@ -0,0 +1,667 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-Containers" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ProtocolIE_Single_Container_H_ +#define _ProtocolIE_Single_Container_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Field.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* ProtocolIE-Single-Container */ +typedef RICaction_ToBeSetup_ItemIEs_t ProtocolIE_Single_Container_8183P0_t; +typedef RICaction_Admitted_ItemIEs_t ProtocolIE_Single_Container_8183P1_t; +typedef RICaction_NotAdmitted_ItemIEs_t ProtocolIE_Single_Container_8183P2_t; +typedef RANfunction_ItemIEs_t ProtocolIE_Single_Container_8183P3_t; +typedef RANfunctionID_ItemIEs_t ProtocolIE_Single_Container_8183P4_t; +typedef RANfunctionIDcause_ItemIEs_t ProtocolIE_Single_Container_8183P5_t; +typedef E_RABs_ToBeSetup_ItemIEs_t ProtocolIE_Single_Container_8183P6_t; +typedef E_RABs_Admitted_ItemIEs_t ProtocolIE_Single_Container_8183P7_t; +typedef E_RABs_SubjectToStatusTransfer_ItemIEs_t ProtocolIE_Single_Container_8183P8_t; +typedef CellInformation_ItemIEs_t ProtocolIE_Single_Container_8183P9_t; +typedef CellToReport_ItemIEs_t ProtocolIE_Single_Container_8183P10_t; +typedef MeasurementInitiationResult_ItemIEs_t ProtocolIE_Single_Container_8183P11_t; +typedef MeasurementFailureCause_ItemIEs_t ProtocolIE_Single_Container_8183P12_t; +typedef CompleteFailureCauseInformation_ItemIEs_t ProtocolIE_Single_Container_8183P13_t; +typedef CellMeasurementResult_ItemIEs_t ProtocolIE_Single_Container_8183P14_t; +typedef E_RABs_ToBeAdded_ItemIEs_t ProtocolIE_Single_Container_8183P15_t; +typedef E_RABs_Admitted_ToBeAdded_ItemIEs_t ProtocolIE_Single_Container_8183P16_t; +typedef E_RABs_ToBeAdded_ModReqItemIEs_t ProtocolIE_Single_Container_8183P17_t; +typedef E_RABs_ToBeModified_ModReqItemIEs_t ProtocolIE_Single_Container_8183P18_t; +typedef E_RABs_ToBeReleased_ModReqItemIEs_t ProtocolIE_Single_Container_8183P19_t; +typedef E_RABs_Admitted_ToBeAdded_ModAckItemIEs_t ProtocolIE_Single_Container_8183P20_t; +typedef E_RABs_Admitted_ToBeModified_ModAckItemIEs_t ProtocolIE_Single_Container_8183P21_t; +typedef E_RABs_Admitted_ToBeReleased_ModAckItemIEs_t ProtocolIE_Single_Container_8183P22_t; +typedef E_RABs_ToBeReleased_ModReqdItemIEs_t ProtocolIE_Single_Container_8183P23_t; +typedef E_RABs_ToBeReleased_RelReqItemIEs_t ProtocolIE_Single_Container_8183P24_t; +typedef E_RABs_ToBeReleased_RelConfItemIEs_t ProtocolIE_Single_Container_8183P25_t; +typedef E_RABs_SubjectToCounterCheckItemIEs_t ProtocolIE_Single_Container_8183P26_t; +typedef E_RABs_ToBeSetupRetrieve_ItemIEs_t ProtocolIE_Single_Container_8183P27_t; +typedef E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_t ProtocolIE_Single_Container_8183P28_t; +typedef E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_ItemIEs_t ProtocolIE_Single_Container_8183P29_t; +typedef E_RABs_ToBeAdded_SgNBModReq_ItemIEs_t ProtocolIE_Single_Container_8183P30_t; +typedef E_RABs_ToBeModified_SgNBModReq_ItemIEs_t ProtocolIE_Single_Container_8183P31_t; +typedef E_RABs_ToBeReleased_SgNBModReq_ItemIEs_t ProtocolIE_Single_Container_8183P32_t; +typedef E_RABs_Admitted_ToBeAdded_SgNBModAck_ItemIEs_t ProtocolIE_Single_Container_8183P33_t; +typedef E_RABs_Admitted_ToBeModified_SgNBModAck_ItemIEs_t ProtocolIE_Single_Container_8183P34_t; +typedef E_RABs_Admitted_ToBeReleased_SgNBModAck_ItemIEs_t ProtocolIE_Single_Container_8183P35_t; +typedef E_RABs_ToBeReleased_SgNBModReqd_ItemIEs_t ProtocolIE_Single_Container_8183P36_t; +typedef E_RABs_ToBeModified_SgNBModReqd_ItemIEs_t ProtocolIE_Single_Container_8183P37_t; +typedef E_RABs_AdmittedToBeModified_SgNBModConf_ItemIEs_t ProtocolIE_Single_Container_8183P38_t; +typedef E_RABs_ToBeReleased_SgNBRelReq_ItemIEs_t ProtocolIE_Single_Container_8183P39_t; +typedef E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_ItemIEs_t ProtocolIE_Single_Container_8183P40_t; +typedef E_RABs_ToBeReleased_SgNBRelReqd_ItemIEs_t ProtocolIE_Single_Container_8183P41_t; +typedef E_RABs_ToBeReleased_SgNBRelConf_ItemIEs_t ProtocolIE_Single_Container_8183P42_t; +typedef E_RABs_SubjectToSgNBCounterCheck_ItemIEs_t ProtocolIE_Single_Container_8183P43_t; +typedef E_RABs_ToBeReleased_SgNBChaConf_ItemIEs_t ProtocolIE_Single_Container_8183P44_t; +typedef E_RABs_DataForwardingAddress_ItemIEs_t ProtocolIE_Single_Container_8183P45_t; +typedef E_RAB_ItemIEs_t ProtocolIE_Single_Container_8183P46_t; +typedef E_RABUsageReport_ItemIEs_t ProtocolIE_Single_Container_8183P47_t; +typedef SecondaryRATUsageReport_ItemIEs_t ProtocolIE_Single_Container_8183P48_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P0; +asn_struct_free_f ProtocolIE_Single_Container_8183P0_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P0_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P0_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P0_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P0_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P0_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P0_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P0_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P0_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P0_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P0_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P1; +asn_struct_free_f ProtocolIE_Single_Container_8183P1_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P1_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P1_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P1_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P1_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P1_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P1_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P1_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P1_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P1_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P1_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P2; +asn_struct_free_f ProtocolIE_Single_Container_8183P2_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P2_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P2_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P2_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P2_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P2_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P2_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P2_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P2_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P2_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P2_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P3; +asn_struct_free_f ProtocolIE_Single_Container_8183P3_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P3_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P3_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P3_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P3_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P3_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P3_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P3_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P3_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P3_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P3_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P4; +asn_struct_free_f ProtocolIE_Single_Container_8183P4_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P4_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P4_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P4_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P4_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P4_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P4_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P4_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P4_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P4_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P4_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P5; +asn_struct_free_f ProtocolIE_Single_Container_8183P5_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P5_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P5_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P5_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P5_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P5_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P5_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P5_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P5_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P5_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P5_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P6; +asn_struct_free_f ProtocolIE_Single_Container_8183P6_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P6_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P6_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P6_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P6_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P6_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P6_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P6_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P6_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P6_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P6_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P7; +asn_struct_free_f ProtocolIE_Single_Container_8183P7_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P7_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P7_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P7_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P7_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P7_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P7_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P7_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P7_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P7_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P7_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P8; +asn_struct_free_f ProtocolIE_Single_Container_8183P8_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P8_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P8_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P8_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P8_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P8_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P8_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P8_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P8_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P8_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P8_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P9; +asn_struct_free_f ProtocolIE_Single_Container_8183P9_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P9_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P9_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P9_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P9_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P9_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P9_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P9_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P9_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P9_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P9_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P10; +asn_struct_free_f ProtocolIE_Single_Container_8183P10_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P10_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P10_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P10_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P10_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P10_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P10_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P10_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P10_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P10_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P10_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P11; +asn_struct_free_f ProtocolIE_Single_Container_8183P11_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P11_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P11_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P11_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P11_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P11_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P11_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P11_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P11_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P11_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P11_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P12; +asn_struct_free_f ProtocolIE_Single_Container_8183P12_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P12_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P12_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P12_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P12_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P12_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P12_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P12_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P12_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P12_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P12_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P13; +asn_struct_free_f ProtocolIE_Single_Container_8183P13_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P13_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P13_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P13_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P13_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P13_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P13_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P13_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P13_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P13_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P13_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P14; +asn_struct_free_f ProtocolIE_Single_Container_8183P14_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P14_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P14_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P14_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P14_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P14_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P14_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P14_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P14_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P14_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P14_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P15; +asn_struct_free_f ProtocolIE_Single_Container_8183P15_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P15_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P15_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P15_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P15_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P15_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P15_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P15_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P15_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P15_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P15_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P16; +asn_struct_free_f ProtocolIE_Single_Container_8183P16_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P16_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P16_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P16_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P16_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P16_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P16_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P16_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P16_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P16_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P16_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P17; +asn_struct_free_f ProtocolIE_Single_Container_8183P17_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P17_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P17_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P17_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P17_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P17_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P17_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P17_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P17_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P17_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P17_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P18; +asn_struct_free_f ProtocolIE_Single_Container_8183P18_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P18_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P18_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P18_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P18_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P18_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P18_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P18_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P18_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P18_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P18_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P19; +asn_struct_free_f ProtocolIE_Single_Container_8183P19_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P19_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P19_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P19_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P19_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P19_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P19_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P19_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P19_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P19_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P19_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P20; +asn_struct_free_f ProtocolIE_Single_Container_8183P20_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P20_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P20_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P20_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P20_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P20_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P20_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P20_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P20_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P20_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P20_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P21; +asn_struct_free_f ProtocolIE_Single_Container_8183P21_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P21_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P21_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P21_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P21_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P21_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P21_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P21_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P21_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P21_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P21_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P22; +asn_struct_free_f ProtocolIE_Single_Container_8183P22_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P22_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P22_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P22_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P22_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P22_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P22_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P22_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P22_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P22_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P22_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P23; +asn_struct_free_f ProtocolIE_Single_Container_8183P23_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P23_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P23_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P23_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P23_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P23_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P23_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P23_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P23_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P23_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P23_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P24; +asn_struct_free_f ProtocolIE_Single_Container_8183P24_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P24_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P24_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P24_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P24_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P24_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P24_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P24_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P24_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P24_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P24_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P25; +asn_struct_free_f ProtocolIE_Single_Container_8183P25_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P25_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P25_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P25_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P25_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P25_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P25_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P25_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P25_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P25_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P25_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P26; +asn_struct_free_f ProtocolIE_Single_Container_8183P26_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P26_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P26_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P26_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P26_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P26_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P26_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P26_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P26_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P26_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P26_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P27; +asn_struct_free_f ProtocolIE_Single_Container_8183P27_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P27_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P27_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P27_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P27_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P27_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P27_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P27_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P27_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P27_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P27_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P28; +asn_struct_free_f ProtocolIE_Single_Container_8183P28_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P28_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P28_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P28_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P28_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P28_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P28_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P28_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P28_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P28_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P28_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P29; +asn_struct_free_f ProtocolIE_Single_Container_8183P29_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P29_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P29_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P29_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P29_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P29_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P29_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P29_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P29_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P29_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P29_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P30; +asn_struct_free_f ProtocolIE_Single_Container_8183P30_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P30_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P30_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P30_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P30_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P30_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P30_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P30_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P30_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P30_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P30_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P31; +asn_struct_free_f ProtocolIE_Single_Container_8183P31_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P31_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P31_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P31_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P31_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P31_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P31_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P31_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P31_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P31_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P31_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P32; +asn_struct_free_f ProtocolIE_Single_Container_8183P32_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P32_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P32_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P32_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P32_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P32_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P32_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P32_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P32_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P32_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P32_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P33; +asn_struct_free_f ProtocolIE_Single_Container_8183P33_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P33_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P33_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P33_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P33_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P33_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P33_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P33_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P33_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P33_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P33_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P34; +asn_struct_free_f ProtocolIE_Single_Container_8183P34_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P34_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P34_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P34_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P34_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P34_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P34_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P34_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P34_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P34_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P34_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P35; +asn_struct_free_f ProtocolIE_Single_Container_8183P35_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P35_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P35_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P35_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P35_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P35_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P35_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P35_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P35_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P35_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P35_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P36; +asn_struct_free_f ProtocolIE_Single_Container_8183P36_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P36_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P36_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P36_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P36_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P36_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P36_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P36_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P36_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P36_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P36_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P37; +asn_struct_free_f ProtocolIE_Single_Container_8183P37_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P37_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P37_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P37_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P37_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P37_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P37_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P37_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P37_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P37_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P37_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P38; +asn_struct_free_f ProtocolIE_Single_Container_8183P38_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P38_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P38_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P38_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P38_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P38_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P38_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P38_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P38_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P38_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P38_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P39; +asn_struct_free_f ProtocolIE_Single_Container_8183P39_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P39_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P39_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P39_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P39_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P39_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P39_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P39_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P39_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P39_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P39_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P40; +asn_struct_free_f ProtocolIE_Single_Container_8183P40_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P40_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P40_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P40_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P40_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P40_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P40_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P40_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P40_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P40_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P40_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P41; +asn_struct_free_f ProtocolIE_Single_Container_8183P41_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P41_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P41_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P41_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P41_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P41_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P41_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P41_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P41_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P41_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P41_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P42; +asn_struct_free_f ProtocolIE_Single_Container_8183P42_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P42_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P42_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P42_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P42_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P42_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P42_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P42_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P42_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P42_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P42_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P43; +asn_struct_free_f ProtocolIE_Single_Container_8183P43_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P43_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P43_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P43_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P43_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P43_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P43_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P43_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P43_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P43_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P43_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P44; +asn_struct_free_f ProtocolIE_Single_Container_8183P44_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P44_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P44_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P44_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P44_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P44_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P44_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P44_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P44_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P44_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P44_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P45; +asn_struct_free_f ProtocolIE_Single_Container_8183P45_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P45_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P45_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P45_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P45_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P45_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P45_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P45_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P45_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P45_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P45_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P46; +asn_struct_free_f ProtocolIE_Single_Container_8183P46_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P46_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P46_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P46_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P46_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P46_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P46_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P46_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P46_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P46_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P46_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P47; +asn_struct_free_f ProtocolIE_Single_Container_8183P47_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P47_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P47_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P47_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P47_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P47_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P47_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P47_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P47_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P47_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P47_encode_aper; +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Single_Container_8183P48; +asn_struct_free_f ProtocolIE_Single_Container_8183P48_free; +asn_struct_print_f ProtocolIE_Single_Container_8183P48_print; +asn_constr_check_f ProtocolIE_Single_Container_8183P48_constraint; +ber_type_decoder_f ProtocolIE_Single_Container_8183P48_decode_ber; +der_type_encoder_f ProtocolIE_Single_Container_8183P48_encode_der; +xer_type_decoder_f ProtocolIE_Single_Container_8183P48_decode_xer; +xer_type_encoder_f ProtocolIE_Single_Container_8183P48_encode_xer; +per_type_decoder_f ProtocolIE_Single_Container_8183P48_decode_uper; +per_type_encoder_f ProtocolIE_Single_Container_8183P48_encode_uper; +per_type_decoder_f ProtocolIE_Single_Container_8183P48_decode_aper; +per_type_encoder_f ProtocolIE_Single_Container_8183P48_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_Single_Container_H_ */ +#include diff --git a/asn1c_defs/all-defs/ProtocolIE-Single-Container.o b/asn1c_defs/all-defs/ProtocolIE-Single-Container.o new file mode 100644 index 0000000000000000000000000000000000000000..600815e9d3163cb15859296bc77dc6feb8cb5573 GIT binary patch literal 31504 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 BVn6@@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/QCI.c b/asn1c_defs/all-defs/QCI.c new file mode 100755 index 0000000..52c97cb --- /dev/null +++ b/asn1c_defs/all-defs/QCI.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "QCI.h" + +int +QCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_QCI_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_QCI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_QCI = { + "QCI", + "QCI", + &asn_OP_NativeInteger, + asn_DEF_QCI_tags_1, + sizeof(asn_DEF_QCI_tags_1) + /sizeof(asn_DEF_QCI_tags_1[0]), /* 1 */ + asn_DEF_QCI_tags_1, /* Same as above */ + sizeof(asn_DEF_QCI_tags_1) + /sizeof(asn_DEF_QCI_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_QCI_constr_1, QCI_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/QCI.h b/asn1c_defs/all-defs/QCI.h new file mode 100755 index 0000000..83cd042 --- /dev/null +++ b/asn1c_defs/all-defs/QCI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _QCI_H_ +#define _QCI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* QCI */ +typedef long QCI_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_QCI_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_QCI; +asn_struct_free_f QCI_free; +asn_struct_print_f QCI_print; +asn_constr_check_f QCI_constraint; +ber_type_decoder_f QCI_decode_ber; +der_type_encoder_f QCI_encode_der; +xer_type_decoder_f QCI_decode_xer; +xer_type_encoder_f QCI_encode_xer; +per_type_decoder_f QCI_decode_uper; +per_type_encoder_f QCI_encode_uper; +per_type_decoder_f QCI_decode_aper; +per_type_encoder_f QCI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _QCI_H_ */ +#include diff --git a/asn1c_defs/all-defs/QCI.o b/asn1c_defs/all-defs/QCI.o new file mode 100644 index 0000000000000000000000000000000000000000..e93b3ccd8057f054581746a437abaa6f3306ebc8 GIT binary patch literal 2624 zcmbVNPfrs;6rWO+3Rnv9KtyE^q9w|}5)zREDJg{|X#h3&k3(6?Lcz9>?v{WD(GU)e zG4UgKf+ z3e0dBQg9(C(mzXc-eRbjk|o1 z_xGA*;h8VZA>Kd8%^n|Tmx&&F@qmRkW1-HL#>hLE{0`t(DON^37LDyR*wK!3)OZx_ z7>&k~P0>iIc}gIZ7@+Vw&at0?JqZWyK*qxG3z9I56eMAGJ_v?Ul+8>Tji5tfC;5On zVpze|0mH0Gb?bJRHP>xvToJ~}^>h(_PbQMSLHIQdM>otao24I!3mto`Tb+)Okh*{SyFZBQus7&w!Wl>}5A&GM-NM<7)t4Cd0_lIbaGw*wZta zDcggSGg@rGG1Ck2h&Xs-4jUy0ZT?1&#n~;P7#=J(>Z)% zYPQ$)?Cf*OcXFAfl3j4>tN3rj04CND|KuB_rNa9V`>pe1I9Y(`Fm7|i2DDtspVM&3mpVm!eg0RJkkj~v z<|n`ps-L_%_b4Chhdsh?MUnNJ1{zeL)n^b8&wmrl(83B?lxezhA=ZUPx# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunction-Item.c b/asn1c_defs/all-defs/RANfunction-Item.c new file mode 100755 index 0000000..1a64f7e --- /dev/null +++ b/asn1c_defs/all-defs/RANfunction-Item.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunction-Item.h" + +static asn_TYPE_member_t asn_MBR_RANfunction_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunction_Item, ranFunctionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ranFunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RANfunction_Item, ranFunctionDefinition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RANfunctionDefinition, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ranFunctionDefinition" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunction_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunction_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunctionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranFunctionDefinition */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RANfunction_Item_specs_1 = { + sizeof(struct RANfunction_Item), + offsetof(struct RANfunction_Item, _asn_ctx), + asn_MAP_RANfunction_Item_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunction_Item = { + "RANfunction-Item", + "RANfunction-Item", + &asn_OP_SEQUENCE, + asn_DEF_RANfunction_Item_tags_1, + sizeof(asn_DEF_RANfunction_Item_tags_1) + /sizeof(asn_DEF_RANfunction_Item_tags_1[0]), /* 1 */ + asn_DEF_RANfunction_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunction_Item_tags_1) + /sizeof(asn_DEF_RANfunction_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunction_Item_1, + 2, /* Elements count */ + &asn_SPC_RANfunction_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunction-Item.h b/asn1c_defs/all-defs/RANfunction-Item.h new file mode 100755 index 0000000..2d222da --- /dev/null +++ b/asn1c_defs/all-defs/RANfunction-Item.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunction_Item_H_ +#define _RANfunction_Item_H_ + + +#include + +/* Including external dependencies */ +#include "RANfunctionID.h" +#include "RANfunctionDefinition.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RANfunction-Item */ +typedef struct RANfunction_Item { + RANfunctionID_t ranFunctionID; + RANfunctionDefinition_t ranFunctionDefinition; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunction_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunction_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunction_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunction-Item.o b/asn1c_defs/all-defs/RANfunction-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..475aa2a8b5666b8b4c2844d3a05f211fc7a7b9a1 GIT binary patch literal 2736 zcmb_e&2G~`5T4W&D1W8E0f_@fszi~;79DbJh3QMeXHg^PWAkxiyHAfqhrZiALQS zq@MHEnHP;Y;oQn_uuBCsPtecOy|oT?%+sxk)mUWZB+at8Lz!4KUVyJKQlkm7WkhAp zrT91vCH_h3wG=-ky~BHMQI0D@Kjlv-chm=f#eK`fqO)Z%^UoCU_l!(w>)Mr!kE|~i z*hHTz@UIp4j|#kS;6*@w9C?eaB~QBxJlq9d;_t+slg6JuTrbA6&_=si48{F0809Xs ziv+Gc8}7;KW!=-ZYi)0%^=z}X+H8?Byr37w$-du-lCr7utyQw1s@n_Swf=SCyhBV} zy%XTd2Jb2!EWpq4uz5gcGF8BF-XY*mrB?Q6OB*=O@KE|Mqz0~kMISW$lC+_|X*kxU zdK_r@WobjrpfC#*_}AgE==*?mjYPz6x{1F0fhTfod4%pEZf8)p7Z4r6bRn}3^gQFE4uF0OR$=pfswztZ5rHv115gESN|bIF!k zsrzi;u5}e4^}IYpw#>&j14w;G>YQZvaIyavnb$Dt+J^s_{j&bg<^LPi2mNuYoBch; z(5mozDuHQ^>0;{++dDjvZ_aaC=Hvb7BA1os0Ppiqn9ge#CX_`@F8ng8%Kt7C&NFY4 jhq-?Ia+&X*A!=Y#SuCTW;imUVS$<#c|1hnRKg|5!u7k_~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionDefinition.c b/asn1c_defs/all-defs/RANfunctionDefinition.c new file mode 100755 index 0000000..3e42bb9 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionDefinition.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionDefinition.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RANfunctionDefinition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionDefinition = { + "RANfunctionDefinition", + "RANfunctionDefinition", + &asn_OP_OCTET_STRING, + asn_DEF_RANfunctionDefinition_tags_1, + sizeof(asn_DEF_RANfunctionDefinition_tags_1) + /sizeof(asn_DEF_RANfunctionDefinition_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionDefinition_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionDefinition_tags_1) + /sizeof(asn_DEF_RANfunctionDefinition_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionDefinition.h b/asn1c_defs/all-defs/RANfunctionDefinition.h new file mode 100755 index 0000000..2d171e1 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionDefinition.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionDefinition_H_ +#define _RANfunctionDefinition_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RANfunctionDefinition */ +typedef OCTET_STRING_t RANfunctionDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionDefinition; +asn_struct_free_f RANfunctionDefinition_free; +asn_struct_print_f RANfunctionDefinition_print; +asn_constr_check_f RANfunctionDefinition_constraint; +ber_type_decoder_f RANfunctionDefinition_decode_ber; +der_type_encoder_f RANfunctionDefinition_encode_der; +xer_type_decoder_f RANfunctionDefinition_decode_xer; +xer_type_encoder_f RANfunctionDefinition_encode_xer; +per_type_decoder_f RANfunctionDefinition_decode_uper; +per_type_encoder_f RANfunctionDefinition_encode_uper; +per_type_decoder_f RANfunctionDefinition_decode_aper; +per_type_encoder_f RANfunctionDefinition_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionDefinition_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionDefinition.o b/asn1c_defs/all-defs/RANfunctionDefinition.o new file mode 100644 index 0000000000000000000000000000000000000000..aa6d114596685adf08deb51437f5d529613b2a7a GIT binary patch literal 1888 zcmbVMO>fgc5S`Qo3bcq`5Qs}SQ6##GQKeQORj$%BfKXbc=?SEbSS>|JMA*;MLC&b)c^W+prS_}qE7x6o*SwFYd%JhCi6b8(J?90srg z%h2EHoy=6ElT_`-Cy7c3&81f&ca|Gp*}w?ylkc|MFPm#eqnXmP=BC&Xt#yBvNB$>& zOSCqG|E%C^+tU0+`1Pks;8ku0z=MSIXzb5N1m5cJ^fD10;2Lno0lvqCC5Q zAotsY&Ojax`fqyOoI8zGJWV30QW>Qx)6+0fI?o&)wEvOI>>`dbenh(e{4UsyxxC#C z@yo2iLxYL8wM4De@UI!aVlcU(!PMuT!MPLJ(_q>UH+ydD-(%8Z zuKUdchFvYi?tdq_tsk3$yU5Yyo}a#i?(UI-p=tV+0%q>~Rm@e@e>bH2nz;3U0YM9f A!2kdN literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionID-Item.c b/asn1c_defs/all-defs/RANfunctionID-Item.c new file mode 100755 index 0000000..fb552fb --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionID-Item.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionID-Item.h" + +static asn_TYPE_member_t asn_MBR_RANfunctionID_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_Item, ranFunctionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ranFunctionID" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionID_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranFunctionID */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_Item_specs_1 = { + sizeof(struct RANfunctionID_Item), + offsetof(struct RANfunctionID_Item, _asn_ctx), + asn_MAP_RANfunctionID_Item_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionID_Item = { + "RANfunctionID-Item", + "RANfunctionID-Item", + &asn_OP_SEQUENCE, + asn_DEF_RANfunctionID_Item_tags_1, + sizeof(asn_DEF_RANfunctionID_Item_tags_1) + /sizeof(asn_DEF_RANfunctionID_Item_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionID_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionID_Item_tags_1) + /sizeof(asn_DEF_RANfunctionID_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionID_Item_1, + 1, /* Elements count */ + &asn_SPC_RANfunctionID_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionID-Item.h b/asn1c_defs/all-defs/RANfunctionID-Item.h new file mode 100755 index 0000000..d223c32 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionID-Item.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionID_Item_H_ +#define _RANfunctionID_Item_H_ + + +#include + +/* Including external dependencies */ +#include "RANfunctionID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RANfunctionID-Item */ +typedef struct RANfunctionID_Item { + RANfunctionID_t ranFunctionID; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunctionID_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionID_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionID-Item.o b/asn1c_defs/all-defs/RANfunctionID-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..11fb747d0dc5e3bc33473752f93599fd679bc03d GIT binary patch literal 2520 zcmbtV&2AGh5T0}?Q2yEiLY26L6Gfs{wyH!0655g`r3li{DiXKtX1lZ%$!?Y1NaX@~ zgdTg~$UE=|aO@F@m!MAoGhTZ$bsPzWk?i^A^NeTgwY{Hfuj^B#5@;#Ga~N8h1z5N| z#GZs6%)%|$UTeJX$6)?!FJPMg5}aGt z=2*WtfCFYV`IHWh*u=pMHgRBjguaJN31(nUjp)c#$xp*T@$ZywN&bqm04fEdI)}Wb zkEQ>NHj6w&IGEQa4qUg<=znd5|ANdsTi1c|_=Z}qi3fcj!~Yt?TP~IeAxL9?y;k=x z+&Z6bou38!sqadUH!rqr9{J!-vuYbmkD{=MUu)W2FvD`xQ90~Y$n;xHf2a1gRclmh zpn)GIahmml!#J}qg6|b!I}% zczOZ{%HCC)=HaK~l<~I}CUwSmTGt(A^L0_3g^2WHHw)SzaNBZypivebXCU^1ECA6? zQxLs`4Dxh^i)PdbO7R6USBi6j~t~k{~#wS|6Ls8GRF(K3ekBW#-EerGn);!AF3 s?KF>$|Doo&iQFtUbN%#(F~2=haH`02GMJcU(HmrqSNlI;u>{TdzjIr;Bme*a literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionID.c b/asn1c_defs/all-defs/RANfunctionID.c new file mode 100755 index 0000000..2ebc33b --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionID.h" + +int +RANfunctionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RANfunctionID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionID = { + "RANfunctionID", + "RANfunctionID", + &asn_OP_NativeInteger, + asn_DEF_RANfunctionID_tags_1, + sizeof(asn_DEF_RANfunctionID_tags_1) + /sizeof(asn_DEF_RANfunctionID_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionID_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionID_tags_1) + /sizeof(asn_DEF_RANfunctionID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RANfunctionID_constr_1, RANfunctionID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionID.h b/asn1c_defs/all-defs/RANfunctionID.h new file mode 100755 index 0000000..89e79a6 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionID_H_ +#define _RANfunctionID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RANfunctionID */ +typedef long RANfunctionID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RANfunctionID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID; +asn_struct_free_f RANfunctionID_free; +asn_struct_print_f RANfunctionID_print; +asn_constr_check_f RANfunctionID_constraint; +ber_type_decoder_f RANfunctionID_decode_ber; +der_type_encoder_f RANfunctionID_encode_der; +xer_type_decoder_f RANfunctionID_decode_xer; +xer_type_encoder_f RANfunctionID_encode_xer; +per_type_decoder_f RANfunctionID_decode_uper; +per_type_encoder_f RANfunctionID_encode_uper; +per_type_decoder_f RANfunctionID_decode_aper; +per_type_encoder_f RANfunctionID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionID_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionID.o b/asn1c_defs/all-defs/RANfunctionID.o new file mode 100644 index 0000000000000000000000000000000000000000..32b1751faeae154a63b45a7c8cef7c97929eb2d8 GIT binary patch literal 2776 zcmbVO&2JM|5FclOn2#DKaEL@z_Cg7wd1N6HQ6!L~B(RaJ5TyknD%EV9brP`G$h(e! z0~ApX7NY8re*lU9feR86?K!7Pz4VAwRJA>DLWG&OGn?nf79=KmZ)SdPKHkoIZ=Abx z)pG-d0tgl0ENp9n0zBTeEmyQyfgvb^|KQEH^Sw>K_ggaS{o&s`yR{!+!}A|(KHEY{ zj{5gs7po5ktB<}QuWMiVso?ki^Ly|7-ml*C>8;JnS9-sH|6>2)3dUo{zqMm(jQ-b# z+0onl>!r@0P6NpH@i1VZZ3xjuh(!MwSL#F%M_#?Q5;o!!L9;ogg{A3*MmMS_>+NWM zR@LE1Jmqc#&2H#M?ZjPO-v}dj6u~1a$Mjmg9mPo}SdS975v(`Em29;y(#Lj^uGwc{ z>z|I0S`>+$pP89*M=vgSqonJeRugJ`%r&@d@P}OK~{JfeW{npm4KXIJ9rD z_zNcg2JtU>txJ5iRK7nDlt!v0_flzOx>TOoQ!38wUC;;{<}mt>9q@1NnK-#O5WvB| zJaRBn9yzcx55_3QWi~7v7&Nq0970xr-5G9Xatu5(K*52%rkcr)zNwk21*PW?_jyX= zyRuq~*CgYjo7{mtrmE#LI1d~3)Mtj+B^*P>_pWJcfF|-X%O<;r%8*h2MOo~-&-gO% z_0(qP&ei(xS`w_rH4jvEW}K#zGd!bpWIPgI5gv0L#RD1D9L`xr|dCXk?_~TdgEm28DeqzJg#SP#pgLDTdkDRld-`9-W9qT#bMA`dE z)$CkY)qR#?+WuuqmP0m7m!7bbmaX_7wQ$+L#HrwVp8sh!kozTJ#83El>~HV?M>bd! zN9L}jUqC&t{yw+Lr)*F4r>-sgm-_#J7^UjFKvDLwFm9V5Z%Oy&+z-ZGU2a+g$wZ`pfrAuDdAY)$bp!pVW!!NBvFw1*iSkxe<^2r69oC!`o;e?R^1=J^+?i6Z@+vTU~f-vhF^7drp| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionIDcause-Item.c b/asn1c_defs/all-defs/RANfunctionIDcause-Item.c new file mode 100755 index 0000000..500aeee --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionIDcause-Item.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionIDcause-Item.h" + +static asn_TYPE_member_t asn_MBR_RANfunctionIDcause_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_Item, ranFunctionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RANfunctionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ranFunctionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_Item, ricCause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RICcause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricCause" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunctionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ricCause */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_Item_specs_1 = { + sizeof(struct RANfunctionIDcause_Item), + offsetof(struct RANfunctionIDcause_Item, _asn_ctx), + asn_MAP_RANfunctionIDcause_Item_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_Item = { + "RANfunctionIDcause-Item", + "RANfunctionIDcause-Item", + &asn_OP_SEQUENCE, + asn_DEF_RANfunctionIDcause_Item_tags_1, + sizeof(asn_DEF_RANfunctionIDcause_Item_tags_1) + /sizeof(asn_DEF_RANfunctionIDcause_Item_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionIDcause_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionIDcause_Item_tags_1) + /sizeof(asn_DEF_RANfunctionIDcause_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RANfunctionIDcause_Item_1, + 2, /* Elements count */ + &asn_SPC_RANfunctionIDcause_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionIDcause-Item.h b/asn1c_defs/all-defs/RANfunctionIDcause-Item.h new file mode 100755 index 0000000..c47481d --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionIDcause-Item.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionIDcause_Item_H_ +#define _RANfunctionIDcause_Item_H_ + + +#include + +/* Including external dependencies */ +#include "RANfunctionID.h" +#include "RICcause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RANfunctionIDcause-Item */ +typedef struct RANfunctionIDcause_Item { + RANfunctionID_t ranFunctionID; + RICcause_t ricCause; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunctionIDcause_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionIDcause_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionIDcause-Item.o b/asn1c_defs/all-defs/RANfunctionIDcause-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..bc0e6639c38760ddf9ff69f05265fe4b59da0fa7 GIT binary patch literal 2760 zcmbVNy>8S%5T1((B>aUygG6Jb2o8xX=O_{gB;@3B2|;i<5~X$=$0QLsUv&0K(7=@x zJOGbDL(e17(9_UENd+_OS$l77N0*GWo|$jInb{q$*B@FhRwrsTP*Q`Zkb4RRn7WYL zt~6bkfvd2&)P6mPg5j&aw0+5*ooprHj-?R#9@T&qjD*P6}8c71zy5G4cqp;#1+d1oL! z=e_etG!}((FU7T$jGDCnbMU9Mw^l`WEGS>K1=eVC_AIPWCKgN<;9H2)U>aQwTu;6ixBB~MtHT+&9z+iJbqZnc{&P=*)uqB!aMhfz|#yBu9_%F8e7Je_y_)X_aa zV&baDge#kPH|c>w_+=b64w8DR3OL;ZB*dSUR{H3$O*nnqL-u!A6Rw}G&l-N6ZBpMg zoc5*G_glknuuZB?iBU)q{|-4QdLL+CnTYsZH}Q8tV8c^=psXZ(n}FE!6CcEG9E0fh z$RVa99CX7YUrv){xZ)*m89(on?I z1)H@}Ptc${*i``Q4u3>8$J3c1NSz~f4mS`htN)GT8k|olTN$jMqb{p|Odk!3szdeZ zwm0j0h*7D+AB%xGoYTeD9klmxP`tU$IgY3IqYH0K#t?ptLt#3vQ&>7BGdRrs(;v-z_Xt6Qnu=l@1r1l;S!MAbx&K3%C4ZRl{{i10&n*A| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctions-List.c b/asn1c_defs/all-defs/RANfunctions-List.c new file mode 100755 index 0000000..13355e4 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctions-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctions-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_RANfunctions_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RANfunctions_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctions_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_RANfunctions_List_specs_1 = { + sizeof(struct RANfunctions_List), + offsetof(struct RANfunctions_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctions_List = { + "RANfunctions-List", + "RANfunctions-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_RANfunctions_List_tags_1, + sizeof(asn_DEF_RANfunctions_List_tags_1) + /sizeof(asn_DEF_RANfunctions_List_tags_1[0]), /* 1 */ + asn_DEF_RANfunctions_List_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctions_List_tags_1) + /sizeof(asn_DEF_RANfunctions_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RANfunctions_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_RANfunctions_List_1, + 1, /* Single element */ + &asn_SPC_RANfunctions_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctions-List.h b/asn1c_defs/all-defs/RANfunctions-List.h new file mode 100755 index 0000000..6afd78f --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctions-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctions_List_H_ +#define _RANfunctions_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RANfunctions-List */ +typedef struct RANfunctions_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunctions_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctions_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctions_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctions-List.o b/asn1c_defs/all-defs/RANfunctions-List.o new file mode 100644 index 0000000000000000000000000000000000000000..ee36e592692976f6994630b5a59a75498c5dac2f GIT binary patch literal 2392 zcmbtU&2G~`5T4Yu6evFhAywiMP85l*Vp>525;6p*fJzz?Dpf+lIL5RQi57cD^E~n>|J}i*&HY%d1vOEZ+6zZv-{p%t520mAf*I%pztIL zurO2DPHH-E8s?ya_CgUdS_eW*!6^h!i0@F`ve=t?Dyyt8`)YBCb6)BNi3KigD)adg5x$ z37nLr%&)+RQzwp#1+!z|2SnzT^=}KtXVmA$*Z|)q;6EqeMNFwBL<*{uj+*%;O;LJ#@WxH`?ljUM-F|Qo^BEwX4g`Wn~|!Pt|UbC!*tW z?+HJvav2?c&nWKDfHKHbK9+MUGp?Yb9#Qw4 zBKtHLM6Z7hIfPx;xHA8OhRb}Z9gLH$*Z+kW$&XCsV>!1n<2EXK`<%?p$B*JcoE3#m zVuboc-Ur#|j}RkD@dBcQ@(E?$+s*l(#3Q6%6FvVgvh}$q literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionsID-List.c b/asn1c_defs/all-defs/RANfunctionsID-List.c new file mode 100755 index 0000000..83586c5 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionsID-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionsID-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_RANfunctionsID_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RANfunctionsID_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionsID_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_RANfunctionsID_List_specs_1 = { + sizeof(struct RANfunctionsID_List), + offsetof(struct RANfunctionsID_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionsID_List = { + "RANfunctionsID-List", + "RANfunctionsID-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_RANfunctionsID_List_tags_1, + sizeof(asn_DEF_RANfunctionsID_List_tags_1) + /sizeof(asn_DEF_RANfunctionsID_List_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionsID_List_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionsID_List_tags_1) + /sizeof(asn_DEF_RANfunctionsID_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RANfunctionsID_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_RANfunctionsID_List_1, + 1, /* Single element */ + &asn_SPC_RANfunctionsID_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionsID-List.h b/asn1c_defs/all-defs/RANfunctionsID-List.h new file mode 100755 index 0000000..dab9794 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionsID-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionsID_List_H_ +#define _RANfunctionsID_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RANfunctionsID-List */ +typedef struct RANfunctionsID_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunctionsID_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionsID_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionsID_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionsID-List.o b/asn1c_defs/all-defs/RANfunctionsID-List.o new file mode 100644 index 0000000000000000000000000000000000000000..583a34df349dcf0c499519ecebf97f90b93631ba GIT binary patch literal 2408 zcmbtU&2G~`5T3*o3Y4EB5J+6Yi6GHc43Vgcgbb-uib@(1A|Y`wj%(V8#;)RxL@!YB z6nz5DJ@&wfC*Xp_ksDljf-+<8+S|?MKpDw9Gv9nOyWXAMkM3HtTq=Q-5A(e;gBsd5ijdJd5@HIL5j-otV{y|WkkEPDdOMB+K8T}ab$MZJknm$^|LW+| z=>D{NC*e8Mik$#YYppaIOOB|UL8IX%;!%!Mp9O%+in=6$xax^xuz^9UB`Oc>$)#`ZmZ#X z>rLpoFHw2f0{lV5^Z#j&Vjc(a_Nwc32hrws=r!VqBPASpi}vFEc3s<3>RYvYVpypZmc2NdjyXlS53K+31Gbei|lAMu7$Ka2Vp5 zuqfssTWR$c67C1@D?I*LtPRc@i9?-|7%8c=pJm5-I&%8c8ns7KU2 zr^o>f2GQrgiyXr4XX%)cp=(M6KnF%=jYmX@67^aGFE-Yy2dp@_w5@ v1D9y}+NqArKM-~3E?>k?|9^Vf^}R<3_62xFTZiW2TW`)k6pxU8P4xV~F|oac literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RANfunctionsIDcause-List.c b/asn1c_defs/all-defs/RANfunctionsIDcause-List.c new file mode 100755 index 0000000..cf87411 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionsIDcause-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RANfunctionsIDcause-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_RANfunctionsIDcause_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RANfunctionsIDcause_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P5, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RANfunctionsIDcause_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_RANfunctionsIDcause_List_specs_1 = { + sizeof(struct RANfunctionsIDcause_List), + offsetof(struct RANfunctionsIDcause_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RANfunctionsIDcause_List = { + "RANfunctionsIDcause-List", + "RANfunctionsIDcause-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_RANfunctionsIDcause_List_tags_1, + sizeof(asn_DEF_RANfunctionsIDcause_List_tags_1) + /sizeof(asn_DEF_RANfunctionsIDcause_List_tags_1[0]), /* 1 */ + asn_DEF_RANfunctionsIDcause_List_tags_1, /* Same as above */ + sizeof(asn_DEF_RANfunctionsIDcause_List_tags_1) + /sizeof(asn_DEF_RANfunctionsIDcause_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RANfunctionsIDcause_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_RANfunctionsIDcause_List_1, + 1, /* Single element */ + &asn_SPC_RANfunctionsIDcause_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RANfunctionsIDcause-List.h b/asn1c_defs/all-defs/RANfunctionsIDcause-List.h new file mode 100755 index 0000000..e1593a3 --- /dev/null +++ b/asn1c_defs/all-defs/RANfunctionsIDcause-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RANfunctionsIDcause_List_H_ +#define _RANfunctionsIDcause_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RANfunctionsIDcause-List */ +typedef struct RANfunctionsIDcause_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RANfunctionsIDcause_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RANfunctionsIDcause_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _RANfunctionsIDcause_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RANfunctionsIDcause-List.o b/asn1c_defs/all-defs/RANfunctionsIDcause-List.o new file mode 100644 index 0000000000000000000000000000000000000000..9d2c4592ddf37a22966b505df96a2ce1287e5d1c GIT binary patch literal 2432 zcmbtVOK;Oa5T4Wo3Y150ybj?+k?1OhA|jBGA#qDlX-z_CdI;tNi6KaBo1S75~HBudV4b)$bC#iW^|!mmYK$LXgIO%U$#hcfqH- z;PYTB_3e!3xow~C45D&!h&PE31^va-b~!Vz*zua>lyneO=Xczf>+WjP z_16}m>wF)t?S4HKS(NpIQpJKcDz7x~R3=17T#e#36u^X?Z*P3KuXRdVNa zT&_9cmx}E1TSoYK1)mePjynoYr@torX9_O+BFIy4dQx|V|3+x4uim0P1)mi*sRIS4 z`Cb)1uym)-gH6`rrRngW8D>ojYqBqjX-J<RqJ#29 + +/* Including external dependencies */ +#include "RICactionID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICaction-Admitted-Item */ +typedef struct RICaction_Admitted_Item { + RICactionID_t ricActionID; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICaction_Admitted_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICaction_Admitted_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICaction-Admitted-Item.o b/asn1c_defs/all-defs/RICaction-Admitted-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..1abf97c90482b0374a5463ed96506f7ee56e75c6 GIT binary patch literal 2544 zcmbtV&2G~`5T4X6P@uF$9FVvK35g<+Ra{j9frQ+qX(@s>w2H*dbsVdWNaCvAN^pTZ z00)kF01h0v@D3b%LE;6t!;urrtaqI4#zrWNw4QIioxk<&+HdPmH>OG@U@5^P7+K5$ zRL_mDr=SP(a0Pa^YC$MFalf+K?scS$+LbLC_29S@t}1?OeH1tWvU{=ZqLlyYXU0#V z@f*eD{uh@q!385pQD4kc52kozY}RTI%1h1GNnf6n?}-&rt+*%3a^JZ3MRi5EcT(OA zJ%cI#H2ln6o0Gfa01nvQq$wSo$rA@FT|?1{Z9GMvYFK(!oj+E;=rXm8vQSh@t=`dG}d*fJ-(vmHJL%*3;16Je9^@c zAp}X^U$1ZY+12y;>iKl_d>I@hzN_4xt?d@Nr5<~YTA@dB6opx))kdKo7F>?Hy5wIv zQ!VW@{Jr|~W_`O>2L^r^_Y-*>boz39b!R^ybdJr_#COZ)c@KzZj1aEV1BLj@ICyS} zNEDlYoYIP4)R^y+;a$nw+!xuuS~t + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RICaction-Admitted-List */ +typedef struct RICaction_Admitted_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICaction_Admitted_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICaction_Admitted_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICaction-Admitted-List.o b/asn1c_defs/all-defs/RICaction-Admitted-List.o new file mode 100644 index 0000000000000000000000000000000000000000..473e536215cd62402651c3849453ca524c334411 GIT binary patch literal 2432 zcmbtV&2H2%5T0!c6evHvfw(Lu3SzAdRAL1Z3SH7tRNAmhB_s|eO`~?jZnE0A61_m5 zfm0u&M}&9)jy)ny9Jz4d3Cc`tXN@;Oh>jG0Gv9n3JC5zV_g9yuYBkVSgNHDVGz;LJ zHvHW6-~!A-6a6dWRH=8YtSmW&MmY0`MKHRuTuZ#7nXnJ7{I z8>Pq7YCG1vjsK(b>>?+K^IFU8_Wk<&#^!D!cI)@p0&6zh-8^#Nxh>XQVD3%HSB^yQ zF%7?t%LGpGHU7*xKwoXr9B?K{WSsm9Po^9=H9=lOrUqvUp7sXWB0e=7w@v|CAOVJm zHLSC*;+G0Pl|oss8?-AG*)Wdu zxPO^mKCktFcm3xZ{#x7T>r2q}Um$QfnXs3L;vIugD$*$JulT&%OSbzlZ>NbsNj%~$ zw{@N>#1I5K#8Up;SN+1@~en}}j0aYuV1ek*`&g(3vDnPtF6DFvi-nTuiE z5A!s6ItwgH2ZI>D2}@EDv*opoMkd1Ojhes-L7sO2&^gS|KGEkv@0X{@kz{;RVu1Eh^;2aeiLD)XkRxfcP)O&q>QC!q znxgYQ#J|EvbEfV`8CjwwnLT%^qx&DKI&_vV;$y!*-T3y}BLxSFyk*V93h^IM-v3Bl KLiRDS`~L=FEXi;H literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.c b/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.c new file mode 100755 index 0000000..670fedb --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICaction-NotAdmitted-Item.h" + +static asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_Item, ricActionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICactionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricActionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_Item, ricCause), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RICcause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricCause" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricActionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ricCause */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_Item_specs_1 = { + sizeof(struct RICaction_NotAdmitted_Item), + offsetof(struct RICaction_NotAdmitted_Item, _asn_ctx), + asn_MAP_RICaction_NotAdmitted_Item_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_Item = { + "RICaction-NotAdmitted-Item", + "RICaction-NotAdmitted-Item", + &asn_OP_SEQUENCE, + asn_DEF_RICaction_NotAdmitted_Item_tags_1, + sizeof(asn_DEF_RICaction_NotAdmitted_Item_tags_1) + /sizeof(asn_DEF_RICaction_NotAdmitted_Item_tags_1[0]), /* 1 */ + asn_DEF_RICaction_NotAdmitted_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_RICaction_NotAdmitted_Item_tags_1) + /sizeof(asn_DEF_RICaction_NotAdmitted_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_NotAdmitted_Item_1, + 2, /* Elements count */ + &asn_SPC_RICaction_NotAdmitted_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.h b/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.h new file mode 100755 index 0000000..739f507 --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICaction_NotAdmitted_Item_H_ +#define _RICaction_NotAdmitted_Item_H_ + + +#include + +/* Including external dependencies */ +#include "RICactionID.h" +#include "RICcause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICaction-NotAdmitted-Item */ +typedef struct RICaction_NotAdmitted_Item { + RICactionID_t ricActionID; + RICcause_t ricCause; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICaction_NotAdmitted_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICaction_NotAdmitted_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.o b/asn1c_defs/all-defs/RICaction-NotAdmitted-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..376e908fcc7f51a374acb549f5654f32ba56dbe6 GIT binary patch literal 2776 zcmbVN-A)rh6h3ABLsUd>NKAB1NW{cWT0)}H#4MJA7=;Sqdf6@;XrwJ+r-|NZAA`s6 z5xnpLd<5^j)hjRce6us{bh_ODCz(CxeDj?-GiQGGOa1NIRH;NpO7xP3ocB zt3BmaKUbfL%Ce|F&TwlcqbAmWiT>o))|*frkMd{jkvBTH_B_szCmvlMgYPp^qG|GV zkBLM*OU&J*T?YhjLcchv`EBiFG4IFp9ul+r(f!n7I z=NJO~j(do)WtZ(j?QyIk{2Gh8x zfqG!AsIe`9?O3)h&j5MI7BKgv3kHl)!;MFMamFqh|Ab>P<`Oqs0_{|6kZqISXz*aW z`TLAPDu$T3nk+WbTu>CtHl=<^QJR-1+;=x8)5xdHMT# zLros!$LsIr4;e$Mu|Jpw7P!wA-*(tO;D&g2o(no2`(uk%*|jnuQ4{Etk>nj t&!d|7pE}?s^JclZ>&G9?-Ft?pf}%n@2_09xS$XlNy8eAN%JAdH{|6=^)gb@? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-List.c b/asn1c_defs/all-defs/RICaction-NotAdmitted-List.c new file mode 100755 index 0000000..5e8bed1 --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-NotAdmitted-List.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICaction-NotAdmitted-List.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_RICaction_NotAdmitted_List_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 0, 16 } /* (SIZE(0..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_RICaction_NotAdmitted_List_specs_1 = { + sizeof(struct RICaction_NotAdmitted_List), + offsetof(struct RICaction_NotAdmitted_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_List = { + "RICaction-NotAdmitted-List", + "RICaction-NotAdmitted-List", + &asn_OP_SEQUENCE_OF, + asn_DEF_RICaction_NotAdmitted_List_tags_1, + sizeof(asn_DEF_RICaction_NotAdmitted_List_tags_1) + /sizeof(asn_DEF_RICaction_NotAdmitted_List_tags_1[0]), /* 1 */ + asn_DEF_RICaction_NotAdmitted_List_tags_1, /* Same as above */ + sizeof(asn_DEF_RICaction_NotAdmitted_List_tags_1) + /sizeof(asn_DEF_RICaction_NotAdmitted_List_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICaction_NotAdmitted_List_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_RICaction_NotAdmitted_List_1, + 1, /* Single element */ + &asn_SPC_RICaction_NotAdmitted_List_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-List.h b/asn1c_defs/all-defs/RICaction-NotAdmitted-List.h new file mode 100755 index 0000000..41a094b --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-NotAdmitted-List.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICaction_NotAdmitted_List_H_ +#define _RICaction_NotAdmitted_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RICaction-NotAdmitted-List */ +typedef struct RICaction_NotAdmitted_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICaction_NotAdmitted_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_List; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICaction_NotAdmitted_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICaction-NotAdmitted-List.o b/asn1c_defs/all-defs/RICaction-NotAdmitted-List.o new file mode 100644 index 0000000000000000000000000000000000000000..c5ffb4200cd454da97fb132c96af223a6c9a4d87 GIT binary patch literal 2448 zcmbtVOHUL*5bk9}QSrgeL}S*In7ExCC6TBxqwDZ62;;6KCLY>hn7~GMhU_$nT$G=| z$=|@ygMYxAM~)mlc<~otRZsP7)AVj4RxgT59YW8(5lUEIL2X z1EmJ+3Y%n2&~FS}PVJb)y4#uA&sDa zQ0=+e_OMcCi3^4mI|Hw3&9_>Q>(i@iJDJ?6KjJgI+3*r= z?9Z_)z;m7i#yp0*c3M2}xWt1VT;i#nKk2y*W{q8_NS(Q$_%T)|Peiz@_;I#J_B+C_ ziXV(~l6VBqsBh4~Uo_21_t-?GYvl(hQ^xo=$?+S|b#`%qUHlYmfQx6t4?0g+Tx8;9 zI47zgVcZ6Rw?W8wqY%D|jKa2%yW8og@FdR)*{6ipFWRGG%c`BIH7cmsP7^(V(L+^Z zT!};{e6t!Zw?eTp$2#F#08x%A?q;%@a@5adp5$ALq3Cq8jjdF)@=QWV+849_?8E2* z?L-N9zVUt0qIc5f^&TL9O$P(&w+;Er20u-@%?AdLx1mna&Dj2Btbc3;`+yTR0GxP`8fNYmg zwe?CXmAe3VM$9!w&jB_LvHQOdG02@fg@gQCRt=r6F`#_A|0BvfB-BvX3gHt#d@}>G zH5}4IIzb&>0tcQGeIN8We+3+d3|>w!K)z8Pl_^PRZMzK|hBm8+Qu$8#xIU&3t#Xim z51;1DxL+>P5sP8=*s+ezKcG5zm#@NS&maE)_Syr*_KAFIjl(kGpWx0vqDRQSCU*W` D`f<^9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.c b/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.c new file mode 100755 index 0000000..dfc4173 --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICaction-ToBeSetup-Item.h" + +#include "RICsubsequentAction.h" +static asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_Item, ricActionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICactionID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricActionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_Item, ricActionType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICactionType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricActionType" + }, + { ATF_POINTER, 2, offsetof(struct RICaction_ToBeSetup_Item, ricActionDefinition), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICactionDefinition, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricActionDefinition" + }, + { ATF_POINTER, 1, offsetof(struct RICaction_ToBeSetup_Item, ricSubsequentAction), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICsubsequentAction, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricSubsequentAction" + }, +}; +static const int asn_MAP_RICaction_ToBeSetup_Item_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricActionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricActionType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ricActionDefinition */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ricSubsequentAction */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_Item_specs_1 = { + sizeof(struct RICaction_ToBeSetup_Item), + offsetof(struct RICaction_ToBeSetup_Item, _asn_ctx), + asn_MAP_RICaction_ToBeSetup_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_RICaction_ToBeSetup_Item_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_Item = { + "RICaction-ToBeSetup-Item", + "RICaction-ToBeSetup-Item", + &asn_OP_SEQUENCE, + asn_DEF_RICaction_ToBeSetup_Item_tags_1, + sizeof(asn_DEF_RICaction_ToBeSetup_Item_tags_1) + /sizeof(asn_DEF_RICaction_ToBeSetup_Item_tags_1[0]), /* 1 */ + asn_DEF_RICaction_ToBeSetup_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_RICaction_ToBeSetup_Item_tags_1) + /sizeof(asn_DEF_RICaction_ToBeSetup_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICaction_ToBeSetup_Item_1, + 4, /* Elements count */ + &asn_SPC_RICaction_ToBeSetup_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.h b/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.h new file mode 100755 index 0000000..2c8b3ec --- /dev/null +++ b/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICaction_ToBeSetup_Item_H_ +#define _RICaction_ToBeSetup_Item_H_ + + +#include + +/* Including external dependencies */ +#include "RICactionID.h" +#include "RICactionType.h" +#include "RICactionDefinition.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RICsubsequentAction; + +/* RICaction-ToBeSetup-Item */ +typedef struct RICaction_ToBeSetup_Item { + RICactionID_t ricActionID; + RICactionType_t ricActionType; + RICactionDefinition_t *ricActionDefinition; /* OPTIONAL */ + struct RICsubsequentAction *ricSubsequentAction; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICaction_ToBeSetup_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICaction_ToBeSetup_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.o b/asn1c_defs/all-defs/RICaction-ToBeSetup-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..eb4fa0e82e89ebe2aaeb42f9098670514154fa15 GIT binary patch literal 3296 zcmb_eOK;Oa5Z*K`P#&c%4}sti4nUBIm6S?U1tGUd`asZzraf_R9b?*vyoeo%ULZ$~ z969!PaN;L$2uZfq}cH!!w7tgY=4PHxcs;297UWt#k^QQ<~dE{{3+)}?i)0w zPBHHS<;u{Ir0)yX0@Cpi4c97VaP(3=1L%Rw0XycNhQMSphfjd77K@9S>`txM@_U)b z#=Mcw6?%bI_*hsl^7BUFL5Oo?Ji{Eu#h=)-k{+626rUcNsfw#JR`K|*q{T$!#L{iz zDKRNb)@5WVz$ZkX@m+4-UVxuvREYdQLZ2dB!e0Xa=#ntm@Qv{`)^Xk?rD;BKlol7_ zV5*DV9H!r-&M52MXY&}X1K)s7vkCaU1bi_8uO#4&1U&JgG#p`jEvr;su?BakHMmPH z+@+Rp?|D`s@O!zumFyR~R4c_~7q83QJ(FlOgL&0!R$9HR<-|W8DcJkz=Uxm?$9wP{8|VFzkLOV|0A{?D)@E9|EGe(f0b=&pV2o-dOu~qgy9`DeY-~7?}mI| zO1}HS7seagw}nyjJYjU(P~cfG3Z%LXJ1|4iRHM;$Y=A+CFr0R?Nq;?r(Q5myvAVI7 z^L*QRC#QE}ev2Z}3hb>)rm841w{3vjAqklN0+<7jVL^|-PiFM|r11|a7CGl=sARJ8 zS_Mg#^(BWNWWD|&VW3~qF;qo{xnxgBz*}WXfcX(Ow9oMu3CB5;=S!ZaO~T^p_wnEp z + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICactionDefinition */ +typedef OCTET_STRING_t RICactionDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICactionDefinition; +asn_struct_free_f RICactionDefinition_free; +asn_struct_print_f RICactionDefinition_print; +asn_constr_check_f RICactionDefinition_constraint; +ber_type_decoder_f RICactionDefinition_decode_ber; +der_type_encoder_f RICactionDefinition_encode_der; +xer_type_decoder_f RICactionDefinition_decode_xer; +xer_type_encoder_f RICactionDefinition_encode_xer; +per_type_decoder_f RICactionDefinition_decode_uper; +per_type_encoder_f RICactionDefinition_encode_uper; +per_type_decoder_f RICactionDefinition_decode_aper; +per_type_encoder_f RICactionDefinition_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICactionDefinition_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICactionDefinition.o b/asn1c_defs/all-defs/RICactionDefinition.o new file mode 100644 index 0000000000000000000000000000000000000000..2022a9f0b9306bce811abaea16c4b8013be8ac55 GIT binary patch literal 1880 zcmbVMO>fgc5S`TJyG2w&q7s*IqDXWVqe@goLYCY#6rr|CQ!X5wjWLa(S)+I(!38e- z53c6wqG0|Pe_Qmn zg#W12TbHH%m*Ll+CWF^F82}HKn(U~1Ejk+}b9iutu@c_H)PZZ2&O1G(R|W(g+~Bmr z9$c@m1v?1V*uGO!c#XN3sWqDXzD57mqBlJtA_keOXt%!?H9S6%mZy2-|Ibp?4v(V4 zaMT|~$D`r?!JyDi6P3)@XDZionJQgWj*r5B>{0$PiSzn!bl>^(?WA1Y&V=-p zx*gUHCf)Xuw9%r!VEU@Tl*R_rI=2ljlE^>Lw48vzQS|GiNN8Ol9$H=B&4}- zP{2(LyZsNbM)%>e{g1Ji)_j6L9)Tfuxro^AZ!`G_yZet(qnMVdx^^p6f@hfMT@OlH zU(JH&M!AWZo?ALAg?$cRBBuS_FVhb)Ves!r6Ca{T{XHtO_-QcBhlf44&2O-1G57uE wgkjf9-2LxlxBXMoa0@m1x#y=ZpgVh%U~CrsPK1TK{~Fes`p=E%z9w$}UlqH8-2eap literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICactionID.c b/asn1c_defs/all-defs/RICactionID.c new file mode 100755 index 0000000..2e8aa82 --- /dev/null +++ b/asn1c_defs/all-defs/RICactionID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICactionID.h" + +int +RICactionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RICactionID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RICactionID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICactionID = { + "RICactionID", + "RICactionID", + &asn_OP_NativeInteger, + asn_DEF_RICactionID_tags_1, + sizeof(asn_DEF_RICactionID_tags_1) + /sizeof(asn_DEF_RICactionID_tags_1[0]), /* 1 */ + asn_DEF_RICactionID_tags_1, /* Same as above */ + sizeof(asn_DEF_RICactionID_tags_1) + /sizeof(asn_DEF_RICactionID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICactionID_constr_1, RICactionID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/RICactionID.h b/asn1c_defs/all-defs/RICactionID.h new file mode 100755 index 0000000..1b98786 --- /dev/null +++ b/asn1c_defs/all-defs/RICactionID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICactionID_H_ +#define _RICactionID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICactionID */ +typedef long RICactionID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RICactionID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RICactionID; +asn_struct_free_f RICactionID_free; +asn_struct_print_f RICactionID_print; +asn_constr_check_f RICactionID_constraint; +ber_type_decoder_f RICactionID_decode_ber; +der_type_encoder_f RICactionID_encode_der; +xer_type_decoder_f RICactionID_decode_xer; +xer_type_encoder_f RICactionID_encode_xer; +per_type_decoder_f RICactionID_decode_uper; +per_type_encoder_f RICactionID_encode_uper; +per_type_decoder_f RICactionID_decode_aper; +per_type_encoder_f RICactionID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICactionID_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICactionID.o b/asn1c_defs/all-defs/RICactionID.o new file mode 100644 index 0000000000000000000000000000000000000000..d2c5ee96732a44dea920454b5653819559199a31 GIT binary patch literal 2768 zcmbVN&ufrxVL-#M*okSza0C-$9zouTNATj+gE4zAY=01W zuthb3OV#R}J9%}j7pFb<3pJ}|ro5i^ya(QSH8ZQcQyC5)ak|p|RVdx7lujHS9(jtB ze~$RaJk}#UU#>hF3d`fQvU{yOez9Ds9xjh899h-~2No#$j`!f7!aZ>cPauGUzanuk zQ;|6Eei4jWjKge1I52E@nRyIV2|mbib0){Y^8hp)IAXfF?ZDC87UQ%w{=d#?jUUQu zE%CFAi*ITN4x6sFzr^>LQBS>Rh^^o=YJBgejs|F=uCQ&Y9dt&G`V(J^aiZ~N;N7Xu zFD%v#w4R0=N!uBF} zSu&hZ%b838^$Du}tE?65WpxCNQ)d!9d`o=Wz{^HF!@9zBs^%Eb_YG}2=O!+-C47uy zNsY5j_~5hwOuhy84g5IUqyht%xd?I@r#jG+i%NFdX}AUoJ65JQ#p*__P^Hnm6jU=z zLr`l;0;<~~hr&H|e!q*GtT{RWEg1#X=(O8WjES&eM(Wb?)u|*68+SQA+N`g4!*-M} z>fH?&sZw(@i_eane;G4tMA!*@=#KmNnDU%2{%r>74A4BX&$54?GH!ROXNZ&J_a<}m zePLJkSITMgD>PYw*f1S?!p>T;!k@5kS-<4*alD9sjsq4gzVJj}VZOcoZ#ZDn;=7iA z8U3RA``jXb;&`e*b!%C_)c+P@G}XQ{j{XatpSKZ_Ol*H0VG5n$aZxXsPyc_WFswO* zckmI+j2pKX#DjM1cg(lLg&&wn(U$KQ_#qla^?SkflR8oTs2>Vna9WQ&H$rfm!RNeS m`d_5GWAmwZ*?W%=_+028$uY$K{!tt&;>%z54+fV^oBsv`)DTDj literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICactionType.c b/asn1c_defs/all-defs/RICactionType.c new file mode 100755 index 0000000..682144d --- /dev/null +++ b/asn1c_defs/all-defs/RICactionType.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICactionType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RICactionType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RICactionType_value2enum_1[] = { + { 0, 6, "report" }, + { 1, 6, "insert" }, + { 2, 6, "policy" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RICactionType_enum2value_1[] = { + 1, /* insert(1) */ + 2, /* policy(2) */ + 0 /* report(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RICactionType_specs_1 = { + asn_MAP_RICactionType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RICactionType_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICactionType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICactionType = { + "RICactionType", + "RICactionType", + &asn_OP_NativeEnumerated, + asn_DEF_RICactionType_tags_1, + sizeof(asn_DEF_RICactionType_tags_1) + /sizeof(asn_DEF_RICactionType_tags_1[0]), /* 1 */ + asn_DEF_RICactionType_tags_1, /* Same as above */ + sizeof(asn_DEF_RICactionType_tags_1) + /sizeof(asn_DEF_RICactionType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICactionType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICactionType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICactionType.h b/asn1c_defs/all-defs/RICactionType.h new file mode 100755 index 0000000..7273663 --- /dev/null +++ b/asn1c_defs/all-defs/RICactionType.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICactionType_H_ +#define _RICactionType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICactionType { + RICactionType_report = 0, + RICactionType_insert = 1, + RICactionType_policy = 2 + /* + * Enumeration is extensible + */ +} e_RICactionType; + +/* RICactionType */ +typedef long RICactionType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RICactionType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RICactionType; +extern const asn_INTEGER_specifics_t asn_SPC_RICactionType_specs_1; +asn_struct_free_f RICactionType_free; +asn_struct_print_f RICactionType_print; +asn_constr_check_f RICactionType_constraint; +ber_type_decoder_f RICactionType_decode_ber; +der_type_encoder_f RICactionType_encode_der; +xer_type_decoder_f RICactionType_decode_xer; +xer_type_encoder_f RICactionType_encode_xer; +per_type_decoder_f RICactionType_decode_uper; +per_type_encoder_f RICactionType_encode_uper; +per_type_decoder_f RICactionType_decode_aper; +per_type_encoder_f RICactionType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICactionType_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICactionType.o b/asn1c_defs/all-defs/RICactionType.o new file mode 100644 index 0000000000000000000000000000000000000000..4e7d1bd077d53b0f77d1b0129ef819449f8ec6ac GIT binary patch literal 2624 zcmbu9UuzRV5WpwBYW>?ZGk^ynj;m=$N|~ z*B{L&CKbk%Z|}{G_7F_s^RIQR_L?ar-{n%<<*;0V1EH(XZYaaCgZ=KGmIsUq?fb9dFF8yfGc|fVwd%p6O5#KQ#hpk(6NSm{V^>Jc|n> z?ZFw_HMWoM67qmYR#?9>eCjyk0&`LxoVUE(^x$0Xu%%JYLcabT=3h`>V%t{V(3!RR z*5JYKsEgu%n)rNQ6^@6YAI6U%%98L&eJLE`p^mn*uxbWhJZ?CHyHTsB7F5z}j}4*0 z1rx_1BPGn-FB{=%q?@~{j`6A+X|-i|qrMhu{Gpw~ahhbh%QJ4PM0J~Sn55x=N6kc= z?AMK&lbCf>O#8`&&TZa(IR2h4m);Ve$lQl?P@#UNlr~OWI{0?j3SJ^*s_zm{K&-U9o+C;6p1HB`bR(l%!tw=}U zZ)O?z-IN@Ptol`SRVy;XWXY(5F~@JEafIV>+HNcSlzx(GoX-^R`V>colb*1wAb#1u`K2o}UrnA + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* RICactions-ToBeSetup-List */ +typedef struct RICactions_ToBeSetup_List { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICactions_ToBeSetup_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICactions_ToBeSetup_List; +extern asn_SET_OF_specifics_t asn_SPC_RICactions_ToBeSetup_List_specs_1; +extern asn_TYPE_member_t asn_MBR_RICactions_ToBeSetup_List_1[1]; +extern asn_per_constraints_t asn_PER_type_RICactions_ToBeSetup_List_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICactions_ToBeSetup_List_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICactions-ToBeSetup-List.o b/asn1c_defs/all-defs/RICactions-ToBeSetup-List.o new file mode 100644 index 0000000000000000000000000000000000000000..554a284d55ab9d445002e4de50a9b1623e2e5d0c GIT binary patch literal 2440 zcmbuA!EVz)5I{F|fkIoLHv~coCyGQ?F;ozNgscXqEh?=^S_z56;u@=sXzVE7NK{C` zXY?Pq^vD7Jp~oKK#+5H9GwU5^*|-JKk?fgyGqYpwuGb&^)z(C%!bmFY2^)Dt8CyO- zvOQ&bY?jTiI@s4np;GHuOIdIN;H17VPQ9<9QzGq^W*EtCnq;+&bTRJ4a@en}b~9O$ z`!9(4QLgP1xAp(zdG;V@@YPsL&E})({N~m$k;CdkzQF4>cc?t~gWKTs1@7L-`H7wI zJto<&iwL z;Wq9Ebv>u3a9^9di*|y|Y3`BJnqWPhX~?M-`8?i0Z0;$V^I2`9S~mD)g9iq`V(`}n zr)NX7Z}2&7qdGJ=zVCJIGoJ1BWVi)d4syLimWM!0XA0Gm_8^G1-Tyl;^(Fp|($QNB_p2Ns(zYPpi>lifTtFFiSF-2ol zgZvd-#LT>(Ww0a{)9h!*aj5=4k24JnFZ=!R4`R + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcallProcessID */ +typedef OCTET_STRING_t RICcallProcessID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcallProcessID; +asn_struct_free_f RICcallProcessID_free; +asn_struct_print_f RICcallProcessID_print; +asn_constr_check_f RICcallProcessID_constraint; +ber_type_decoder_f RICcallProcessID_decode_ber; +der_type_encoder_f RICcallProcessID_encode_der; +xer_type_decoder_f RICcallProcessID_decode_xer; +xer_type_encoder_f RICcallProcessID_encode_xer; +per_type_decoder_f RICcallProcessID_decode_uper; +per_type_encoder_f RICcallProcessID_encode_uper; +per_type_decoder_f RICcallProcessID_decode_aper; +per_type_encoder_f RICcallProcessID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcallProcessID_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcallProcessID.o b/asn1c_defs/all-defs/RICcallProcessID.o new file mode 100644 index 0000000000000000000000000000000000000000..3e3c2e7cd206c03c9d29db93b780752a05c1cebc GIT binary patch literal 1872 zcmbVM!EVz)5S`S8LTM3|I3RHerxuB>ViXAk60+o`Aqd(iO-~%0jj@`liCtwk5(ugN z3(g$*6b}3hx87jJ-gSn>ma2|q&wFoXcD&=YFFWt|R~ikl)_^y#WL5=uu)4%S4g=VP z4H)#oSWc(?c@`&1_4bxo*F$bEmtSucd_GF-hT*H`&hdDW>P7Q~Xp7dazsQ+?;lC8E zw(y@8dhN2*e-(cJsY>uFCj;QYN>w`QUX9L%$uc~+#aIC!qHDlfsq;#Y>16@}5AJeW zVh`?=*n&2KE!KBp0w2)lGqs7v%NqS_jsD*O5iv-WMthz8$UQremM1FmYvXy~upb?U z!_F`|8V-5~-CR3K(qw)bM`;$tS*rA0o~AmF9QDJ0(j#@A#ER{S-Z!7Rosg^BS&+WL z>K_?Qx~(N?r$&Fv^i6}wjSQxB?i-vtp}x$t9D~4Z6@FroPCjc8pQM%`#!7*hXGAE| z7e3NtD)TTQ8wC+(vsr@k5ox9q(LFfcRa(Ypyy?yHV=SdT+;)}-9BwJ)a(jY=H22F1 zcoM^I{WiwvJ>0bZ8P?L8&++0G7_!Ah#J0cnltQoEKvboqoZ#;C}?@V zGQXG~Mp;Ks=a%+LX3ya}#MIyYBmJZ#H2(jn;sX?^zC}T1zYM1NaI^ci{v!r0=6P3~ wFzn_Mcb}coZT-X)+(V5ncmMR~b7zkdjLf3nh%j^e)BCNe|87M0GjZ$x0-sfVm;e9( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcause.c b/asn1c_defs/all-defs/RICcause.c new file mode 100755 index 0000000..956e75b --- /dev/null +++ b/asn1c_defs/all-defs/RICcause.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcause.h" + +asn_per_constraints_t asn_PER_type_RICcause_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_RICcause_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcause, choice.radioNetwork), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseRadioNetwork, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "radioNetwork" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcause, choice.transport), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseTransport, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "transport" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcause, choice.protocol), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseProtocol, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocol" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcause, choice.misc), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseMisc, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "misc" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICcause, choice.ric), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseRIC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ric" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RICcause_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* misc */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ric */ +}; +asn_CHOICE_specifics_t asn_SPC_RICcause_specs_1 = { + sizeof(struct RICcause), + offsetof(struct RICcause, _asn_ctx), + offsetof(struct RICcause, present), + sizeof(((struct RICcause *)0)->present), + asn_MAP_RICcause_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, + 5 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RICcause = { + "RICcause", + "RICcause", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_RICcause_constr_1, CHOICE_constraint }, + asn_MBR_RICcause_1, + 5, /* Elements count */ + &asn_SPC_RICcause_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcause.h b/asn1c_defs/all-defs/RICcause.h new file mode 100755 index 0000000..32a7eff --- /dev/null +++ b/asn1c_defs/all-defs/RICcause.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcause_H_ +#define _RICcause_H_ + + +#include + +/* Including external dependencies */ +#include "CauseRadioNetwork.h" +#include "CauseTransport.h" +#include "CauseProtocol.h" +#include "CauseMisc.h" +#include "CauseRIC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICcause_PR { + RICcause_PR_NOTHING, /* No components present */ + RICcause_PR_radioNetwork, + RICcause_PR_transport, + RICcause_PR_protocol, + RICcause_PR_misc, + RICcause_PR_ric + /* Extensions may appear below */ + +} RICcause_PR; + +/* RICcause */ +typedef struct RICcause { + RICcause_PR present; + union RICcause_u { + CauseRadioNetwork_t radioNetwork; + CauseTransport_t transport; + CauseProtocol_t protocol; + CauseMisc_t misc; + CauseRIC_t ric; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICcause_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcause; +extern asn_CHOICE_specifics_t asn_SPC_RICcause_specs_1; +extern asn_TYPE_member_t asn_MBR_RICcause_1[5]; +extern asn_per_constraints_t asn_PER_type_RICcause_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcause_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcause.o b/asn1c_defs/all-defs/RICcause.o new file mode 100644 index 0000000000000000000000000000000000000000..2952dd071ad69b746de5e163c9cca9d07ca51a01 GIT binary patch literal 3336 zcmcIl%}*0i5PwimR0Q!WBwp%8F_BG6NFbV+YAqBa(4d^lvTUHC?KZoM%0;<)^T^To z7jX38AK=l%iw6%}z3I)wgU;{mO!xJr)ezH3-kX`<%)FWR{i^hMVQ^qT2@R-wD%Av4 zs(dDu3tB9waW$q+k(}YCVeWeEZ)gZt#9r%Vy2_QG(6K$sfn8vn|Md%Z9_)ctCW~B>U7&jgi#U( zRQmW-#6Ub_;08?iIa6)R8HLsEq#LA881?M1d5*a3yBSf^{^^cMJzG8epK1SLbwC{S zo;UwB$rHwW=e1R-cf`Bp{m=vd+ynpC1OL?nSMu;Wo^qpRb@_g!Do{0cw`cr%HLooX zOABp_239N8VtI9`SkhXhv{sGxTYlT8>IKax4k*qD!n}cw2>67SlJ1aY;CL&9KCu8C^~(+VZs3<#2AhH-k@#Ot zR8=eK_z1*k)m;{}a|Pbb%D z2C?rfuB=Z-vFq*X68@*VM!}d9{s)r^reesvY;EK^NxS%t@0LHy1qWXJyjobKq9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcontrolAckRequest.c b/asn1c_defs/all-defs/RICcontrolAckRequest.c new file mode 100755 index 0000000..66113ca --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolAckRequest.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcontrolAckRequest.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_RICcontrolAckRequest_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RICcontrolAckRequest_value2enum_1[] = { + { 0, 5, "noAck" }, + { 1, 3, "ack" }, + { 2, 4, "nAck" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RICcontrolAckRequest_enum2value_1[] = { + 1, /* ack(1) */ + 2, /* nAck(2) */ + 0 /* noAck(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_RICcontrolAckRequest_specs_1 = { + asn_MAP_RICcontrolAckRequest_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RICcontrolAckRequest_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolAckRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolAckRequest = { + "RICcontrolAckRequest", + "RICcontrolAckRequest", + &asn_OP_NativeEnumerated, + asn_DEF_RICcontrolAckRequest_tags_1, + sizeof(asn_DEF_RICcontrolAckRequest_tags_1) + /sizeof(asn_DEF_RICcontrolAckRequest_tags_1[0]), /* 1 */ + asn_DEF_RICcontrolAckRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_RICcontrolAckRequest_tags_1) + /sizeof(asn_DEF_RICcontrolAckRequest_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICcontrolAckRequest_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICcontrolAckRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcontrolAckRequest.h b/asn1c_defs/all-defs/RICcontrolAckRequest.h new file mode 100755 index 0000000..7101d67 --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolAckRequest.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcontrolAckRequest_H_ +#define _RICcontrolAckRequest_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICcontrolAckRequest { + RICcontrolAckRequest_noAck = 0, + RICcontrolAckRequest_ack = 1, + RICcontrolAckRequest_nAck = 2 + /* + * Enumeration is extensible + */ +} e_RICcontrolAckRequest; + +/* RICcontrolAckRequest */ +typedef long RICcontrolAckRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAckRequest; +asn_struct_free_f RICcontrolAckRequest_free; +asn_struct_print_f RICcontrolAckRequest_print; +asn_constr_check_f RICcontrolAckRequest_constraint; +ber_type_decoder_f RICcontrolAckRequest_decode_ber; +der_type_encoder_f RICcontrolAckRequest_encode_der; +xer_type_decoder_f RICcontrolAckRequest_decode_xer; +xer_type_encoder_f RICcontrolAckRequest_encode_xer; +per_type_decoder_f RICcontrolAckRequest_decode_uper; +per_type_encoder_f RICcontrolAckRequest_encode_uper; +per_type_decoder_f RICcontrolAckRequest_decode_aper; +per_type_encoder_f RICcontrolAckRequest_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolAckRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolAckRequest.o b/asn1c_defs/all-defs/RICcontrolAckRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..48923eaf8a2dedf346ec49ec61fd3afc70091b1d GIT binary patch literal 2672 zcmb_dO=}cE5Uq8hiQkDB5Ineo;0k8Ugn*(V6V^?lXk1o;$8j=glIZSC-02O;MFlS& zJor;`@|>eT!=Iqw!HdMI-m0BWXI2bY&{OqZzv}PqdDnO{f2>jgu?jqZ0tpMSd!mR# z6NYde&H>TKxEPv0#EI>*3I3aJJ*p>Js=HZxE_vNjZ+a@%kY)%V#*$KS6m#d|;(u+c z#zM-s=jP^nNQ_`PYCp%Fh9sZbvrYP@J`UJIy?(b^TVCmvpJ&-&9-LC>JzZE(k* zp7nzpef~h23#i`___6QuguNlN@`kL4hZ$w&nH4%*_4S zbvKeI&7%G+;*C@nD@y0wK5ep}E-!0N{6vv%&Lu(O?cJ@h#^pncw{OLw#b4l<+)IwB zow8FUe8@U`{4^fHaxX|v^POb^-FVkUnU#-hBj6m4N+q^t3l_{%1!g(Cz;wRuDHM0``)B&EX|q ze2DcFyZ!GWM<(Z@j}DLj9#+sB9EyPbcYc`n7}L8*=S|Kbz2jt$u~7fT%S|jmjR$zK z4+me#7vcp5W#bPy|Dy=mR~_6!TsHn)ehju*PvfV)rGFX!E99uFX)LyV<^E}ZY-8Hw z5T9ca&er`bBTKX-bJvdA`NjD%j + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcontrolAcknowledge */ +typedef struct RICcontrolAcknowledge { + ProtocolIE_Container_8180P8_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICcontrolAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolAcknowledge.o b/asn1c_defs/all-defs/RICcontrolAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..77658a284820c54782e7ff05f0ed6bf31dc71abe GIT binary patch literal 2552 zcmbtVOKTHR6h7(rezc86buSwYD{ZI+t?CtH=Rs}RGMT$W`erWfPX-6 z)1?c+txNxbF1z$k2>J{3oICd>r#E*%;(@v6obP_;F>@dDw)SLgrceMa1z3Txr%`~) zsj=-z(}Ovfh3$=M7(%PL(n6y-=%$0xU9l|6i|#;r?i;rv%FDvNo#8z6 zm`(Xlz;EljIo1^iaKP*)OX=W@O&qLX69-OCz}FBdz*(4AGd$9P(-Zs^#n%%$j(i96 z*u;VJHW>NmCh!Q6BI|QsG2Wr(wRGTz9Q-rllxL`j&z1fr@$q}&XN}rswFcVo@xUi(KX}nivqBHH za|&gR?9{6{^GPoXb-UC@eROU3RlHQNLe%#wZlzqWsLwc3w4eE|I-_PxTz^}_XGhTh zR~esngXS&d;B<~jD9@aNrUi!bv~VW9mD7wu-}SI?zG+l;@3bM$SejlYAj zlyeCmE}n93au97@Uu)u#ZPp(mM)D(5qp>uyGUGlfx--4Z9gSbqMfyu27f{oF()&p7 z`z^$5^> + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcontrolFailure */ +typedef struct RICcontrolFailure { + ProtocolIE_Container_8180P9_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICcontrolFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolFailure.o b/asn1c_defs/all-defs/RICcontrolFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..43ae80dbca107cfee3bcbd25e5d2e53a016d60fa GIT binary patch literal 2496 zcmbtV-D(q25T11X|7oo#2!g~bE7(J}6pae9x+b-v?b=ePSKH0HG{qzvvL_I4G@$RG zk0JOHUV0<=7<%cI&g`C(OwXQx)PX%S^PTx-&i}q^JZsKXDxjqT4`AwP6!nRz?d7Hi z3os8`>wcW}y2zmnQ57|On(;fU*kA`4xK+J9Q$AU2_~qq zB(uh)aT)^`kDN8%zgJz_X$^aFSiK`wMQzy~=AQf3t&7^KaBmhkryjB?|1tPwottCd zQEU9-BB=!6ptIFTs})slaKtpn5pdfs>{9+bUjnXdd|v=CO$bXKgUXpDE!l z5m{v8Y^w-5qr8?TzMp}AM4a-BRp74DUvhjpFMTGyBW}xIzBnR=DC>of8_lqEsX`g; zXQ7)1JbxJ216Gob3bE$M$(upA-FUIn*zg;mjSw$zCI`_$PZk9pZCMHw#kT|B(wFs< zSPzeC2a_it^zm`P%*i0EyY*UdS1s2>(YfWP=alL(alM9w&rjF@S6Dplx{h0#fzy2@ zp*#z@RWyOJ3D-FY+M@=A@WtFJnor6m{364@F`VY5`}n*LolcRx>B^`D0=J;hZEeY9 zBtg82WCWs>WgrGAITYy%7u}>2<=tc%uIQw3L|{$<5vSd5f*UM)sZ7M$#?Epkqxdx& z`O(a)NTW4izlS`Lm$&7HV!2#LhcNTS@purkP5uq+qqRLM{}ys7=L&vYJmp;DAlkaV z))Ys!S$_{Pk{^YdwAG1K823@p+vpYUq#daT^QS`2p{Dbs&yha&n~2%!duo6+#n-B; z4W*x=w$*Q|OR4KneR|!@`XORe%KVe`RsBoY$A#Z5!uRo`P;;Cg6rc8oi-L0w;eGrx z#^XNQKuauznPaCsn*UYhIgc29=KSf;WbQpeFjC-ea+sLIqBq6HAFK5rGcK7X|1S>t ByHfxF literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcontrolHeader.c b/asn1c_defs/all-defs/RICcontrolHeader.c new file mode 100755 index 0000000..f9fbe4c --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolHeader.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcontrolHeader.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RICcontrolHeader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolHeader = { + "RICcontrolHeader", + "RICcontrolHeader", + &asn_OP_OCTET_STRING, + asn_DEF_RICcontrolHeader_tags_1, + sizeof(asn_DEF_RICcontrolHeader_tags_1) + /sizeof(asn_DEF_RICcontrolHeader_tags_1[0]), /* 1 */ + asn_DEF_RICcontrolHeader_tags_1, /* Same as above */ + sizeof(asn_DEF_RICcontrolHeader_tags_1) + /sizeof(asn_DEF_RICcontrolHeader_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcontrolHeader.h b/asn1c_defs/all-defs/RICcontrolHeader.h new file mode 100755 index 0000000..49d8a76 --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolHeader.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcontrolHeader_H_ +#define _RICcontrolHeader_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcontrolHeader */ +typedef OCTET_STRING_t RICcontrolHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolHeader; +asn_struct_free_f RICcontrolHeader_free; +asn_struct_print_f RICcontrolHeader_print; +asn_constr_check_f RICcontrolHeader_constraint; +ber_type_decoder_f RICcontrolHeader_decode_ber; +der_type_encoder_f RICcontrolHeader_encode_der; +xer_type_decoder_f RICcontrolHeader_decode_xer; +xer_type_encoder_f RICcontrolHeader_encode_xer; +per_type_decoder_f RICcontrolHeader_decode_uper; +per_type_encoder_f RICcontrolHeader_encode_uper; +per_type_decoder_f RICcontrolHeader_decode_aper; +per_type_encoder_f RICcontrolHeader_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolHeader_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolHeader.o b/asn1c_defs/all-defs/RICcontrolHeader.o new file mode 100644 index 0000000000000000000000000000000000000000..cb8e8071c68303d8d6d203c1382b97fcb9e527be GIT binary patch literal 1872 zcmbVM-)q!B5T0x5?^Z1MAoy}VS-~zBIZzZN5Uog8mmi z`{clnx~G%{SldWG9<^9lY6I>2$zZ2VTN5axB1|)g_Kf7{NNM z!Du&5vee|+*^XAnI$x?ThWuWBe6dyV`A9g7*Re7M=~0DFV2{q6*$c*MVy_&npAQ*8&6q+~8r2 z1Grve2l@y$Sl^jVyhUHm)CsLuE&S&e{=Wkv5>Q1dUk$dUe|Dr%Cxr}K^JQZHK<>xm z!B`%SN4tB&k~`6<&QBAWW)cr$VRChvnlf{E5dR~W#Rr`fY)|yQ`PAKneBRB1_%&94 z&tl?TEm4~-{0`&SEhaaynAW*%ap^?yX>QaM1a7PHGlz`+Xh0k*qd-iH0z{rsK*~^r z80s@srU|($h$NfOHO@z*nbBgnceGU)mAvOoFOTnIDed8^w?yQ{E+j3t2N)3Ne>o8s zG3?hr#2mec%ho@}T3Yi7Ufd!ZY;Y2>>+d}22>bmf$dSz|SKqres=y0$^o>VVSl`d> zFXo43Zlb4iOM4}A=kPUR>hJ%Nev$}{|38}I5t3Bjqa?Fm7SnvVxqUnT4wDXZ-8l~! v_O%rI&rWhzKeGk5kfY1rKmGaq*&_uLyXZFxnECzb{WjHqx1|4>`1OAQA%%XR literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcontrolMessage.c b/asn1c_defs/all-defs/RICcontrolMessage.c new file mode 100755 index 0000000..60be86b --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolMessage.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcontrolMessage.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RICcontrolMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolMessage = { + "RICcontrolMessage", + "RICcontrolMessage", + &asn_OP_OCTET_STRING, + asn_DEF_RICcontrolMessage_tags_1, + sizeof(asn_DEF_RICcontrolMessage_tags_1) + /sizeof(asn_DEF_RICcontrolMessage_tags_1[0]), /* 1 */ + asn_DEF_RICcontrolMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RICcontrolMessage_tags_1) + /sizeof(asn_DEF_RICcontrolMessage_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcontrolMessage.h b/asn1c_defs/all-defs/RICcontrolMessage.h new file mode 100755 index 0000000..9d83c6b --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolMessage.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcontrolMessage_H_ +#define _RICcontrolMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcontrolMessage */ +typedef OCTET_STRING_t RICcontrolMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolMessage; +asn_struct_free_f RICcontrolMessage_free; +asn_struct_print_f RICcontrolMessage_print; +asn_constr_check_f RICcontrolMessage_constraint; +ber_type_decoder_f RICcontrolMessage_decode_ber; +der_type_encoder_f RICcontrolMessage_encode_der; +xer_type_decoder_f RICcontrolMessage_decode_xer; +xer_type_encoder_f RICcontrolMessage_encode_xer; +per_type_decoder_f RICcontrolMessage_decode_uper; +per_type_encoder_f RICcontrolMessage_encode_uper; +per_type_decoder_f RICcontrolMessage_decode_aper; +per_type_encoder_f RICcontrolMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolMessage.o b/asn1c_defs/all-defs/RICcontrolMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..a8f9cc8ebaf18ce27ab4b1ead82ca766f9eada11 GIT binary patch literal 1880 zcmbVM&2G~`5T4ZKzeN-YsS=lPqDXWVqY4m6$dXAz5wua7o;Ykau9Z|YHp*@!xRmGM z4f-e?co}ZoV8-5chOI4C9VwY_zWHV*J6ZdC_rvZ=s|C(l@CKHVV*xf-mpCe51naN{ zgS|M(Gc(UmKc-r%NxGC>3i-4A_)<+!bdQ9+IDXaMIvOuBvuM8%JEF54E{Z5T3tx)P zjtHNWd}CXhzY4$q)(L{z%>V?jQYS|~XyDm0nIeE|EGppxbS=11@w_r%d?i2-z%3qD zIDnfKcHlXJ4K{ab6Mgi>PMy&D;|Bh$fxmb`L;^}@@@;olUbsBcsEL+gv!KWv^yNW3 z><;DOaIm-EE4WFTrSp?SX1T=ssLfoRWTwa*_T&HLQh!Mk?H#N5XZiNsrszI!-tC0= zHP&R)V&YvbQCkiCJI1eDOm1W`^|@U9ZMdZaUBrUf`7!c<_ zK@k@*?AJfW9Q_Yht$&KO)bkmBxJ5R&&q>5?zVoCb?9U$|M>Z{8_1&&e30|Y4XFV#z z<+p8kZkgNY>3-5#$=p4BkC^8BZ>FClLgVj|x_E#j)psb#?3cx~A8zj4&VRzB!(8`= x2MqgKiv8bCa#ugK1$U66kAHr81Nys13P!f+4+@z1^EWV8SAT9v|1t6F{{dfFf4Kkv literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcontrolRequest.c b/asn1c_defs/all-defs/RICcontrolRequest.c new file mode 100755 index 0000000..300091f --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcontrolRequest.h" + +asn_TYPE_member_t asn_MBR_RICcontrolRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_specs_1 = { + sizeof(struct RICcontrolRequest), + offsetof(struct RICcontrolRequest, _asn_ctx), + asn_MAP_RICcontrolRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest = { + "RICcontrolRequest", + "RICcontrolRequest", + &asn_OP_SEQUENCE, + asn_DEF_RICcontrolRequest_tags_1, + sizeof(asn_DEF_RICcontrolRequest_tags_1) + /sizeof(asn_DEF_RICcontrolRequest_tags_1[0]), /* 1 */ + asn_DEF_RICcontrolRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_RICcontrolRequest_tags_1) + /sizeof(asn_DEF_RICcontrolRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICcontrolRequest_1, + 1, /* Elements count */ + &asn_SPC_RICcontrolRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcontrolRequest.h b/asn1c_defs/all-defs/RICcontrolRequest.h new file mode 100755 index 0000000..0507a41 --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcontrolRequest_H_ +#define _RICcontrolRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICcontrolRequest */ +typedef struct RICcontrolRequest { + ProtocolIE_Container_8180P7_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICcontrolRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolRequest.o b/asn1c_defs/all-defs/RICcontrolRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..600d14317c55f3568742e39320e06e5c6e568366 GIT binary patch literal 2496 zcmbtV-D(q25T11X|7oo#2!g~bE7(J}6dM#|HEwG~+n7?YSKH0HG-8sC*%OF28qjyp z#}Ir8FTD|b488P9XLiroOwXQx)PX%S^PTx-&i}sipRCVSDxjqT_h9O26!nRz?PaD1 z3os9@%|?{;CYnmYaHj#q4NiYWB+SE!UQ#z zWY)MePGjKWk+acg+^H_@wnu$As;-GuQCoILndiQB>!P+Q+?zShsfTRJe++(E=jPaV z6dW)|lc#jB$0iO|u!#f5OYmhxDsUPus2B+DS0=FR79c{^Y zEJ3^oWeB33rXYq1ITYy%7u~oUX5C~NuIMIFNMJ?*5hcA|j2kTaiHya@*6wmD!{`+o z`O(a)NTW4izlSW5m$l`FV!2#LhcNTS@purkP5uq+qqRLM{}ys7=L&vYJmp;DAlkaV z))Ys!S$`ifk{`J$+G=6t#$8nOHhQ^Rv}5&P{#3|0)O4QoInw8T8!=mbPYtl9_*zx9 zq4Z= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICcontrolStatus.c b/asn1c_defs/all-defs/RICcontrolStatus.c new file mode 100755 index 0000000..1de9e2f --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolStatus.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICcontrolStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_RICcontrolStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RICcontrolStatus_value2enum_1[] = { + { 0, 7, "success" }, + { 1, 8, "rejected" }, + { 2, 6, "failed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RICcontrolStatus_enum2value_1[] = { + 2, /* failed(2) */ + 1, /* rejected(1) */ + 0 /* success(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_RICcontrolStatus_specs_1 = { + asn_MAP_RICcontrolStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RICcontrolStatus_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICcontrolStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus = { + "RICcontrolStatus", + "RICcontrolStatus", + &asn_OP_NativeEnumerated, + asn_DEF_RICcontrolStatus_tags_1, + sizeof(asn_DEF_RICcontrolStatus_tags_1) + /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */ + asn_DEF_RICcontrolStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_RICcontrolStatus_tags_1) + /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICcontrolStatus_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICcontrolStatus_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICcontrolStatus.h b/asn1c_defs/all-defs/RICcontrolStatus.h new file mode 100755 index 0000000..37c51e0 --- /dev/null +++ b/asn1c_defs/all-defs/RICcontrolStatus.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICcontrolStatus_H_ +#define _RICcontrolStatus_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICcontrolStatus { + RICcontrolStatus_success = 0, + RICcontrolStatus_rejected = 1, + RICcontrolStatus_failed = 2 + /* + * Enumeration is extensible + */ +} e_RICcontrolStatus; + +/* RICcontrolStatus */ +typedef long RICcontrolStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus; +asn_struct_free_f RICcontrolStatus_free; +asn_struct_print_f RICcontrolStatus_print; +asn_constr_check_f RICcontrolStatus_constraint; +ber_type_decoder_f RICcontrolStatus_decode_ber; +der_type_encoder_f RICcontrolStatus_encode_der; +xer_type_decoder_f RICcontrolStatus_decode_xer; +xer_type_encoder_f RICcontrolStatus_encode_xer; +per_type_decoder_f RICcontrolStatus_decode_uper; +per_type_encoder_f RICcontrolStatus_encode_uper; +per_type_decoder_f RICcontrolStatus_decode_aper; +per_type_encoder_f RICcontrolStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICcontrolStatus_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICcontrolStatus.o b/asn1c_defs/all-defs/RICcontrolStatus.o new file mode 100644 index 0000000000000000000000000000000000000000..c146b90389218c4bcd2d0372ec40647254600f01 GIT binary patch literal 2648 zcmbtUPfrt35TCLr_#f1R#!K~LNn}F_iAEE%rWVvFHW1>$!@4X_D7IVDeI<|>HSyxn zBWFJeM?QjAKZ1z|J>ksT8TR#cizH66J2Sue&AfSkKh~emkCaLvQi6w&dx8S&ozCsR zm;qdZi$L%Qe+K3sVIqet;vc7%p4Q?{qPv~evW|2wg|rvPDovrQHdUeQK=F%f}dZa9LMtJ2J*Xt#-d$Sy}BRx>vsI&-pXc z)t>RHAFB8KnK{2YmElgsewXGp3O^6~(aiIP%-l04U@*f2T8%;R%nB9Zrv|{Qh?F2- z9a>wGIs8i2xDA5>yf%2gYO-$>_N+QgH_C&YFZg>jN{9yxJYoIK;A2M_=NTvE!8yyz zO%KlI4qFGPCn2Bj2ID_aPq1yPKSOYEFN_~UlqTWh`h4hyLLIHAVb#PN^`%hnZmB^M zUcXd#nYP@h4KmU#6-%8Lj~au7?WomLvnuJexlAF8;Nevr>4aI=Q8Ur@s%7^mUu8JjH#+AwE^AKsq*dY?+l1S@SQ&x`7H*$@ zIX_hAGIL11VVm%x(<6Amym5<9{fIB;pZGK{nZt&~C;U45pB(%a`{1X$Z5^$m*4<2R zh^5tz27fKm5%{b4B>UYCImE2`RdiJ=GGVeL>cE)ew>oiz@wn4&E8H(X>1gFIEUrwa zI*Q*(BmbvwU^=aZ`%VT!$`aR>o9GZ`?;*tl`k}~rXC6RV4A!?%)84rGUmc#f?)Y~w zK-jDhSWEttgG;{X0OMr4 + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICeventTriggerDefinition */ +typedef OCTET_STRING_t RICeventTriggerDefinition_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICeventTriggerDefinition; +asn_struct_free_f RICeventTriggerDefinition_free; +asn_struct_print_f RICeventTriggerDefinition_print; +asn_constr_check_f RICeventTriggerDefinition_constraint; +ber_type_decoder_f RICeventTriggerDefinition_decode_ber; +der_type_encoder_f RICeventTriggerDefinition_encode_der; +xer_type_decoder_f RICeventTriggerDefinition_decode_xer; +xer_type_encoder_f RICeventTriggerDefinition_encode_xer; +per_type_decoder_f RICeventTriggerDefinition_decode_uper; +per_type_encoder_f RICeventTriggerDefinition_encode_uper; +per_type_decoder_f RICeventTriggerDefinition_decode_aper; +per_type_encoder_f RICeventTriggerDefinition_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICeventTriggerDefinition_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICeventTriggerDefinition.o b/asn1c_defs/all-defs/RICeventTriggerDefinition.o new file mode 100644 index 0000000000000000000000000000000000000000..7fbec6cffd5cea1513a72e1523987f99563c949e GIT binary patch literal 1904 zcmbVMO>fgc5S`TJyG8U?fsn$9BGFZhDuF;kmfR#1p|(oX69>mJOJYIR$lf535c~^% z16Te5M-KcMZrotT-gPFcxJVtznfKnj+0Cxk`=$G$x7KQbjTStG1+ywZXMKT#5(cmd z8!$Ks<$J00Fi$5FneWTjsY-R4sfGPatGn-lQ2H}1fK5p-vj^|3x+YiN_=^muj7N zdQ7hk2t2sLX^lO&Tw@D*2)5X~Q&XT^?x{7J{Ha0z+MqWd5RpJ!sA#|2iy9A6q~l2u z`TsYTj-%t~C>(Z&(aCUdaM&-kiBvLAlSpMzlBq)HajJA#IXMoO>{0PfCWW)y@{RMi zVt0_v3D@mjk-otO**2JT+e^|;gZ_-^n+8)F8BF6`H@Hlq_&C$?7zD1Z%2SK9{GdU+ ziggTPTofSkj0ib>;UkrA5Afj;7;=+~i0%9~laH`F{|GgTX_e~V zc8x0V1QXo>K}GA|Z8P9Eqg=&I=abe-Vb9@n#5BKqWBnu(2ESic@d1j|-=QLlUk20u z@UZK)`6U)D=Dt6iFzkAXyZ@c+wts3GuAxScyMDSE-MvQ%MrP3OL|C} + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICindication */ +typedef struct RICindication { + ProtocolIE_Container_8180P6_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICindication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICindication; +extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_specs_1; +extern asn_TYPE_member_t asn_MBR_RICindication_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICindication_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICindication.o b/asn1c_defs/all-defs/RICindication.o new file mode 100644 index 0000000000000000000000000000000000000000..dbd544af8e317aa2e1364ce2542da89d406c3473 GIT binary patch literal 2472 zcmbtVOK;Oa5T4Y$AAKMW2rl77k?1O}DyTq0hLDyb+L~6CxH+zCwGpWu#apRdpa&%W z0yq8we}Fqjj$FBMgkJzN_Dr(bY!NCW*)#L)d^5A&hu^lIFHO{HAX0;eF!Tfk_;Gq@ z2c;Rn6imX#O0$#gbdp$i@(g{uGb@iHJh@;%Js5)UrAV2r;o zhOZ(rWAwSl5eaIumJn(Gy72diQ=TIZe98J_i4W)1VEi*`SDw*>qY{XVEPB#fibf7p zq~qNp^2@>1N8$M3eA?yVF>Xm(52MZ2i>=mLvjt*ANuCwDA9pfcC4RhNC9Vo?hD{4E zdTAogVK8q_2E*({5Z2lV!Q8n~Dd#*srUdLl-$v%>OzmAxze!vYjm@ld> z2J2_2UG+mglv0Q4(=BG#j}W6$_8+6i^{?WXDdyQCd>0=IwflU>d|Dq<7%n-4_wW(S zjQivQ9kCQ<_fC0)|Aq5hMvNYN{`3d3*B&7_WbivVhS+V + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICindicationHeader */ +typedef OCTET_STRING_t RICindicationHeader_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICindicationHeader; +asn_struct_free_f RICindicationHeader_free; +asn_struct_print_f RICindicationHeader_print; +asn_constr_check_f RICindicationHeader_constraint; +ber_type_decoder_f RICindicationHeader_decode_ber; +der_type_encoder_f RICindicationHeader_encode_der; +xer_type_decoder_f RICindicationHeader_decode_xer; +xer_type_encoder_f RICindicationHeader_encode_xer; +per_type_decoder_f RICindicationHeader_decode_uper; +per_type_encoder_f RICindicationHeader_encode_uper; +per_type_decoder_f RICindicationHeader_decode_aper; +per_type_encoder_f RICindicationHeader_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICindicationHeader_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICindicationHeader.o b/asn1c_defs/all-defs/RICindicationHeader.o new file mode 100644 index 0000000000000000000000000000000000000000..945cff0449c0612d186ab34dbd38dc389b5ac026 GIT binary patch literal 1880 zcmbVMO>fgc5S`TJyG2w&q7s*IqDXWVqe`G6AxkDri%?soDHjgT##uE6VxxE?!38e- z53c|oT^1_ya00da`^?8C@gpAItatv?$+sKnd)Wtsn`*{ZGTxX|BL@j z^mc^*sMK4RrTtgo*PkYX*Eksf4_2D&sCz9s8zysjaD}lF-ow;^Yn9GBJ*HO%1RmVr zw89=-udoHX2sYThGgEkjxtOUnn*6Rs|JI^6Js=_mnWxdq{$AAZ_(WQs<&pnCOHn&I zj*h}ne-xdJh6jg(LOWBbS|o9lW>K7_xn9U5)kWpxIQ+*R7JZ-T>jqOA8%*omHn>P4|2)@n0s>D}=9xuWebOMNQcDn%JO{DJ zh>+74K2r5T7G*-V3L?(tbA{s(X{MDJ9G-6HTE_4BrkBU}v6aqn)mb8NxTWOf@c;>F z?i&oI;EzXO$XzZXw)@*mKEm$)W7H^SWvZ^-3YFkFCVJO{ zlGazV;JHz5Vy5So&PrjQ!&iuDfA`DugG?CwJJQ65C{llqiY$H_O!MJk&u#NtELzNc yzd2#p^%8ggJK1gj%rx9WjehR==?m!29wiu?MZXha;qJeIwWj`aBf77N+y58AUV?1^ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICindicationMessage.c b/asn1c_defs/all-defs/RICindicationMessage.c new file mode 100755 index 0000000..5d4d179 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationMessage.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICindicationMessage.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RICindicationMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICindicationMessage = { + "RICindicationMessage", + "RICindicationMessage", + &asn_OP_OCTET_STRING, + asn_DEF_RICindicationMessage_tags_1, + sizeof(asn_DEF_RICindicationMessage_tags_1) + /sizeof(asn_DEF_RICindicationMessage_tags_1[0]), /* 1 */ + asn_DEF_RICindicationMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RICindicationMessage_tags_1) + /sizeof(asn_DEF_RICindicationMessage_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICindicationMessage.h b/asn1c_defs/all-defs/RICindicationMessage.h new file mode 100755 index 0000000..6148696 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationMessage.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICindicationMessage_H_ +#define _RICindicationMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICindicationMessage */ +typedef OCTET_STRING_t RICindicationMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICindicationMessage; +asn_struct_free_f RICindicationMessage_free; +asn_struct_print_f RICindicationMessage_print; +asn_constr_check_f RICindicationMessage_constraint; +ber_type_decoder_f RICindicationMessage_decode_ber; +der_type_encoder_f RICindicationMessage_encode_der; +xer_type_decoder_f RICindicationMessage_decode_xer; +xer_type_encoder_f RICindicationMessage_encode_xer; +per_type_decoder_f RICindicationMessage_decode_uper; +per_type_encoder_f RICindicationMessage_encode_uper; +per_type_decoder_f RICindicationMessage_decode_aper; +per_type_encoder_f RICindicationMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICindicationMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICindicationMessage.o b/asn1c_defs/all-defs/RICindicationMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..17eaf02e0b0ba2c8b8bb085a02f96e1760fda396 GIT binary patch literal 1888 zcmbVMO>fgc5S`Qo3bcqGkdU~96Gft{7*zrlge;jf6hT|1=>c(YHts61Xl#_-NN|B8 z|AP}peg+5r3^#5tWA8e{%Arz6is!vIZ+5dE_UG=ay_HrAT(saBESOUP+N%p3l`w)0 zScm?8oaLukDos}8ua(wvtQOAmkw2Hu&mW<3+@#ct%22ydTl@u zz*SCb9Kc$Q9e9dhlg&G^g*TYXJ#|K#r%UuNOZ3JIB2th#Po8)8lBWBU7&+ES_+L+1 zJUmJc<3V?j91r^Y2fb1ot6a^pG|7u3EplyUGRsX_IX;U2u_yYyO0~B>I)8o&ZpVDx z?G5ScYz#Ut3esIK@hy5_`1*@VF7*wIDGeNaTf4qIYnzt&L3I@kuX^?_evf;j%YG3m;wFau{(D%XbGT^#1MH?uA%zeK(Vc7Q)_y0TDUH`;3Tt|(5{`%=l={ok$Vzb1bF EU(LFNg#Z8m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICindicationSN.c b/asn1c_defs/all-defs/RICindicationSN.c new file mode 100755 index 0000000..8025d15 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationSN.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICindicationSN.h" + +int +RICindicationSN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_RICindicationSN_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RICindicationSN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICindicationSN = { + "RICindicationSN", + "RICindicationSN", + &asn_OP_NativeInteger, + asn_DEF_RICindicationSN_tags_1, + sizeof(asn_DEF_RICindicationSN_tags_1) + /sizeof(asn_DEF_RICindicationSN_tags_1[0]), /* 1 */ + asn_DEF_RICindicationSN_tags_1, /* Same as above */ + sizeof(asn_DEF_RICindicationSN_tags_1) + /sizeof(asn_DEF_RICindicationSN_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICindicationSN_constr_1, RICindicationSN_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/RICindicationSN.h b/asn1c_defs/all-defs/RICindicationSN.h new file mode 100755 index 0000000..f0ac286 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationSN.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICindicationSN_H_ +#define _RICindicationSN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICindicationSN */ +typedef long RICindicationSN_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICindicationSN; +asn_struct_free_f RICindicationSN_free; +asn_struct_print_f RICindicationSN_print; +asn_constr_check_f RICindicationSN_constraint; +ber_type_decoder_f RICindicationSN_decode_ber; +der_type_encoder_f RICindicationSN_encode_der; +xer_type_decoder_f RICindicationSN_decode_xer; +xer_type_encoder_f RICindicationSN_encode_xer; +per_type_decoder_f RICindicationSN_decode_uper; +per_type_encoder_f RICindicationSN_encode_uper; +per_type_decoder_f RICindicationSN_decode_aper; +per_type_encoder_f RICindicationSN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICindicationSN_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICindicationSN.o b/asn1c_defs/all-defs/RICindicationSN.o new file mode 100644 index 0000000000000000000000000000000000000000..07cd57f0dab2dcc513350fcc2c0ac28a31ca34d6 GIT binary patch literal 2816 zcmbVN&1(};5T7(^tJavRhk~MeQCqantQ4$0NF=RpCDc+s5JlrQ*|yPSBiT(+4}Na*YkM*Qdz?6a` z(A5|PSYFqa^HR*i0A#^=`2EyWd&OzL3n%Ok&fO!O4#1M_JY0FzK??Ue_doX)AN3X= zZz8WNJDo^y+TWb^PpAFXUOw7cId{JO{=)0cyYd)MIew9jkumyT*`gfnl}~Tv`O(sY zEUSJR43q{FB|^md-?$J5+`zZXrHVHn9B^y35h=`06{>!vT6V)~!#_1G%CI{ax0c*m z%d`AOXf0HiJl`5ZaCc=`?v)#U5H{VaA6oNnwdPggT_e`tvibL(*(+23cZA5IkJ#}- zVcZ%zGuQINmUT#sirk3ZlA3+X9uv7yVGl<*Y*T?#H)kPrJ)7Fz-`n>T58sdY4z<@J zK9R}Z?{PDO#f)_}Gk7$UEo{j2O>Uf)h%!uI^c`#9YhusRi8mA=jekj$#z;w&hP6pB zM$s<2W|4+oO^d{>$WpLA#`&a!67S|S6I)Q8U3(2ie50<$avJ($nT2ywSe^exiLZ-$ z!1i+rXIY(6wj)sd0FXnXXqU6Gxu+g!u6hz%Q7uU`rIJhqD3Q`w-nR# z&(dKDWWqMu5JvM#C-xuKL6kXvj*~|$$^Wo2IAQp+AM?}7-^~BHGFUYHEki$vdQ$zb zsrtWA_EdkG-kd+z{}N(!)Ngm3>=eNB93e@jK94B*=c4U+?N|QPAD#HSnKy8gW!-Mf zOh|2-whxrQY0mzR9u#H%eui(OkW{}x8bU~1C#oO)7h-?LDIfD}gy4<>KdOXj2GV>n h{pmlU*?WZGvMTgTQZzEZpJFEY=T!brG+z=;|6ij<9T)%r literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICindicationType.c b/asn1c_defs/all-defs/RICindicationType.c new file mode 100755 index 0000000..2488757 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationType.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICindicationType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_RICindicationType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RICindicationType_value2enum_1[] = { + { 0, 6, "report" }, + { 1, 6, "insert" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RICindicationType_enum2value_1[] = { + 1, /* insert(1) */ + 0 /* report(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_RICindicationType_specs_1 = { + asn_MAP_RICindicationType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RICindicationType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICindicationType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICindicationType = { + "RICindicationType", + "RICindicationType", + &asn_OP_NativeEnumerated, + asn_DEF_RICindicationType_tags_1, + sizeof(asn_DEF_RICindicationType_tags_1) + /sizeof(asn_DEF_RICindicationType_tags_1[0]), /* 1 */ + asn_DEF_RICindicationType_tags_1, /* Same as above */ + sizeof(asn_DEF_RICindicationType_tags_1) + /sizeof(asn_DEF_RICindicationType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICindicationType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICindicationType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICindicationType.h b/asn1c_defs/all-defs/RICindicationType.h new file mode 100755 index 0000000..84b3857 --- /dev/null +++ b/asn1c_defs/all-defs/RICindicationType.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICindicationType_H_ +#define _RICindicationType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICindicationType { + RICindicationType_report = 0, + RICindicationType_insert = 1 + /* + * Enumeration is extensible + */ +} e_RICindicationType; + +/* RICindicationType */ +typedef long RICindicationType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICindicationType; +asn_struct_free_f RICindicationType_free; +asn_struct_print_f RICindicationType_print; +asn_constr_check_f RICindicationType_constraint; +ber_type_decoder_f RICindicationType_decode_ber; +der_type_encoder_f RICindicationType_encode_der; +xer_type_decoder_f RICindicationType_decode_xer; +xer_type_encoder_f RICindicationType_encode_xer; +per_type_decoder_f RICindicationType_decode_uper; +per_type_encoder_f RICindicationType_encode_uper; +per_type_decoder_f RICindicationType_decode_aper; +per_type_encoder_f RICindicationType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICindicationType_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICindicationType.o b/asn1c_defs/all-defs/RICindicationType.o new file mode 100644 index 0000000000000000000000000000000000000000..bab35bf3eab3cd002fb77b1761c47d09863bb7a0 GIT binary patch literal 2608 zcmbtU&2G~`5Z=^=#~Ts-~7E_`wv1jG}^#_$V(RK(N(=ggZLAJ%OVHU_2 zu^o5%a$ctWE-mDyAz@x~iRNrvcl@jsEyMZWmQBc!d937y#y4du^L7%YSyXl&w^RE@ z!2jC(yLfIk&U=jbtTBL#WFu})vvvp`8aSSNmWO2EI_DV#y+$_TuD^)!ka%YQ*bnMybfCBrQTvo$+t@Q8?lOozg`r=&ogw88TbLXvJ>ktS{$`t z$niT_5<@)6x?Kr_@zYF6e`$Gju26CEh8y`meFf6-o9%lsJY-qqnsOB!#LQV?Jj53W z?`!D^QDuYlHPAQ%JO8uAW7n>K0|JQ6Gl4YcS1p|LS%(lu+pfP07z)q7^v3(Y3jw@a zLne^kqYHPJ{L`TEzvBOm&&6ZFu>SBy1_z`@4bGJA;LZ6AyadD5e@OW~CX%jN{tEc6 z{y)*7Un4&DkF~iz_x~C&ELDfcly6iY=VJ=NItTFr9>z@G4;Sd*BF)}AT<0g{?~y(O k81ALr{|UhC*#jiL5_s9_!*caq=gQxw{riZE8Di)E29A%>_W%F@ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICrequestID.c b/asn1c_defs/all-defs/RICrequestID.c new file mode 100755 index 0000000..1e4288c --- /dev/null +++ b/asn1c_defs/all-defs/RICrequestID.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICrequestID.h" + +static int +memb_ricRequestorID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_ricRequestSequenceNumber_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 65535)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_ricRequestorID_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_ricRequestSequenceNumber_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RICrequestID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICrequestID, ricRequestorID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_ricRequestorID_constr_2, memb_ricRequestorID_constraint_1 }, + 0, 0, /* No default value */ + "ricRequestorID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICrequestID, ricRequestSequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_ricRequestSequenceNumber_constr_3, memb_ricRequestSequenceNumber_constraint_1 }, + 0, 0, /* No default value */ + "ricRequestSequenceNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICrequestID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICrequestID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequestorID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ricRequestSequenceNumber */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RICrequestID_specs_1 = { + sizeof(struct RICrequestID), + offsetof(struct RICrequestID, _asn_ctx), + asn_MAP_RICrequestID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICrequestID = { + "RICrequestID", + "RICrequestID", + &asn_OP_SEQUENCE, + asn_DEF_RICrequestID_tags_1, + sizeof(asn_DEF_RICrequestID_tags_1) + /sizeof(asn_DEF_RICrequestID_tags_1[0]), /* 1 */ + asn_DEF_RICrequestID_tags_1, /* Same as above */ + sizeof(asn_DEF_RICrequestID_tags_1) + /sizeof(asn_DEF_RICrequestID_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICrequestID_1, + 2, /* Elements count */ + &asn_SPC_RICrequestID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICrequestID.h b/asn1c_defs/all-defs/RICrequestID.h new file mode 100755 index 0000000..737fdb5 --- /dev/null +++ b/asn1c_defs/all-defs/RICrequestID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICrequestID_H_ +#define _RICrequestID_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICrequestID */ +typedef struct RICrequestID { + long ricRequestorID; + long ricRequestSequenceNumber; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICrequestID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICrequestID; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICrequestID_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICrequestID.o b/asn1c_defs/all-defs/RICrequestID.o new file mode 100644 index 0000000000000000000000000000000000000000..b43a8b6c4f0901701b9134b65fad10e632aec039 GIT binary patch literal 4344 zcmcImO>7%Q6duRW7*ZU!KouxzSE7YfC0lQZ)F_9_sqJPXnKU@0LV(z8oXt=1Pw}p! z@FOs4D`6o-4jkZy#1RfT^nk>r5)!RAp`4JozzvDNf&?dod2ja3`gw39T;NHb_ue<} zZ{Cb&_Vs+>+(0ZQ6vf0D(a{tt#N_^toRMNi+$#}SJAGZ2p) zf0B-&G5B9RNRHO-_n&XCn!`u0$SV5HfBJUwpJe%E=5QDQmZBen1-3yEHUdfM{qX-f zzGFyKwZK^0*z~H#D1gUT zPRO}Zt?CDLccU5@tL{eGTZv|QAW`2a6~m~t`fQG=3y4-r-dv-y?A80}hiacYSwGkq?w*DtrH1kXNTK0EofN5>3n#|Cw-7g~Cyf3;AZKsffo#GLn^W1UIrrpC6X^ zzUXWz`%%J`&Usw0$Brh(!2SU1^E%;Y0Z(yfl8bxbt9#&rUz~6QSG>xy(|vzBomeD@^88~4f-aXw#k z_FjQAF4Oif>bVN%abXs+X&lCJ2&>Z3u%Lnb8Y}{+H5uO z*68^;N&ANPAl^}b$QQfao?!U>40jpM?JEpF#Oyy}IJdvXa323#hI9KL8P4MqEN>3H zRi+5Q_XP=#oxE)nuFfpt51;|j2yw)R;b)MJ?+B8P+aWCR2T4Yz{>NyKw?`9xNK0}I zzMZ`YR$$3D!Eev9EeegX>wLWc1br5KL!n=}#L8=Zb$ zAe{FZ`=-bs0b}qwReu!TBs*dHFI56}8F)|+`MQ$oUfDGRZz~YyiW|7XT=soo)@!Js zxn)jvs}`u}BMm^(RI^+wxd_S#!YtJ)6|V}>;iJzpXXX~i{J<@}KwjRuvs!m6o+|X; zaRc13#rg}F0SxK4kVRuEl0pIZ5Z|;+s77Ogo~rAFpdaQ@`=ieHBZTukN0$uk`wl9M z3?`$9-zykX_rFE{Xv0Z|@jXXuoEw3x{INbxs(uwG1Czb{578m3ac8ncNclfSvR?lO zhMudi2~F;ybEeoudPQp^xs5 gd!p|>K;ljMlzmlOu%^PdSa1Jrs{ca_#z^=73rGV2j{pDw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICserviceQuery.c b/asn1c_defs/all-defs/RICserviceQuery.c new file mode 100755 index 0000000..b6325bb --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceQuery.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICserviceQuery.h" + +asn_TYPE_member_t asn_MBR_RICserviceQuery_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P13, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceQuery_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_specs_1 = { + sizeof(struct RICserviceQuery), + offsetof(struct RICserviceQuery, _asn_ctx), + asn_MAP_RICserviceQuery_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceQuery = { + "RICserviceQuery", + "RICserviceQuery", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceQuery_tags_1, + sizeof(asn_DEF_RICserviceQuery_tags_1) + /sizeof(asn_DEF_RICserviceQuery_tags_1[0]), /* 1 */ + asn_DEF_RICserviceQuery_tags_1, /* Same as above */ + sizeof(asn_DEF_RICserviceQuery_tags_1) + /sizeof(asn_DEF_RICserviceQuery_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceQuery_1, + 1, /* Elements count */ + &asn_SPC_RICserviceQuery_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICserviceQuery.h b/asn1c_defs/all-defs/RICserviceQuery.h new file mode 100755 index 0000000..8c014af --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceQuery.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICserviceQuery_H_ +#define _RICserviceQuery_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICserviceQuery */ +typedef struct RICserviceQuery { + ProtocolIE_Container_8180P13_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICserviceQuery_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICserviceQuery; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_specs_1; +extern asn_TYPE_member_t asn_MBR_RICserviceQuery_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICserviceQuery_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICserviceQuery.o b/asn1c_defs/all-defs/RICserviceQuery.o new file mode 100644 index 0000000000000000000000000000000000000000..3ea47365aff6b28dd345c067a2a24bbc9ed8afe7 GIT binary patch literal 2480 zcmbtV&2G~`5T4Zh|Fjf1Ai*J=C=y-8r4kWH$PnC81Z~==Qg5!~T1`a~N3nxiAwdt^ zx$+9!cnr94=L5FII=Z@!&xX1(6sy!T%&O_fR@R)WVcii8C?Iz7T( z4n3HGY1mk)rE&kwUKFnn;{E~j`bm~VNqfalM}of~vzHl9lKyL+uAjo-H=53!6hFrT z6|Kmmc?nN*(9NS@xmJ5vp4)5=y4j%oKrO1uygSGv_nli+l||*=EqGme3{(A6@XPvc zj`fQIIAG4EDCyvc%^d7tGY7QI!3o#Um*6~H;aFEXaCWTB0_V$s=qPruj?EmnXrnRz z!WiE`W>%YLi!)xM*L#WZ?F9ZK@>J)L6SvrZ&iT=M$)5Ozysf@@a8v|g+6|uhOM!8u zf-Kxk12-Rj^`veaUWnVAVA1EowR+I-*EjvunhyekDCwqIKiunPMe(N_W5tWMje2ct zB<;nKOpChKhX+5XCEX0G#{Hn`Rx5S)KCclu+Nb(%ImcrrFKb5pH0O}J!I*gZ%91xX zfv59HM)@;2Djs#l#7hmLw&{UJ{A`Yj$0x?bU)A{U8c**fwel>iw=p2jykR^&NyDc84vx{<{;&QXYN;mOH@bNo+|o(J z(qBB~5jOj8BS-e5aKmSLhzjrs9o>aq5e}a%z95g7xrCnflk6ke_iM=6`g=UV3hTv{ z1+agC-qwGM52f^>{&bs}{R8BvmHE%nPt9@jd(r zr{{gKk(OLaGv`iqME{lRTt<$5=KIq>k@@YBf_)}`QlObRExJ=|`W~i+=p CVz#CL literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICserviceUpdate.c b/asn1c_defs/all-defs/RICserviceUpdate.c new file mode 100755 index 0000000..dd106da --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceUpdate.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICserviceUpdate.h" + +asn_TYPE_member_t asn_MBR_RICserviceUpdate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P10, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_specs_1 = { + sizeof(struct RICserviceUpdate), + offsetof(struct RICserviceUpdate, _asn_ctx), + asn_MAP_RICserviceUpdate_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate = { + "RICserviceUpdate", + "RICserviceUpdate", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceUpdate_tags_1, + sizeof(asn_DEF_RICserviceUpdate_tags_1) + /sizeof(asn_DEF_RICserviceUpdate_tags_1[0]), /* 1 */ + asn_DEF_RICserviceUpdate_tags_1, /* Same as above */ + sizeof(asn_DEF_RICserviceUpdate_tags_1) + /sizeof(asn_DEF_RICserviceUpdate_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceUpdate_1, + 1, /* Elements count */ + &asn_SPC_RICserviceUpdate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICserviceUpdate.h b/asn1c_defs/all-defs/RICserviceUpdate.h new file mode 100755 index 0000000..fd1f941 --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceUpdate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICserviceUpdate_H_ +#define _RICserviceUpdate_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICserviceUpdate */ +typedef struct RICserviceUpdate { + ProtocolIE_Container_8180P10_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICserviceUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_specs_1; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICserviceUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICserviceUpdate.o b/asn1c_defs/all-defs/RICserviceUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..bec5f52b28b68e71aa4250bcb523d8697fec966c GIT binary patch literal 2488 zcmbtV&2G~`5T4Zh|FjfwKtf32M3Lw!t|AeEgbXGvMbL&;LEIe2SZzfTTd{-6h4#Q3 zaN#KskHHO&JO)S{xWSCQlT0@o36+uTnfZ3UneqPlp!sxlu2KP(3fzZ@$0)$>lM~x3 zOb-@d9=6u~EFQkui{f_rD$HX@he@79NpHQGO&GH+vzF=4V*YEKi38_tFvg#o z!e1b=DEi#h5eaHpi-`v_@DGSnoGWmg?Up}1 zl%;XRtx@6D`1A*UGRQG+JPaCcqt4J{VI3OnG!B`s>FHjD1KhYkh-dE!fCZR zZfOQi=ahuv7YeIGxw?Ts27YSgmce zm$N*KUW?9;XI?`Z&A};y?ioJ26f5NhI)s@wjVFVIZSrs87|rc*`L~fvIalzJ;%Vo) z1kvXDtSOFcvwjCLlJBJ&zpG=bH146IJJBoM@jKNQ=O~h>VJ>6hU z^I28d(E15#Tm6ncd|Zd>)2(LK4-lhL<{u>0_38eXBF`4#JNQtj+2?!Br}dGd;etbW ziVtHl?z0WF#8Q~qJLO^i7oF!KV)U5bPk$tH?Gb`~4gMlWh}jn14_3aO|3kqg)8zjJ DAe6ZS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.c b/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.c new file mode 100755 index 0000000..44b4ecc --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICserviceUpdateAcknowledge.h" + +asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P11, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_specs_1 = { + sizeof(struct RICserviceUpdateAcknowledge), + offsetof(struct RICserviceUpdateAcknowledge, _asn_ctx), + asn_MAP_RICserviceUpdateAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge = { + "RICserviceUpdateAcknowledge", + "RICserviceUpdateAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_RICserviceUpdateAcknowledge_tags_1, + sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_RICserviceUpdateAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1) + /sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICserviceUpdateAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_RICserviceUpdateAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.h b/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.h new file mode 100755 index 0000000..0bb299d --- /dev/null +++ b/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICserviceUpdateAcknowledge_H_ +#define _RICserviceUpdateAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICserviceUpdateAcknowledge */ +typedef struct RICserviceUpdateAcknowledge { + ProtocolIE_Container_8180P11_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICserviceUpdateAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICserviceUpdateAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.o b/asn1c_defs/all-defs/RICserviceUpdateAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..5b50c08fcc5df39adfa3d767286b399429d12e31 GIT binary patch literal 2584 zcmbtV&2G~`5T4Zh|FjL_fCLiZM3Lw!t}2K?LM|aKMbL&;k$Q6-*Gj7Gohpd<%RVCX3nVC&q_ zcBJXR3{1nuYB>%%Z}$A4*52`wV9DPPql0F!(+Hs5iIT{VnyZy~82pcx*^B9qOZT@t zJ$?$E-zYlvzxH!XP}Gu)>r3I(gDws^E9LT|!d$K14U=x+p;#2fdAln;`@LNf#YJJ? zOL0B)m`(Z5z^}};S(!TyV1e09n$p6VEU~acmRN9h1ip<(4lcqh&*+gBoFC!8V7{7A zapYT=Crd22oCPEQ(g=QlNM7r6ml>Z>>$OzimofNP#3@gYiCe6HNPM_1btdw-FrOP)gpe^O1wG<+>%u9Dk}-zCLr*(_CVC*7(^!`hnTjo(G8lOoF>a~MKkg}0%ZsY zKWeoC+;9;_Ng!6%YV&d8`TJVur!#M27`+4Sw<8ldavU9qtIHj92s3XgM<;2v8Gje& z=-r++{yxT1&INpQaoADkNX@DGN)wN4vwjaTlA}}&#=^i#jmN0yPIXduF!uSP{mIA` z)O4QIIa23-9kHzX+uUH0# zBD{eQQO!O-b3E;jE)2^U!rS;LOy~8pzzi + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICserviceUpdateFailure */ +typedef struct RICserviceUpdateFailure { + ProtocolIE_Container_8180P12_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICserviceUpdateFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICserviceUpdateFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICserviceUpdateFailure.o b/asn1c_defs/all-defs/RICserviceUpdateFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..5b560eab64593c42c3cc83782e62abced43f0931 GIT binary patch literal 2560 zcmbtV&1=*^6o1?J{n1+SAPBO8U;ew2dtb-qLIu+Qr>uNwT6B-Mbf$ z1+N~wdG+YgW4-xj=+TqDHy^vxX;P$pka_R@=6%h~o5?%xX=|!h14T7>025820M02* z=Ar{LFb(S~ZXRc^x>4L7Y=uSK3cI~w7Q-M*i!@4mD_%ZvJc4A_V(L{P|JP3UpF-s? zl8zl$evAPcT9B%`6izkhj0sAFsuO^fq=@!N* zBMZ)#!DxT(0R9q@S*^|;Y4IMpo=Z7?tiZn@PH{%k@P*_*I6hgI>WM#ym&LETSS*4t zPl88YE2y}7K@o1}fz8dHJ@gMVTZnto@Q`>s(3&4?c+cD3s_TIgf+$V$A`81oA(Abv zS0)qXZ1`@aMLvilRW?=Qj~|f0O_Kt%#97d^n+@Mykb6pu`daU1E?%)i`X8sXkL_Y-^kM*%6g!{2;5^_N60Ag6v(eWdzo z4Y9KPo3g-$^jEB|1j(NuFU$W~UP_gR^3&^Q<_{2~ROX-NgUo*g=XBEV7UA3Yk*Qhd zC+Sb;qmzWW58(s+6sFtlm4PL;WM + +/* Including external dependencies */ +#include "RICeventTriggerDefinition.h" +#include "RICactions-ToBeSetup-List.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscription */ +typedef struct RICsubscription { + RICeventTriggerDefinition_t ricEventTriggerDefinition; + RICactions_ToBeSetup_List_t ricAction_ToBeSetup_List; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscription_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscription; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscription_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscription.o b/asn1c_defs/all-defs/RICsubscription.o new file mode 100644 index 0000000000000000000000000000000000000000..63811d4258628c69a3dcb3f84fc67ba7532cddab GIT binary patch literal 2776 zcmcIl&2G~`5T4YO|56HAcvjGu&o;=d@pmhq#Hq^5XM7L0hNI|!&gi_HMFrSTe#{3YGY zu>}`%%-|z}8Es$t%JCWXRSweh*Ao6)3IC&nHwS_Uz)xduxv}CIqr#JZJN2B*{d{S2 z%supMHS1%Zv>OI_=3;ZqkA>&Mjw)TyIcvGm^tKu=b{gyT1~Bk~Bu-_|k7B8>IxHS& z+P?g3u%%u;**tTy(fh5xW#`c*F?oJA#51P2S-PPRe;F?uFA|y`Bqsl4NN4G8C)p zJJnSB!Rve(rv*1Kk@iYwtc$A~8dk@XGdB?tXHGIVk2ns@{M+cJvpsG8J87Tb>by5F;dZ65g`qOkb`+LYyEAzi + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionDeleteFailure */ +typedef struct RICsubscriptionDeleteFailure { + ProtocolIE_Container_8180P5_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionDeleteFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionDeleteFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionDeleteFailure.o b/asn1c_defs/all-defs/RICsubscriptionDeleteFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..9350982a56852decf9425fd0217fc22a98663009 GIT binary patch literal 2592 zcmbtVOK;Oa5T4Y$A1y^lAR(l1qLt_>u8N4LgbZm~ib@+=RpRD2#%d!HJBl|FaDe^< zj=gc=&X3^IV~;&@<^;b0X4bRGcH^W_M)JUAUNbQ76`No%#54x<0fvU{=pQQ7{M zXU0#U^Bcv){?~qn2}(wiQGIEgdN9Q!XQfhkRGisv^kUg7J`@Y0H0Sn|=YDX@qO>5~ z*$g*BkJ*&}4E)Mno0Gfa01nvQWGNk-$rA@F) z$C2+~o;-2javqHQOGEg3M5c{CcbV}SwOLCCejR~-L!9#LG4U1a9||9=OP`6GxG{P8 z$9`BMgdmOmrRuUj?)&p)u#@_(;=XuNJCQpdwU~WUW|eZI=5JMBZdcbURnUeXCUGje zK{J+F*{7T1%Vyne)hgp@X(tNxQmDCF|7P(kNi4Bm)b-15xm0_=FPs&fd-L>N7=i0O zApRtCNZn$aa5^=bH!}jK@12DBQ_9MQ8ry{H90b*AKp}iuS=q49HsRL|{LsK@U3b_w z*LCc4i}YPv1`QCnEt%fcmWKBv#h9=TaGjZ;Z}QXWqszdI!euMT;s^)k0V9`S|ylaVW^ z={)Ikq|f~ZVtMuJ++d00wJK_Z^>fsD^$+-?)ODyn-HvvBA2BLr|A{_v{Tn!Eiur93 zzJm`@?LNP7JnfGu467KzJNRhK + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionDeleteRequest */ +typedef struct RICsubscriptionDeleteRequest { + ProtocolIE_Container_8180P3_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionDeleteRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionDeleteRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionDeleteRequest.o b/asn1c_defs/all-defs/RICsubscriptionDeleteRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..83748c42d70cf990e5b2309916dd61556d23fd91 GIT binary patch literal 2592 zcmbtVOK;Oa5T4Y$A1y^lAR(l1qLt_>E|rL=gbZm~ib@+=RpRD2uGLngc8E6;aDe;- zj=gc=&X3^IV~;&@<^;b0X4bRGcH^W_M)J2r6rg^t zZ+pu0U;@TreYui$8fn|nh)f!N?l9vsYO|IO{5k~xhB)QvGVvAb9}4fUOP`6GxG{P8 zM}Al$gdmOmh3cX|>ihF$u$}s@;=XuNJCQpZHJN=Ts$kh;Y-;dE*=Z)ylm-#ZEMCzO>9HMR-YIS8uLfI|4Bva(^HZNje`_@RN*y6&)V zuIt$87U{b^88krPwq$xoTQYhpL2Lyw0MSTO5bcBr|%_Iy6R3RY3 zWN$CRO&4(@BeAr)Ig`pDd~I}oI`cM$(K|4HKPr)@#=(KOrrbq`F#E>xOp;;S@%M0! z-tB4Q?_(_GoW;i!kDX}~L|fO_ns{W}^}C3X9A&CE7JF7^%%h^a)yv%8c*Ga(Pe!hw zrt_rFkv{iph~?F5&uDdx9D z_%=R7wfp?S@w7jtFsxz-Z{edclXsX0=5UE-_fC0q`~l~=iWoii`svSR?>$1W&)~e( Uhvlj}B`^LvzyB^JGsKSn18X$hZU6uP literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.c b/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.c new file mode 100755 index 0000000..3aba61e --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICsubscriptionDeleteResponse.h" + +asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_specs_1 = { + sizeof(struct RICsubscriptionDeleteResponse), + offsetof(struct RICsubscriptionDeleteResponse, _asn_ctx), + asn_MAP_RICsubscriptionDeleteResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse = { + "RICsubscriptionDeleteResponse", + "RICsubscriptionDeleteResponse", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionDeleteResponse_tags_1, + sizeof(asn_DEF_RICsubscriptionDeleteResponse_tags_1) + /sizeof(asn_DEF_RICsubscriptionDeleteResponse_tags_1[0]), /* 1 */ + asn_DEF_RICsubscriptionDeleteResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionDeleteResponse_tags_1) + /sizeof(asn_DEF_RICsubscriptionDeleteResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionDeleteResponse_1, + 1, /* Elements count */ + &asn_SPC_RICsubscriptionDeleteResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.h b/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.h new file mode 100755 index 0000000..52c3746 --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICsubscriptionDeleteResponse_H_ +#define _RICsubscriptionDeleteResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionDeleteResponse */ +typedef struct RICsubscriptionDeleteResponse { + ProtocolIE_Container_8180P4_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionDeleteResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionDeleteResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.o b/asn1c_defs/all-defs/RICsubscriptionDeleteResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..c4827db694b0240138ae2ee7fcc07ea9540ce379 GIT binary patch literal 2600 zcmbtVOK;Oa5T4Y$A1y^3kPs+6Q4n3lRU|5qkV~4DB4|UZO59w>SWQG~NAX621CXD< zv3K|f{0KPq$dMyA;1|HmdN-MFoCeBB-kJIKn}@v*zpFl3ohlT-NC6(e&@(7N^VHDx zl=qNgukKrX2Qgg z?_i!hao~I&jQn#W_!~rKS)WbK_<)+%GJ&7Q;GYqvJbg`kuJsRv58un|iR-v9dHIh% zSR#ZVjs2DCs(<7G^kuM{`mQ2BU9L?gFGg)mpO{-E-K_ar)o0t)jY<`a;fHwkWjAQW zGAsPBKA~{d;8v|NftPlo(7X=yR~uX}ekF+|R*bs-lDkx@mGx&IDBAyg7oO2GHg48} z@aaJ`z*WYl-D7z3V{kh6B$Q`HS=mt2HsK}*K|3^{5I(D{Y}nT};g=bHz;Jr68`|gZ zb!eB1^!1($8X$0KGTk(mj9y6)F9I2WXrw8KZbA+*UE!h|wF5OxmgS0e5(WgS5D;Oq zw-@2Ui#U;ySlifMNM#VdWSt++yoO=)4cKo;CGylbIuMu396E&AHgNmsc$s#$hPbE5hMAUsliwrSebDj72UC3<_^Yh`r`emkqfA4 zKbd`G_WdSedG&X6gC!krRM8k(KSrHb|3Du~Q-|u)Eos;H5u;M}AL+fWe+B2b@Uunu zEaEWI3PI*lH7oF!KV)WSWPk%Uj?Gb`~4K7=K TSgyKL^5Vbi@873nOzikSYFyxc literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICsubscriptionFailure.c b/asn1c_defs/all-defs/RICsubscriptionFailure.c new file mode 100755 index 0000000..a800d92 --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICsubscriptionFailure.h" + +asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_specs_1 = { + sizeof(struct RICsubscriptionFailure), + offsetof(struct RICsubscriptionFailure, _asn_ctx), + asn_MAP_RICsubscriptionFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure = { + "RICsubscriptionFailure", + "RICsubscriptionFailure", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionFailure_tags_1, + sizeof(asn_DEF_RICsubscriptionFailure_tags_1) + /sizeof(asn_DEF_RICsubscriptionFailure_tags_1[0]), /* 1 */ + asn_DEF_RICsubscriptionFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionFailure_tags_1) + /sizeof(asn_DEF_RICsubscriptionFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionFailure_1, + 1, /* Elements count */ + &asn_SPC_RICsubscriptionFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICsubscriptionFailure.h b/asn1c_defs/all-defs/RICsubscriptionFailure.h new file mode 100755 index 0000000..8c44b22 --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICsubscriptionFailure_H_ +#define _RICsubscriptionFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionFailure */ +typedef struct RICsubscriptionFailure { + ProtocolIE_Container_8180P2_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionFailure.o b/asn1c_defs/all-defs/RICsubscriptionFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..0439ceae047b2848a84ea4fe6a78bb2368d2e98e GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1y^lMQ{n?K#}Mwt|}3MgbX2lAZSgiNZee2$M3D2(KtnQ!N{yR+*z&Bx1Al?rI8z&$wBGzw5Z zaVUGa=)nw3!{%Be8?>{i-|5Ltnk#?9gu#$*jfH%VPek9rvF? zbsS>W9D zh)nU1!B6Yj9P5b#IAB&&gmiGmMh<4Mkpsua;46q!;51xNGu+dGlVkRtvey&Zk8}s) z*vNsiHW=;CjN!Y8%(6O3Cwhw?&y|BXyf48&Ax?3I$cdg6489?sW$V&C@e6TV{E~|$ zA_%i2c-UMH>^Cov;Z7E~xz&^V{$H#X_%Wsq!WW6}jB~vN>={w}ekC z8)BE0OgMFewwo`(R~bH|WMV$Ubqs>G89u9IV*3og$nXP()4JxA&ewIMYen{IPljy} zcnk&K)sl=~N)XRO8G>kM8Hj#L3R$|sMK$h*`7}v}D!OSD5}3Pyh|;~i7!O$_sf@+S zdTSw*Vf2DkKACtG-DvOGZzT`p<>UB3ww$h^LYVmydEAJ}rvD9`qrIKf{}%dEOxBX9 z0eJZca9wfDbbigrj$||c5HX_f1sjdkkyHqGkl?Syc;)KSFNH|3O_!orm(%Yi{Nb5TjJ)ALgCPe+lO}@w-L%4t`{6*7;HS z)A?{xaPC8R4?m4@y8|0&u_ZIJc8a6@zp6Or5u?vsKmD=HvquQ_6*y$j7 + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionRequest */ +typedef struct RICsubscriptionRequest { + ProtocolIE_Container_8180P0_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionRequest.o b/asn1c_defs/all-defs/RICsubscriptionRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..61709539620fb40f0ea830a83abda7d50585877c GIT binary patch literal 2552 zcmbtVJ8u&~5FY1vKN5nFf}k;?AV_58iy~oxgbvK*fgmx7EYV%gms4Wl+!^0mf(Fvj z(vgyaj)sz-KtYj`p8?_rz|7sQGgGMA#feGf|S*zajJonN6J#8ai==lY7Y`QsNNO}qBiFaa?O41)LyIU>qAc zaMlK+{h1Mb2a#!3C+S3QvGH6vh~4`V{1f67XAe2ivx31lu0ynpMa=-Z(tNFOA?8>9%Vb+?#hX1tXuQq(pLJ*}%Ci`J0kwvNp z>t(5mS~i-EGJ~uaN4jJxr8#^%f<~H1%n|p4x?8U`^`haL(Rt>l>J;ikCa%|(@X6ew z=q@Xna5@dzZngwpX84qni8UFnV-U2-@M$Fz+h_Pih95AT<~5^qKCdIER%EYsW!MIR z+feWwEy?($1hEy$5JWr6K=e~m$kG)qs&O~WheMr+T$l{}D__oE%za=L~JVdhKZaU&+1{x@)p)^=R~Tj)zM=dp3} zlyaSeDC_*1lO4%s{yoHqz87rRSBFv|+(kxjrdO!L{#_bMlpv9KV%-SiA_W!EloJWkBIe+@G%)Lhl_7yl|)M2Rjm)QNksP*5Y IV2n)vKXuK_rvLx| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICsubscriptionResponse.c b/asn1c_defs/all-defs/RICsubscriptionResponse.c new file mode 100755 index 0000000..b5d285e --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICsubscriptionResponse.h" + +asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P1, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_specs_1 = { + sizeof(struct RICsubscriptionResponse), + offsetof(struct RICsubscriptionResponse, _asn_ctx), + asn_MAP_RICsubscriptionResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse = { + "RICsubscriptionResponse", + "RICsubscriptionResponse", + &asn_OP_SEQUENCE, + asn_DEF_RICsubscriptionResponse_tags_1, + sizeof(asn_DEF_RICsubscriptionResponse_tags_1) + /sizeof(asn_DEF_RICsubscriptionResponse_tags_1[0]), /* 1 */ + asn_DEF_RICsubscriptionResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_RICsubscriptionResponse_tags_1) + /sizeof(asn_DEF_RICsubscriptionResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubscriptionResponse_1, + 1, /* Elements count */ + &asn_SPC_RICsubscriptionResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICsubscriptionResponse.h b/asn1c_defs/all-defs/RICsubscriptionResponse.h new file mode 100755 index 0000000..5a3d0c6 --- /dev/null +++ b/asn1c_defs/all-defs/RICsubscriptionResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Contents" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICsubscriptionResponse_H_ +#define _RICsubscriptionResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubscriptionResponse */ +typedef struct RICsubscriptionResponse { + ProtocolIE_Container_8180P1_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubscriptionResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubscriptionResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubscriptionResponse.o b/asn1c_defs/all-defs/RICsubscriptionResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..552a7a1e294a5036b9e5ecdfdc79c11190af245f GIT binary patch literal 2560 zcmbtV&1(}u6o2XZ{n1+SAczn_u!0@3rC?BywK1&~ZDUHn+jg@qZ7|sl*$L=HbNAx0 z;MIdSuO2;mtT+D*J$lmjX5S>!$!?MM!R~wSH^28WJ0JV5{&aPwR01s}cmNYmqX6D1 z!&asTb1)0d^;$Y?r{SQ}mz^YTMrl8Z(+K*5L?&UTJ2tWq17J7a#+4AmPKXJ9V*X#>sCc&S-7_|+zdTn zQ~ne1J9lnQ?ur9AV0V+HbZ{h39ITKh4xF5VuOU)`vv7$=%t!}LPw`inuLpD-`3~mE z69>-c!N@;1g}*{%-sp3e8Shb>wRGUe0{jc&lxM`m7p#9Md@?V+C;lLwm%r#>i4cM` z_8-+({eq+C%U~zl_4a(+h?0d1Ym_Jne#fZdqw)D zCxbQ!T#8KZYD-41C5V@S3_!Hg6vQAQhnTK#(T%!+8YatfMK=ip0#yizFzNLoTxby| zG7@VWt;JLZA)T7zNp=qa7{3>l&?`tw-^-L6=n!V#NS;YDY&-rIj?uS0YWy9HrJPIn znBuW>(*)7h^|dA**>?RAVkAE^HGY@JR%YBsMR%u{x#Ra&zEFQLasf5%C%upKzS=}A zul_bSSmAiB%GzN41a)5h&wMC#9jZ^apIzTaj7r&mnh#w63XYj#o-M+6@FA+*=O>P* z^)ZEE6+?I*AB~y3{X8&-OEkN8%A@1IbDoQc(PPh_{#^FjBLsU4Ubp(NTy>}9#ed`P LKcZxY*zx}W))~*Y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICsubsequentAction.c b/asn1c_defs/all-defs/RICsubsequentAction.c new file mode 100755 index 0000000..0d3826e --- /dev/null +++ b/asn1c_defs/all-defs/RICsubsequentAction.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICsubsequentAction.h" + +asn_TYPE_member_t asn_MBR_RICsubsequentAction_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RICsubsequentAction, ricSubsequentActionType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICsubsequentActionType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricSubsequentActionType" + }, + { ATF_NOFLAGS, 0, offsetof(struct RICsubsequentAction, ricTimeToWait), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RICtimeToWait, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ricTimeToWait" + }, +}; +static const ber_tlv_tag_t asn_DEF_RICsubsequentAction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RICsubsequentAction_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricSubsequentActionType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ricTimeToWait */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RICsubsequentAction_specs_1 = { + sizeof(struct RICsubsequentAction), + offsetof(struct RICsubsequentAction, _asn_ctx), + asn_MAP_RICsubsequentAction_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RICsubsequentAction = { + "RICsubsequentAction", + "RICsubsequentAction", + &asn_OP_SEQUENCE, + asn_DEF_RICsubsequentAction_tags_1, + sizeof(asn_DEF_RICsubsequentAction_tags_1) + /sizeof(asn_DEF_RICsubsequentAction_tags_1[0]), /* 1 */ + asn_DEF_RICsubsequentAction_tags_1, /* Same as above */ + sizeof(asn_DEF_RICsubsequentAction_tags_1) + /sizeof(asn_DEF_RICsubsequentAction_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RICsubsequentAction_1, + 2, /* Elements count */ + &asn_SPC_RICsubsequentAction_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICsubsequentAction.h b/asn1c_defs/all-defs/RICsubsequentAction.h new file mode 100755 index 0000000..3d47ed1 --- /dev/null +++ b/asn1c_defs/all-defs/RICsubsequentAction.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICsubsequentAction_H_ +#define _RICsubsequentAction_H_ + + +#include + +/* Including external dependencies */ +#include "RICsubsequentActionType.h" +#include "RICtimeToWait.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RICsubsequentAction */ +typedef struct RICsubsequentAction { + RICsubsequentActionType_t ricSubsequentActionType; + RICtimeToWait_t ricTimeToWait; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RICsubsequentAction_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RICsubsequentAction; +extern asn_SEQUENCE_specifics_t asn_SPC_RICsubsequentAction_specs_1; +extern asn_TYPE_member_t asn_MBR_RICsubsequentAction_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubsequentAction_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubsequentAction.o b/asn1c_defs/all-defs/RICsubsequentAction.o new file mode 100644 index 0000000000000000000000000000000000000000..69e969b50fee023285bfa394a01714bc658357dc GIT binary patch literal 2752 zcmcIl>uS_M6rOFoUs|g|1^+}SSiugPQcx;L>bh+eZP#A#XUxXXE_RdJWWgfn{`Up^ z=PUREf{)-M=o{!0==qW}-Pzem@q!1EbIy0JGm|-a+kCV%R;vj`HE~xAG=&mBIgtHA z^u>f27wZoiS+AYNFMDy4FGhJMO~igD+Ay%qgS{B|W~Uo(rcc98K1g?@WcFg}Rl#Fb zh9hvq{3JTU<&RCLDB{F_$g3KeA>o2jh*z!qcX9Np@3D{E%Z+{mPQR48n5^^3BKdgJ}3{@P2I~A*Ogfno`B!?>4$Pvd!;3-0C;x_RRZp)96V8d+}UPdC!lHh)GDX@%#AP={*z$;uHFSe>&=Hgv;s>o9$SZf6v z%_m#U)kae&A&Al>%lE@hl9xs9ty_zfEo`(JR%^BwN2<+=4vHbBtu(g`Guk%o6otV3 z2bs9qTj1k`NBO$KGH`q)F6+4GAQN9H;R2sv8LXw@surMU8a~M~*n17XsNr8U9JlB) z>)$o}63bvSXpjgD{x_iz>H9GB^~>y_n}=;7=?F`{qoh23l?(Yi%tImDStjIu3I(2? z^hk|&!@>;7P~~nKg#e2XA)~b0r9YIANt(xUd39?x%fskJ+1x+8uTm`5in*ziuPd6& z+jEFqBMF!}(fmV?VZn^QPG;=w-^Sy7kaLb6oqSd>_jFSA75B*q*{t6u3{+Q+r7B$J zirparv)5Mu^A#T1F2|oE9FY2s)IC`v%vS$1$JIHXVy+UHKO}CezrzQr>YzTRr&%9! z8>L46uMA9+O($1ZNZzIg@n)aX9Ix(=3gcxJF~IidQJC@pZ;domT1{W*Hdht@l>^R` kA0Bi4`16@(Pmri%Q;DXGf`&@}DtmmN_rH%M8kzCG0Et}Hs{jB1 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RICsubsequentActionType.c b/asn1c_defs/all-defs/RICsubsequentActionType.c new file mode 100755 index 0000000..e61edaf --- /dev/null +++ b/asn1c_defs/all-defs/RICsubsequentActionType.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RICsubsequentActionType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RICsubsequentActionType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RICsubsequentActionType_value2enum_1[] = { + { 0, 8, "continue" }, + { 1, 4, "wait" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RICsubsequentActionType_enum2value_1[] = { + 0, /* continue(0) */ + 1 /* wait(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RICsubsequentActionType_specs_1 = { + asn_MAP_RICsubsequentActionType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RICsubsequentActionType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICsubsequentActionType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICsubsequentActionType = { + "RICsubsequentActionType", + "RICsubsequentActionType", + &asn_OP_NativeEnumerated, + asn_DEF_RICsubsequentActionType_tags_1, + sizeof(asn_DEF_RICsubsequentActionType_tags_1) + /sizeof(asn_DEF_RICsubsequentActionType_tags_1[0]), /* 1 */ + asn_DEF_RICsubsequentActionType_tags_1, /* Same as above */ + sizeof(asn_DEF_RICsubsequentActionType_tags_1) + /sizeof(asn_DEF_RICsubsequentActionType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICsubsequentActionType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICsubsequentActionType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICsubsequentActionType.h b/asn1c_defs/all-defs/RICsubsequentActionType.h new file mode 100755 index 0000000..aac64cb --- /dev/null +++ b/asn1c_defs/all-defs/RICsubsequentActionType.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICsubsequentActionType_H_ +#define _RICsubsequentActionType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICsubsequentActionType { + RICsubsequentActionType_continue = 0, + RICsubsequentActionType_wait = 1 + /* + * Enumeration is extensible + */ +} e_RICsubsequentActionType; + +/* RICsubsequentActionType */ +typedef long RICsubsequentActionType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RICsubsequentActionType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RICsubsequentActionType; +extern const asn_INTEGER_specifics_t asn_SPC_RICsubsequentActionType_specs_1; +asn_struct_free_f RICsubsequentActionType_free; +asn_struct_print_f RICsubsequentActionType_print; +asn_constr_check_f RICsubsequentActionType_constraint; +ber_type_decoder_f RICsubsequentActionType_decode_ber; +der_type_encoder_f RICsubsequentActionType_encode_der; +xer_type_decoder_f RICsubsequentActionType_decode_xer; +xer_type_encoder_f RICsubsequentActionType_encode_xer; +per_type_decoder_f RICsubsequentActionType_decode_uper; +per_type_encoder_f RICsubsequentActionType_encode_uper; +per_type_decoder_f RICsubsequentActionType_decode_aper; +per_type_encoder_f RICsubsequentActionType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICsubsequentActionType_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICsubsequentActionType.o b/asn1c_defs/all-defs/RICsubsequentActionType.o new file mode 100644 index 0000000000000000000000000000000000000000..9d41c034b83f99715033b78acfcc4966d25e9355 GIT binary patch literal 2648 zcmbtW&2G~`5T3+^mcO>)gan6hfgn*Ut}1~*LM~}qKv1GW#nCvf)dm{7#Op#YaNq?v za^L|t_5nEb$OCZXz$3sDl$rHRy4fZv5+ki==9_P3$GhuIJ~SUMmrErODZxEB@&pC= zeEP`twdunQOasBhw{uMYkVU7R@K}4;$ntg;zsci7Ek>%7CeQbFVu;d2b&@=Ww_!(} zP{RzHeGqQ@CU=}&GlJu4l#%D)7{@V6_06fiRTz>#Vd1dSXxypR*4ufa^6D*j!L84E zx%RyG-fg$O;CeR-+|C^Ess04~IUE4laYl6S0KMIDar7Gx!;f{ZNe-MkM!t+l2`2lv zndumKpMZt~_NoEg*L9}AXJVaos`1HwhMDQWIc5zi2hI)x=zYOaG5X(P#y8ZnY@6x_ zIu&ExS{y9n1`Ok0LA=uM5}+onA1S3%4W)^sw_GGa&lC~Re=ka`; ziS%! z!sxX$@_)LxPeA`ZnU#FgF>G1~Q)oR1qr2P`pB-6OiB-j5eH}IJft~-!;)!d|e-i_Q z%?p9G40GSpPof?+B4~)$-TSAJ+dqfAlYzPyN%}GQafy3Nf0hj>D9F zo}c!|6oz#U;TaCWOy197;1Dj+?6sphzc~Lp>kEiY N; sorted by tag */ + asn_MAP_RICtimeToWait_enum2value_1, /* N => "tag"; sorted by N */ + 18, /* Number of elements in the maps */ + 19, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RICtimeToWait_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RICtimeToWait = { + "RICtimeToWait", + "RICtimeToWait", + &asn_OP_NativeEnumerated, + asn_DEF_RICtimeToWait_tags_1, + sizeof(asn_DEF_RICtimeToWait_tags_1) + /sizeof(asn_DEF_RICtimeToWait_tags_1[0]), /* 1 */ + asn_DEF_RICtimeToWait_tags_1, /* Same as above */ + sizeof(asn_DEF_RICtimeToWait_tags_1) + /sizeof(asn_DEF_RICtimeToWait_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RICtimeToWait_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RICtimeToWait_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RICtimeToWait.h b/asn1c_defs/all-defs/RICtimeToWait.h new file mode 100755 index 0000000..867a265 --- /dev/null +++ b/asn1c_defs/all-defs/RICtimeToWait.h @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-IEs" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RICtimeToWait_H_ +#define _RICtimeToWait_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RICtimeToWait { + RICtimeToWait_zero = 0, + RICtimeToWait_w1ms = 1, + RICtimeToWait_w2ms = 2, + RICtimeToWait_w5ms = 3, + RICtimeToWait_w10ms = 4, + RICtimeToWait_w20ms = 5, + RICtimeToWait_w30ms = 6, + RICtimeToWait_w40ms = 7, + RICtimeToWait_w50ms = 8, + RICtimeToWait_w100ms = 9, + RICtimeToWait_w200ms = 10, + RICtimeToWait_w500ms = 11, + RICtimeToWait_w1s = 12, + RICtimeToWait_w2s = 13, + RICtimeToWait_w5s = 14, + RICtimeToWait_w10s = 15, + RICtimeToWait_w20s = 16, + RICtimeToWait_w60s = 17 + /* + * Enumeration is extensible + */ +} e_RICtimeToWait; + +/* RICtimeToWait */ +typedef long RICtimeToWait_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RICtimeToWait_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RICtimeToWait; +extern const asn_INTEGER_specifics_t asn_SPC_RICtimeToWait_specs_1; +asn_struct_free_f RICtimeToWait_free; +asn_struct_print_f RICtimeToWait_print; +asn_constr_check_f RICtimeToWait_constraint; +ber_type_decoder_f RICtimeToWait_decode_ber; +der_type_encoder_f RICtimeToWait_encode_der; +xer_type_decoder_f RICtimeToWait_decode_xer; +xer_type_encoder_f RICtimeToWait_encode_xer; +per_type_decoder_f RICtimeToWait_decode_uper; +per_type_encoder_f RICtimeToWait_encode_uper; +per_type_decoder_f RICtimeToWait_decode_aper; +per_type_encoder_f RICtimeToWait_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RICtimeToWait_H_ */ +#include diff --git a/asn1c_defs/all-defs/RICtimeToWait.o b/asn1c_defs/all-defs/RICtimeToWait.o new file mode 100644 index 0000000000000000000000000000000000000000..846f7f3f7d824713b70bb7ace91d6845f0c745e2 GIT binary patch literal 3536 zcmbW3zi$**5Xawn36LLv4NW8x>7e0|V0C-3AtDl5vX#a26Y&D0z)`^|1@f5ydOuBHOx151E*Y%cyZYdhWiYX4f+vF33;=$i*g zw=fSHsAfFY`vsBtdCTuv8ONTL zaqK@t*27!=43u%%cO7r$XJ^k;YfH<+o*h_<*%EALczR@|G?%pnm%E3je2t0(TykN{I%}T7Ndhjx$!^ zLEd}i=8Jx(*`CAzNo1U7ylHBRr_58u=b2wue1Z9z;!Dh*DSm_bpNijP{8^EZm$ zX1<~LJ?17Z9(8TDOxg~-UXhl~A6gUN%4}xh<)Se0pbrC)Nt}?GuV&7TmUtDWoOre0 z&dA^Hce^=VnYh=tc|5DGgK9-_3M~$MJG(dXG>GOn)y^j*xTB zrm0GU^)b@82Ri?SiW5`!e}Wuf4GCZ^`D=$Mg2exe7jNs ztT%W;|6v>d6}T^$D@5+=MQWq}3BW*}@&L#6e~ofV$IlOZ%g>QVSEa#vk#yPkU-A#w zI_G2j7`q<-U1A8SQwilQFDUjW6d8_a{LxE0jQb}1AqX5g7PekHgjYHLH7DSo8}C#- ke!QDU_MX@VHjCsxuQqGlKfVQJ`Oo-=^!Lq7-_ZFV0r3XxOaK4? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RLC-Status.c b/asn1c_defs/all-defs/RLC-Status.c new file mode 100755 index 0000000..40b0d48 --- /dev/null +++ b/asn1c_defs/all-defs/RLC-Status.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RLC-Status.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_RLC_Status_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RLC_Status, reestablishment_Indication), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reestablishment_Indication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reestablishment-Indication" + }, + { ATF_POINTER, 1, offsetof(struct RLC_Status, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P186, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_RLC_Status_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_RLC_Status_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RLC_Status_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reestablishment-Indication */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RLC_Status_specs_1 = { + sizeof(struct RLC_Status), + offsetof(struct RLC_Status, _asn_ctx), + asn_MAP_RLC_Status_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RLC_Status_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RLC_Status = { + "RLC-Status", + "RLC-Status", + &asn_OP_SEQUENCE, + asn_DEF_RLC_Status_tags_1, + sizeof(asn_DEF_RLC_Status_tags_1) + /sizeof(asn_DEF_RLC_Status_tags_1[0]), /* 1 */ + asn_DEF_RLC_Status_tags_1, /* Same as above */ + sizeof(asn_DEF_RLC_Status_tags_1) + /sizeof(asn_DEF_RLC_Status_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RLC_Status_1, + 2, /* Elements count */ + &asn_SPC_RLC_Status_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RLC-Status.h b/asn1c_defs/all-defs/RLC-Status.h new file mode 100755 index 0000000..664033b --- /dev/null +++ b/asn1c_defs/all-defs/RLC-Status.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RLC_Status_H_ +#define _RLC_Status_H_ + + +#include + +/* Including external dependencies */ +#include "Reestablishment-Indication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* RLC-Status */ +typedef struct RLC_Status { + Reestablishment_Indication_t reestablishment_Indication; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RLC_Status_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RLC_Status; + +#ifdef __cplusplus +} +#endif + +#endif /* _RLC_Status_H_ */ +#include diff --git a/asn1c_defs/all-defs/RLC-Status.o b/asn1c_defs/all-defs/RLC-Status.o new file mode 100644 index 0000000000000000000000000000000000000000..4183c20123081307b51bae158466d33a7f8c2b92 GIT binary patch literal 2808 zcmb_dOK;Oa5T4Y$AEl)nkhmBLL6C?QmkJ^fC=k*DDy?a$)SGc#tBFYLD&9!t0y%Qw z&XJ$Mks}9w0RMt3+_=GvJri%XNmW&hw4QIidF`&(>-Wv&#i>#WL`v`w3QJgk+Q|af zGgyZUFb!+Vjmo+TR6m7Y6s0QI>a^2VH;Pr|S-jm21JzDqXg4d(Jr%_%8fj7J5XhX1 zX-_IKHOX-RPdR^44hT84i{?q=6pj-({#RWrH6mrSW;DiJx9pe6ONzS8Z7 z8u#q-##TR8efzGn;8ZJaKeOC-Zq2DKIPT4yr?iPewU5E?v3qQdbS_F*V9ql4Szr}G z8nUp%II-aPK6)CN5}XE`J(5ZLTEh4N^Iup$$oS%8s4`E=f`S)%69Ls1u^A}T#9w1u z`jTmB@$Al&1!r}0h%GoX!~#AdnAO(XV#jCH`gvg*Xno`O?-Tf+6L{@Ha6$;u*niSo z^zoMP^IO7K!A|PCndimhHQkew>s~`A)7>Z>#y|3O7gm~&I#O%Ymvkj*w0+ih)$`Yz zFE^SijV1{2L%f+(FKEZAnDyv|=4%(4EX?aADhZR$@OEn?vBDxz&#%qjc0IRtM|L>Z zbpG{INcRJY$;-PSem0B9AD0;ue;$X;Hl0@zlYg4i8Gn&6DNp0+n;)?Knl;tYPt_-l zpJPnwhsM*oN28zB9v@Q{Iz4E<)lfLcZ-v+hn<+>$EMSBXI z?LY- zU%^b;1KN9C>bjv}-nJog6%ldf4OkyWi~=+N2D)j_kD7lAbE)P$4qfVOEa)U+=`Wh% z2%G%}$dObfFgL+wE$Ti3x-;uSux|0kWpn;Hi$gd)?$y2t z~W!+O#a~n`j%&KnCquMqWSKT0*^KoWzJ}5nAx2;F8?d<{~)VUJk0!m+Pu)8 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RLCMode.c b/asn1c_defs/all-defs/RLCMode.c new file mode 100755 index 0000000..6c47107 --- /dev/null +++ b/asn1c_defs/all-defs/RLCMode.c @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RLCMode.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RLCMode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RLCMode_value2enum_1[] = { + { 0, 6, "rlc-am" }, + { 1, 20, "rlc-um-bidirectional" }, + { 2, 24, "rlc-um-unidirectional-ul" }, + { 3, 24, "rlc-um-unidirectional-dl" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RLCMode_enum2value_1[] = { + 0, /* rlc-am(0) */ + 1, /* rlc-um-bidirectional(1) */ + 3, /* rlc-um-unidirectional-dl(3) */ + 2 /* rlc-um-unidirectional-ul(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RLCMode_specs_1 = { + asn_MAP_RLCMode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RLCMode_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RLCMode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RLCMode = { + "RLCMode", + "RLCMode", + &asn_OP_NativeEnumerated, + asn_DEF_RLCMode_tags_1, + sizeof(asn_DEF_RLCMode_tags_1) + /sizeof(asn_DEF_RLCMode_tags_1[0]), /* 1 */ + asn_DEF_RLCMode_tags_1, /* Same as above */ + sizeof(asn_DEF_RLCMode_tags_1) + /sizeof(asn_DEF_RLCMode_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RLCMode_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RLCMode_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RLCMode.h b/asn1c_defs/all-defs/RLCMode.h new file mode 100755 index 0000000..d380743 --- /dev/null +++ b/asn1c_defs/all-defs/RLCMode.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RLCMode_H_ +#define _RLCMode_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RLCMode { + RLCMode_rlc_am = 0, + RLCMode_rlc_um_bidirectional = 1, + RLCMode_rlc_um_unidirectional_ul = 2, + RLCMode_rlc_um_unidirectional_dl = 3 + /* + * Enumeration is extensible + */ +} e_RLCMode; + +/* RLCMode */ +typedef long RLCMode_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RLCMode_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RLCMode; +extern const asn_INTEGER_specifics_t asn_SPC_RLCMode_specs_1; +asn_struct_free_f RLCMode_free; +asn_struct_print_f RLCMode_print; +asn_constr_check_f RLCMode_constraint; +ber_type_decoder_f RLCMode_decode_ber; +der_type_encoder_f RLCMode_encode_der; +xer_type_decoder_f RLCMode_decode_xer; +xer_type_encoder_f RLCMode_encode_xer; +per_type_decoder_f RLCMode_decode_uper; +per_type_encoder_f RLCMode_encode_uper; +per_type_decoder_f RLCMode_decode_aper; +per_type_encoder_f RLCMode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RLCMode_H_ */ +#include diff --git a/asn1c_defs/all-defs/RLCMode.o b/asn1c_defs/all-defs/RLCMode.o new file mode 100644 index 0000000000000000000000000000000000000000..b51afc58e579ed398eda15da93dd832d4eb1e13f GIT binary patch literal 2728 zcmbuA&2G~`5P&yzq5Sp-aX{h{5E4ZqR$W!10s%%LEkbRHiV7Db*Kt;Dz_FuvUC|35 z!2@vQSn(VjICA8`LvZB@%FKGk*=!P3h>`4>`DSK!GHW~U8yjm=m5N}ghzDZeF%{zX z>4EKQ(-(7MRv@0DOJlk@hI33}po!-8Mtw7FOVN*`TG-Vp@77wKcBd~R)k%{uW|$`? zt>u#f?ResDCkO0V*#5~Y3}-A3yV}Dwab7sblVlnaPQmrBeHh25x8VBA)`r}}6^rwE z+FY#H>vyY*JFPrXdG(IF;x5&^TzlR-Z`EB|alKmww^kf>v7c%2=XjVFo-^UsIuj=5 z=xL6wxBGoI)CuH%IB9}R5ub~mIRL*YXOl! zg?m}xX}tNUS>l5*&gHU9^6r=*;$@vdL1RI^(z9l;6{^mGY(S>$hf20JZ#K3Ab=Z^T zHc^^ns!yxz$wc-$QIMoT!NX3Xblvl2y)4OkGQy5c!RHa*GZvnJ&3VSi=QtTOzbDAK z7Q;M0oBJ39LC$NU{{(L!$QQI#+;+)Eeu->TAwLV3Pmp^+jyCVX=Z_qJFX!!pjl!IN z+Xqbt{08}7EPkJS;bw+SI}17 + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RLFIndication */ +typedef struct RLFIndication { + ProtocolIE_Container_8180P38_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RLFIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RLFIndication; +extern asn_SEQUENCE_specifics_t asn_SPC_RLFIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_RLFIndication_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RLFIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/RLFIndication.o b/asn1c_defs/all-defs/RLFIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..a62178c5e582bba2bc0729f4775825a8bedfda4c GIT binary patch literal 2472 zcmbtVOK;Oa5T4Y$A1y^35M08EBGFY`DiMK%3?VH=eVA62xH+zCwH2uy#apRdpa&%W z0yq8we}Fqjj+{AhgkJzN_Dr(bY!NCW*)#L)d^5A&hu^lB7ba>o5UIf<7aF?ozuLhX2*FYuWyBv zhLPmBz67TpObN(YY_%TLXEwJEGJR0LujW-_);}mc|Bc^Njd|tYsc@4zVpIN8@XI+j z&$*%i9@yPfDLouR^qDQM%c3O zqL(Jp4%G_>$31H0nZ}H1KWh5TMtHBu^A|hxj zb4fyZrb?@Ng=`ZpISA^|3x#mnyCNUhApEL;sJ|LG%}aVU=QXkmRq=XX$6KKA(^q;| zES(-|P}{MNL2VTUsD4fkMf%D|H|@sdFjWij0vhDgE#7MqXYVfWPtjc(ZitfOmatH4YUyMH)xrCbblk6ke_iKo`>Id9lgZZNB zVz7RW+EqW~Ln(ErKHXw={RlBCW&bgHT>l!5nPQ$T!guhYP`l4}%%}A+h2fGzcn=@J z%(zc3&=E^vcJGu&_+L2BWyI*Q=TCnid+iZ|Lk7Q-V~E`r-6<~qE`R?cgG;8({{wKq BuSx&_ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RNL-Header.c b/asn1c_defs/all-defs/RNL-Header.c new file mode 100755 index 0000000..23291a2 --- /dev/null +++ b/asn1c_defs/all-defs/RNL-Header.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RNL-Header.h" + +#include "GlobalENB-ID.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_RNL_Header_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RNL_Header, source_GlobalENB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "source-GlobalENB-ID" + }, + { ATF_POINTER, 2, offsetof(struct RNL_Header, target_GlobalENB_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "target-GlobalENB-ID" + }, + { ATF_POINTER, 1, offsetof(struct RNL_Header, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P16, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_RNL_Header_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_RNL_Header_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RNL_Header_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* source-GlobalENB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* target-GlobalENB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RNL_Header_specs_1 = { + sizeof(struct RNL_Header), + offsetof(struct RNL_Header, _asn_ctx), + asn_MAP_RNL_Header_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RNL_Header_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RNL_Header = { + "RNL-Header", + "RNL-Header", + &asn_OP_SEQUENCE, + asn_DEF_RNL_Header_tags_1, + sizeof(asn_DEF_RNL_Header_tags_1) + /sizeof(asn_DEF_RNL_Header_tags_1[0]), /* 1 */ + asn_DEF_RNL_Header_tags_1, /* Same as above */ + sizeof(asn_DEF_RNL_Header_tags_1) + /sizeof(asn_DEF_RNL_Header_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RNL_Header_1, + 3, /* Elements count */ + &asn_SPC_RNL_Header_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RNL-Header.h b/asn1c_defs/all-defs/RNL-Header.h new file mode 100755 index 0000000..1d2c501 --- /dev/null +++ b/asn1c_defs/all-defs/RNL-Header.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RNL_Header_H_ +#define _RNL_Header_H_ + + +#include + +/* Including external dependencies */ +#include "GlobalENB-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct GlobalENB_ID; +struct ProtocolExtensionContainer; + +/* RNL-Header */ +typedef struct RNL_Header { + GlobalENB_ID_t source_GlobalENB_ID; + struct GlobalENB_ID *target_GlobalENB_ID; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RNL_Header_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RNL_Header; + +#ifdef __cplusplus +} +#endif + +#endif /* _RNL_Header_H_ */ +#include diff --git a/asn1c_defs/all-defs/RNL-Header.o b/asn1c_defs/all-defs/RNL-Header.o new file mode 100644 index 0000000000000000000000000000000000000000..515ba4cd1399602f3c240b44ba82b1dba6cf2f23 GIT binary patch literal 2992 zcmb_dy-yTT5P!#kf*%NKVPfG~iHWyifhf^v7LElp2q%QZZrxipK)kypyYCWg^hz6h zOG-=s1PcEETmJ(Ki?g%SnYV9t=N@~+5GHv$Gr#$IZ{Ej#aMzZHN+m&563;}g5h_IQ zVlF#Mbi_3=E;iTKs;i;D6UHKmI&lzISDI17Z@TM?)#pn>`tfck`>}nu>K@9lo$N>L zB+q&_$(*aH56W5|WH<#M0^47pQ(XSrg!9CFpJ7~pah`cG_YsUs=a?5#71A-FUzo-0 zE3OgA#8Wiw0m;a*7km$K4U_}z4t{{Be`2Lpdt8~?ZgkqRQ+Z^~S<_X!qcr=yJ#S6V zS@!)DPXh;hG2gKGUAVX9z8U2S%6&8Ac=2k>P@#y*V&nuo4oFFiiD_-2$SH-7h_1#* zb+eu-JinwAhi+w&<2p>dR{mq8W_6^-=e1=t^T0g0KZ60k%+*XTs}q>1O85ldNw(fS zZ9W1%p=Hj#4#2++z<&(D*+XRo!cW@XlDq7|>*b}dmnZ$*#Iu#<<>Dr{q~KP)#=+zu z3^Mq$YW2%aZ=ERFPTE3g8IQ`J(f*0a#IeNB<=09_q9w>c0R(QGG}MA}Ai~BV^Y10K@wH zpA4$#YQRB-QH9AU?!v%$s)HEPv5v?6;e@_O#1ELP4EpoSoRG#Tj(kxsa_wpGj}E}Q mJORU8KmGyDy$4AA#HIob8wCwjy`e?%2fF`Vl_md}@&5pSe%3kw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RNTP-Threshold.c b/asn1c_defs/all-defs/RNTP-Threshold.c new file mode 100755 index 0000000..d03d36b --- /dev/null +++ b/asn1c_defs/all-defs/RNTP-Threshold.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RNTP-Threshold.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RNTP_Threshold_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RNTP_Threshold_value2enum_1[] = { + { 0, 13, "minusInfinity" }, + { 1, 11, "minusEleven" }, + { 2, 8, "minusTen" }, + { 3, 9, "minusNine" }, + { 4, 10, "minusEight" }, + { 5, 10, "minusSeven" }, + { 6, 8, "minusSix" }, + { 7, 9, "minusFive" }, + { 8, 9, "minusFour" }, + { 9, 10, "minusThree" }, + { 10, 8, "minusTwo" }, + { 11, 8, "minusOne" }, + { 12, 4, "zero" }, + { 13, 3, "one" }, + { 14, 3, "two" }, + { 15, 5, "three" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RNTP_Threshold_enum2value_1[] = { + 4, /* minusEight(4) */ + 1, /* minusEleven(1) */ + 7, /* minusFive(7) */ + 8, /* minusFour(8) */ + 0, /* minusInfinity(0) */ + 3, /* minusNine(3) */ + 11, /* minusOne(11) */ + 5, /* minusSeven(5) */ + 6, /* minusSix(6) */ + 2, /* minusTen(2) */ + 9, /* minusThree(9) */ + 10, /* minusTwo(10) */ + 13, /* one(13) */ + 15, /* three(15) */ + 14, /* two(14) */ + 12 /* zero(12) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RNTP_Threshold_specs_1 = { + asn_MAP_RNTP_Threshold_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RNTP_Threshold_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 17, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RNTP_Threshold_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RNTP_Threshold = { + "RNTP-Threshold", + "RNTP-Threshold", + &asn_OP_NativeEnumerated, + asn_DEF_RNTP_Threshold_tags_1, + sizeof(asn_DEF_RNTP_Threshold_tags_1) + /sizeof(asn_DEF_RNTP_Threshold_tags_1[0]), /* 1 */ + asn_DEF_RNTP_Threshold_tags_1, /* Same as above */ + sizeof(asn_DEF_RNTP_Threshold_tags_1) + /sizeof(asn_DEF_RNTP_Threshold_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RNTP_Threshold_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RNTP_Threshold_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RNTP-Threshold.h b/asn1c_defs/all-defs/RNTP-Threshold.h new file mode 100755 index 0000000..68e2c9a --- /dev/null +++ b/asn1c_defs/all-defs/RNTP-Threshold.h @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RNTP_Threshold_H_ +#define _RNTP_Threshold_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RNTP_Threshold { + RNTP_Threshold_minusInfinity = 0, + RNTP_Threshold_minusEleven = 1, + RNTP_Threshold_minusTen = 2, + RNTP_Threshold_minusNine = 3, + RNTP_Threshold_minusEight = 4, + RNTP_Threshold_minusSeven = 5, + RNTP_Threshold_minusSix = 6, + RNTP_Threshold_minusFive = 7, + RNTP_Threshold_minusFour = 8, + RNTP_Threshold_minusThree = 9, + RNTP_Threshold_minusTwo = 10, + RNTP_Threshold_minusOne = 11, + RNTP_Threshold_zero = 12, + RNTP_Threshold_one = 13, + RNTP_Threshold_two = 14, + RNTP_Threshold_three = 15 + /* + * Enumeration is extensible + */ +} e_RNTP_Threshold; + +/* RNTP-Threshold */ +typedef long RNTP_Threshold_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RNTP_Threshold_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RNTP_Threshold; +extern const asn_INTEGER_specifics_t asn_SPC_RNTP_Threshold_specs_1; +asn_struct_free_f RNTP_Threshold_free; +asn_struct_print_f RNTP_Threshold_print; +asn_constr_check_f RNTP_Threshold_constraint; +ber_type_decoder_f RNTP_Threshold_decode_ber; +der_type_encoder_f RNTP_Threshold_encode_der; +xer_type_decoder_f RNTP_Threshold_decode_xer; +xer_type_encoder_f RNTP_Threshold_encode_xer; +per_type_decoder_f RNTP_Threshold_decode_uper; +per_type_encoder_f RNTP_Threshold_encode_uper; +per_type_decoder_f RNTP_Threshold_decode_aper; +per_type_encoder_f RNTP_Threshold_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RNTP_Threshold_H_ */ +#include diff --git a/asn1c_defs/all-defs/RNTP-Threshold.o b/asn1c_defs/all-defs/RNTP-Threshold.o new file mode 100644 index 0000000000000000000000000000000000000000..19616503f5d680bcc86bb1075321ef77e793641c GIT binary patch literal 3480 zcmbtWy>A>v6dz|35+ENoRV0M8R5%h|`K(AFK+z&|HXv|L_C-OW*sRZkZ{cp&x}7t2 z3W$`30tqOPpduY@O3IWe_ybb9qNk$^?>GCNZ+Lg7fOyjEd++x?=FQug+5Nix(Z-pD z1tYXzZkUNCs4-8TpU9~fQ**^!HqViKmWPM=aV1cmG6m3FaeJ%VS?Tsiw(eJhJu@uI zas5I0Sy2}5xY61JduYo>?uxKgl$OoKe&03X&ct!2IBKws;*cFTs_}@k&~yxTzpNVU zCgrwSU7 zB^r2lmuXz2p=ptTB^v*A9mpG!#G{UoPzy+EZ8T$0Gbq@GUdQ@Cs68aC4Wx0b7o_u} zKOmi7{4_4Q&M&&eHCdZ}L)N(TSk@u_(l1%J;CL?}jmvqHbvIu0++1IOD_*{}J1*Tg zej~Y_tgf`iUTb~TdNWzQp0utt_-V*20q^Uq`Sa;4TQp}kM1E&YM?_QAH$IWSNoM&^ zt;)PaZVP@_H~wM&q5u!GMN{23X4U7pU{ZFx#~ZWj@$)8TJY^0R`O^~sEJjni&6p#y zE%}qyIQ7~0JK{J?ntml~H>gktRKp*Jbuzdn1D(JH25u zm+#kE%UeHwx1+6x`Cx3z zfJ-cN>9@vH7>R&OPU!FBK?EH4sL&l2fMaiK0**T;WrNfJ9CFOK>=)ozudJcZcEMj^ z{hq?FvHp|7*I0k3@OM~$tnf|NPZYk*`dxa z1BHLf_%{mwf$;|l|B>DNk$bEc(#%j zsdkWiGbFJpm|~Ja)yv7=tA;~Mhaf2{XOqpXTPwB8dtXQ)|Bt^+;aH-4FC|+lg5unc zQ}k7mfa&j4${w;$Sv9c;%wHppeXZlaSAL@E`ClgkFxj`_C-J`sz+B>mr-Vb+^QY_} z=ZV8jECTbliQ}7;vM%g|8~TU=eE)Gyu~v}WGar(SspNkMHqaxU|Blxtk9Z<_={7y# zs_TzAq2!UUSOn%cr?cvRz&}b4xenBi+I9V(69$)68X=u;ig?}ntKki!HJA%v;{)n7Y6Drl;?X%)L{Ns2Z$pX^xe*+IJ B2oC@N literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RRC-Config-Ind.c b/asn1c_defs/all-defs/RRC-Config-Ind.c new file mode 100755 index 0000000..e636b58 --- /dev/null +++ b/asn1c_defs/all-defs/RRC-Config-Ind.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RRC-Config-Ind.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_RRC_Config_Ind_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RRC_Config_Ind_value2enum_1[] = { + { 0, 11, "full-config" }, + { 1, 12, "delta-config" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RRC_Config_Ind_enum2value_1[] = { + 1, /* delta-config(1) */ + 0 /* full-config(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_RRC_Config_Ind_specs_1 = { + asn_MAP_RRC_Config_Ind_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RRC_Config_Ind_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RRC_Config_Ind_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RRC_Config_Ind = { + "RRC-Config-Ind", + "RRC-Config-Ind", + &asn_OP_NativeEnumerated, + asn_DEF_RRC_Config_Ind_tags_1, + sizeof(asn_DEF_RRC_Config_Ind_tags_1) + /sizeof(asn_DEF_RRC_Config_Ind_tags_1[0]), /* 1 */ + asn_DEF_RRC_Config_Ind_tags_1, /* Same as above */ + sizeof(asn_DEF_RRC_Config_Ind_tags_1) + /sizeof(asn_DEF_RRC_Config_Ind_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RRC_Config_Ind_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RRC_Config_Ind_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RRC-Config-Ind.h b/asn1c_defs/all-defs/RRC-Config-Ind.h new file mode 100755 index 0000000..b40e087 --- /dev/null +++ b/asn1c_defs/all-defs/RRC-Config-Ind.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RRC_Config_Ind_H_ +#define _RRC_Config_Ind_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RRC_Config_Ind { + RRC_Config_Ind_full_config = 0, + RRC_Config_Ind_delta_config = 1 + /* + * Enumeration is extensible + */ +} e_RRC_Config_Ind; + +/* RRC-Config-Ind */ +typedef long RRC_Config_Ind_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRC_Config_Ind; +asn_struct_free_f RRC_Config_Ind_free; +asn_struct_print_f RRC_Config_Ind_print; +asn_constr_check_f RRC_Config_Ind_constraint; +ber_type_decoder_f RRC_Config_Ind_decode_ber; +der_type_encoder_f RRC_Config_Ind_encode_der; +xer_type_decoder_f RRC_Config_Ind_decode_xer; +xer_type_encoder_f RRC_Config_Ind_encode_xer; +per_type_decoder_f RRC_Config_Ind_decode_uper; +per_type_encoder_f RRC_Config_Ind_encode_uper; +per_type_decoder_f RRC_Config_Ind_decode_aper; +per_type_encoder_f RRC_Config_Ind_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRC_Config_Ind_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRC-Config-Ind.o b/asn1c_defs/all-defs/RRC-Config-Ind.o new file mode 100644 index 0000000000000000000000000000000000000000..13788c31e8589cdae3355fbcb64311de776407fd GIT binary patch literal 2584 zcmbtVy>1gh5FY0e2){|FkZ4SWk?_eEMFN3@4jCtaAXr8bbeD_0NeuSc@~tD%K*0-8 z@(7f90E(29NVF96R6IeL*_%0U))%>8q}!SK=9}Hwo87yQjpyrgr4opg;2}&rK>^;J zo7kZ-Ls){VKrr#$9NRx(F=;b~R;ymE50c&PUiE3xf!%ShS8W>~I;y8*ab`@DhwVBD zbp4z-!>Dk4R{k9FJbY&H+~qDgfaG6xaM-BV@0TlEJL5!;%Xj@Xzg7*##tS|K_x#$L zAKcDxH}jNF^UuTIlT#o&-Wk<WM=??*(HBU}3_=GRGMxz9a5HdjPk$l02>X8i56!XCC7NLY+%nWP%hW3iJ-+hk# zM7?bB#Qbvx4yP}M--b9%qQ{N(2m?`eVipBpHe+y(yM0O zji*D^mN{NLYP#WrxHnd-DjD~AiUJNrR}GOl)0LVMUpAx7Sa%Op0~6FJ)~aLhJ(Z|Y zw;d&eD62N^Ce*52==|EJNc!XA@{S2#$+H2jvrV|&waOWIXyJ6fMV_!h^UxU<*=B?A zqSGRH$UM7#sz-b|@5HD5E-`v#vX9%Xu8EUn&a@H?@N!QV+!@J9o3 zh#B|+x~dnOFj*3HV9fD*gLaJZ_MqQa*cCq+XytEgZdFqqx8F%2|EFm`v^VRwVSF~3WxfjpSru8RZUWx)#xWMJi%}2=> z;58aW^@p546e8=g*yIqN;v<;N z`&9%MaEa!=JDTS==YMB?1u=S;Zv7V!b9;{vd}VOKsl##2x2`Dv2fx2hG?^uC{y&TT B$kYG; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RRC-Context.c b/asn1c_defs/all-defs/RRC-Context.c new file mode 100755 index 0000000..1343ec8 --- /dev/null +++ b/asn1c_defs/all-defs/RRC-Context.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RRC-Context.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RRC_Context_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RRC_Context = { + "RRC-Context", + "RRC-Context", + &asn_OP_OCTET_STRING, + asn_DEF_RRC_Context_tags_1, + sizeof(asn_DEF_RRC_Context_tags_1) + /sizeof(asn_DEF_RRC_Context_tags_1[0]), /* 1 */ + asn_DEF_RRC_Context_tags_1, /* Same as above */ + sizeof(asn_DEF_RRC_Context_tags_1) + /sizeof(asn_DEF_RRC_Context_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RRC-Context.h b/asn1c_defs/all-defs/RRC-Context.h new file mode 100755 index 0000000..9829b8b --- /dev/null +++ b/asn1c_defs/all-defs/RRC-Context.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RRC_Context_H_ +#define _RRC_Context_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RRC-Context */ +typedef OCTET_STRING_t RRC_Context_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRC_Context; +asn_struct_free_f RRC_Context_free; +asn_struct_print_f RRC_Context_print; +asn_constr_check_f RRC_Context_constraint; +ber_type_decoder_f RRC_Context_decode_ber; +der_type_encoder_f RRC_Context_encode_der; +xer_type_decoder_f RRC_Context_decode_xer; +xer_type_encoder_f RRC_Context_encode_xer; +per_type_decoder_f RRC_Context_decode_uper; +per_type_encoder_f RRC_Context_encode_uper; +per_type_decoder_f RRC_Context_decode_aper; +per_type_encoder_f RRC_Context_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRC_Context_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRC-Context.o b/asn1c_defs/all-defs/RRC-Context.o new file mode 100644 index 0000000000000000000000000000000000000000..d8511e95cd7fcd814a67ca30436417d07935432a GIT binary patch literal 1856 zcmbVM!EVz)5S`Qo3bd5okhp{s1(8*ZDiwiLSu$w=p|(oX6Nimstfr!|QFbH2g&w)` z8GH%{K7=bbZZNanwTG20K}T}t&6_tn+3~I~2Cw&5IvsGc0vVw&=E*<+D@}6bgBG3*lPLnY!lDvxqU*r5iszL9<0}Dz0Iu_}!U3#R*nx)# zwpibpP3)mJGj&4iM=kt$3(pUTNFh^`z%%UCg}b0DZ7dIyxTkR>vcKYv6y&Q zOVoA?|AO%w7L%J;OzYgT*f^m+&UG>cfx9aG%pr5h#M?wCAf`%zSQHeHG87?(*?D5p zgj^OxTFmDejz{E$&cyKGq^ER}zT-_VkMCkB?cu7oMC8RTBrUgl7!c>*l!%KM_UrFs zj^4v%>mOk)t@#)qZjlZ6yC=%^cb;^F{r(f=$Y!Ohe!CSa!83Gpr=v2get+0c%2&(W zKu_nE_Dbf?;VZ<{-~R%ABM}<^UNpsYpQ*l2NoL N; sorted by tag */ + asn_MAP_RRCConnReestabIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RRCConnReestabIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RRCConnReestabIndicator = { + "RRCConnReestabIndicator", + "RRCConnReestabIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_RRCConnReestabIndicator_tags_1, + sizeof(asn_DEF_RRCConnReestabIndicator_tags_1) + /sizeof(asn_DEF_RRCConnReestabIndicator_tags_1[0]), /* 1 */ + asn_DEF_RRCConnReestabIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_RRCConnReestabIndicator_tags_1) + /sizeof(asn_DEF_RRCConnReestabIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RRCConnReestabIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RRCConnReestabIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RRCConnReestabIndicator.h b/asn1c_defs/all-defs/RRCConnReestabIndicator.h new file mode 100755 index 0000000..3a9e1a7 --- /dev/null +++ b/asn1c_defs/all-defs/RRCConnReestabIndicator.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RRCConnReestabIndicator_H_ +#define _RRCConnReestabIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RRCConnReestabIndicator { + RRCConnReestabIndicator_reconfigurationFailure = 0, + RRCConnReestabIndicator_handoverFailure = 1, + RRCConnReestabIndicator_otherFailure = 2 + /* + * Enumeration is extensible + */ +} e_RRCConnReestabIndicator; + +/* RRCConnReestabIndicator */ +typedef long RRCConnReestabIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRCConnReestabIndicator; +asn_struct_free_f RRCConnReestabIndicator_free; +asn_struct_print_f RRCConnReestabIndicator_print; +asn_constr_check_f RRCConnReestabIndicator_constraint; +ber_type_decoder_f RRCConnReestabIndicator_decode_ber; +der_type_encoder_f RRCConnReestabIndicator_encode_der; +xer_type_decoder_f RRCConnReestabIndicator_decode_xer; +xer_type_encoder_f RRCConnReestabIndicator_encode_xer; +per_type_decoder_f RRCConnReestabIndicator_decode_uper; +per_type_encoder_f RRCConnReestabIndicator_encode_uper; +per_type_decoder_f RRCConnReestabIndicator_decode_aper; +per_type_encoder_f RRCConnReestabIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRCConnReestabIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRCConnReestabIndicator.o b/asn1c_defs/all-defs/RRCConnReestabIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..d612e26231ca8cff71c3e40b23b5a7acd22f33a2 GIT binary patch literal 2728 zcmbuBOK;Oa5XUEVq2<|!DpZL}I1vz-rm6%22@Gl4f=Y>kDvqw}EKMM>E8D5s3m|df z$dQl31&NQ*W3TW9%FJe_*=*t<#7NuO`R#x9?M**cH`gW#1rRI1W9Uah0Zz{M>z=N9 zFauYC@B|l)`42I%Q#Ogm`Fg!liKD2lRGJ05&!a{w46-B>XxZfE+kEt8#L7!~xok zVRQ5jjpFBq;B_Pgm^$OMw`9+-6pV3engZ-=KFtw;oErhh=;utJd0#L58&(Q14IYCH z_CGYA!j_(y=itC4ri0Fbi-Q28-&p3LzuqP*=J5b#htvSKb2#LDP;Ll88u_c$H9tq; zXTe_Tm$j@`t^3*0zRK0&$C+jct6$eDxx#c`h0^QGr?p(&LD251WfgTh-03(m$(D5n zi^nWWujf_G-@flR`K1+JODYZ-;X5co0EC6>mO~FlK3P@RY%NVM5pqr^Ctro@{w;hK8wuf=2 zqwu)gD9)6-zO{W9e?r3dGLirDy>|xm@15C`X9h-{_Q$jv7!WhhklH=^gC_gkivWsJ zVSf`nosFIU)zV35kADXnh%JkNz2t9NT=K N; sorted by tag */ + asn_MAP_RRCConnSetupIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RRCConnSetupIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RRCConnSetupIndicator = { + "RRCConnSetupIndicator", + "RRCConnSetupIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_RRCConnSetupIndicator_tags_1, + sizeof(asn_DEF_RRCConnSetupIndicator_tags_1) + /sizeof(asn_DEF_RRCConnSetupIndicator_tags_1[0]), /* 1 */ + asn_DEF_RRCConnSetupIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_RRCConnSetupIndicator_tags_1) + /sizeof(asn_DEF_RRCConnSetupIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RRCConnSetupIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RRCConnSetupIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RRCConnSetupIndicator.h b/asn1c_defs/all-defs/RRCConnSetupIndicator.h new file mode 100755 index 0000000..cc4e29a --- /dev/null +++ b/asn1c_defs/all-defs/RRCConnSetupIndicator.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RRCConnSetupIndicator_H_ +#define _RRCConnSetupIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RRCConnSetupIndicator { + RRCConnSetupIndicator_rrcConnSetup = 0 + /* + * Enumeration is extensible + */ +} e_RRCConnSetupIndicator; + +/* RRCConnSetupIndicator */ +typedef long RRCConnSetupIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRCConnSetupIndicator; +asn_struct_free_f RRCConnSetupIndicator_free; +asn_struct_print_f RRCConnSetupIndicator_print; +asn_constr_check_f RRCConnSetupIndicator_constraint; +ber_type_decoder_f RRCConnSetupIndicator_decode_ber; +der_type_encoder_f RRCConnSetupIndicator_encode_der; +xer_type_decoder_f RRCConnSetupIndicator_decode_xer; +xer_type_encoder_f RRCConnSetupIndicator_encode_xer; +per_type_decoder_f RRCConnSetupIndicator_decode_uper; +per_type_encoder_f RRCConnSetupIndicator_encode_uper; +per_type_decoder_f RRCConnSetupIndicator_decode_aper; +per_type_encoder_f RRCConnSetupIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRCConnSetupIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRCConnSetupIndicator.o b/asn1c_defs/all-defs/RRCConnSetupIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..16b18406480c03df445859cfc16fffa08ac92105 GIT binary patch literal 2568 zcmbtV&rj4)5T2zd{uVqKjULu`5EE%AA!;-sHR}Qz#my4pv6S)xi)>5Uw*)R~;>9C> zj0X}g9Q{kY`xoF$JJWspwv7iTX=lFgee>SD_olmF+V7Sp8VwL@z!D6RumGzUhq0fB zKHP*GV9-N>6`iwLbS3O|TdgFH*OeX|yotAaQK*v?(ljdB%CuV2-iwWE6Rm++3)exK ze*&L>t#i$uV5QZ1(VX4b8pL|geC95?^K;%HN8V@exjVn;dXEd<&K$wC?j-yrJSdeDy+kP4}AkJF#<5p-7)4V1sFJn zUicFXXr6f{?y&!v^Hb#xq#hb};3}&|odZ`!2}Hl~nKAae%Zf?7fax(c!2KE?DjVL7 zAk5<6b$dCe91nE3lLcNb>a@FoK0Z)2$|#95ow9bl)2fkW2P%>o-@oeAs1C#Zfm%@U zpwAQ5OG&hl>sea6nS2)?I>B0~dxxrxc`6OH+RphM6|1xt1#uD-I|+NSHqMv&-RwH) z9GjOrA%4clm%bq0yk+S-oA)`Fc=PL6HTYW`liTE&^i|y@y!5GAKh-1s=^OLVes41d zH#_d@a0|Uo3%@IoR!17#?NEo{Zelj0$?UVEc}_Y17yIkTP2*$Ne;GOZ c?vaA8Og^>huwee1R+WFo=l6{!GtAEa3$gs$CIA2c literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RRCContainer.c b/asn1c_defs/all-defs/RRCContainer.c new file mode 100755 index 0000000..ffdd9f9 --- /dev/null +++ b/asn1c_defs/all-defs/RRCContainer.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RRCContainer.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RRCContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RRCContainer = { + "RRCContainer", + "RRCContainer", + &asn_OP_OCTET_STRING, + asn_DEF_RRCContainer_tags_1, + sizeof(asn_DEF_RRCContainer_tags_1) + /sizeof(asn_DEF_RRCContainer_tags_1[0]), /* 1 */ + asn_DEF_RRCContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_RRCContainer_tags_1) + /sizeof(asn_DEF_RRCContainer_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RRCContainer.h b/asn1c_defs/all-defs/RRCContainer.h new file mode 100755 index 0000000..2f4d345 --- /dev/null +++ b/asn1c_defs/all-defs/RRCContainer.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RRCContainer_H_ +#define _RRCContainer_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RRCContainer */ +typedef OCTET_STRING_t RRCContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRCContainer; +asn_struct_free_f RRCContainer_free; +asn_struct_print_f RRCContainer_print; +asn_constr_check_f RRCContainer_constraint; +ber_type_decoder_f RRCContainer_decode_ber; +der_type_encoder_f RRCContainer_encode_der; +xer_type_decoder_f RRCContainer_decode_xer; +xer_type_encoder_f RRCContainer_encode_xer; +per_type_decoder_f RRCContainer_decode_uper; +per_type_encoder_f RRCContainer_encode_uper; +per_type_decoder_f RRCContainer_decode_aper; +per_type_encoder_f RRCContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRCContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRCContainer.o b/asn1c_defs/all-defs/RRCContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..09136031e7390129aa7d74d53aa8592c16f9326c GIT binary patch literal 1864 zcmbVM!EVz)5S`Qo3bcsckhp{sMWU-1RVo4r8JRSIP+O(RiG$-9tEnJ1iZ>Em;LaED z3496%J_c^wV4l6}Ojov4btGrrym_;e9k2Im|INW#r$g2{^o&-KWr;S{S2!qPKwGp) z!(kZanU2r0bg@!g9J#&R_@XP_hHwyuPr5tf=`z#H?!MYnyobD(i40wVBpbp8P?dNjT&3< zkioX-J2Q#r?8}*2q4DDuK5yaA9T1gJTx8LU{y`+qO{C+~BJvw^C3$ol9fhO*C^{Jp zUmXrg?lk2Sca}t19wm8J=mj4^U1m;>!*lYe_?RYzvk$yyIc+-`m$x$jzbV$ZV=#DI z3u>o@e<}DagW)CyW1U+DmrfO*=Q^H};;mJFW|2-mX;SZE9g~_C1*t`j07_r^9Ht-Q zG7V(2q>_9-PkBZv%XO*-hvVHs$H{xy^z!&FmtqfBoh1S%wjs3A?r{Ll{bB+s64 + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RRCTransfer */ +typedef struct RRCTransfer { + ProtocolIE_Container_8180P82_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RRCTransfer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RRCTransfer; +extern asn_SEQUENCE_specifics_t asn_SPC_RRCTransfer_specs_1; +extern asn_TYPE_member_t asn_MBR_RRCTransfer_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RRCTransfer_H_ */ +#include diff --git a/asn1c_defs/all-defs/RRCTransfer.o b/asn1c_defs/all-defs/RRCTransfer.o new file mode 100644 index 0000000000000000000000000000000000000000..744f2057edd1f7e0cc0fea43a1b70061b8a0e1f9 GIT binary patch literal 2456 zcmbtV&2G~`5T4Zh|FjfwK;jZk6hv2XRfz~BWC&>iL2FVXRpQ{f#3-7PftgWFV%MdjWsaWiyGM*b7@t8#5l<%tqG zWOq}hbl6fw4p*omhm7G6hZ*KII!l*CHzOT7eI(5-@z(|&2i@U3Rpik5DwzGx9l@6w znKk;{7LQlV&00F}-2{A}apXA=$93VK3VgIKJriFUugY&;92HTRCBdWiQea%CAP={) zz%5MAANaOuA?}IMiYo$E{a~&AqT60+wMh#>lqOj|2;U}one<_2ENNM4&2NpNSwD_+ z8>r+DFL}^Plbo}~gP`d)8-8;^_5uv^Ximi$vDvuZ8{pI819nwp;5bd~H#Y&tJp{oY zv!}@y0l3ZqXagT6;IoBPem;u~{IY?6H*l=$g6QVD#->hX?|1TWlN4`x$+xwX$9p-c z*I^!#+RQRigA@upUFEVG_rk&q$x>A>jY5D$2&pLD*@^i;Rg&hhT3+eSXL%T5dXGof zI2?O$%1Yx|x>n(9(sfpV*)NG_IvKJZe}iq<+y9Nf&9TU7&Lpek;lrfotJF$g$hr?t zWV`+bN=>8SIe#+Fosh0KSW>ZUtya`=G_9m#Xq>(eSVa9oR3KY5BI;%Mva+%U#h?g vU%1)5Bae>%CV4J0hM&ED{NvbX&k*ei_ydYTc3XH;s^ZsW{|}5 + +/* Including external dependencies */ +#include +#include "RSRPMeasurementResult.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct RSRPMRList__Member { + RSRPMeasurementResult_t rSRPMeasurementResult; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMRList__Member; + +/* RSRPMRList */ +typedef struct RSRPMRList { + A_SEQUENCE_OF(RSRPMRList__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMRList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RSRPMRList; + +#ifdef __cplusplus +} +#endif + +#endif /* _RSRPMRList_H_ */ +#include diff --git a/asn1c_defs/all-defs/RSRPMRList.o b/asn1c_defs/all-defs/RSRPMRList.o new file mode 100644 index 0000000000000000000000000000000000000000..4e98ec6b84eedc019716d298c28a50e99fbe8030 GIT binary patch literal 3768 zcmb`K&u`pR5XaxfK*Nu=Z~y|mm=mcWRyI^3fIx=rrUf;vyCG^%b)3a&B6ioSwO2|m zut&tHM`RaLB*F0jW2b@AHg3`{I?_sw3Gm^Oigc78W~02J)KekpN0MD%xT~Kw&mHIb zZXMTm^To%$KC5619@VpsYsyETxbS|wLf4C`OQq%{ob%2)?mnOwy@wdDeYb*+A@@Z~ zLXZAn;W0BqxPmg zl;{ni$EV&VQ~hFGF7FojJNC^gZ}K++xPFUQImhLp;y7J=_OC1cF56I%;`%qgr?@_) zW{Tr9k}D+Z55y|cqrwC~Bt>F^{X93pB!h#@cF-m_9V9jkOQH@A23bF$U_Tq;PeK!nvLX$x z-P~Qvi=_V}clG=VdnkLOtAyH7HgdImKn|FGClL>EBN>;fy8D$?8XuBcrpq0F;^c|z z&i^q5z&0d-wT%DF;WA!yNO9Qi{1y^Fkwmf~zP;DCFUZ8VEv%8Xd@PFO36IA+kN1pm z^}oh<#E`N?mzF;nT-T6n-|_E|kMVB*K7$8NzVG-w@|*f!;ZN}%=c9l0?)HD580KH6 zOUnt*kLRNWxe(D~W!nJX{&p9{T*gT*e0T2name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 97)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_rSRPMeasured_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 97 } /* (0..97,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_RSRPMeasurementResult_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 9 } /* (SIZE(1..9)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct RSRPMeasurementResult__Member, rSRPCellID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rSRPCellID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RSRPMeasurementResult__Member, rSRPMeasured), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_rSRPMeasured_constr_4, memb_rSRPMeasured_constraint_2 }, + 0, 0, /* No default value */ + "rSRPMeasured" + }, + { ATF_POINTER, 1, offsetof(struct RSRPMeasurementResult__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P187, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rSRPCellID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rSRPMeasured */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct RSRPMeasurementResult__Member), + offsetof(struct RSRPMeasurementResult__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RSRPMeasurementResult_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RSRPMeasurementResult_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RSRPMeasurementResult_specs_1 = { + sizeof(struct RSRPMeasurementResult), + offsetof(struct RSRPMeasurementResult, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RSRPMeasurementResult = { + "RSRPMeasurementResult", + "RSRPMeasurementResult", + &asn_OP_SEQUENCE_OF, + asn_DEF_RSRPMeasurementResult_tags_1, + sizeof(asn_DEF_RSRPMeasurementResult_tags_1) + /sizeof(asn_DEF_RSRPMeasurementResult_tags_1[0]), /* 1 */ + asn_DEF_RSRPMeasurementResult_tags_1, /* Same as above */ + sizeof(asn_DEF_RSRPMeasurementResult_tags_1) + /sizeof(asn_DEF_RSRPMeasurementResult_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RSRPMeasurementResult_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_RSRPMeasurementResult_1, + 1, /* Single element */ + &asn_SPC_RSRPMeasurementResult_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RSRPMeasurementResult.h b/asn1c_defs/all-defs/RSRPMeasurementResult.h new file mode 100755 index 0000000..2c2e718 --- /dev/null +++ b/asn1c_defs/all-defs/RSRPMeasurementResult.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RSRPMeasurementResult_H_ +#define _RSRPMeasurementResult_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ECGI.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct RSRPMeasurementResult__Member { + ECGI_t rSRPCellID; + long rSRPMeasured; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMeasurementResult__Member; + +/* RSRPMeasurementResult */ +typedef struct RSRPMeasurementResult { + A_SEQUENCE_OF(RSRPMeasurementResult__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RSRPMeasurementResult_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RSRPMeasurementResult; +extern asn_SET_OF_specifics_t asn_SPC_RSRPMeasurementResult_specs_1; +extern asn_TYPE_member_t asn_MBR_RSRPMeasurementResult_1[1]; +extern asn_per_constraints_t asn_PER_type_RSRPMeasurementResult_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _RSRPMeasurementResult_H_ */ +#include diff --git a/asn1c_defs/all-defs/RSRPMeasurementResult.o b/asn1c_defs/all-defs/RSRPMeasurementResult.o new file mode 100644 index 0000000000000000000000000000000000000000..5b7d5039c70f2ed82bfcda916f83a7866ee2a3db GIT binary patch literal 5112 zcmb_g&2Jl35PyzK<9?8)l#f7xETBRvk!?1u)Tlz0i{sXjlGIIF6ctf><7}F={;2GA zl@p>Qjy59$_d1U1GjQ12Tm1bes5>i&zrT>qK@=-W`1vG z-pqS%_dWZw?BvOwL_!HA)N$3;1XXHmPg_oFF|GEg=Tz?2KeH37o4M5uf86;!cjLHw z)ydu3{P7Wy|4#14U#ZE@dndnm7A}_tbAgas{X4h%Z*KJ$XZ^&Z&AIcdzkYak&tMBS zq3?a|8`x8bOZ(W@*}Q)jhD;;G2Sn+@kqaoUyNAGS+|Vzz?|||cw4H2vxtZp!p#-DH zk8hZ1(Y6n{jjB^BEO?8JLvFb|tc97`nf#RJHkx&>;#K__uhA^~c1ay*9J8*v<)&v< zYrb`H`Knj7h6p^ca8UP^YSo5ccbBWawdgLFy@jwhHlk9q*)!*|)0wQQ(})?bT%H)$ zA`iZxmb1gz72m5imML^J`>ndnr}RX1!K3_f?V^5BJsKyfN9{#Vitq#+d#T$#dx9_> zrYodjk3Frps2{CGZ6~#-6_-NAQaToGgP1duP^-B{$kDV(M|9H`eNUUdqky-KpwWFH z@>CJeCmwZBS&oKV1VnW&vWd=^%<2|=}+w6-J4pY zpzjj?D)%+P$NTzk^jzp0nC!DY=o>iE*Pq$hm&)y$)(9KMFyyyQJ&67GB|B!i?VMC$ zHEocjr2bNNKw3$vXSRac9;?|&FO%A1jH_#7lcfHVcG{1Tno#YpF}~G8Ndp%QJgIlK zi753EsR@eTVt9#pRpUEUo^^?TQ{(hy=LJqN|4QRKRgvv+{(ydfziB)f<|E^yFRAo#39*Bcs;@(b@=zmN=RY{ow}*R39JlK_wyq2MlWMn^g?ty; z?={v%=ItQi{h?J`cu(6WmBoiwBQhuLgCBS7PdS8A~L)QP;nH2ejwpLFGlIt`9_?&nOVYKR z&KKk!Q8;~4Lm0xpcE#&55y70%RLo}2l8Z5i+8b5J4#$&+Nr>+c<|IhkNGrVOL`T9} zWizKH!Zn$8eY#amRDJKFR}ayAz2?_SwQ_hB%G9bpU9)KQ#zqf2d1vfsuycoa1LF*P zf!ag93_1q>qJg^xZrWE2{3XMlVf~rHTYZdy6m#0<`u-re>}}w$unm~pp@FyGMx`YG zD4vEB5%B$53LZI@fy?;?NWKHWUjx8YWDfjwmcd#q14mtFSiju`Uo-GQmchO@aMUGv z-06aE7`VkU*gck!PYN;wqCfOAPpb^eG4MAT1G{bDIF(xf ziEu{%ftmNCI|h#U9*l@K4E(JC3ZCqYZrInk&)g5Fx5c>3pV*7O#QnfA&lc+|%mtTo zQ2H^vnZL3d*DAg{Pu#Bud`YCbS9WdRTk(~>;QFqz=Nk=W*K1HjW?saC;{D`nGfDbGGNeQvnnyQRx)?JX4+>uyCRlnD-(; z{frC4JGYHmS^(xnY(k=A&H63qoHd|IIt2$zY)<-gAUYY}@ZqA!vjm;V4? zF^g=E{P8|V^Z%GIj6Xunq�mu|G_LElBuHL)IPq_+;x2&NYcFB=%@g& + +/* Including external dependencies */ +#include "DL-GBR-PRB-usage.h" +#include "UL-GBR-PRB-usage.h" +#include "DL-non-GBR-PRB-usage.h" +#include "UL-non-GBR-PRB-usage.h" +#include "DL-Total-PRB-usage.h" +#include "UL-Total-PRB-usage.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* RadioResourceStatus */ +typedef struct RadioResourceStatus { + DL_GBR_PRB_usage_t dL_GBR_PRB_usage; + UL_GBR_PRB_usage_t uL_GBR_PRB_usage; + DL_non_GBR_PRB_usage_t dL_non_GBR_PRB_usage; + UL_non_GBR_PRB_usage_t uL_non_GBR_PRB_usage; + DL_Total_PRB_usage_t dL_Total_PRB_usage; + UL_Total_PRB_usage_t uL_Total_PRB_usage; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RadioResourceStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RadioResourceStatus; +extern asn_SEQUENCE_specifics_t asn_SPC_RadioResourceStatus_specs_1; +extern asn_TYPE_member_t asn_MBR_RadioResourceStatus_1[7]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RadioResourceStatus_H_ */ +#include diff --git a/asn1c_defs/all-defs/RadioResourceStatus.o b/asn1c_defs/all-defs/RadioResourceStatus.o new file mode 100644 index 0000000000000000000000000000000000000000..2160f5f00a13e27d57f0df0124cb522890ea9a5c GIT binary patch literal 3984 zcmcImy>A><5P!}E@&P1Hfbf;#C=ia6TirT=oPvZ7UoMWoB+EIjH|z7twm9#eZr@2x zlQ>O;s43DQ(ICV%naF0N7l^#UAWBt>^_ML8Mmc*j*0sWuNifSD@!fkMFo&}kDgO%r?%MqJ#m~3 zF8xeE8U735$g{@*TU;!E=J<5IO}5u)!^-lUt-wF3z+P!>)wJHNeP^Yhssy0$&-uuf(t1<-@q!=ttqWX!6Gq#vs^1v&S&)lMtpY!pdlWD9IS_FCbwemb z=qDf-zgECGE;#`O3O~g%*e#Zk2WPC%0~Ub4E+FxT3dgDR2J3$-TrfZjNI(Pz{|}%L zT~qj*1(d({6b}E7+4h6NarO)Sp>X(r!G^~Q$5|=VH%R*tz&ylw{d8w1rr+30QX6~A*Vh`Ejrw2nte>B~N1<4g?#am3 z#;b&QyC#!i?(sf)n;6XNLUZPta&b4#A*_*cn*I+Oa6db&Ya>G(XMrX*xucl6ImFB`wk#Vhd` zAKlj-zqnV--svzzoi8f8P!!db3~`el%wNU<2718p*dI;s1qmN2IXCd@SB}>hWQh|T vy0b;O={Jravhg)SaaVQMk8N`I9tm1}Rr%c+&{65GQyw4i_uoS@MQ;3m8y8rS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RadioframeAllocationOffset.c b/asn1c_defs/all-defs/RadioframeAllocationOffset.c new file mode 100755 index 0000000..4a0eb1b --- /dev/null +++ b/asn1c_defs/all-defs/RadioframeAllocationOffset.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RadioframeAllocationOffset.h" + +int +RadioframeAllocationOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RadioframeAllocationOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RadioframeAllocationOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RadioframeAllocationOffset = { + "RadioframeAllocationOffset", + "RadioframeAllocationOffset", + &asn_OP_NativeInteger, + asn_DEF_RadioframeAllocationOffset_tags_1, + sizeof(asn_DEF_RadioframeAllocationOffset_tags_1) + /sizeof(asn_DEF_RadioframeAllocationOffset_tags_1[0]), /* 1 */ + asn_DEF_RadioframeAllocationOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_RadioframeAllocationOffset_tags_1) + /sizeof(asn_DEF_RadioframeAllocationOffset_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RadioframeAllocationOffset_constr_1, RadioframeAllocationOffset_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/RadioframeAllocationOffset.h b/asn1c_defs/all-defs/RadioframeAllocationOffset.h new file mode 100755 index 0000000..af2d26b --- /dev/null +++ b/asn1c_defs/all-defs/RadioframeAllocationOffset.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RadioframeAllocationOffset_H_ +#define _RadioframeAllocationOffset_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RadioframeAllocationOffset */ +typedef long RadioframeAllocationOffset_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RadioframeAllocationOffset_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RadioframeAllocationOffset; +asn_struct_free_f RadioframeAllocationOffset_free; +asn_struct_print_f RadioframeAllocationOffset_print; +asn_constr_check_f RadioframeAllocationOffset_constraint; +ber_type_decoder_f RadioframeAllocationOffset_decode_ber; +der_type_encoder_f RadioframeAllocationOffset_encode_der; +xer_type_decoder_f RadioframeAllocationOffset_decode_xer; +xer_type_encoder_f RadioframeAllocationOffset_encode_xer; +per_type_decoder_f RadioframeAllocationOffset_decode_uper; +per_type_encoder_f RadioframeAllocationOffset_encode_uper; +per_type_decoder_f RadioframeAllocationOffset_decode_aper; +per_type_encoder_f RadioframeAllocationOffset_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RadioframeAllocationOffset_H_ */ +#include diff --git a/asn1c_defs/all-defs/RadioframeAllocationOffset.o b/asn1c_defs/all-defs/RadioframeAllocationOffset.o new file mode 100644 index 0000000000000000000000000000000000000000..cd19e738aa16d1889b7b5094f666d9ca3f142daf GIT binary patch literal 2872 zcmbVOO>YxP5N&6G1QLuBI79-mbAb)grpcg4L^&WwNnj$GB+8NnfrOdZ?uj7~<{- zsHZ9Ac`po{QnBn;!t-9eKCX-vuUu!fAWMtG9hSXh!yWZNm@jF#yk$Ic8H7>Gs|Ar=@oIIyoJ4yM z+p|C;VD6Ra8}y#;07kCN&Q9B7t848bYTFm(q?{Oc+RAetJ5zFEQaa~iT%4ehG7nco z=6)`7a;Sgc6-@pU;HN0oMm?9!ZT8*Hjux`^FWJ$VY;N{QcEBB6R0t7M6u!p+@n`Cu zS*ab0eSn>?Uo03YO)POR4Te#)X4e?jp00`mr$J@J;e@5nWNCOp0K*c4x|`UR7)oq5 zTxIO9^QyuRC2P(66~fuqwIz<|uClMgb3|KDwP%1mg5R+AzE#B*VjFahY+d~Z&ak%r z%N*?8;&5`{s1@htFBf~0ijlV-79AlAvlIBZfDcD}C!u@V{=@K!vb0=WgcH5tF9eal z?za@UJik(m9^CW4S6e(4R42q3y>B0A+{J(5D`yvDD2U@F$he0fh{z<7K`;m}kFY<(33qv7WO>~g%$f><9w1dh~1h6;asI_nG(aEaB#j_ZD!J^ikL9=HDVVGF6U1gIM>hP1X-jrDo1x@ZV$~Wnp@9Kks&F|0f6EM=&Z`K&wEQa7|5D3E H)6D+{#j8Au literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RadioframeAllocationPeriod.c b/asn1c_defs/all-defs/RadioframeAllocationPeriod.c new file mode 100755 index 0000000..2a9b9c1 --- /dev/null +++ b/asn1c_defs/all-defs/RadioframeAllocationPeriod.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RadioframeAllocationPeriod.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_RadioframeAllocationPeriod_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_RadioframeAllocationPeriod_value2enum_1[] = { + { 0, 2, "n1" }, + { 1, 2, "n2" }, + { 2, 2, "n4" }, + { 3, 2, "n8" }, + { 4, 3, "n16" }, + { 5, 3, "n32" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RadioframeAllocationPeriod_enum2value_1[] = { + 0, /* n1(0) */ + 4, /* n16(4) */ + 1, /* n2(1) */ + 5, /* n32(5) */ + 2, /* n4(2) */ + 3 /* n8(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RadioframeAllocationPeriod_specs_1 = { + asn_MAP_RadioframeAllocationPeriod_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RadioframeAllocationPeriod_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RadioframeAllocationPeriod_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RadioframeAllocationPeriod = { + "RadioframeAllocationPeriod", + "RadioframeAllocationPeriod", + &asn_OP_NativeEnumerated, + asn_DEF_RadioframeAllocationPeriod_tags_1, + sizeof(asn_DEF_RadioframeAllocationPeriod_tags_1) + /sizeof(asn_DEF_RadioframeAllocationPeriod_tags_1[0]), /* 1 */ + asn_DEF_RadioframeAllocationPeriod_tags_1, /* Same as above */ + sizeof(asn_DEF_RadioframeAllocationPeriod_tags_1) + /sizeof(asn_DEF_RadioframeAllocationPeriod_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_RadioframeAllocationPeriod_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RadioframeAllocationPeriod_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RadioframeAllocationPeriod.h b/asn1c_defs/all-defs/RadioframeAllocationPeriod.h new file mode 100755 index 0000000..50530b7 --- /dev/null +++ b/asn1c_defs/all-defs/RadioframeAllocationPeriod.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RadioframeAllocationPeriod_H_ +#define _RadioframeAllocationPeriod_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RadioframeAllocationPeriod { + RadioframeAllocationPeriod_n1 = 0, + RadioframeAllocationPeriod_n2 = 1, + RadioframeAllocationPeriod_n4 = 2, + RadioframeAllocationPeriod_n8 = 3, + RadioframeAllocationPeriod_n16 = 4, + RadioframeAllocationPeriod_n32 = 5 + /* + * Enumeration is extensible + */ +} e_RadioframeAllocationPeriod; + +/* RadioframeAllocationPeriod */ +typedef long RadioframeAllocationPeriod_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_RadioframeAllocationPeriod_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_RadioframeAllocationPeriod; +extern const asn_INTEGER_specifics_t asn_SPC_RadioframeAllocationPeriod_specs_1; +asn_struct_free_f RadioframeAllocationPeriod_free; +asn_struct_print_f RadioframeAllocationPeriod_print; +asn_constr_check_f RadioframeAllocationPeriod_constraint; +ber_type_decoder_f RadioframeAllocationPeriod_decode_ber; +der_type_encoder_f RadioframeAllocationPeriod_encode_der; +xer_type_decoder_f RadioframeAllocationPeriod_decode_xer; +xer_type_encoder_f RadioframeAllocationPeriod_encode_xer; +per_type_decoder_f RadioframeAllocationPeriod_decode_uper; +per_type_encoder_f RadioframeAllocationPeriod_encode_uper; +per_type_decoder_f RadioframeAllocationPeriod_decode_aper; +per_type_encoder_f RadioframeAllocationPeriod_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RadioframeAllocationPeriod_H_ */ +#include diff --git a/asn1c_defs/all-defs/RadioframeAllocationPeriod.o b/asn1c_defs/all-defs/RadioframeAllocationPeriod.o new file mode 100644 index 0000000000000000000000000000000000000000..7830b16a795de50baebf09807601aef97c8c009d GIT binary patch literal 2896 zcmbtWUuzRV5a0Bwt$*8y4}u^O1S8rriA9ToT&Zb`XbqJjf^fYiXB$oKO72qH7ZrT* zv5$TPAN>e@EcoJg@Dun6>iqU*nss|A6$f@_e!rR7ot@3yDCwcaLT`N2;SO!jdande}nlSq-AZUwE9JJ(db))otNnX^5R|Mi^jRi zve@tk(`~9CiTo$^d4G72p9brRU)7P%XB)>wZUvowSPP?m_hj*itm!0PdfAveZk1#+ zY@#8S;JGm0o#X7cdAU3A6UG|yy8ehEDd;OW`+MMVklY(XRT6_W`iy(F^LMQ{f%g7) z$N|p&v`hY7Nn|bgqCMha+xzbk2a(@bhLkFa!TJ$ty!$=IqQ3A$xyQtL(x7lwh&*>s z$;STncecU>mJw{oq+!E+MI*2NRnGru#g{C+OgOLpMgBqTaXjir?RNd|h{IMD8m3hE zK)4@MxGbFmKA|C;8TZC+2s`aq;JnaPCigkv0>xdVVb_m$kA3$name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 16384)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ReceiveStatusOfULPDCPSDUsExtended_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsExtended = { + "ReceiveStatusOfULPDCPSDUsExtended", + "ReceiveStatusOfULPDCPSDUsExtended", + &asn_OP_BIT_STRING, + asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1, + sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1) + /sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1[0]), /* 1 */ + asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1) + /sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsExtended_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReceiveStatusOfULPDCPSDUsExtended_constr_1, ReceiveStatusOfULPDCPSDUsExtended_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.h b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.h new file mode 100755 index 0000000..f55508a --- /dev/null +++ b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReceiveStatusOfULPDCPSDUsExtended_H_ +#define _ReceiveStatusOfULPDCPSDUsExtended_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ReceiveStatusOfULPDCPSDUsExtended */ +typedef BIT_STRING_t ReceiveStatusOfULPDCPSDUsExtended_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsExtended; +asn_struct_free_f ReceiveStatusOfULPDCPSDUsExtended_free; +asn_struct_print_f ReceiveStatusOfULPDCPSDUsExtended_print; +asn_constr_check_f ReceiveStatusOfULPDCPSDUsExtended_constraint; +ber_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_ber; +der_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_der; +xer_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_xer; +xer_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_xer; +per_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_uper; +per_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_uper; +per_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_aper; +per_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReceiveStatusOfULPDCPSDUsExtended_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.o b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsExtended.o new file mode 100644 index 0000000000000000000000000000000000000000..60335b99af58b4cdd531d584242d7399345cfbf9 GIT binary patch literal 3048 zcmbVNL2D#c5U$Cr$+%f(C$5LU3fl*x37FpLCEyZKdv_*D2gYQ`BtaCmw=>hT$vT-? z(miX|gNwu*hLB}Z1TWq^h=0LLKm<__l9S-U;8ib*hzBuNy?)jG^3uyJ7WAvC?^V^S z_v*ds`!kioq+0M71TwfWxReDAxk;q1-koZW-&%dhVq zetC=(zToWqmaFUyRra4EpWDwlk>K?HaC-k*2bJE>*NzY0c(eE8TVFNLUn&Fatrnd9 zGhdUp_0!HTL(aqx&MU{S0lf1C89j73^!Flk6b@IoeL;q{4uAbj>4kbQ)Y3}>I%(z&$?ViIP>ljWVQ>L zi|2-N4{`A+#GjRO9}_R<3p)dDezcM|R`a9R@`cjbd~R;|29DQ<7X&WNQyJ~&4E&y2 z`)pF}6TVrcRg+t?>AYf>Zxv z{Cx#i?e`V@ykak5QDM48wghsL)B96#t|8$Uqz$oADHE>VqVY%Iwt^?G1He)65h)Y9 zDP@Y!y@w!!1|&Kk`eHJJdz+!R1|~M!h_AD><+nUD^tVGW8(!#vxfTRqZgof@bIZJX zQpJlQe1ri?JPT&Mv$^TFF%b58-<(@mnG8a&{ z_+3WY>9=+fC#WacY#{lOY#leHPIrmc;rer3pO?5=D{?ua0ZHv^q#HCS^dia>Q}-{@ zVkxA<7TOTT_nuwYe~kgjIe(60BcA5}p){D*{MnEBvh>&UKavLPn!lmxi>Rlazby-T zAnob=sjG7SeEv5Oqoq#Vanv0N@c#xOLAu^Vl>Cd)bUaq1Kh;Mi-Z%3OPO_}pZR-ii zN!|7X>93o!zkYvs|Gd_H6w=O*e?fdsbbj=gWPipfAAN0v;2R14Efc2RNPS25r$4n` cdxYRX9`q$`!name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 131072)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 17, -1, 1, 131072 } /* (SIZE(1..131072)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 = { + "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", + "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", + &asn_OP_BIT_STRING, + asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1, + sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1) + /sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1[0]), /* 1 */ + asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1) + /sizeof(asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constr_1, ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h new file mode 100755 index 0000000..f29b6e1 --- /dev/null +++ b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_ +#define _ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 */ +typedef BIT_STRING_t ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18; +asn_struct_free_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_free; +asn_struct_print_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_print; +asn_constr_check_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constraint; +ber_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_ber; +der_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_der; +xer_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_xer; +xer_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_xer; +per_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_uper; +per_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_uper; +per_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_aper; +per_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.o b/asn1c_defs/all-defs/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.o new file mode 100644 index 0000000000000000000000000000000000000000..c6ea603570100fae816ec9c907ccdf59b378f646 GIT binary patch literal 3088 zcmbtV&ubf35Pq`KScy|bZUQkR&^VMg?Q2*+F5C4#h^$Dd*fwky1g^q{yC`Fo0AE9W4m?f zgN>cL`yZyp$|6^?z+P`1z>|Fn_{p&|RRFA)%7h>~T z%HBHkBeJdE*8k|Y(@*TnolZ>L`v!v^+no9rnYx<}M!0o?Qd>KJeI@G)8%%~0BB9j> z<{=n~I=lTt+>{Ps}f6lGfN2D?5mA&P=UMX;cmOoovC=~O#Vky7iqaG>E z)V;=1P_r(YWlDKaf;j7s8F$@!%QG6yz*vGo8pbeyXDeyhS8g`^VAWl21V+_eu6vbU z@804gkZ``;PTh~7L_)_9oyz6LjNygFRwHN`7tB#JGh(%*XMF;5&y1Q@x{HgGlqL3H zPQ=zyvD3%;6OUo=QNYho-{+|F$<%tElN>4}jcduFtI1UEXfiQ1a0A-$ff~4}^x}D>ip0ZuioFP|GmKYY zzz0;fXUB!yrJj$*m(tr?|JM>f+}jK3Lh~)*?5jF1j;gM-zk~KIWu4`o0`@2T2SvCJ zH5o0$DcGD|k}DKUHuweoMiREAa%&lYpnqCLlo?@2QIO89@95#h@A@8*%lt4ex_z6+FB} z;rN&b-+z{yWFXFO6ha0zAh+eS@XV>1g%Lk+%O6v`S97YX?usWX{C|xB zbey~Xa%BNS;rrY5_TJUg(1CAPmIFv9DB(@=@hssuy#Ktf?-H)=6;hsJ1ERiv=o{E5 zg6}Bi)cF}4EJAeHf*8d3+%tvwcNiee^>dyq;8FZ9C}2$EGmrH=@%8$jQb0}P8=5~0 ze$@KcX#KY-9@igVU#_3m{{~<<)UGoQzD)psmjIHY`&B@ZpXqk@+5+)$e^lXlvu;8s z+iKjJUJ!Nav5$zahcjP4KRkaP>me9X>o-iFDqbgCKm3|9pK+{59~&U?6M?U&V0;_# i-O>5@Mc4NpAhAsgJ+4hyb7jsbewOP043jCM^Zx~na(7k$ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.c b/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.c new file mode 100755 index 0000000..771c146 --- /dev/null +++ b/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReceiveStatusofULPDCPSDUs.h" + +int +ReceiveStatusofULPDCPSDUs_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 4096)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ReceiveStatusofULPDCPSDUs_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4096, 4096 } /* (SIZE(4096..4096)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiveStatusofULPDCPSDUs = { + "ReceiveStatusofULPDCPSDUs", + "ReceiveStatusofULPDCPSDUs", + &asn_OP_BIT_STRING, + asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1, + sizeof(asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1) + /sizeof(asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1[0]), /* 1 */ + asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1) + /sizeof(asn_DEF_ReceiveStatusofULPDCPSDUs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReceiveStatusofULPDCPSDUs_constr_1, ReceiveStatusofULPDCPSDUs_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.h b/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.h new file mode 100755 index 0000000..2db73cc --- /dev/null +++ b/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReceiveStatusofULPDCPSDUs_H_ +#define _ReceiveStatusofULPDCPSDUs_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ReceiveStatusofULPDCPSDUs */ +typedef BIT_STRING_t ReceiveStatusofULPDCPSDUs_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ReceiveStatusofULPDCPSDUs_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusofULPDCPSDUs; +asn_struct_free_f ReceiveStatusofULPDCPSDUs_free; +asn_struct_print_f ReceiveStatusofULPDCPSDUs_print; +asn_constr_check_f ReceiveStatusofULPDCPSDUs_constraint; +ber_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_ber; +der_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_der; +xer_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_xer; +xer_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_xer; +per_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_uper; +per_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_uper; +per_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_aper; +per_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReceiveStatusofULPDCPSDUs_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.o b/asn1c_defs/all-defs/ReceiveStatusofULPDCPSDUs.o new file mode 100644 index 0000000000000000000000000000000000000000..378dac74ee78f31c89b04c1eb87770f4ad56b10d GIT binary patch literal 2976 zcmbtVL2MgU5FN+Rn5MW+%OO%h?14feHCu0qL=^;bvEyunNv$}psv@!3*y|?6v8(L5 zYI~qUAqOie;)2A10|ySAdPd?B#1RfvPDquY;tCgfC_Ny;%-=a5J9CxtNGb&~Qt&oJlAr)9qY+k+CqPCq5oshw0FuGdwaL{=6lTL&3WY|5MBGTkh8%9E zhENuTnC4m6?^q3|>9zc`Zo56Lm?f{_t>5r!fgAMvZmV9YmWtI{sqUK%IPK3GH{5p5 zGdkVCxQc2WV-msB%_+6k=yv>I(_QZbM$27qd(FY>P_Gir;WS>$xO}*WP~#Yp`C@U_ zn5?h%Izi8P!<;em(^gMO)<@QPGe2WmQy~s7u;bM2B}m=OrA{3i&3uNN&mjIHuYFFm zl+A68IN6Cx*0_|NxRA{ik7hITV^?r4k1Z;k)e{Mw=Nb4jv9{^Nn+%Y~U(!gUr=*dF zXOm#`a%2duJr>q@326$R8|dphr8Rt@fJ_?3baB9^K~-ZQ6H`{w({aA5@FRnqD-owE z<09)c4M%lR@pYU}X!%sNL+mzw;}D&9O=$ysi8Sd6-BbEe{=+x`ei@<tzKdI~`X2wfZ3ONr znAlT8x+dJF*LKaoyBUDlbORU6Ro@45vr7W0Tju$LB3>M2qZE*nRWKXfjSa7Zj8bKYN7inupsYH*7V#Fb_zf0H3j_i@ddYv6$a^U z&^}Ussq3qZM=v%sco-7yBP<{>B35x{a3-H|`#f!yFygRz#MzxXL2 zo@C!(h2@yN*a@X|;^Xn}vcg)--iXN;QBKPL6VCrG>r?)zi%R^G{|^wOtq$CAlqVU` z|3?sh>L09y7}@7(Q5$F2p6a6yK9;f}yo;Y;y58k@K)e{&{eSABjogy#i7x)e` zN%{MhniCGm6XlQkp4bac@x=E=2)<$P2?u-}F?u_3d+KTN+9L#CapM0XK^yV&kK N; sorted by tag */ + asn_MAP_Reestablishment_Indication_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Reestablishment_Indication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Reestablishment_Indication = { + "Reestablishment-Indication", + "Reestablishment-Indication", + &asn_OP_NativeEnumerated, + asn_DEF_Reestablishment_Indication_tags_1, + sizeof(asn_DEF_Reestablishment_Indication_tags_1) + /sizeof(asn_DEF_Reestablishment_Indication_tags_1[0]), /* 1 */ + asn_DEF_Reestablishment_Indication_tags_1, /* Same as above */ + sizeof(asn_DEF_Reestablishment_Indication_tags_1) + /sizeof(asn_DEF_Reestablishment_Indication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Reestablishment_Indication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Reestablishment_Indication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Reestablishment-Indication.h b/asn1c_defs/all-defs/Reestablishment-Indication.h new file mode 100755 index 0000000..e5e5338 --- /dev/null +++ b/asn1c_defs/all-defs/Reestablishment-Indication.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Reestablishment_Indication_H_ +#define _Reestablishment_Indication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Reestablishment_Indication { + Reestablishment_Indication_reestablished = 0 + /* + * Enumeration is extensible + */ +} e_Reestablishment_Indication; + +/* Reestablishment-Indication */ +typedef long Reestablishment_Indication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Reestablishment_Indication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Reestablishment_Indication; +extern const asn_INTEGER_specifics_t asn_SPC_Reestablishment_Indication_specs_1; +asn_struct_free_f Reestablishment_Indication_free; +asn_struct_print_f Reestablishment_Indication_print; +asn_constr_check_f Reestablishment_Indication_constraint; +ber_type_decoder_f Reestablishment_Indication_decode_ber; +der_type_encoder_f Reestablishment_Indication_encode_der; +xer_type_decoder_f Reestablishment_Indication_decode_xer; +xer_type_encoder_f Reestablishment_Indication_encode_xer; +per_type_decoder_f Reestablishment_Indication_decode_uper; +per_type_encoder_f Reestablishment_Indication_encode_uper; +per_type_decoder_f Reestablishment_Indication_decode_aper; +per_type_encoder_f Reestablishment_Indication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Reestablishment_Indication_H_ */ +#include diff --git a/asn1c_defs/all-defs/Reestablishment-Indication.o b/asn1c_defs/all-defs/Reestablishment-Indication.o new file mode 100644 index 0000000000000000000000000000000000000000..505c5da4f941b6e62644c7efb8137bcf655518c4 GIT binary patch literal 2608 zcmbuBPiqrF6u>84we??X#DgG6Jeh(WvZbIX$VyCGMQf-O@w9HYLz9~9hU}!Y7ZtpC z^dorm19|Hi)~Yb(-U%(+`R z=HtAl#P8!VNRD?xSDxv3vcePIBn0BY3`OFJ(-ZhQkdl}ka=X&A_%HzsPt4h_vDe{V z0$!uYRniBB&kj2pAOAdMjVn)_8wcQhhO2D#-=d7~pf8batDoSMt@qZX;1&1)MfnnV z*?O)j4|ei`m$8VlBz)Ld4V|QLv@1d#?Pj5GGM_$ZPRrbnIs>(=l0o<1@-cJS6jA>4 zPD~5Wn&AfQ)_v80V%3i{>{NV+W@9tdhdni|zc@`Y-KV*BRigUsI84$o=TSS+W~k@Q z`m|B9o{I5>ID-4aUY&CkcR7DM?#UKVQj;{R3LB(vg2wml)_-*J*mdW>1p#EsoIslE7ah*^tOJOn?aqG$45gK; z;k`1na^oH-Tq{BD4(~r`0UZ&!02 N; sorted by tag */ + asn_MAP_Registration_Request_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Registration_Request_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Registration_Request = { + "Registration-Request", + "Registration-Request", + &asn_OP_NativeEnumerated, + asn_DEF_Registration_Request_tags_1, + sizeof(asn_DEF_Registration_Request_tags_1) + /sizeof(asn_DEF_Registration_Request_tags_1[0]), /* 1 */ + asn_DEF_Registration_Request_tags_1, /* Same as above */ + sizeof(asn_DEF_Registration_Request_tags_1) + /sizeof(asn_DEF_Registration_Request_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Registration_Request_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Registration_Request_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Registration-Request.h b/asn1c_defs/all-defs/Registration-Request.h new file mode 100755 index 0000000..1bdcb86 --- /dev/null +++ b/asn1c_defs/all-defs/Registration-Request.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Registration_Request_H_ +#define _Registration_Request_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Registration_Request { + Registration_Request_start = 0, + Registration_Request_stop = 1, + /* + * Enumeration is extensible + */ + Registration_Request_partial_stop = 2, + Registration_Request_add = 3 +} e_Registration_Request; + +/* Registration-Request */ +typedef long Registration_Request_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Registration_Request; +asn_struct_free_f Registration_Request_free; +asn_struct_print_f Registration_Request_print; +asn_constr_check_f Registration_Request_constraint; +ber_type_decoder_f Registration_Request_decode_ber; +der_type_encoder_f Registration_Request_encode_der; +xer_type_decoder_f Registration_Request_decode_xer; +xer_type_encoder_f Registration_Request_encode_xer; +per_type_decoder_f Registration_Request_decode_uper; +per_type_encoder_f Registration_Request_encode_uper; +per_type_decoder_f Registration_Request_decode_aper; +per_type_encoder_f Registration_Request_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Registration_Request_H_ */ +#include diff --git a/asn1c_defs/all-defs/Registration-Request.o b/asn1c_defs/all-defs/Registration-Request.o new file mode 100644 index 0000000000000000000000000000000000000000..c6eab6bbf31e6a2fdc9fb3d8ba96583134b2f4c1 GIT binary patch literal 2784 zcmbtVPfyfP5TB)}_!lrCA@NdAV&YaxNHl6p4K5Ia*sLKQOWA!{R(IQV+a+>Q60aUS za`aPp_UOmpEBFBn&b-dh$D?FPoTQ!k{oZfhoA_E@Mo3JIBPwY&vbstEoEOEFZ>sH%;nI^>L)K9I`wf(mNf%0Hbc)t7{Oq+he*L z+iccJVjGX`z!EH2*g-tO+(r7HL@ni9M9bZ3cgX}sKJ{ms)N;clF{Uxe#1{zPYbz^H z+=Z>3QIe0`N8YlxSocR7`JesA-r}<7-!J%+l&XN{GYNl=tJ<7%X6u}+-03XmY?WHz z;0RUbfW0~Z^C+xAd8j4xndW7c07CAtqxmUD0OmeBMn5M43>+x+!hge{hJ3)pHv6CG zsh%0e;t4u%o!QgQforD;L`V3{8uQ&{#b5MhpG?CXZcG&qRTt4~L7XMg%f@PCHY3pY zG|J;n7WrBeHkwhsKTy@eR+``?XX)E;rCOB@R7?7M{UWRu?Zv&3T2jfV&)uD?B+ZhR zv+}%o=n1?DqfPt@?WqQ)Df}R*w&pu3QNwO4O46v9MchqtS1d0sD2nOurb@|BNU(uk?KlfOCP mChBPI?E0@FXYV~yFwZ~Sht_}=)ZfOc{6k*9uhf}gcK$!C0^;-l literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RelativeNarrowbandTxPower.c b/asn1c_defs/all-defs/RelativeNarrowbandTxPower.c new file mode 100755 index 0000000..546da83 --- /dev/null +++ b/asn1c_defs/all-defs/RelativeNarrowbandTxPower.c @@ -0,0 +1,249 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RelativeNarrowbandTxPower.h" + +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_rNTP_PerPRB_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 110)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_p_B_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pDCCH_InterferenceImpact_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_numberOfCellSpecificAntennaPorts_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_rNTP_PerPRB_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 6, 110 } /* (SIZE(6..110,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_p_B_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_pDCCH_InterferenceImpact_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_4[] = { + { 0, 3, "one" }, + { 1, 3, "two" }, + { 2, 4, "four" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_4[] = { + 2, /* four(2) */ + 0, /* one(0) */ + 1 /* two(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_numberOfCellSpecificAntennaPorts_specs_4 = { + asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_4, /* "tag" => N; sorted by tag */ + asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_4, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_numberOfCellSpecificAntennaPorts_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_4 = { + "numberOfCellSpecificAntennaPorts", + "numberOfCellSpecificAntennaPorts", + &asn_OP_NativeEnumerated, + asn_DEF_numberOfCellSpecificAntennaPorts_tags_4, + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_4) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_4[0]) - 1, /* 1 */ + asn_DEF_numberOfCellSpecificAntennaPorts_tags_4, /* Same as above */ + sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_4) + /sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_numberOfCellSpecificAntennaPorts_constr_4, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_numberOfCellSpecificAntennaPorts_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RelativeNarrowbandTxPower_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower, rNTP_PerPRB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_rNTP_PerPRB_constr_2, memb_rNTP_PerPRB_constraint_1 }, + 0, 0, /* No default value */ + "rNTP-PerPRB" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower, rNTP_Threshold), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RNTP_Threshold, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rNTP-Threshold" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower, numberOfCellSpecificAntennaPorts), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_numberOfCellSpecificAntennaPorts_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "numberOfCellSpecificAntennaPorts" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower, p_B), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_p_B_constr_9, memb_p_B_constraint_1 }, + 0, 0, /* No default value */ + "p-B" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativeNarrowbandTxPower, pDCCH_InterferenceImpact), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_pDCCH_InterferenceImpact_constr_10, memb_pDCCH_InterferenceImpact_constraint_1 }, + 0, 0, /* No default value */ + "pDCCH-InterferenceImpact" + }, + { ATF_POINTER, 1, offsetof(struct RelativeNarrowbandTxPower, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P184, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_RelativeNarrowbandTxPower_oms_1[] = { 5 }; +static const ber_tlv_tag_t asn_DEF_RelativeNarrowbandTxPower_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RelativeNarrowbandTxPower_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rNTP-PerPRB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rNTP-Threshold */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* numberOfCellSpecificAntennaPorts */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* p-B */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pDCCH-InterferenceImpact */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RelativeNarrowbandTxPower_specs_1 = { + sizeof(struct RelativeNarrowbandTxPower), + offsetof(struct RelativeNarrowbandTxPower, _asn_ctx), + asn_MAP_RelativeNarrowbandTxPower_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_RelativeNarrowbandTxPower_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RelativeNarrowbandTxPower = { + "RelativeNarrowbandTxPower", + "RelativeNarrowbandTxPower", + &asn_OP_SEQUENCE, + asn_DEF_RelativeNarrowbandTxPower_tags_1, + sizeof(asn_DEF_RelativeNarrowbandTxPower_tags_1) + /sizeof(asn_DEF_RelativeNarrowbandTxPower_tags_1[0]), /* 1 */ + asn_DEF_RelativeNarrowbandTxPower_tags_1, /* Same as above */ + sizeof(asn_DEF_RelativeNarrowbandTxPower_tags_1) + /sizeof(asn_DEF_RelativeNarrowbandTxPower_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RelativeNarrowbandTxPower_1, + 6, /* Elements count */ + &asn_SPC_RelativeNarrowbandTxPower_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RelativeNarrowbandTxPower.h b/asn1c_defs/all-defs/RelativeNarrowbandTxPower.h new file mode 100755 index 0000000..c887d16 --- /dev/null +++ b/asn1c_defs/all-defs/RelativeNarrowbandTxPower.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RelativeNarrowbandTxPower_H_ +#define _RelativeNarrowbandTxPower_H_ + + +#include + +/* Including external dependencies */ +#include +#include "RNTP-Threshold.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RelativeNarrowbandTxPower__numberOfCellSpecificAntennaPorts { + RelativeNarrowbandTxPower__numberOfCellSpecificAntennaPorts_one = 0, + RelativeNarrowbandTxPower__numberOfCellSpecificAntennaPorts_two = 1, + RelativeNarrowbandTxPower__numberOfCellSpecificAntennaPorts_four = 2 + /* + * Enumeration is extensible + */ +} e_RelativeNarrowbandTxPower__numberOfCellSpecificAntennaPorts; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* RelativeNarrowbandTxPower */ +typedef struct RelativeNarrowbandTxPower { + BIT_STRING_t rNTP_PerPRB; + RNTP_Threshold_t rNTP_Threshold; + long numberOfCellSpecificAntennaPorts; + long p_B; + long pDCCH_InterferenceImpact; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RelativeNarrowbandTxPower_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_4; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_RelativeNarrowbandTxPower; +extern asn_SEQUENCE_specifics_t asn_SPC_RelativeNarrowbandTxPower_specs_1; +extern asn_TYPE_member_t asn_MBR_RelativeNarrowbandTxPower_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RelativeNarrowbandTxPower_H_ */ +#include diff --git a/asn1c_defs/all-defs/RelativeNarrowbandTxPower.o b/asn1c_defs/all-defs/RelativeNarrowbandTxPower.o new file mode 100644 index 0000000000000000000000000000000000000000..7ad0718bda3f17c5e95d6f7577b0da9170fae101 GIT binary patch literal 7368 zcmcIpU2Ggz6~4}fW~o!#ffg(ZWcW#Aqk6kzqGD31+IYRmSaO_=?No(A$K&1E*kyNT zH9JmRsKAvQDOQMDsj5^VKvo1INPP%z5q-c?L0E!^5b+SH4^%uMl?OnmiV&ilbLX7d zvp2i8)22t7Ip==&J3sf%-I+VHKPXHc-_z5hSbEfxs?}mtsf(X(**R_I)I;h)Qu+@1#7sz+AETdMlyq_=Bs6;96;M~Z$}oEeYp zxy8_LE(X=IYK)Al#za2vj7&lmVZ{&qddZ)xHM~-!mI@<<6{xMb1W8p;_f>R0P?cag z&fWSu;do8)T6XIDpjZ|hv6g!scMM|Q{}IH^LCn67Ag%*3KXDJ^ z;yS>i2*;=HVO$7xS7NS5d0)7zKwZcUz@HX<=DOzmCeAKqJ;-Apl?`5-EMOns^_IcLuaflt~SVbPlZul{? z^BL!9uli@lds-@)#dhCR+X`s)rP@}4#N~>R_?@frbI`p<lUf1}2$#04se?mC7 zrB3N5lth%e0{jDFJ@7pJ7VtZ(QR>fK@V`-Y`8ecvtc($0|*`o=s4oz~vE3o5a=vRtSA9#1;h5S+N3SOD1 zd=^imc#1FnwyQ)>+Nq*DTR45DFr6EWX4r zx;Q`qCdv=J$S>;{XMLb9mE3wD$BMU_VY=Vo?FjcD|D~7CQGw&LmGKt^F8P-Q{&~UQ z61e35N#HU*e-bk5d4Qfnh|Bnnz-9c?0+;b$6u9JH7PyR0Wx_Koe&0GuK$^6P^F15! zFAxXSAlZoH(`}yGL!?dI5%?F$MpYE}mjpg9@GlGeb%7re_%(sUEkD^`To*XbHOmb$ zuuj~4%~AUw0)K>TR6|GvVg9^s!FMcyPB4d z;>`8W`(L8#_!uWgfElMjc#$;5$9ek^wRwDu|CI1m(u`lBwnZ9;M?=&IuWQCPi1!j{ z#(92Jrulp=@)kfxVXPO~3gP2hCh}Jzl_`6Xr!ou8rpkl?Hjr*-#@d@UG|@*Bz%rVd zYEbeJ)Dg_iFyQ`DP^QV{LG2zGb7E&D}9F?{6)7CdNrR0^dXf6{yeubRE`?2 zVW*G*VWasl9QY2DgG0*2196Mz8NU}`C|(!5o*p4w{zlRB9m?A<@>|#`@@#Zal%2ekc~on-fW}1NT>ine%s>{I41QX4p5Nzti|vY5WfPW-M_)l)9$>_=ERxqm$=Nli-B68H1v`wy6F$ JnMm67|39rL#Hj!P literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReplacingCellsList-Item.c b/asn1c_defs/all-defs/ReplacingCellsList-Item.c new file mode 100755 index 0000000..9fdfbc1 --- /dev/null +++ b/asn1c_defs/all-defs/ReplacingCellsList-Item.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReplacingCellsList-Item.h" + +asn_TYPE_member_t asn_MBR_ReplacingCellsList_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReplacingCellsList_Item, eCGI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eCGI" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReplacingCellsList_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReplacingCellsList_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* eCGI */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ReplacingCellsList_Item_specs_1 = { + sizeof(struct ReplacingCellsList_Item), + offsetof(struct ReplacingCellsList_Item, _asn_ctx), + asn_MAP_ReplacingCellsList_Item_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReplacingCellsList_Item = { + "ReplacingCellsList-Item", + "ReplacingCellsList-Item", + &asn_OP_SEQUENCE, + asn_DEF_ReplacingCellsList_Item_tags_1, + sizeof(asn_DEF_ReplacingCellsList_Item_tags_1) + /sizeof(asn_DEF_ReplacingCellsList_Item_tags_1[0]), /* 1 */ + asn_DEF_ReplacingCellsList_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ReplacingCellsList_Item_tags_1) + /sizeof(asn_DEF_ReplacingCellsList_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ReplacingCellsList_Item_1, + 1, /* Elements count */ + &asn_SPC_ReplacingCellsList_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReplacingCellsList-Item.h b/asn1c_defs/all-defs/ReplacingCellsList-Item.h new file mode 100755 index 0000000..b3de12e --- /dev/null +++ b/asn1c_defs/all-defs/ReplacingCellsList-Item.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReplacingCellsList_Item_H_ +#define _ReplacingCellsList_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ReplacingCellsList-Item */ +typedef struct ReplacingCellsList_Item { + ECGI_t eCGI; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ReplacingCellsList_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReplacingCellsList_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ReplacingCellsList_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ReplacingCellsList_Item_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReplacingCellsList_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReplacingCellsList-Item.o b/asn1c_defs/all-defs/ReplacingCellsList-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..bb35dadc65dde9f0e49ff6517c5c2bd83ed7d26d GIT binary patch literal 2504 zcmbtV&1=+95T9+d*00uz2SJ4OWCi=!l!Brlu`yjMwOv~lyrtO~wu}2klZEx7d+;E5 z@hJF5=%3+HZ~hs2^rSP%yxrNiNfA4c%*^lo=Humk*8RPb@e+17Aa=1ZUwAkH|<1&dl&Pn6C$P9QhXJ$rB6C=fTK7 zH-o=KWLfli$c*=>Wi1`}sQ~|sIOQ2J@j2`7DL$E3h4J60^YRxR92G(kcl}4+raybM zd^%cw5;SAqPH9gc){djCMQtV?lP^uQTl4q5XLWDK^*|eb*z3m0QPAopS+R}1!eUuF z`!%-cXP7*Xg;U~}Zp|+A}n1Ff_Bmt;K9D_RQkwZ*d z+2}^?ARQ*la8CqYQ3<7ASZcL4F5NE12*X=$CL z+(3sg^X73RN!VumO&p_d`@iwGF_vrj2V<;?m% zVpPifqx8A{6&#Zy&lcfLe28lH`Ih5peWWm)#t`1eM`M!rB@fKu63y(L^62=loaZ89 i^qBLfKa{!l2*HrSd7}@*#eYhE{5$^sBT6R3jQ + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ReplacingCellsList_Item; + +/* ReplacingCellsList */ +typedef struct ReplacingCellsList { + A_SEQUENCE_OF(struct ReplacingCellsList_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ReplacingCellsList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReplacingCellsList; +extern asn_SET_OF_specifics_t asn_SPC_ReplacingCellsList_specs_1; +extern asn_TYPE_member_t asn_MBR_ReplacingCellsList_1[1]; +extern asn_per_constraints_t asn_PER_type_ReplacingCellsList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReplacingCellsList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReplacingCellsList.o b/asn1c_defs/all-defs/ReplacingCellsList.o new file mode 100644 index 0000000000000000000000000000000000000000..10720a0960618cb1d532bbf974cf9cea7d9942f7 GIT binary patch literal 2392 zcmbuBOK;Oa5P&B&j{+@Fflwtb;Y5+>Dn^y4KtdM5DWKAZgh)snTql?|A}_@oiC%zz zz_mxXaqN);;x};Q2sf_$f-kp`1`Ja$e|M#5tob@-wC+jxH{1<9hAIC-)Er`=z^dPK6`L7_7 z@pc;dM`WnbW;LpZPaEMzIgBOXU#T*28C*A7y^r?nzbpfa$@iLY% zh-R9C81~7bOkeouCY@M?$hV~CE%n1YpsgfV0|4my=S|A-^$ajJ^oD$5WA%lSnK-B7T5J!2N);Y z9{(pYk{_8G--}}_Gw!0IvoFZp@% N; sorted by tag */ + asn_MAP_ReportAmountMDT_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportAmountMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportAmountMDT = { + "ReportAmountMDT", + "ReportAmountMDT", + &asn_OP_NativeEnumerated, + asn_DEF_ReportAmountMDT_tags_1, + sizeof(asn_DEF_ReportAmountMDT_tags_1) + /sizeof(asn_DEF_ReportAmountMDT_tags_1[0]), /* 1 */ + asn_DEF_ReportAmountMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportAmountMDT_tags_1) + /sizeof(asn_DEF_ReportAmountMDT_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportAmountMDT_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportAmountMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportAmountMDT.h b/asn1c_defs/all-defs/ReportAmountMDT.h new file mode 100755 index 0000000..2698109 --- /dev/null +++ b/asn1c_defs/all-defs/ReportAmountMDT.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportAmountMDT_H_ +#define _ReportAmountMDT_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportAmountMDT { + ReportAmountMDT_r1 = 0, + ReportAmountMDT_r2 = 1, + ReportAmountMDT_r4 = 2, + ReportAmountMDT_r8 = 3, + ReportAmountMDT_r16 = 4, + ReportAmountMDT_r32 = 5, + ReportAmountMDT_r64 = 6, + ReportAmountMDT_rinfinity = 7 +} e_ReportAmountMDT; + +/* ReportAmountMDT */ +typedef long ReportAmountMDT_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ReportAmountMDT_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ReportAmountMDT; +extern const asn_INTEGER_specifics_t asn_SPC_ReportAmountMDT_specs_1; +asn_struct_free_f ReportAmountMDT_free; +asn_struct_print_f ReportAmountMDT_print; +asn_constr_check_f ReportAmountMDT_constraint; +ber_type_decoder_f ReportAmountMDT_decode_ber; +der_type_encoder_f ReportAmountMDT_encode_der; +xer_type_decoder_f ReportAmountMDT_decode_xer; +xer_type_encoder_f ReportAmountMDT_encode_xer; +per_type_decoder_f ReportAmountMDT_decode_uper; +per_type_encoder_f ReportAmountMDT_encode_uper; +per_type_decoder_f ReportAmountMDT_decode_aper; +per_type_encoder_f ReportAmountMDT_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportAmountMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportAmountMDT.o b/asn1c_defs/all-defs/ReportAmountMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..62952adf3ed8823afd6e6afbaa4fa68aa1bc1261 GIT binary patch literal 2976 zcmbtWK~L0B5Pr*|q9TYUMx%$Cn7Ag=(3K$3#FW5-F@hVE=&h8cva4)M+AfjAsEL2T zg9nZrJ$UdZaOB{@_zU;}9`xo7XI^L6x3gV?aguiC`)207nfG4b?%T@4*}g(Su@uxj z)ke%JwSS^*yV`Wsuo_Z*U>E7pG`);)bwFbJd)bS@Mii%0&8QWo^D|FW?5Mb`;&ByE zf<2+)TYx42Hp1tPu#s-{8t90;>{a3;4%0KN)YH>;^n;1>9)kzh^Ef=Xrsf&~)G|Q& zU+ctiP2qgWGiJ>>SPzQiv33;pXDI6>kH_Bfc<%Ki`483H^zX`gM@!E9Rbf>`8W;Wf!};Wu8}~bC#ms*-q{}z=E;E zW@gdg&8(v0-EXsHJ_olzz3d%v) zYW^h%-DMp~K{*rY86H)=1wUSFZgSOe+#}uSlP)|Gxb+Mr*Wq1Y^A}gRN1S3>MMICNt7K&2r$yI z9e}~Quia>|SJ04SuSYc>{I#gr4B!~qVUz~;+``gmlKQomT*&|F%aD$1&G$Bs=CUC) z#+q^!0CMv8!KEPHXM)ONgY N; sorted by tag */ + asn_MAP_ReportArea_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportArea_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportArea = { + "ReportArea", + "ReportArea", + &asn_OP_NativeEnumerated, + asn_DEF_ReportArea_tags_1, + sizeof(asn_DEF_ReportArea_tags_1) + /sizeof(asn_DEF_ReportArea_tags_1[0]), /* 1 */ + asn_DEF_ReportArea_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportArea_tags_1) + /sizeof(asn_DEF_ReportArea_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportArea_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportArea_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportArea.h b/asn1c_defs/all-defs/ReportArea.h new file mode 100755 index 0000000..90dcb66 --- /dev/null +++ b/asn1c_defs/all-defs/ReportArea.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportArea_H_ +#define _ReportArea_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportArea { + ReportArea_ecgi = 0 + /* + * Enumeration is extensible + */ +} e_ReportArea; + +/* ReportArea */ +typedef long ReportArea_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ReportArea_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ReportArea; +extern const asn_INTEGER_specifics_t asn_SPC_ReportArea_specs_1; +asn_struct_free_f ReportArea_free; +asn_struct_print_f ReportArea_print; +asn_constr_check_f ReportArea_constraint; +ber_type_decoder_f ReportArea_decode_ber; +der_type_encoder_f ReportArea_encode_der; +xer_type_decoder_f ReportArea_decode_xer; +xer_type_encoder_f ReportArea_encode_xer; +per_type_decoder_f ReportArea_decode_uper; +per_type_encoder_f ReportArea_encode_uper; +per_type_decoder_f ReportArea_decode_aper; +per_type_encoder_f ReportArea_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportArea_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportArea.o b/asn1c_defs/all-defs/ReportArea.o new file mode 100644 index 0000000000000000000000000000000000000000..55bd11648a91351c41f9042b5154855b5e89964e GIT binary patch literal 2464 zcmbuA&2G~`5P&yzq2;eXoRGML6Gft{xT*vK3Ark1BLu}Ns^I3j?y5;i>?+<=R7h~( z1(4vtk%!;`ICA0{xN_tP%FKGkS#KP1U?h8HzM0t_uP4s?_S3DIMnkYP#3M2Gmsy{NG|IWWJTkF!lQ*gJk;^V%v;?H>nlH*P3$}=5L zR(Qgjgg`vlp-wzu4FM%AfNqGnGTpB9EM6vn;fZ&0Ws{p(%T+3Gf=%c)aYspyE+b3|Bt#b=0{0($n{!f!XPgz2&ur(fNnTR+~qsQ&7 zXbdAAALWs6BF{ELJ8~NLM`}%_qd|QfBWos!;?jI}y6JZ$eq z`s_s6`z2YL>mjXmq*68PB~hA11&@2FHl;7ZO}i>TQ3*bPBRHq_wD8HeoX-;ZqO}IU zf8<(g#=dV-rS;qYj1|+0T*~;z>3bD0n$C z&9su+JA13Sj+58a*ng^

    7OiB|6FdV4<8Vf29u`%hJTH(=!d;*ZHo`)0~bbO3mFKIFBJb!$&Za_oE7|;1bQ=JIeEu5>gZ(3FSZ{EMJl*|x2{vT#x--G}F literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.c b/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.c new file mode 100755 index 0000000..e071df2 --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-ContextReferenceAtSeNB.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtSeNB_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB, source_GlobalSeNB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GlobalENB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "source-GlobalSeNB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB, seNB_UE_X2AP_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UE_X2AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "seNB-UE-X2AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtSeNB, seNB_UE_X2AP_ID_Extension), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UE_X2AP_ID_Extension, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "seNB-UE-X2AP-ID-Extension" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextReferenceAtSeNB, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_ContextReferenceAtSeNB_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_UE_ContextReferenceAtSeNB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextReferenceAtSeNB_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* source-GlobalSeNB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seNB-UE-X2AP-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seNB-UE-X2AP-ID-Extension */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtSeNB_specs_1 = { + sizeof(struct UE_ContextReferenceAtSeNB), + offsetof(struct UE_ContextReferenceAtSeNB, _asn_ctx), + asn_MAP_UE_ContextReferenceAtSeNB_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_UE_ContextReferenceAtSeNB_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSeNB = { + "UE-ContextReferenceAtSeNB", + "UE-ContextReferenceAtSeNB", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextReferenceAtSeNB_tags_1, + sizeof(asn_DEF_UE_ContextReferenceAtSeNB_tags_1) + /sizeof(asn_DEF_UE_ContextReferenceAtSeNB_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextReferenceAtSeNB_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextReferenceAtSeNB_tags_1) + /sizeof(asn_DEF_UE_ContextReferenceAtSeNB_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextReferenceAtSeNB_1, + 4, /* Elements count */ + &asn_SPC_UE_ContextReferenceAtSeNB_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.h b/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.h new file mode 100755 index 0000000..f9549ab --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextReferenceAtSeNB_H_ +#define _UE_ContextReferenceAtSeNB_H_ + + +#include + +/* Including external dependencies */ +#include "GlobalENB-ID.h" +#include "UE-X2AP-ID.h" +#include "UE-X2AP-ID-Extension.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UE-ContextReferenceAtSeNB */ +typedef struct UE_ContextReferenceAtSeNB { + GlobalENB_ID_t source_GlobalSeNB_ID; + UE_X2AP_ID_t seNB_UE_X2AP_ID; + UE_X2AP_ID_Extension_t seNB_UE_X2AP_ID_Extension; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtSeNB_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSeNB; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextReferenceAtSeNB_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.o b/asn1c_defs/all-defs/UE-ContextReferenceAtSeNB.o new file mode 100644 index 0000000000000000000000000000000000000000..a0fce8dac1bf383b85af11bee40027b1b0f3def3 GIT binary patch literal 3344 zcmcImOK;Oa5Z*K`P#&e_B_2WwCxS#w5-L%F1a4Bd1wk5GB9)Wt7}FLKyRsdrTp&M! z0|yQ{a^xStkzd*cef0A`$-c(bx2wJIYyGxNJIQBs1;M}tqAkjfb{!+DiKbLPb zJ8sy?-P2~ZVxiQDywdy9oK~FGO1JtrrzUEwJudzv?vd=!%;NOy&TI@IH5um2Nw1z#u@$?@#Dior@%MD7s%(j=w@L) zNs<+(l3?KDDh|spaA&0V-Jtl7crj1Z zFq02iGqg4XvlJ1ZRaQq3`<%6Ubp$8aaqPip^Ysx-C|h<~TzDkaYx9sJ-z0j4mAbiR zJZ~7asv+1gZO;ut-`aM=K|lI;iczbWaHU91!doR7GUJPd`E}n5J=<#yBG_Um&jmP z-XAE4pO38m&mP%4|EuKxmhcN?qsk)@g!y;+u2`1vi-e)-N;sZ6k0{oY@JocD`YGYa ze@QX9&)7E>wV!;B2rYQm4y`8W(C_Olw(wty&|X=gCA4M`2+jA-l6q1$i!CQ+RCEKj$~8Y2FMMt5L0gk zeZUwt)cl(e#-1NG|2E{}n8ROByx%t=CJWbRtwRuPwf=X&Q1+SFcSVjgs|R4@0s=ubkC#$%OZgY*;7N%ebFi1V>NPD!nA0*3Xe99VtX zCt#TY(mBP){$f7Y;c%WBit8f_wIj+wd + +/* Including external dependencies */ +#include "GlobalGNB-ID.h" +#include "SgNB-UE-X2AP-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UE-ContextReferenceAtSgNB */ +typedef struct UE_ContextReferenceAtSgNB { + GlobalGNB_ID_t source_GlobalSgNB_ID; + SgNB_UE_X2AP_ID_t sgNB_UE_X2AP_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtSgNB_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtSgNB; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextReferenceAtSgNB_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.o b/asn1c_defs/all-defs/UE-ContextReferenceAtSgNB.o new file mode 100644 index 0000000000000000000000000000000000000000..658a1409f7fc15964bef66a53c49e881ef251188 GIT binary patch literal 3136 zcmb_eOK;Oa5Z=@jTAnQriHDHFi6RkGhe}i+ft%D#K{Pe3A|WouF{Ujfb`?8Pxj+sa z_yHU^_Q+4*20x)c0tt?A;|4SKjI&wd2&#^>o|$jwu{*n&%^U0C(paG&m(NN zw!$FlXZUwXU8}0+Mbh#nM&M&G_Zw)0$$w9M0FT257#H`CV;9Cz z7ze#x2suDsK>H{mYF+s}RGeL~rZQnI*avakgKT56UaMAb7iSvHZV-2ixAZxEwq$e@ z&3J9h>$7vZaV^EcBcCwWA@OtQnQ8+o>BrCpRwU!Ycd0>!VWf%izu?P&6vU*Mr5W~I zO7L;fBYc92^diBJ5Gpc11T@jd+2B107@vvrd?tL3CO9vunq*JY3Dd+eSnIm4Tq6T2IcVY9AdlZ^NY7<{j1a`0sdKTR?+Tf(sy^+~l-2yZfFZqO!&DVT;>_-VfW6*ifOwAzYLowQ!112({o?zy3fQpxCOz8x zJEX9G<$nMZ!}9OZ)5ZRnA0air0~qF)|094ZdIZd)B2iJ2QQUxm{+tIfq)+6J=OYu^ zA~D~V&VFo*`Y_Y)1Wpmh-|`d;b^rL1t7i|8_(c!+TP2~QCOveRKPT#8 IFo{(EKSPZOrT_o{ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtWT.c b/asn1c_defs/all-defs/UE-ContextReferenceAtWT.c new file mode 100755 index 0000000..9c0105c --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextReferenceAtWT.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-ContextReferenceAtWT.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UE_ContextReferenceAtWT_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtWT, wTID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_WTID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wTID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextReferenceAtWT, wT_UE_XwAP_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WT_UE_XwAP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wT-UE-XwAP-ID" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextReferenceAtWT, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_ContextReferenceAtWT_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_UE_ContextReferenceAtWT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextReferenceAtWT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wTID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* wT-UE-XwAP-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_ContextReferenceAtWT_specs_1 = { + sizeof(struct UE_ContextReferenceAtWT), + offsetof(struct UE_ContextReferenceAtWT, _asn_ctx), + asn_MAP_UE_ContextReferenceAtWT_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_UE_ContextReferenceAtWT_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtWT = { + "UE-ContextReferenceAtWT", + "UE-ContextReferenceAtWT", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextReferenceAtWT_tags_1, + sizeof(asn_DEF_UE_ContextReferenceAtWT_tags_1) + /sizeof(asn_DEF_UE_ContextReferenceAtWT_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextReferenceAtWT_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextReferenceAtWT_tags_1) + /sizeof(asn_DEF_UE_ContextReferenceAtWT_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextReferenceAtWT_1, + 3, /* Elements count */ + &asn_SPC_UE_ContextReferenceAtWT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtWT.h b/asn1c_defs/all-defs/UE-ContextReferenceAtWT.h new file mode 100755 index 0000000..ce7ee95 --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextReferenceAtWT.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextReferenceAtWT_H_ +#define _UE_ContextReferenceAtWT_H_ + + +#include + +/* Including external dependencies */ +#include "WTID.h" +#include "WT-UE-XwAP-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UE-ContextReferenceAtWT */ +typedef struct UE_ContextReferenceAtWT { + WTID_t wTID; + WT_UE_XwAP_ID_t wT_UE_XwAP_ID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextReferenceAtWT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextReferenceAtWT; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextReferenceAtWT_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextReferenceAtWT.o b/asn1c_defs/all-defs/UE-ContextReferenceAtWT.o new file mode 100644 index 0000000000000000000000000000000000000000..26d5db84c963530f8d4db0a5b307c1f25b192398 GIT binary patch literal 3080 zcmb_ePfyfP5PwTWQTzk`Nlc7!J&BQRD3FMnn1!XV8ifkG!CNV%0&%w`+Y<1id-UK3 z;EVVTJaF`A;+N2~2c3DH>Aroo8$+Dr?ach<-|O^s-hQxOEDe=Pf~h2)ik`-(5cQFs zT$N%~ToIQ=)2`H_FbR&5wct(A2|_=ZPc|Cju<>jWekx#peK_w_K-;q`_E8dq@m>_h zy=;ReeJ{FR6m1k42H-wbzu zL@{BlGva4%?~T5l^l}(|J5urdr!=5K9vNczFZdQ9C2?L%k%c1{BtD$=dW4#^E%9^Y zEwVTS4AH~c;S&g$pNZ>yCVZ9*To+YC@h7unh8R`VOg7|O%Ty_Rhu?AKd3VYD3-}nx zDjS98%fs&!;FAUTLIGYhm`q=Iap*4EOK#J4^G27OcssFcNw=2^YlUv9$GTH1^oaKZ zKg%@l6#7BI>7d0W2RKG;PB&oxa^tIxyKcW~+AB3%u;BVIcax5{7baN`HgHUHLpB8}&N(E+uSqHW`ARb4_*}fd9}0e*WMmWQ2*m!k zQ&rRz{03pjx(bf@ACOJ$8}@;T>th(={5=aZe%DUCE#OHf<-085?JUe~FY$!A701Ht zM5v&rWm=#HEl-+J(p0k*`5uBYM3{cmZU=CH%rHsHKSE@;> zs-no$whXxo5@Py-D>UA$?@W zR2607%$|UNGrh_H@j4!UAcx{Ff{f>k&ljJkRlxG~cMD36XueeQ{@cJi$9_McQKhldi)>f8}$GH literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-HistoryInformation.c b/asn1c_defs/all-defs/UE-HistoryInformation.c new file mode 100755 index 0000000..f2ce3e3 --- /dev/null +++ b/asn1c_defs/all-defs/UE-HistoryInformation.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-HistoryInformation.h" + +#include "LastVisitedCell-Item.h" +static asn_per_constraints_t asn_PER_type_UE_HistoryInformation_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_UE_HistoryInformation_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_LastVisitedCell_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_UE_HistoryInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_UE_HistoryInformation_specs_1 = { + sizeof(struct UE_HistoryInformation), + offsetof(struct UE_HistoryInformation, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_HistoryInformation = { + "UE-HistoryInformation", + "UE-HistoryInformation", + &asn_OP_SEQUENCE_OF, + asn_DEF_UE_HistoryInformation_tags_1, + sizeof(asn_DEF_UE_HistoryInformation_tags_1) + /sizeof(asn_DEF_UE_HistoryInformation_tags_1[0]), /* 1 */ + asn_DEF_UE_HistoryInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_HistoryInformation_tags_1) + /sizeof(asn_DEF_UE_HistoryInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UE_HistoryInformation_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_UE_HistoryInformation_1, + 1, /* Single element */ + &asn_SPC_UE_HistoryInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-HistoryInformation.h b/asn1c_defs/all-defs/UE-HistoryInformation.h new file mode 100755 index 0000000..6178b46 --- /dev/null +++ b/asn1c_defs/all-defs/UE-HistoryInformation.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_HistoryInformation_H_ +#define _UE_HistoryInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct LastVisitedCell_Item; + +/* UE-HistoryInformation */ +typedef struct UE_HistoryInformation { + A_SEQUENCE_OF(struct LastVisitedCell_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_HistoryInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_HistoryInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_HistoryInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-HistoryInformation.o b/asn1c_defs/all-defs/UE-HistoryInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..7d8fa0b2d7af187f721560a27e7c71a339d956cf GIT binary patch literal 2400 zcmbtV&2G~`5FXbB3KVEB{D_M=Q6##GQ6&&al|^vcqSA(hAS4dPNevAob`)|ZZrflV4V1{vc6ioh!-*O43NjX)%6U2)Bq(vlk)Y;j1)ov!J@)2>5sql|*)uIORhb`{;h7ButFetXE6?=^*N;ilx)a z=CfN5n*QUKzf<*t-5NCgC#V83jj$W@{L8k(lt1mJT^{XKqh2rA;!$6&u6Q5xQ=@i< z&auv`Js|!!QTK(s7@MZPa`y^uDrq^p*qL3wa2vouH7-oy>$D72DC2;;NNr}fcA(pe7i&#@^^ zkNa6f7Q|ARId>XI + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-HistoryInformationFromTheUE */ +typedef OCTET_STRING_t UE_HistoryInformationFromTheUE_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_HistoryInformationFromTheUE; +asn_struct_free_f UE_HistoryInformationFromTheUE_free; +asn_struct_print_f UE_HistoryInformationFromTheUE_print; +asn_constr_check_f UE_HistoryInformationFromTheUE_constraint; +ber_type_decoder_f UE_HistoryInformationFromTheUE_decode_ber; +der_type_encoder_f UE_HistoryInformationFromTheUE_encode_der; +xer_type_decoder_f UE_HistoryInformationFromTheUE_decode_xer; +xer_type_encoder_f UE_HistoryInformationFromTheUE_encode_xer; +per_type_decoder_f UE_HistoryInformationFromTheUE_decode_uper; +per_type_encoder_f UE_HistoryInformationFromTheUE_encode_uper; +per_type_decoder_f UE_HistoryInformationFromTheUE_decode_aper; +per_type_encoder_f UE_HistoryInformationFromTheUE_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_HistoryInformationFromTheUE_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-HistoryInformationFromTheUE.o b/asn1c_defs/all-defs/UE-HistoryInformationFromTheUE.o new file mode 100644 index 0000000000000000000000000000000000000000..44c2ca211b9cedff5f75a6ca09d317bc25d87a5b GIT binary patch literal 1912 zcmbVM&2G~`5T4ZKzeV(h#DTztB9T>$DiMK%ECnYmLT%J0Ck~Ed+&Ti=$leHgfd}9@ zka!G^J@7KzxWSCGyBQW6P)D-o`@Wgk@&0%}`Y#4+trlo&!Bbc%rw09VgZ_^LA|eROEO_P*f{7pe zop^N!&C#@RG4&KOVW0OzRUDYg~?47rg5$-TscvmrZSv?z)3BA zqLGZ>OAxO@8G@LVC5R#?LYc1UA&uXJRhW>Df{5}ojd68EmdjWS_a~iFhS6)@^!)f1 zmeL$9T0?ji*OYR(-9bW{{fBuxiDA3`9>!=N&RhQgYiZ1f_;B+Sxy?nyde8NDP+r~l zPf;gJmd?D}1}(u8baWSZOKRS2HK8v`xr(07t?sYS;d9iezkPF^p+?5( z$n2ZKv_9PQytRLcL5+Fd4^9}ibBWvEPU*TnQ3cmfqsN{<-H`U)qXbhm=vN}l?EYIA OtE)d#qWzoL^}hgsbCm-C literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.c b/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.c new file mode 100755 index 0000000..617a6c9 --- /dev/null +++ b/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-RLF-Report-Container-for-extended-bands.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UE_RLF_Report_Container_for_extended_bands = { + "UE-RLF-Report-Container-for-extended-bands", + "UE-RLF-Report-Container-for-extended-bands", + &asn_OP_OCTET_STRING, + asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1, + sizeof(asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1) + /sizeof(asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1[0]), /* 1 */ + asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1) + /sizeof(asn_DEF_UE_RLF_Report_Container_for_extended_bands_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.h b/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.h new file mode 100755 index 0000000..ee8fcfd --- /dev/null +++ b/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_RLF_Report_Container_for_extended_bands_H_ +#define _UE_RLF_Report_Container_for_extended_bands_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-RLF-Report-Container-for-extended-bands */ +typedef OCTET_STRING_t UE_RLF_Report_Container_for_extended_bands_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_RLF_Report_Container_for_extended_bands; +asn_struct_free_f UE_RLF_Report_Container_for_extended_bands_free; +asn_struct_print_f UE_RLF_Report_Container_for_extended_bands_print; +asn_constr_check_f UE_RLF_Report_Container_for_extended_bands_constraint; +ber_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_ber; +der_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_der; +xer_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_xer; +xer_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_xer; +per_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_uper; +per_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_uper; +per_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_aper; +per_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_RLF_Report_Container_for_extended_bands_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.o b/asn1c_defs/all-defs/UE-RLF-Report-Container-for-extended-bands.o new file mode 100644 index 0000000000000000000000000000000000000000..0c857b00f26a9f3a8e26cfd420c706098307e400 GIT binary patch literal 1984 zcmbVM&2H2%5T0$ye~a2%B`(W}B8as?m8d{MkwSI>Rc*E1J#jGEtZAyUNtJjdxWK*# zFTjoG;5|5S;KCEYOk!tUE0O4qv-LD9J`L|uH$9baT%Q!+*={C3^_XHN5Lo@@srW;_2Ho8P6amj zS2jQ~#K^s4H&sy0*k`;Lx(80P#AOsNEL+mBDW+ zOzNG&l;^I(rDDaWnT#gD@L-irG?G|aVADuOz$QfjEYHXwPmk@RDLzEyG$B0;EY4;# zffZtDCIuTDj@?2=@wvI^>i8ap(iyH>DSXS;Ci$9j9}VK{KhZax3~a|gz&W~yRpTFH zEaiNH!xUc`k4zG=zH_|~@@v}v0(p|8QuVi6qY6AnMQ?^*ne{hO2l}R%+o-8;_4>LG z-ylcp+b`TN + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-RLF-Report-Container */ +typedef OCTET_STRING_t UE_RLF_Report_Container_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_RLF_Report_Container; +asn_struct_free_f UE_RLF_Report_Container_free; +asn_struct_print_f UE_RLF_Report_Container_print; +asn_constr_check_f UE_RLF_Report_Container_constraint; +ber_type_decoder_f UE_RLF_Report_Container_decode_ber; +der_type_encoder_f UE_RLF_Report_Container_encode_der; +xer_type_decoder_f UE_RLF_Report_Container_decode_xer; +xer_type_encoder_f UE_RLF_Report_Container_encode_xer; +per_type_decoder_f UE_RLF_Report_Container_decode_uper; +per_type_encoder_f UE_RLF_Report_Container_encode_uper; +per_type_decoder_f UE_RLF_Report_Container_decode_aper; +per_type_encoder_f UE_RLF_Report_Container_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_RLF_Report_Container_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-RLF-Report-Container.o b/asn1c_defs/all-defs/UE-RLF-Report-Container.o new file mode 100644 index 0000000000000000000000000000000000000000..61af36d594a9f0291c880bbb77eb26b9fdc669d2 GIT binary patch literal 1896 zcmbVM&2G~`5T4Y9^3$UBhQuYD2ohe!s1gXI%ECASRJB!_oH%S8V>K1TuHp@X3%ml4 zfy4{&2po7BZrotT-rY=Bu_AROd%o|RnH}$X?62`*Z==-$V=XvO z_!2x7-F*=}taV%G0_wjBfBv~Tac||xkiM}h9d)lkXNSo$Jh;YK4ez0A!Isr|rN?xe zfWU*BoLcO`4T}wUfnbmIo$9~@eRZZLQTvY#`nLwXX+T5@Ntw%+aZiq7i6bQI5t4R< zq)N_88LUgI;>RcQI2y)7c{&`tKI&K6S%!0Xp31zCX_1#|j)SSH$mvORDP5KqSz2D+ zD9r(X8|LI(-JB8W+iZ!u8k25nN$ND{ub950F}bnEw9XxkD<{g&GnGt0;Ld74HArQj z6o_|;NVn&-(dF)+{)q0`qXc8U=no>y-2QtQTUGy4 Ki|%LQ*8c~G{fBh` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-S1AP-ID.c b/asn1c_defs/all-defs/UE-S1AP-ID.c new file mode 100755 index 0000000..e085236 --- /dev/null +++ b/asn1c_defs/all-defs/UE-S1AP-ID.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-S1AP-ID.h" + +int +UE_S1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UE_S1AP_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +const asn_INTEGER_specifics_t asn_SPC_UE_S1AP_ID_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_UE_S1AP_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UE_S1AP_ID = { + "UE-S1AP-ID", + "UE-S1AP-ID", + &asn_OP_NativeInteger, + asn_DEF_UE_S1AP_ID_tags_1, + sizeof(asn_DEF_UE_S1AP_ID_tags_1) + /sizeof(asn_DEF_UE_S1AP_ID_tags_1[0]), /* 1 */ + asn_DEF_UE_S1AP_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_S1AP_ID_tags_1) + /sizeof(asn_DEF_UE_S1AP_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UE_S1AP_ID_constr_1, UE_S1AP_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_UE_S1AP_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-S1AP-ID.h b/asn1c_defs/all-defs/UE-S1AP-ID.h new file mode 100755 index 0000000..1c7a2ec --- /dev/null +++ b/asn1c_defs/all-defs/UE-S1AP-ID.h @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_S1AP_ID_H_ +#define _UE_S1AP_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-S1AP-ID */ +typedef unsigned long UE_S1AP_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UE_S1AP_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UE_S1AP_ID; +extern const asn_INTEGER_specifics_t asn_SPC_UE_S1AP_ID_specs_1; +asn_struct_free_f UE_S1AP_ID_free; +asn_struct_print_f UE_S1AP_ID_print; +asn_constr_check_f UE_S1AP_ID_constraint; +ber_type_decoder_f UE_S1AP_ID_decode_ber; +der_type_encoder_f UE_S1AP_ID_encode_der; +xer_type_decoder_f UE_S1AP_ID_decode_xer; +xer_type_encoder_f UE_S1AP_ID_encode_xer; +per_type_decoder_f UE_S1AP_ID_decode_uper; +per_type_encoder_f UE_S1AP_ID_encode_uper; +per_type_decoder_f UE_S1AP_ID_decode_aper; +per_type_encoder_f UE_S1AP_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_S1AP_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-S1AP-ID.o b/asn1c_defs/all-defs/UE-S1AP-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..cc0eb2cd52acaf3240eddad8d4dd2af4b2491df5 GIT binary patch literal 2792 zcmbVNL2DFQ5U$Cn8KaIf>LH+DAJmQDJkt^|2ug>^Xh%XEi~%uV+nIC{HJJ(19WfqM zh&c?hi~A4u=)r&BCE!8NISF3&2Q1=V_OuwQx~qELJUfEEp}W5NUe$ZmRqxe2t4&_* z%jG~u4z55~6Bgk0zAkoR=s+1tFl~QwH~)(YosYBc4xe#qdWA)0!xN5-Z@RIe&UtSBWW-GE5?>`Ef))11X=g&gd zaJL=+~Yk98oT}_0(4ZJ-jKpsM>N`}8|C83T zb6Ml5feFuaoLQ=doc#h%&^gw5$tm$=wjnXdnE38#0+2kKyrbD4VNAl+_`@21Pvehj zyv3Nlm!5Q}aD656=Rjcv61gO(9W47Q3LZzG=KaVAH5Z1U+AUJZ+*YH#Dwa3)i473R zET~3nWhKD!D(tj@x;8aa2_wJpknMvdZ=vn41Zhye4lHz)TIj1dtjK+kIjNKA#}Uxo zc7$MA;;T8#deRR7r2bOZGdNHCn;q&e_LF3ov5^zKIn84M}0sa z;(tmf5lj5Cj)Pp5|1mcB&F~jLk+<02jNf5{CBxq`^c$#W<=^4_Z?Qe)pSrZfFZsWV z9BtKe#!=tm{awWRuyh6S0zPCab(ZM@FG%QM4@5Z}T_INff<42UO9+ZXI_nvXJJ z#xLJ5dp$#tl|T8blRQ!WsPBot@Dz`^H&XDN$-g;Z>N)h7{?yaV+9L(`C@36n5|O^m U@26gwname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UE_X2AP_ID_Extension_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 12, 12, 0, 4095 } /* (0..4095,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UE_X2AP_ID_Extension_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UE_X2AP_ID_Extension = { + "UE-X2AP-ID-Extension", + "UE-X2AP-ID-Extension", + &asn_OP_NativeInteger, + asn_DEF_UE_X2AP_ID_Extension_tags_1, + sizeof(asn_DEF_UE_X2AP_ID_Extension_tags_1) + /sizeof(asn_DEF_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */ + asn_DEF_UE_X2AP_ID_Extension_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_X2AP_ID_Extension_tags_1) + /sizeof(asn_DEF_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UE_X2AP_ID_Extension_constr_1, UE_X2AP_ID_Extension_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UE-X2AP-ID-Extension.h b/asn1c_defs/all-defs/UE-X2AP-ID-Extension.h new file mode 100755 index 0000000..5cdbbbb --- /dev/null +++ b/asn1c_defs/all-defs/UE-X2AP-ID-Extension.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_X2AP_ID_Extension_H_ +#define _UE_X2AP_ID_Extension_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-X2AP-ID-Extension */ +typedef long UE_X2AP_ID_Extension_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UE_X2AP_ID_Extension_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UE_X2AP_ID_Extension; +asn_struct_free_f UE_X2AP_ID_Extension_free; +asn_struct_print_f UE_X2AP_ID_Extension_print; +asn_constr_check_f UE_X2AP_ID_Extension_constraint; +ber_type_decoder_f UE_X2AP_ID_Extension_decode_ber; +der_type_encoder_f UE_X2AP_ID_Extension_encode_der; +xer_type_decoder_f UE_X2AP_ID_Extension_decode_xer; +xer_type_encoder_f UE_X2AP_ID_Extension_encode_xer; +per_type_decoder_f UE_X2AP_ID_Extension_decode_uper; +per_type_encoder_f UE_X2AP_ID_Extension_encode_uper; +per_type_decoder_f UE_X2AP_ID_Extension_decode_aper; +per_type_encoder_f UE_X2AP_ID_Extension_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_X2AP_ID_Extension_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-X2AP-ID-Extension.o b/asn1c_defs/all-defs/UE-X2AP-ID-Extension.o new file mode 100644 index 0000000000000000000000000000000000000000..c133ba729ba0d96ef82f2bdb1a9f716ca2f07294 GIT binary patch literal 2840 zcmbVO&2Jl35Fckt6WZW9fkUJs*h?W5^{Y3EL=;t#quA+2SZP!Usz749aW)^Vy++=3 zl=jeqN~Kx|#6N(ae0 zTgxM*5(t%G0gg050iK>dlIvQm!vs{ofB5f*E5ieS_#|z3zxiJ-9G(N%^ZbVgKOG{a z@A?n^9BX|&+WO`-in{fdp9%i(AAk7FAO7k+UOYUw@yYP%r$3*2yN>xd@Gl*hIb-~- zNe=W5{`f_&pS`H8aefRKs0<-0gh=$0xKfwHB=*|DX0(-D4m+Ky7S@~98#9Y*)s;rI zxt~UHvfGPQ8!jaC?q1j#L~h(m-R<4ID0Zh2ys&vu+uFT2N&De$oVr`#ZYSEztwjk> zs_R8Id#`N$MR7JhM!?mjrFnOHePa-(1NVJ3t7=tmpf&HFH>YZ|%Db51@CGL+-MtQ_ z{YvTl_~_VoxcDW+-(=f>c%xi-FcOxhT4nd+^3-CvvUH|A);zna5q2zK^c|<*@4`KE z3Qs72gMUTjV5TB+;FTg6vlxfn@Ni(%&@yofSqWavadRcdz;g!_95`#Lx$NkZoU2;6 zqTk2sT-5mKyw?)7%(&<#ci@bvYWV|vPa6HydxqF;d?t+V-O=6vkC0bbHre;6Oc?!N z6Jyaq$D4zfENC>BgY{-W7b{q41o_1Z(r`NoJW#Er8og%dr8Zt$3s%Dv zFX>90M%z(egKN#}L3-!&sJN0WJ=XFbf6oYVnm7MtBjs?`z-ht>9vZmm-!<^E;m@$% z2|9iA4Cs4_GTjFgmpveSl6{HMc_bqI=u`qsYxFo?H}Kb4CgvNstVNK^IQ4;^oK$kB zn}!>paNuQpN2Gq#2~`^Hr=T{&Gz7JgB%t~|Qpnv?bI+@|^*Tm7pd?mM?OwMV#h3`^ zZKSTQu2+*ZY~N=8XeZd}hutVI>g5F&L#5|tmO3kPPsC>Sh_Lhc&@8CqW70HV<(mxB z8K8A!pJo5vVcec*j}a%z?^mYg`@*W8!<5sGuh3!zWWyf%5H@4^O1!dgsbBKc(Owk4 zzz)}}c!?AK5y#v0|G*AAR=jKJl)tF|kGTIovOo2orn=NG{r?OxTI#toPJRrSa~|Pi zzc5>fQGAVz290w({Z5)B-z~g{Mv+awIlCY>+P+_LyzMUWzL^wd`F?@#qfpep8Vw;N z=@a#j=9|O|PW9MpBLrVC_&XO&|EAI1vEylW*?W%=+~meTA;lp3`zO#=6z_BW-x{$b H+VTGbT}C8b literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-X2AP-ID.c b/asn1c_defs/all-defs/UE-X2AP-ID.c new file mode 100755 index 0000000..9191b56 --- /dev/null +++ b/asn1c_defs/all-defs/UE-X2AP-ID.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-X2AP-ID.h" + +int +UE_X2AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UE_X2AP_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UE_X2AP_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UE_X2AP_ID = { + "UE-X2AP-ID", + "UE-X2AP-ID", + &asn_OP_NativeInteger, + asn_DEF_UE_X2AP_ID_tags_1, + sizeof(asn_DEF_UE_X2AP_ID_tags_1) + /sizeof(asn_DEF_UE_X2AP_ID_tags_1[0]), /* 1 */ + asn_DEF_UE_X2AP_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_X2AP_ID_tags_1) + /sizeof(asn_DEF_UE_X2AP_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UE_X2AP_ID_constr_1, UE_X2AP_ID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UE-X2AP-ID.h b/asn1c_defs/all-defs/UE-X2AP-ID.h new file mode 100755 index 0000000..fbc3b99 --- /dev/null +++ b/asn1c_defs/all-defs/UE-X2AP-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_X2AP_ID_H_ +#define _UE_X2AP_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UE-X2AP-ID */ +typedef long UE_X2AP_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UE_X2AP_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UE_X2AP_ID; +asn_struct_free_f UE_X2AP_ID_free; +asn_struct_print_f UE_X2AP_ID_print; +asn_constr_check_f UE_X2AP_ID_constraint; +ber_type_decoder_f UE_X2AP_ID_decode_ber; +der_type_encoder_f UE_X2AP_ID_encode_der; +xer_type_decoder_f UE_X2AP_ID_decode_xer; +xer_type_encoder_f UE_X2AP_ID_encode_xer; +per_type_decoder_f UE_X2AP_ID_decode_uper; +per_type_encoder_f UE_X2AP_ID_encode_uper; +per_type_decoder_f UE_X2AP_ID_decode_aper; +per_type_encoder_f UE_X2AP_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_X2AP_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-X2AP-ID.o b/asn1c_defs/all-defs/UE-X2AP-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..f88ea1683c9a879f90fdec1a1757fed4834b0f49 GIT binary patch literal 2760 zcmbVOOK%iM5U%wk*a5Pvog6F?!5knM!8RVt5|$5WE$_luT8u?7LP26YUXLGSA82RR zf*e93Kw^awapE`dA96v86gc~YlnX~BP^9D#aX>g#Jyo+!XXHbAHB(hz*H>Lr-Cf$d zwfgy?LIGqH;2aDrK>;4_8|W3SR$vrL;6M21n}z<4-+z%*y+8b)&g~uo*!KJfJHPJY zNKW|o-j38C4cCAEoLD!H_^IOe|MvSI{Qh(A+1&2VwQu_`um5)FXa(aj@lQ=mosoZY zjEUaPo8R^N>1znZL4FJvC=D5u2o16Kl1iNkAROcLX#Kf=V#rC<<(w0>A7dsw3;k?J#BeEcr$8pT6rf^9KPgWh3_vz;dZHT_~7u! zV_f_+;$QJxk7Tu2x;GRS$LmG+YH@t7SeoBo9H|{x)CfD~2>Oms;IG_0adJ-}fP=rh z;b5e^;lQVPFh(&Bv*F>uuwkWY5k&z$%W!ig$G|fOR2(>9nwjqClbV@Ynb7b5=2_PG zzO2^5nqpjRQ#!EUG_`&f-(yBS^`0Si5uZ`xdpET=zzWI|>!u*ys8RnVnH(Hxycu|P zf@q3PW?pimVwh*5S(FMSvpO#4Cs4?I-PG5 zmzokj#=a!RStopO$^g=Hk;XCcisAnS>m+;wm$e9T8K*kXlMNN$X(iz*C~Q@!+!U=F zHA9s|w-ZonVG@E`jbl*V4jJU`shN*W++NMm4yeg2s79yNirN?mJ7uIUEH0PhBy4=g z{?TTz-VIw(mel`OT%=0P%_tQ%47bLo>`(QlE-m>>{cj*fOMP_4(SFVA^EM)q4%=Qwm|Q1$ zUc_7G)Bc!)Va*}DgO6aQ-?*I+PujlsnQyxb-#3GzF5fTkT~zYw_loN$b)x!Fe-pmo yl#jhOLa@T%D^8gHR?*$D`P8HAy+;TtT<9lc7{mVlQJl-;zvKLWF}S4K{C@!*u?e04 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UEAggregateMaximumBitRate.c b/asn1c_defs/all-defs/UEAggregateMaximumBitRate.c new file mode 100755 index 0000000..f9515ef --- /dev/null +++ b/asn1c_defs/all-defs/UEAggregateMaximumBitRate.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UEAggregateMaximumBitRate.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_UEAggregateMaximumBitRate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAggregateMaximumBitRate, uEaggregateMaximumBitRateDownlink), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uEaggregateMaximumBitRateDownlink" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEAggregateMaximumBitRate, uEaggregateMaximumBitRateUplink), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uEaggregateMaximumBitRateUplink" + }, + { ATF_POINTER, 1, offsetof(struct UEAggregateMaximumBitRate, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P209, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UEAggregateMaximumBitRate_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_UEAggregateMaximumBitRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEAggregateMaximumBitRate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uEaggregateMaximumBitRateDownlink */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uEaggregateMaximumBitRateUplink */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UEAggregateMaximumBitRate_specs_1 = { + sizeof(struct UEAggregateMaximumBitRate), + offsetof(struct UEAggregateMaximumBitRate, _asn_ctx), + asn_MAP_UEAggregateMaximumBitRate_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_UEAggregateMaximumBitRate_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEAggregateMaximumBitRate = { + "UEAggregateMaximumBitRate", + "UEAggregateMaximumBitRate", + &asn_OP_SEQUENCE, + asn_DEF_UEAggregateMaximumBitRate_tags_1, + sizeof(asn_DEF_UEAggregateMaximumBitRate_tags_1) + /sizeof(asn_DEF_UEAggregateMaximumBitRate_tags_1[0]), /* 1 */ + asn_DEF_UEAggregateMaximumBitRate_tags_1, /* Same as above */ + sizeof(asn_DEF_UEAggregateMaximumBitRate_tags_1) + /sizeof(asn_DEF_UEAggregateMaximumBitRate_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEAggregateMaximumBitRate_1, + 3, /* Elements count */ + &asn_SPC_UEAggregateMaximumBitRate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UEAggregateMaximumBitRate.h b/asn1c_defs/all-defs/UEAggregateMaximumBitRate.h new file mode 100755 index 0000000..59edde9 --- /dev/null +++ b/asn1c_defs/all-defs/UEAggregateMaximumBitRate.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UEAggregateMaximumBitRate_H_ +#define _UEAggregateMaximumBitRate_H_ + + +#include + +/* Including external dependencies */ +#include "BitRate.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UEAggregateMaximumBitRate */ +typedef struct UEAggregateMaximumBitRate { + BitRate_t uEaggregateMaximumBitRateDownlink; + BitRate_t uEaggregateMaximumBitRateUplink; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEAggregateMaximumBitRate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEAggregateMaximumBitRate; +extern asn_SEQUENCE_specifics_t asn_SPC_UEAggregateMaximumBitRate_specs_1; +extern asn_TYPE_member_t asn_MBR_UEAggregateMaximumBitRate_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEAggregateMaximumBitRate_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEAggregateMaximumBitRate.o b/asn1c_defs/all-defs/UEAggregateMaximumBitRate.o new file mode 100644 index 0000000000000000000000000000000000000000..3013c668ba179edc0354c93f2f16498d97c276f2 GIT binary patch literal 3232 zcmb_e&2G~`5Z=`Mv`}cukAy%-;Y5*$6^BX$5Xf!nwnDTGt#WpqV5LzLyTltP7uq8? zIF=jl!6R_t4d^4l6TpnUlT0>FM5~UpnVE0?c4ybSIdEPrPh>KJC?j5ozDB4J-zNLA z9gDWeiWyOL78;F?-|(cr=IuAz-S%QrZh|J7PTtv!Z>cqYPv4 z39$VI8sl#dr3>5cP z;q%Hcm}iRI2e=XM+5i+QhL|1(0WrkoA^a;Kvus^E%Hun5{AP6e0YDo53vkSHr~)R{ z;WB{FvOdsy^MI%2c|HOkeZiS^;YESFyA z?>#7ofrR>g$1N2fS(RepiQ2v%!)@fJo}M2ar@cg+WK41ke}E9j(?|PHcbSf_qB9WU zv$2%?RFsVPHHL39{5r#r7=DA{KN-%ylHUyH{&QFm2pRg*yjK~16CD&CG93GMTj9KK z{43P^L*KtJqYrKA)qu-R!golL{=O9E8&7(|tVNM9J0U9QX_*$Ne#?u^C~2zM3hN$% zaR~7wv?R=W*lzo99?c+>zPYkq%}3I!@6zf{&+kAewg%rFPBvGVtlHQ^?tz4ueq-A` zk3m6?zYk{IgVV-8gjmd3gu%&H3Y`nGQGMd*hq7M(5HO@q uuN_^pDn6@>R{@)WLG!2m!+!v2rE=name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1 && size <= 1000)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_containerForAppLayerMeasConfig_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (SIZE(1..1000)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig, containerForAppLayerMeasConfig), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, &asn_PER_memb_containerForAppLayerMeasConfig_constr_2, memb_containerForAppLayerMeasConfig_constraint_1 }, + 0, 0, /* No default value */ + "containerForAppLayerMeasConfig" + }, + { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig, areaScopeOfQMC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_AreaScopeOfQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "areaScopeOfQMC" + }, + { ATF_POINTER, 1, offsetof(struct UEAppLayerMeasConfig, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P210, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UEAppLayerMeasConfig_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_UEAppLayerMeasConfig_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEAppLayerMeasConfig_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* containerForAppLayerMeasConfig */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* areaScopeOfQMC */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_specs_1 = { + sizeof(struct UEAppLayerMeasConfig), + offsetof(struct UEAppLayerMeasConfig, _asn_ctx), + asn_MAP_UEAppLayerMeasConfig_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_UEAppLayerMeasConfig_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig = { + "UEAppLayerMeasConfig", + "UEAppLayerMeasConfig", + &asn_OP_SEQUENCE, + asn_DEF_UEAppLayerMeasConfig_tags_1, + sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1) + /sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1[0]), /* 1 */ + asn_DEF_UEAppLayerMeasConfig_tags_1, /* Same as above */ + sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1) + /sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UEAppLayerMeasConfig_1, + 3, /* Elements count */ + &asn_SPC_UEAppLayerMeasConfig_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UEAppLayerMeasConfig.h b/asn1c_defs/all-defs/UEAppLayerMeasConfig.h new file mode 100755 index 0000000..84a5756 --- /dev/null +++ b/asn1c_defs/all-defs/UEAppLayerMeasConfig.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UEAppLayerMeasConfig_H_ +#define _UEAppLayerMeasConfig_H_ + + +#include + +/* Including external dependencies */ +#include +#include "AreaScopeOfQMC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UEAppLayerMeasConfig */ +typedef struct UEAppLayerMeasConfig { + OCTET_STRING_t containerForAppLayerMeasConfig; + AreaScopeOfQMC_t areaScopeOfQMC; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEAppLayerMeasConfig_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEAppLayerMeasConfig_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEAppLayerMeasConfig.o b/asn1c_defs/all-defs/UEAppLayerMeasConfig.o new file mode 100644 index 0000000000000000000000000000000000000000..c0279709d5fc3ebbb4614c130804f8f05e5ec5ff GIT binary patch literal 4240 zcmb_fO>7%g5Pr@=W18Z+w1_~F*aHPuA{%drLvs!^wlxH}aDqI|y&u1oc?f|cAd%X^dO$l&4Lf*lcOkzxGK@jTubX9i z#a;CWooaPJ3X6rYMx*Fla+}kxvlA2EbD*r)3|w`#}=|1p2B|sk$p+Z`_E&X}ZpQ*=xA7t7oV4qEZ+rYz1!J zuRxf%**qBIdaz|wXFSTglrL)5q2pR~Tc-}gf1zZ+_7Jp(&HF*2F%Gs8G~74;cfJs^ zgBqZnQ;=v~d0tVRU9hGqMQed`P;GLoPv-NZdS-EXqaJMNuNcEdcEH?_n)$vtVq}L6 z^K=`R;ZMk4sLeZbBC(ZDoIKK-`~;GF3GipB?>*$>sq{|IdaA#e(%($=kEPQ2!>Qy% z-;6}aFoxkg9}&OCe#2Uq)zw6NRWyhcN1Avv4u&XLwNB~>wMQ9O&W%ho(c5VZ+7z^e z=o4A$;S6dL?-kpGCuu=HlK5kUiqH=MP3+@r@D&IcpNYr0N%$~z@VKaIiam9UKS4++ zb;EtmqzQRAvl?R*I{i}qtu5wKrQB^6Q0sCW0o!80YJmBdA z)HMh2G-~ST8ZaU;`Q^4(Fj~6EFxOjHptodX!{l;9p zO*_PVDIeeMH{5aX7dY$1$%yBZfa&S1jjmWMXqqE=>=ZdtAv|&&cD@{=x$v=rsk$vybtLf~)o$3jU;GPp~{m@RS)PAW0myn>>9O=e>F-7ai=ci5vn7f+4F#Jok zz*zgf6*M=EkxtbF6@8=uND-K8XskuC}|HgH2=bEdLa-^vDAVO)vnc*7Z9h75$ zIbCT>q@y2>!|TKA@dDxMoOrI`2zVz^S@07AF?6&>%^I1esT3*qWW)>Kh_^#F`Pfw zzYG|fM91GIAPape>8b)Ues^)>-^Pb15c}i!m{N3n{2PPgcYJ%G@6z}qAgiRS3drw5 zLw_EJyZ<16+#f1YIiwHbA3$SFwR;{X6+== + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UEContextRelease */ +typedef struct UEContextRelease { + ProtocolIE_Container_8180P19_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEContextRelease_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEContextRelease; +extern asn_SEQUENCE_specifics_t asn_SPC_UEContextRelease_specs_1; +extern asn_TYPE_member_t asn_MBR_UEContextRelease_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEContextRelease_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEContextRelease.o b/asn1c_defs/all-defs/UEContextRelease.o new file mode 100644 index 0000000000000000000000000000000000000000..398386ed270bbf1aae9a7477101e947d0e20a077 GIT binary patch literal 2488 zcmbtV&1w`u5U$Pm|C1Q;Ac(M@j9{9b5HKpp=sJmtCTqfqx7o=!B;sag*_lARm>hfq zFFu9%7~b^gV<>p=ruEHK?{<27L1MvlRefDwRsYX^_;h)yRwFGnx$Qt62Mt$Ht*Eu+MBz*Vz+)vEvm-6zgv3#JAX+v7L|Xa!cFQS8~KmXPv_h` z=Z+G2WRIpw>2Z%sJg(ppkBq}10hd_U=rmmr-(-4paxBfF#On^tgYR)3mw0s61#|qF zG5iH1v&J~LB_d;O*3!iN3HS%bk>@}HUyA-z;-h)#Gx3#iSN^e!qY{eqUi2_rj_f-X z74cRc`DOpJ`z>exLfVxGSB8?h)`~X5=k0K{8Im@lBG^J<=&Q_^eWdhLKuOAORyv4LZ^b==$p z9QPE0_?gnGnwHqWbq+usG%UbpORH)=iVggtfqye_%u933c^x{HDu26E#G9me`76Dx zEj*{BUd2UBYBSGC4Kg^0^p($U+KtO@SeC20SrP**DWsBYXD8*&RlTf8)yisnJ}=_r zjWP10nOB&GH8^3>1IyPgVokZm4lw(r3CtkFw)xk&4{Li={!Qj0=K_DG1mavZLAG^$ ztq}*?uHRt{^1V{Swm!5f<1Q<_i9zKK+rB)MKLk0)8s|x$BYp1I7<1JRWPlCfYgN~V z=qIdQ^*eGYbsf~lt7g}a7(*%h57L+Vc>hf??-uYa{t#-9^S$t~Kc)y=a)9^w)0i3e x*#$ac5oV7ac{Klvname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UEID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UEID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UEID = { + "UEID", + "UEID", + &asn_OP_BIT_STRING, + asn_DEF_UEID_tags_1, + sizeof(asn_DEF_UEID_tags_1) + /sizeof(asn_DEF_UEID_tags_1[0]), /* 1 */ + asn_DEF_UEID_tags_1, /* Same as above */ + sizeof(asn_DEF_UEID_tags_1) + /sizeof(asn_DEF_UEID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UEID_constr_1, UEID_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UEID.h b/asn1c_defs/all-defs/UEID.h new file mode 100755 index 0000000..1996ade --- /dev/null +++ b/asn1c_defs/all-defs/UEID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UEID_H_ +#define _UEID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UEID */ +typedef BIT_STRING_t UEID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UEID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UEID; +asn_struct_free_f UEID_free; +asn_struct_print_f UEID_print; +asn_constr_check_f UEID_constraint; +ber_type_decoder_f UEID_decode_ber; +der_type_encoder_f UEID_encode_der; +xer_type_decoder_f UEID_decode_xer; +xer_type_encoder_f UEID_encode_xer; +per_type_decoder_f UEID_decode_uper; +per_type_encoder_f UEID_encode_uper; +per_type_decoder_f UEID_decode_aper; +per_type_encoder_f UEID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEID_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEID.o b/asn1c_defs/all-defs/UEID.o new file mode 100644 index 0000000000000000000000000000000000000000..4708096c9d952abbc45e4e112a51ac11f36cdd0b GIT binary patch literal 2736 zcmbtV&1)N15FdG)T8&*<`8XI-nk^))P3w&|7#bWXN@dwAP#t5(sYxm8wX}|$$g=US zLefLiVhj}~A(z~9=pT@KE)F@ihvHMAhnilSOL{0dl)5u-XQY?s4FozyZ)SdPX5QPG zH{-kI>QrAQ140@240@WN0FU49$weg=ArC{~ZT~%A>FiZHKgD%#XDaJ$@3t>~vAy@? z04e^++j^d@?(|phy-Pkf&UlI7b^h`?|GK-?&hM8F_7<;oe*Nm%%FyXafSs#(@9Dnf z{1exAijLeoWg#r@x~Ro`n8cg-*iZ2{%q~Xm{_=AIVT7x(bm7b;Z7}ln8m& zg&W)8IOl?><<|UqxDuTUn$0mKER-vgP7TgR6ZWm3*$(a2dTd``y%o0X5d_cHN7Y_! zy%oiq!D=hESAx}MSnuvq0Q0Oj(allCnO>j6#_DGp;<{)!BpE)(ypM8Lbk0bV;+5vb-d@`5c>hp8M)tr4bH+(6V zFCEQgrw0~s^#*1X&gQ9%zUM7?ky<+|^`!z>_?Jc&MoJ?Kj-<)+pHx2%u1CHLPPJ5^!gsm>tL;wkwQ?CU2tmaYinT(J#lb`&h*T}SQH1fn`|F8{FTjME#yo64`!n;eXH5o zMZ}1t9}?~G+dqXH)bm9#VE&Q^!4m8A7U&$QnbeW`mGEBYpn|loRsiWER=af&{Sy=@ zrs-dxpeba+F4_<#?_6BO|7!u5i@)$P;v}2rKVpN1;cpvy5%skEEmAWe?Wz@k@<%l? z^LH6BI_i}-Np=kA^BCbn6aP!Z$iG0F8V#~P&A>J@;X+9EW znv1_#fBAknX9I<_{0;MimUl+^qd6u1f~TELv47wT?em3mh|!!d{pml7S$l+_!HK_5 Wibm%5(`-xgFYx{EYQ7|z{{I1+)Czk5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UENRMeasurement.c b/asn1c_defs/all-defs/UENRMeasurement.c new file mode 100755 index 0000000..b1e35e5 --- /dev/null +++ b/asn1c_defs/all-defs/UENRMeasurement.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UENRMeasurement.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UENRMeasurement_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UENRMeasurement, uENRMeasurements), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RRCContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uENRMeasurements" + }, + { ATF_POINTER, 1, offsetof(struct UENRMeasurement, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P171, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UENRMeasurement_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_UENRMeasurement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UENRMeasurement_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uENRMeasurements */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UENRMeasurement_specs_1 = { + sizeof(struct UENRMeasurement), + offsetof(struct UENRMeasurement, _asn_ctx), + asn_MAP_UENRMeasurement_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_UENRMeasurement_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UENRMeasurement = { + "UENRMeasurement", + "UENRMeasurement", + &asn_OP_SEQUENCE, + asn_DEF_UENRMeasurement_tags_1, + sizeof(asn_DEF_UENRMeasurement_tags_1) + /sizeof(asn_DEF_UENRMeasurement_tags_1[0]), /* 1 */ + asn_DEF_UENRMeasurement_tags_1, /* Same as above */ + sizeof(asn_DEF_UENRMeasurement_tags_1) + /sizeof(asn_DEF_UENRMeasurement_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UENRMeasurement_1, + 2, /* Elements count */ + &asn_SPC_UENRMeasurement_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UENRMeasurement.h b/asn1c_defs/all-defs/UENRMeasurement.h new file mode 100755 index 0000000..aaa08b2 --- /dev/null +++ b/asn1c_defs/all-defs/UENRMeasurement.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UENRMeasurement_H_ +#define _UENRMeasurement_H_ + + +#include + +/* Including external dependencies */ +#include "RRCContainer.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UENRMeasurement */ +typedef struct UENRMeasurement { + RRCContainer_t uENRMeasurements; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UENRMeasurement_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UENRMeasurement; + +#ifdef __cplusplus +} +#endif + +#endif /* _UENRMeasurement_H_ */ +#include diff --git a/asn1c_defs/all-defs/UENRMeasurement.o b/asn1c_defs/all-defs/UENRMeasurement.o new file mode 100644 index 0000000000000000000000000000000000000000..0e16e1d51082e24cd051dbc9df1f124054d8a5de GIT binary patch literal 2824 zcmb_dPixdr5T9+VTK~4{LGThma0UC^)Iy7btgdN`^v}Ar;4P*xw8h;`*<_(!biaW2 zeg`jp1i_0(!4Kh8Zyp4lNoKNdU$UhX2VQ38H#2YMP4Xu1-PNUuN(F=}@Cb&Qpa3gp zhH^a>>u?z^!Irz;S_}QS-wQioH-Y}B9>bnH>mDRwH{Of7@od+=T3%G*jS>yPru!c^WWMPIfvS6|R zUqz$>Q(&`2BIi<*TO=>37S>Zn7Mw4G z(f?cl|A@$pcHUj~_=0@8;0^G74E|#b{$~ts4g?i|A9uZ{?viJW3NP_@V$Vs)czMBN0ju$P0)UX(;Z)XwK#?&2-Z-FKSKf|I`ix)1tSd6q3EF7J%+nLHZcy5@fo zWt(-HJ4EEK<1{ab2)~j_*`vua;WPsVtiNJTxc-$LYB=2?p>HgZKb=eJ{;A>DSSD5_ zM=nf$A4B&nx!_RQ$G+_}j>nUdDGtO2UH#)N4QSL2bt|s9r=0c{<8LHEjE- znIuD1?I`dGOhZ5gQ78S+scw{nYI%KYHctHDjg)s{egh+^2h@9=>bj!I+_oH{z7b|l z#Cq;ADwy%N(M&x*Y5ZM`r9EkG>Qrato(`fc`Gu1o$!7imVnj7@%v7+M3wwwH&Ct34 z%n$f-*&KfXaf0OglJ98)v9kQ1Ij+Y03A06D{tS6p{zHDD5>NT*FJb2Q5TjIuKOF;A zwCQB)3d%dUC|>f2xyteMestnvr7?u>;}T5wdr>GTvzor7m$|-V@HYq0U7p5eo}d1B f=DSA-n$%PznG=~-td(YBS^QV-|3CtnoAv(#h;P_U literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UESecurityCapabilities.c b/asn1c_defs/all-defs/UESecurityCapabilities.c new file mode 100755 index 0000000..15fc318 --- /dev/null +++ b/asn1c_defs/all-defs/UESecurityCapabilities.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UESecurityCapabilities.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_UESecurityCapabilities_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UESecurityCapabilities, encryptionAlgorithms), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EncryptionAlgorithms, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "encryptionAlgorithms" + }, + { ATF_NOFLAGS, 0, offsetof(struct UESecurityCapabilities, integrityProtectionAlgorithms), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntegrityProtectionAlgorithms, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "integrityProtectionAlgorithms" + }, + { ATF_POINTER, 1, offsetof(struct UESecurityCapabilities, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P211, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UESecurityCapabilities_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_UESecurityCapabilities_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UESecurityCapabilities_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* encryptionAlgorithms */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integrityProtectionAlgorithms */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_specs_1 = { + sizeof(struct UESecurityCapabilities), + offsetof(struct UESecurityCapabilities, _asn_ctx), + asn_MAP_UESecurityCapabilities_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_UESecurityCapabilities_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities = { + "UESecurityCapabilities", + "UESecurityCapabilities", + &asn_OP_SEQUENCE, + asn_DEF_UESecurityCapabilities_tags_1, + sizeof(asn_DEF_UESecurityCapabilities_tags_1) + /sizeof(asn_DEF_UESecurityCapabilities_tags_1[0]), /* 1 */ + asn_DEF_UESecurityCapabilities_tags_1, /* Same as above */ + sizeof(asn_DEF_UESecurityCapabilities_tags_1) + /sizeof(asn_DEF_UESecurityCapabilities_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UESecurityCapabilities_1, + 3, /* Elements count */ + &asn_SPC_UESecurityCapabilities_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UESecurityCapabilities.h b/asn1c_defs/all-defs/UESecurityCapabilities.h new file mode 100755 index 0000000..7de8ec9 --- /dev/null +++ b/asn1c_defs/all-defs/UESecurityCapabilities.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UESecurityCapabilities_H_ +#define _UESecurityCapabilities_H_ + + +#include + +/* Including external dependencies */ +#include "EncryptionAlgorithms.h" +#include "IntegrityProtectionAlgorithms.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UESecurityCapabilities */ +typedef struct UESecurityCapabilities { + EncryptionAlgorithms_t encryptionAlgorithms; + IntegrityProtectionAlgorithms_t integrityProtectionAlgorithms; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UESecurityCapabilities_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities; +extern asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_specs_1; +extern asn_TYPE_member_t asn_MBR_UESecurityCapabilities_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UESecurityCapabilities_H_ */ +#include diff --git a/asn1c_defs/all-defs/UESecurityCapabilities.o b/asn1c_defs/all-defs/UESecurityCapabilities.o new file mode 100644 index 0000000000000000000000000000000000000000..c5cb853fb42c794c61e68127191efca90554a33b GIT binary patch literal 3136 zcmb_eOK;Oa5Z=^0%Bv3^qJm2}Q6y@`p@<43Q|@ zNI510uyzziUsv7_o#zl-Q&n&+I0ku~gX&|mya2+zouS6({Qg z=cRcv@giq0yyYW5Y7cMqN)$?HHt4x4 zPcfgD#Taho zO|hZySBOJ3Pr1ip{I}Hg(baVb#ihV^Lls*! z6imxDWNrXLPQSVBp~pDT<8Q(+uK7{pai1|~89r5PGG3`9V6M*^{SfQ*zW|5wksVW0 z6iKss007?xn+ehbTF@%Rp9db#8J{mcPg}rc)wk)S*KMFynt+-B9^r>mdiu|86I zeHS>aul|n!rWg>hf`%eR1tV<2hw)qoIh1b{&%eWzO??s5vWTvN*$4Fxy&)RpIQGrz s9mjrB{2b{Ez|Fv?&mUiMeeZ!1zv;pMpcT|iczd(sxzGTUDWb>!1&fauZ2$lO literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.c b/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.c new file mode 100755 index 0000000..cedc19c --- /dev/null +++ b/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UESidelinkAggregateMaximumBitRate.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UESidelinkAggregateMaximumBitRate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UESidelinkAggregateMaximumBitRate, uESidelinkAggregateMaximumBitRate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uESidelinkAggregateMaximumBitRate" + }, + { ATF_POINTER, 1, offsetof(struct UESidelinkAggregateMaximumBitRate, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P212, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UESidelinkAggregateMaximumBitRate_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UESidelinkAggregateMaximumBitRate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uESidelinkAggregateMaximumBitRate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UESidelinkAggregateMaximumBitRate_specs_1 = { + sizeof(struct UESidelinkAggregateMaximumBitRate), + offsetof(struct UESidelinkAggregateMaximumBitRate, _asn_ctx), + asn_MAP_UESidelinkAggregateMaximumBitRate_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_UESidelinkAggregateMaximumBitRate_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UESidelinkAggregateMaximumBitRate = { + "UESidelinkAggregateMaximumBitRate", + "UESidelinkAggregateMaximumBitRate", + &asn_OP_SEQUENCE, + asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1, + sizeof(asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1) + /sizeof(asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1[0]), /* 1 */ + asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1, /* Same as above */ + sizeof(asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1) + /sizeof(asn_DEF_UESidelinkAggregateMaximumBitRate_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UESidelinkAggregateMaximumBitRate_1, + 2, /* Elements count */ + &asn_SPC_UESidelinkAggregateMaximumBitRate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.h b/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.h new file mode 100755 index 0000000..6e48ff4 --- /dev/null +++ b/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UESidelinkAggregateMaximumBitRate_H_ +#define _UESidelinkAggregateMaximumBitRate_H_ + + +#include + +/* Including external dependencies */ +#include "BitRate.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UESidelinkAggregateMaximumBitRate */ +typedef struct UESidelinkAggregateMaximumBitRate { + BitRate_t uESidelinkAggregateMaximumBitRate; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UESidelinkAggregateMaximumBitRate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UESidelinkAggregateMaximumBitRate; + +#ifdef __cplusplus +} +#endif + +#endif /* _UESidelinkAggregateMaximumBitRate_H_ */ +#include diff --git a/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.o b/asn1c_defs/all-defs/UESidelinkAggregateMaximumBitRate.o new file mode 100644 index 0000000000000000000000000000000000000000..7b63993da0fde8ff22cad4b38867e510a3134abd GIT binary patch literal 3104 zcmb_eOK;Oa5T4eQ_oL+@khmBLM3ATzhe}i+A-BP8g=m|$O0TJ#T4~h8M)3xf3$1$M z2FD)ZA8_D@@DsRkgsfodB&}63l0DyiJKyZno9y|o=SD|HK-mbqfILzxfPFs4 zo`fEZ!!@Y;YwfMD(~fp#TCHB#3PiXV?6$l8?rdAEV#Kn3!MwbeV#pk;84s&6I;`Os zo-}{Zj!7xpMB}7q9G|oJ{I9xL>WGywx}!1Xyw!S{ypotaja6wV$K$x|Px`wejFNU7 zB>?l)>NC4k-|R=CZ$EXWobsgGmy!G4op#Doj{7L(smL)#eVu{d1J~R-GLpQA1?H&J zHVdpgNkbO)Fvu(z`-gsj%m`cnn_HA}UGihF&-_>R2a-R>5diInG7EBEao-S7ePuR- zpXiCd&#~&4LQBi%X6Y=rsD~N0;Btm_V8JCll=wDoz=XCA+nh0jJe^(BR)+B55WYWz zKlx&Dnh+#WIPnr{h@h1;Tq#(bT`eF;bJuFs0=dbXu$fh#sTEM*a4KO(4XBVL z?y4>d%~(!#xz@}t< zPuyC?t(g0c+o+uq0QGZW^6JbGe_bo0?kM7~;A3-JiM`1$X#5SvzH2<)0%{z;H2xN2awRH^M((Oa=}TV+nwK(jzUsRMCwbQu!6tgqOZ~P& zBHR_=Yy~0!XERB_>BSUKrt3^&7R+9&W#k6+|ATd9 zSuKCrIh2UzH>m#&{^?SB>YpgH{|0i@mHCToGf~1e-E2KT+`@ + +/* Including external dependencies */ +#include "UE-X2AP-ID.h" +#include "UE-X2AP-ID-Extension.h" +#include "SgNB-UE-X2AP-ID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UEsToBeResetList-Item */ +typedef struct UEsToBeResetList_Item { + UE_X2AP_ID_t meNB_ID; + UE_X2AP_ID_Extension_t *meNB_ID_ext; /* OPTIONAL */ + SgNB_UE_X2AP_ID_t *sgNB_ID; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEsToBeResetList_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEsToBeResetList_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_UEsToBeResetList_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_UEsToBeResetList_Item_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEsToBeResetList_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEsToBeResetList-Item.o b/asn1c_defs/all-defs/UEsToBeResetList-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..195e95325b7213091f797192bf5c18486483ccaf GIT binary patch literal 3264 zcmb_eOHUL*5N=phe1Z6i#>A|NiK}rZ%t9j3gbXah!yv4{CVCo%bpk|ohwL;7UUV-W z{0APn`4jvRUO0O6?nM*tTHj3dY;QY*hEPdwef8C&YkGRR_no^q+uzqGl=O*7(X|vy z`fL|FF?7VR7!q|iS_`Lxl^_b_;&vp<3o>YmX0S9}UYJq39PCRGZ6@5dTXy$l(2BOh zR@5z;gUnt`J10#HEXV zRI5lsiTPfzMi7%vSRwGNx?nB!J%BaPW6-;*i982CB*;Nr?3=4r9~VpYjlGuKD?YNu ztD9WH)!>`{RVAs zqB3UJD)tz^>R8ch(so&L4#Q#cYEOV4MgR-WK?r#4Zifb>l&HUW^}Qfo)kJ7biyvVO zwaysvml;ESWDNcaW2i&M;PLfeXZwf7Uu6tcLLiBXznz$3UgNJZ2i4Jd)PKOf1C3X6 z!u3_-5nti>LDq2Vr-HejYQ2ONy=h8+gS2cXdP^aRzYW$aU;4t@h$3ONLl}s(Et||> z$B*4WhH34D4IgBjBCJN(YzDNstyU-lYi_Atj-=ms&D|bf-J(=HEAAy-9No|`FI&po zAq3960h~0V7nu3?$c;5WZvI2cMNReo2*%VR!FSVbRi9?7v|2i&vlF>w^zr_?K;3=uB`D;9p%E$b;Rm}N4 z;xIo?M<|g4Ce{?ex@g#&WFueAqujqZAMZyOUXC~i{4Nc}>2XDKLD*@=!Zv$HsLC&~ m^CEHhZ)H9|{y}6-HIJ7?^4^%xFzF7@&hPL<9Td^T%>M&ekq0~g literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UEsToBeResetList.c b/asn1c_defs/all-defs/UEsToBeResetList.c new file mode 100755 index 0000000..cf20baa --- /dev/null +++ b/asn1c_defs/all-defs/UEsToBeResetList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UEsToBeResetList.h" + +#include "UEsToBeResetList-Item.h" +static asn_per_constraints_t asn_PER_type_UEsToBeResetList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 13, 13, 1, 8192 } /* (SIZE(1..8192)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_UEsToBeResetList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEsToBeResetList_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEsToBeResetList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_UEsToBeResetList_specs_1 = { + sizeof(struct UEsToBeResetList), + offsetof(struct UEsToBeResetList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_UEsToBeResetList = { + "UEsToBeResetList", + "UEsToBeResetList", + &asn_OP_SEQUENCE_OF, + asn_DEF_UEsToBeResetList_tags_1, + sizeof(asn_DEF_UEsToBeResetList_tags_1) + /sizeof(asn_DEF_UEsToBeResetList_tags_1[0]), /* 1 */ + asn_DEF_UEsToBeResetList_tags_1, /* Same as above */ + sizeof(asn_DEF_UEsToBeResetList_tags_1) + /sizeof(asn_DEF_UEsToBeResetList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UEsToBeResetList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_UEsToBeResetList_1, + 1, /* Single element */ + &asn_SPC_UEsToBeResetList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UEsToBeResetList.h b/asn1c_defs/all-defs/UEsToBeResetList.h new file mode 100755 index 0000000..aa9576e --- /dev/null +++ b/asn1c_defs/all-defs/UEsToBeResetList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UEsToBeResetList_H_ +#define _UEsToBeResetList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct UEsToBeResetList_Item; + +/* UEsToBeResetList */ +typedef struct UEsToBeResetList { + A_SEQUENCE_OF(struct UEsToBeResetList_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEsToBeResetList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEsToBeResetList; + +#ifdef __cplusplus +} +#endif + +#endif /* _UEsToBeResetList_H_ */ +#include diff --git a/asn1c_defs/all-defs/UEsToBeResetList.o b/asn1c_defs/all-defs/UEsToBeResetList.o new file mode 100644 index 0000000000000000000000000000000000000000..96f018b7f6910d2548a5201aebd709201d785b89 GIT binary patch literal 2376 zcmbuA&2G~`5P&B!g#ay3!~uzmIZ-6KicusGNXTk%3aGRpX(S{L#t9a!AU~=%h+d$N zz>PjejvTo00$h+da^#A5fHLEqwU@PXpp2BAnQvxx?A`U|eX!B0Rw|&S0{0;IGzF-g z%xyn4eOQ7;sH1&350zR+EM>te!X^GuJnQX}SCn3mY>(ICPMpMYV>gk-jDI6pKQ6QV zd9xiS&!0EhF?c%Hdb4@QUFr3wBRO?%iH4}JdehYN-g&o0y&=5oiqGvp?{NZt9hD_G z`EL9bc7S%RC=NJ9h{VATW#Yg>0bfE=fm0dRm5r2F!R1Js^|O>OzybSDS-(kn{+x@< zNjb*+21b6`bTiw5T4rnGBO1%b^Y3tAhWdg|GW3@@{M#H3_CXf|h>}rwKWK$^D3sC5 zB=pjFJLrURe-amy2IEm8_c-nGTBn$yX6Uw?#ZWSd2f9VsBc#2z+F>_%(hD}5LAcd| zZm^9iRDGk}k(~bm4`nnQ|LR1_*sLmux)eS;B<;z_8%Br z_af9bI9-hg>_2Bs^P6A8p~08gCiT_e^uAe4B>O`d^+DjKDZQgD8NZbvUPLki(N7W( zdt-7a(-R)L@#`oJlcl2|2IJu{#$6Djv5dv~W^Xl-(cl$7z<;VMSWoY4{7s}Y`sr94 zDA$y$=-6vUai0d1iBj3`imCV^;-KFC)@7- z0~yJ8rLxh@EM?q9MR%RA+-&^77hsJWoxup56a78tbN&b!rQ|mrIw+sGj;B!&N89fp zqttqqp^VR5PwQg};QW+s{rVx_-t5^evympZ)%HbK7f=2o4$k UCdUxFKYe$l^?V80pNU=n2P)jLo&W#< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-GBR-PRB-usage.c b/asn1c_defs/all-defs/UL-GBR-PRB-usage.c new file mode 100755 index 0000000..f1492e5 --- /dev/null +++ b/asn1c_defs/all-defs/UL-GBR-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-GBR-PRB-usage.h" + +int +UL_GBR_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UL_GBR_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UL_GBR_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_GBR_PRB_usage = { + "UL-GBR-PRB-usage", + "UL-GBR-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_UL_GBR_PRB_usage_tags_1, + sizeof(asn_DEF_UL_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_GBR_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_UL_GBR_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_GBR_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_GBR_PRB_usage_constr_1, UL_GBR_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UL-GBR-PRB-usage.h b/asn1c_defs/all-defs/UL-GBR-PRB-usage.h new file mode 100755 index 0000000..e73dca4 --- /dev/null +++ b/asn1c_defs/all-defs/UL-GBR-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_GBR_PRB_usage_H_ +#define _UL_GBR_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-GBR-PRB-usage */ +typedef long UL_GBR_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_GBR_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_GBR_PRB_usage; +asn_struct_free_f UL_GBR_PRB_usage_free; +asn_struct_print_f UL_GBR_PRB_usage_print; +asn_constr_check_f UL_GBR_PRB_usage_constraint; +ber_type_decoder_f UL_GBR_PRB_usage_decode_ber; +der_type_encoder_f UL_GBR_PRB_usage_encode_der; +xer_type_decoder_f UL_GBR_PRB_usage_decode_xer; +xer_type_encoder_f UL_GBR_PRB_usage_encode_xer; +per_type_decoder_f UL_GBR_PRB_usage_decode_uper; +per_type_encoder_f UL_GBR_PRB_usage_encode_uper; +per_type_decoder_f UL_GBR_PRB_usage_decode_aper; +per_type_encoder_f UL_GBR_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_GBR_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-GBR-PRB-usage.o b/asn1c_defs/all-defs/UL-GBR-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..70be743602c26d6c0b91b5851e0102a2d14c6731 GIT binary patch literal 2824 zcmbVOJ8u&~5MJki1PI0n6p=u14G<7sawrlZMPzV74q=5T5QISDxY(Bm_6C^t3u7B$*J?kw! z--9W44!N=6wtu+o-){SZ^X}Z{#`PQRPdDH1J^UCsN$yvb8}ng^JA;(#YM3NrR zz4S1Kx}rI_78DKI(vjmnIgBlqQzg zo(97x+F{oimO5z~04CNUBX%aBK9i;42>}dC?AG1HwnTqovoWfS?scA3_>QF3%%32f zeO+5(m+mUN2=76yo@&nk^WYiKzIR!%g;)cfBU@L`!5Pr%Kg&V$utVoSgL#uv7rgnB z2TkQcQ+cYXyvSb)Jx9n=aRgtd@#TmvTBozN97+W)&w4X{1dVyI9tBH5Q-QNnb6#}+ zUeG;zJS@zQGED2o`vrI9SA2zR#!(><$4iZIA8ZtpUyEUdXTfGZ!K(6j+Qtb`eF!$5 ze;wzVBR)u6R6}GV-Z_Px^_zG>i-QJQn6NM=NAA&;l7By?jAS*0qp$(6G#tH>)s|G&j8ND`^@`ylyLI~ zdj~j5(oeCQ>c2+ye@%R>KmNbK>*xC40t~16>x?6h0R3JExa${X5iraj!JsDn zl#joQy6|_iZa|Q2oi}DKh=L~f3FVt~&Uf`e!RGI0_z@Us^|PrVxK3Cname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 110)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UL_HighInterferenceIndication_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 110 } /* (SIZE(1..110,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UL_HighInterferenceIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndication = { + "UL-HighInterferenceIndication", + "UL-HighInterferenceIndication", + &asn_OP_BIT_STRING, + asn_DEF_UL_HighInterferenceIndication_tags_1, + sizeof(asn_DEF_UL_HighInterferenceIndication_tags_1) + /sizeof(asn_DEF_UL_HighInterferenceIndication_tags_1[0]), /* 1 */ + asn_DEF_UL_HighInterferenceIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_HighInterferenceIndication_tags_1) + /sizeof(asn_DEF_UL_HighInterferenceIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_HighInterferenceIndication_constr_1, UL_HighInterferenceIndication_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndication.h b/asn1c_defs/all-defs/UL-HighInterferenceIndication.h new file mode 100755 index 0000000..8b1edd9 --- /dev/null +++ b/asn1c_defs/all-defs/UL-HighInterferenceIndication.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_HighInterferenceIndication_H_ +#define _UL_HighInterferenceIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-HighInterferenceIndication */ +typedef BIT_STRING_t UL_HighInterferenceIndication_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_HighInterferenceIndication_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndication; +asn_struct_free_f UL_HighInterferenceIndication_free; +asn_struct_print_f UL_HighInterferenceIndication_print; +asn_constr_check_f UL_HighInterferenceIndication_constraint; +ber_type_decoder_f UL_HighInterferenceIndication_decode_ber; +der_type_encoder_f UL_HighInterferenceIndication_encode_der; +xer_type_decoder_f UL_HighInterferenceIndication_decode_xer; +xer_type_encoder_f UL_HighInterferenceIndication_encode_xer; +per_type_decoder_f UL_HighInterferenceIndication_decode_uper; +per_type_encoder_f UL_HighInterferenceIndication_encode_uper; +per_type_decoder_f UL_HighInterferenceIndication_decode_aper; +per_type_encoder_f UL_HighInterferenceIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_HighInterferenceIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndication.o b/asn1c_defs/all-defs/UL-HighInterferenceIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..520268afa8f3f3e5c0d74c56440c7b0b8bbf42fb GIT binary patch literal 3000 zcmbVOO>7%g5FTesW18YPEr&=&>LO7{q-N`_BDD$~-Z` zmy`n)3PG}>ATHcFaNy7bcO(=Eae_mY6H*T#PDpT}2h;;1%)EWG`?A@lh>7;i%=c#I z&6_vxIrru&^Fx^oFlFF1h&4t5Hiu)mD8wR+K_0B_zn05`{qo?4pl{gJKg3|DraBcEF@S)pJJ9$ABb%)QFs=W7T1Yi|yIdh5H!==oWIof~;; z_r&+)Z9d%kb=aDGU~N6_ynmleM$hAVGW3rkbQlg-xOG;BHur!3Qsfs86pScFV(BD` zv^Cxy@7;?{4oQY_$?-k2X4l<@f5~aLr-ZOtnX+0N&9WD`y@uO!y_#G0>aCg+w7Q;A zgA4wQe#dF|UES*j`bO)H>**5+UZ_usxmwrrgPzm!0=?n1+HO6XJvQ>8)KV4R4^Jj_ z#-GMdlfgo%G^07^O+HTM%oY?monjT*8@yE0WT`}St%2<6r9&0 z=%#}6TSJg8ajFk}5gGp7PT;JAf$wa{n=JL*wqpeDW&lRr2^=uieIJZomlQHLjjM-M zY$V|$3{c`(FlyaS$MrA}KJ%`zu(&$q2TtuhY40}eM$hTEQBwb3(9xC8LXA?C3g1tj zQ)@@qIsE7iD&nWo*YXLuDM9KDT8Gb{&-G=ACtuQE5GSgJEE@Gl3WbZvC}z^XK#QeN z5;oC>Fz$PHVgD-(NY43loFd|B{u|ODd>`W=?8kgX`X}?>lLpP$RY-b5zm9rZ{quCW zkoLp~K=r5pO*nt9|GS9MQipmR^$7{6zb^7O)b|78F0{&}r?D5TZzfvg|biRwr19{V#+`6Smy2)>fwW0~+MVsv+s i{`96L&mJN8LKc1`vEhV@zk%ugzsdYRrC + +/* Including external dependencies */ +#include "ECGI.h" +#include "UL-HighInterferenceIndication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UL-HighInterferenceIndicationInfo-Item */ +typedef struct UL_HighInterferenceIndicationInfo_Item { + ECGI_t target_Cell_ID; + UL_HighInterferenceIndication_t ul_interferenceindication; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UL_HighInterferenceIndicationInfo_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndicationInfo_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_UL_HighInterferenceIndicationInfo_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_UL_HighInterferenceIndicationInfo_Item_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_HighInterferenceIndicationInfo_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo-Item.o b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..9b9c405737092e63d8523b74da53ee844032b5e7 GIT binary patch literal 3360 zcmb_eOK;Oa5Z=^0S}3&TB_uB4M2fIghl)lZAw%l6L8VQpa&}zTO(PN;*&9?Yv`21m zLF!N7$elmH1;M}I3TKdD#@S6K8z)MjBW-r(oB3v6vl}1U>njtP43m;!4_VieC}Y{F zu5Kl&#b((ItE}s5_1brC_)2xx5|*rC=}AOWbdEx#Mc;TvU5dK5dX= z2tEP6KOjRw#&#V5#r0$R0PWlf=7m(L@)^*N#G~%3JP#F@6x>rPxEGRxIIe-l zSiONZng3w%*Hdh?J=E{V`<$te*)s2ZE@2b1{oefSqZ=E%DCMZ|CDXZxZV zn}!2O!?S>6o+H7T6veca;N5+Y>wPmI&-(%Rrvdng51rvLHx8U-d&Q}&JHuZ_2VX{q zyS3Oc6V}s5NBVi<6kydOD*{9Uu0H}7=|5z2s6D`S(w zrQ)(i5tllKUMKN*8)QA^2H&$LapM(}F_!|sUSn15dQ=)TccLERtu9x)?+)#UCD^gL?!`%>fn0cXap z%Ux#d#4$6X5DknpjRKf{!%f_%DW=f~Jr}`*BKtPgWQG?un?97W5ro_~RyQho%w6xf zSj2yHH-L*OM_JIQ%!;SJEch3|iT|2%d|6+cfTfL}6(1e)Udr5A zsfhjw^l9T)#Xype6ET#pf{*7*MdcrYQ(`pkm%1R~RAbRj4HX5M6V8hehi{C!fA~eB)-FISCq9wB VD+4Mfd@H2$--&_VVlpBs|1X6kKy?5B literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.c b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.c new file mode 100755 index 0000000..d0ef631 --- /dev/null +++ b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-HighInterferenceIndicationInfo.h" + +#include "UL-HighInterferenceIndicationInfo-Item.h" +asn_per_constraints_t asn_PER_type_UL_HighInterferenceIndicationInfo_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_UL_HighInterferenceIndicationInfo_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UL_HighInterferenceIndicationInfo_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_UL_HighInterferenceIndicationInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_UL_HighInterferenceIndicationInfo_specs_1 = { + sizeof(struct UL_HighInterferenceIndicationInfo), + offsetof(struct UL_HighInterferenceIndicationInfo, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndicationInfo = { + "UL-HighInterferenceIndicationInfo", + "UL-HighInterferenceIndicationInfo", + &asn_OP_SEQUENCE_OF, + asn_DEF_UL_HighInterferenceIndicationInfo_tags_1, + sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_tags_1) + /sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_tags_1[0]), /* 1 */ + asn_DEF_UL_HighInterferenceIndicationInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_tags_1) + /sizeof(asn_DEF_UL_HighInterferenceIndicationInfo_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_HighInterferenceIndicationInfo_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_UL_HighInterferenceIndicationInfo_1, + 1, /* Single element */ + &asn_SPC_UL_HighInterferenceIndicationInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.h b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.h new file mode 100755 index 0000000..ec01f29 --- /dev/null +++ b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_HighInterferenceIndicationInfo_H_ +#define _UL_HighInterferenceIndicationInfo_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct UL_HighInterferenceIndicationInfo_Item; + +/* UL-HighInterferenceIndicationInfo */ +typedef struct UL_HighInterferenceIndicationInfo { + A_SEQUENCE_OF(struct UL_HighInterferenceIndicationInfo_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UL_HighInterferenceIndicationInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UL_HighInterferenceIndicationInfo; +extern asn_SET_OF_specifics_t asn_SPC_UL_HighInterferenceIndicationInfo_specs_1; +extern asn_TYPE_member_t asn_MBR_UL_HighInterferenceIndicationInfo_1[1]; +extern asn_per_constraints_t asn_PER_type_UL_HighInterferenceIndicationInfo_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_HighInterferenceIndicationInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.o b/asn1c_defs/all-defs/UL-HighInterferenceIndicationInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..f37ba85b8a97757e33d660e1b11089ab7083ce59 GIT binary patch literal 2608 zcmbtVO-~d-5bb6B02LHZCSFz(BPP<>F(eX6%*1toH7l&(8gJt;46x|VlAR_I56XY= z;?Lm7LGLDBJbE$l>P>$ER`pcvG`)kYSjo<-diAQhXZmB``SsbMQc19t#C?%R%nGr0 zCigwHRBKvt9-0&_v zp=x!KTCr2~2PFm`-YlauJYqne$7&w9;OtM|$i&6Vv$ZI|!LDOs6xw{_&cb*E)z zO1if){_2Jx3spZ@oYhpr zUkcRDRy@FvQ71`N7Y1GSpF(+%#bGN^y3^waO9M2?ro7y!4xml9;^?1VGN`Gz%?m<^ z=fvEtcz2=MJg*t@qgs(Y_^w2rYcVsCrF9>Z_Y8iFe1v&}zi9Bh|FA#L0n;z=0fzjz z_OizZ@{zx6@Lvu7&?%AWPFsa5Lc-!@xWS%^Un?P3Llp|SlBPm-I~btSmD3Q$uR@(h zkF$)K$`vx|wA(Rk0-1DFEaw)Qlc@@$m&V-w$Gr;0_^!s^nQrIlXa57Wrd@*oIs1n5 zNVG-BP-chlCLpe_UB74PIJC#V4GHA#uz-;3uUkCtCGO)vzG(hGsO}pfLzx}I89=;? zJ&GA7=uiyPK<6QW6pzpQ{t<8}$!|Ic!1k%myyua(<0arwYQO(SswcowZ5%U(z@lHt z(!J*=65#hWjq4aUA<4d}`&mR5Xi;XrJNEfS^`8mx{>PvF{qQW>dj}}7PvoXG4=dDX Qzo@=K2jUGjGt9341MkG_wg3PC literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.c b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.c new file mode 100755 index 0000000..e054c89 --- /dev/null +++ b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-InterferenceOverloadIndication-Item.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UL_InterferenceOverloadIndication_Item_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_UL_InterferenceOverloadIndication_Item_value2enum_1[] = { + { 0, 17, "high-interference" }, + { 1, 19, "medium-interference" }, + { 2, 16, "low-interference" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_UL_InterferenceOverloadIndication_Item_enum2value_1[] = { + 0, /* high-interference(0) */ + 2, /* low-interference(2) */ + 1 /* medium-interference(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_UL_InterferenceOverloadIndication_Item_specs_1 = { + asn_MAP_UL_InterferenceOverloadIndication_Item_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_UL_InterferenceOverloadIndication_Item_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_InterferenceOverloadIndication_Item = { + "UL-InterferenceOverloadIndication-Item", + "UL-InterferenceOverloadIndication-Item", + &asn_OP_NativeEnumerated, + asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1, + sizeof(asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1) + /sizeof(asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1[0]), /* 1 */ + asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1) + /sizeof(asn_DEF_UL_InterferenceOverloadIndication_Item_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_InterferenceOverloadIndication_Item_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_UL_InterferenceOverloadIndication_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.h b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.h new file mode 100755 index 0000000..e9db55a --- /dev/null +++ b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_InterferenceOverloadIndication_Item_H_ +#define _UL_InterferenceOverloadIndication_Item_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UL_InterferenceOverloadIndication_Item { + UL_InterferenceOverloadIndication_Item_high_interference = 0, + UL_InterferenceOverloadIndication_Item_medium_interference = 1, + UL_InterferenceOverloadIndication_Item_low_interference = 2 + /* + * Enumeration is extensible + */ +} e_UL_InterferenceOverloadIndication_Item; + +/* UL-InterferenceOverloadIndication-Item */ +typedef long UL_InterferenceOverloadIndication_Item_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_InterferenceOverloadIndication_Item_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_InterferenceOverloadIndication_Item; +extern const asn_INTEGER_specifics_t asn_SPC_UL_InterferenceOverloadIndication_Item_specs_1; +asn_struct_free_f UL_InterferenceOverloadIndication_Item_free; +asn_struct_print_f UL_InterferenceOverloadIndication_Item_print; +asn_constr_check_f UL_InterferenceOverloadIndication_Item_constraint; +ber_type_decoder_f UL_InterferenceOverloadIndication_Item_decode_ber; +der_type_encoder_f UL_InterferenceOverloadIndication_Item_encode_der; +xer_type_decoder_f UL_InterferenceOverloadIndication_Item_decode_xer; +xer_type_encoder_f UL_InterferenceOverloadIndication_Item_encode_xer; +per_type_decoder_f UL_InterferenceOverloadIndication_Item_decode_uper; +per_type_encoder_f UL_InterferenceOverloadIndication_Item_encode_uper; +per_type_decoder_f UL_InterferenceOverloadIndication_Item_decode_aper; +per_type_encoder_f UL_InterferenceOverloadIndication_Item_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_InterferenceOverloadIndication_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.o b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..b3b42d33f955278b7e4ec2f99e2f95c035000fe2 GIT binary patch literal 2960 zcmbtWOK;Oa5T4*ddA9`)NE`?k2#;7vRjCz7$f%?bRNAO0;)3M5&e8-DyGoqUUZCQ{ zvEs~M;6L=pPvFR3;Kr@YY-Z}sHi?25$(i}SdF*=j;e0BsEuG0^KqLcCAw|Lh98RXT zr%ey0VG7QneTE-R^AB+%$1H+J>B?GuHA+FBX^XGbcWU{%(K%?UYQ59! z=Nj>cegc*k7awPHmF-THbh7jAoLk5jI~o-~78l&YoLju#nG|NNZ+f*{3JHoUVC!gMt;WVXPM*Q42kdR`1E~q91r6i zKsSV-9r@2oOMYd|AAMqdI4@=1%T`eoA)Rfg?RJsTG4Eezs5GHEw(A% zzSGD>`~`eGd`M&tGOl3R*TkErsiw1fb%>X-4=nyJV{qI1%_P`HowRzoCRU>M5^$?Q z5`eqiZiCy32~cFwT|lTBfp(K6UW>*Yw-JZIiNBX!1UHPEO@(XjMscFt<@HLwodn@~ znb&{nTbNJ1q3^OOo(T+_VokY&fH?aG_BcrT&k(X=u)c?y*2>O5wBiKX<3Bm1_u@gc52z>s4Or1dq$&i{-~;mo*)c0<`|#}XbCT43@QCtSt2DSYhrr#r~r dJ4nGa|AF{!4QN4q7Y@q*!~OqC#SF3Y{{rD}D!Kpw literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.c b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.c new file mode 100755 index 0000000..f7aba47 --- /dev/null +++ b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-InterferenceOverloadIndication.h" + +asn_per_constraints_t asn_PER_type_UL_InterferenceOverloadIndication_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 110 } /* (SIZE(1..110)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_UL_InterferenceOverloadIndication_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UL_InterferenceOverloadIndication_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_UL_InterferenceOverloadIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_UL_InterferenceOverloadIndication_specs_1 = { + sizeof(struct UL_InterferenceOverloadIndication), + offsetof(struct UL_InterferenceOverloadIndication, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_UL_InterferenceOverloadIndication = { + "UL-InterferenceOverloadIndication", + "UL-InterferenceOverloadIndication", + &asn_OP_SEQUENCE_OF, + asn_DEF_UL_InterferenceOverloadIndication_tags_1, + sizeof(asn_DEF_UL_InterferenceOverloadIndication_tags_1) + /sizeof(asn_DEF_UL_InterferenceOverloadIndication_tags_1[0]), /* 1 */ + asn_DEF_UL_InterferenceOverloadIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_InterferenceOverloadIndication_tags_1) + /sizeof(asn_DEF_UL_InterferenceOverloadIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_InterferenceOverloadIndication_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_UL_InterferenceOverloadIndication_1, + 1, /* Single element */ + &asn_SPC_UL_InterferenceOverloadIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.h b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.h new file mode 100755 index 0000000..1e2ab60 --- /dev/null +++ b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_InterferenceOverloadIndication_H_ +#define _UL_InterferenceOverloadIndication_H_ + + +#include + +/* Including external dependencies */ +#include "UL-InterferenceOverloadIndication-Item.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-InterferenceOverloadIndication */ +typedef struct UL_InterferenceOverloadIndication { + A_SEQUENCE_OF(UL_InterferenceOverloadIndication_Item_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UL_InterferenceOverloadIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UL_InterferenceOverloadIndication; +extern asn_SET_OF_specifics_t asn_SPC_UL_InterferenceOverloadIndication_specs_1; +extern asn_TYPE_member_t asn_MBR_UL_InterferenceOverloadIndication_1[1]; +extern asn_per_constraints_t asn_PER_type_UL_InterferenceOverloadIndication_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_InterferenceOverloadIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.o b/asn1c_defs/all-defs/UL-InterferenceOverloadIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..4263d4314844f95ea7d94724247c23346d048d13 GIT binary patch literal 2608 zcmbtVJ#Q015MAf^NPq-Fg+ybJ5Jn;^ABsdoBy_@DLQsf}jS<~(xf~=RK3l#uA{3DS zK*P^SnF4ww8cG@@S~~azVPxn5bDaznqfG;mche5MX#@xg)ASdZVo$Dk>a;&*Lvy`Z~`z-FpNfcLK#@(%U zxVDt6ZA78kX#XiMr<9g>JnpwS>o)#RT*)qS1n%kF#Y*K?vD94cC8}4vDQ9JQ#_eh5 zzH#Sdc~-jDGX1cja6QMwul>9@r@t!)dmVwhH*Ah@hDA^u7$MIbaePR=0!l%jjI7Jd zbPU~0bi}wx`@SPi^?lQE#Dqz;{}|e7V?OH?u>*LHd=uUQnTFq?NMeofGhkl)H_);E z4#hnooPZ6$I&5dinFl?ujyUup$Vh}~65RC{g64AY_e&F~@Oc`zqbKOdYAtB^51al< z#Sf|rTB`Z=Ky7#85r&M~NvgUqXv2R5=|RTBjYR265AM`QD3VRNQLBs)n|9*ppB5P` zskp@(LWuXoJgt1T)?U`UCm;3mhW^FS58M)&ZnsppDkN-PhU@I9_>~fJEmWb9t7$4^w~YiNT{#Cd z-U@X$dfdyHMY%#o?N%#>Lm-p3isj-;b0$?`^un0iQQV7=jB7Ri&U86Xx5Ev_nsx~Y zYW54~QBa4Fp~w#5RY2T#JAc=TV``6o9Xe3E!2yJvf7#OcjBy V&BLPl?&sx~=|a55VusoIzX6Ke?uq~a literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-Total-PRB-usage.c b/asn1c_defs/all-defs/UL-Total-PRB-usage.c new file mode 100755 index 0000000..17582b2 --- /dev/null +++ b/asn1c_defs/all-defs/UL-Total-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-Total-PRB-usage.h" + +int +UL_Total_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UL_Total_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UL_Total_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_Total_PRB_usage = { + "UL-Total-PRB-usage", + "UL-Total-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_UL_Total_PRB_usage_tags_1, + sizeof(asn_DEF_UL_Total_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_Total_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_UL_Total_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_Total_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_Total_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_Total_PRB_usage_constr_1, UL_Total_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UL-Total-PRB-usage.h b/asn1c_defs/all-defs/UL-Total-PRB-usage.h new file mode 100755 index 0000000..6006712 --- /dev/null +++ b/asn1c_defs/all-defs/UL-Total-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_Total_PRB_usage_H_ +#define _UL_Total_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-Total-PRB-usage */ +typedef long UL_Total_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_Total_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_Total_PRB_usage; +asn_struct_free_f UL_Total_PRB_usage_free; +asn_struct_print_f UL_Total_PRB_usage_print; +asn_constr_check_f UL_Total_PRB_usage_constraint; +ber_type_decoder_f UL_Total_PRB_usage_decode_ber; +der_type_encoder_f UL_Total_PRB_usage_encode_der; +xer_type_decoder_f UL_Total_PRB_usage_decode_xer; +xer_type_encoder_f UL_Total_PRB_usage_encode_xer; +per_type_decoder_f UL_Total_PRB_usage_decode_uper; +per_type_encoder_f UL_Total_PRB_usage_encode_uper; +per_type_decoder_f UL_Total_PRB_usage_decode_aper; +per_type_encoder_f UL_Total_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_Total_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-Total-PRB-usage.o b/asn1c_defs/all-defs/UL-Total-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..c8ba5e1e156833fd0bed07c74d5e7fd85504071d GIT binary patch literal 2832 zcmbtW&2LOm6hG647B!|N(uD9fsKi`-BGEL+&{m&hR8y@8iRX3Z^@I74d2bplXi^pv zAvX4w{s)OjELcic5*vFqEUZMGbKkjdt~(D4N8a4u`JHp_$GP{Mx<6h#+m*?Hk_?=J zwx(Es_nX?dAYlReAP4Tl?-$Rt*4);+Xw3QOuAV9{JMP1^m+L6eL3i~_Pw`QA@$oha zxv|%cf!q4#wtl*;x6bR+>uZ;n1`JlnYlX+ncKO{?%wX6r?~iGS}^5=uNN!!xD7v^Q7cACAn7qXP8&I zK3cFvS0$dn-+nEh^3IS8@axmgyC}T@R&dNQ)`w@P^lAB@QpV1wj+KKY=8cV?^=6Bn zEGrMo%9CZ~MgBtQIUtIoL-cc$ejG?~Y**J`rjw=%Q{JQ>VR@dbMZrSQkmS_(v=`mE z6{PJUo*H)nFv#biK0~+jBW@+@WFsM-nw#Q%B2i5LYD`N$i&*(HEpLEc-3Sx19uZR= z=)B53@%`*e!vJIA+pn>`f0Hk0{yP}c;A*^Dizu6UIv0J3i11D|^5;NctBc1)g&IM{ z7g2CK0#WuOAH-Z3f@su9A$La%|E}V-%NXf^NLfLY>eXsc!-=rd24Z4zHXlZQ=_dOJ zi{5<0uhN_SU$Jol%9Ysx3doVD`iQm8TG)*S>H!7iz@yD2e4TZA1GJ91XLWxEm^VAw zYvf6ix{B50URag=m*zC%bF^5Bm^8g>;*J`=DxUhgE^7a3o&p-v;!m){c|DkYiBj=1 zjLrQ&XNN^{*2LB@!3+4M<$s0q|APG~|MdR`wSSfWYsk@3zrAttV?yumNO$~YnMaP| zhsdZ&FUOntQ|DG=9b**M!eQ9l5F1V32OMv@t9VzR6tOzLqVFR}%ikaugvt};kNTmC zS3K> N; sorted by tag */ + asn_MAP_UL_UE_Configuration_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_UL_UE_Configuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_UE_Configuration = { + "UL-UE-Configuration", + "UL-UE-Configuration", + &asn_OP_NativeEnumerated, + asn_DEF_UL_UE_Configuration_tags_1, + sizeof(asn_DEF_UL_UE_Configuration_tags_1) + /sizeof(asn_DEF_UL_UE_Configuration_tags_1[0]), /* 1 */ + asn_DEF_UL_UE_Configuration_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_UE_Configuration_tags_1) + /sizeof(asn_DEF_UL_UE_Configuration_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_UE_Configuration_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_UL_UE_Configuration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UL-UE-Configuration.h b/asn1c_defs/all-defs/UL-UE-Configuration.h new file mode 100755 index 0000000..881337c --- /dev/null +++ b/asn1c_defs/all-defs/UL-UE-Configuration.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_UE_Configuration_H_ +#define _UL_UE_Configuration_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UL_UE_Configuration { + UL_UE_Configuration_no_data = 0, + UL_UE_Configuration_shared = 1, + UL_UE_Configuration_only = 2 + /* + * Enumeration is extensible + */ +} e_UL_UE_Configuration; + +/* UL-UE-Configuration */ +typedef long UL_UE_Configuration_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_UE_Configuration_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_UE_Configuration; +extern const asn_INTEGER_specifics_t asn_SPC_UL_UE_Configuration_specs_1; +asn_struct_free_f UL_UE_Configuration_free; +asn_struct_print_f UL_UE_Configuration_print; +asn_constr_check_f UL_UE_Configuration_constraint; +ber_type_decoder_f UL_UE_Configuration_decode_ber; +der_type_encoder_f UL_UE_Configuration_encode_der; +xer_type_decoder_f UL_UE_Configuration_decode_xer; +xer_type_encoder_f UL_UE_Configuration_encode_xer; +per_type_decoder_f UL_UE_Configuration_decode_uper; +per_type_encoder_f UL_UE_Configuration_encode_uper; +per_type_decoder_f UL_UE_Configuration_decode_aper; +per_type_encoder_f UL_UE_Configuration_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_UE_Configuration_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-UE-Configuration.o b/asn1c_defs/all-defs/UL-UE-Configuration.o new file mode 100644 index 0000000000000000000000000000000000000000..4bd274f2d206c310e4d6768ee34472e2d214fd4d GIT binary patch literal 2664 zcmbtV&2G~`5T4Y9mcN!DB#__`#DO3YtF9`6iiC_p+6t8t6-6A4>zXEz*j4OQ?FEpy zaNxjW^f7YeQ4lvI4&2JjdZu1)op4~J_00Fp%d!wPB_TmVlxUuV}J|ta#816zG^^c}? zQSg~_F>xVy3aD#7n%ks)EcDGz@oU`_%(()}``4CTMaa6+7zJ5xHdkx)&dw-GN41Cc zioMiuMhZC}oJaQ3itXIb_(GZqXkN4M>%`;?J<)=B9V&ZO^)nAHdp1}Hik~~pxXe5$3odCWH!ZlB1Gc`Ru4?snnLkE- zm2F*(5mdExYqRqw>azG*+?eWVl>l{)hms3p2jC}>_pG(%bvC_D%PU+bFZK5l&ru;S zp0-Ov4*dQoTn?kr;2(h$vaF&xaKfN!w3lsf3vcv6*utz3FE?IhDzx3&_R^#Mu(XsQ zj*@i9z3+ulIP3*p6nh!(_o7tw@v7Y{O;7g2fMzQ~=UYEz^XxEr*#qJiB^mWiEnaeo zlKr4~op;HJLcH`zc!NGD#8;J-ecrH5{57_9Mf?S9E|W4A@nj2@^F%z&_c}I`Zl=_@ z#NTH8$>8rY20J+#r2Y=-beQR`SZR2ef~}rrdnZZ29>xSH(y<+cVc%D7vczl9m}B?j zz(;=&4+bG_rya#T|8cFI0@1>Cc)3-34*1~*G-3i@NtS)yD5NEz-yugsEn(B;JC9HMqYKk2hxi1WaC+SDGO{F=!pya!e*SR2)Nuv51#D*h h^k$fQj}(lVlzkwM#4L;6sIvSTU#QP2EB~1Je*r=)*}VV& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.c b/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.c new file mode 100755 index 0000000..943391d --- /dev/null +++ b/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-non-GBR-PRB-usage.h" + +int +UL_non_GBR_PRB_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UL_non_GBR_PRB_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UL_non_GBR_PRB_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_non_GBR_PRB_usage = { + "UL-non-GBR-PRB-usage", + "UL-non-GBR-PRB-usage", + &asn_OP_NativeInteger, + asn_DEF_UL_non_GBR_PRB_usage_tags_1, + sizeof(asn_DEF_UL_non_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_non_GBR_PRB_usage_tags_1[0]), /* 1 */ + asn_DEF_UL_non_GBR_PRB_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_non_GBR_PRB_usage_tags_1) + /sizeof(asn_DEF_UL_non_GBR_PRB_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_non_GBR_PRB_usage_constr_1, UL_non_GBR_PRB_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.h b/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.h new file mode 100755 index 0000000..0c8d817 --- /dev/null +++ b/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_non_GBR_PRB_usage_H_ +#define _UL_non_GBR_PRB_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-non-GBR-PRB-usage */ +typedef long UL_non_GBR_PRB_usage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UL_non_GBR_PRB_usage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UL_non_GBR_PRB_usage; +asn_struct_free_f UL_non_GBR_PRB_usage_free; +asn_struct_print_f UL_non_GBR_PRB_usage_print; +asn_constr_check_f UL_non_GBR_PRB_usage_constraint; +ber_type_decoder_f UL_non_GBR_PRB_usage_decode_ber; +der_type_encoder_f UL_non_GBR_PRB_usage_encode_der; +xer_type_decoder_f UL_non_GBR_PRB_usage_decode_xer; +xer_type_encoder_f UL_non_GBR_PRB_usage_encode_xer; +per_type_decoder_f UL_non_GBR_PRB_usage_decode_uper; +per_type_encoder_f UL_non_GBR_PRB_usage_encode_uper; +per_type_decoder_f UL_non_GBR_PRB_usage_decode_aper; +per_type_encoder_f UL_non_GBR_PRB_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_non_GBR_PRB_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.o b/asn1c_defs/all-defs/UL-non-GBR-PRB-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..44e72ced4203025e7999cd6b8af8343c7a354163 GIT binary patch literal 2840 zcmbVOOHUL*5bk9Z5O7)00|`dwf-Z^M><|(OF=TlUaRUU!7)=<4-Ql@AYj$P{cn}gK zVPiD@0TYk@2QMTXnlI>aMQts%3K|J6aQq5kWE1 zPfjI)5^_{~%4ZmxAuS|9%$?tl$E$~C^}ruCzM0$o`8C7bIs9@0 zV?#rIdU9sI;`$Z+0qvpblu==l@!II6=^koy1~|FNy<@MYNo+k4Yj3Kn{{Wlc2mBV- zRd61TC$?*5<89fv{xse;5Kjy>#Ouw*35IaPhzZYeh5U@XGcEFk5~9Ih6lt(h6lvsY z6b!3Kk6p6R*h`ZDVB28C$h8oZchV$0Gyp~;jj|Z>8fgl7!8~Nl`8Wp{UK{3G*pG5t z$nva_23chMBlxyT`DAwn*eZ+`>AXwKnvh+X6P%Z)k07*2`JWQXsD}=f14U*HkBnL~ zSqlowg2J+(uq;+smTxb5mO*HCD2<qIvhaw$!eP_`rGjM8T z+VVGEI?<5?%R?+leje;McuRkRmU3c9I5s(f+Y&C@7bQF{*>jlP1irpL4zRie9_vBI z#T_8t%58DN_lSh}>8m7R{3@P7V<5zDFfRC*oJU;jg^-RPAj|`fkf^s&^zC^DX9TygYe(TV&iJ6q= z+qqS4?<`phWxMEvLH$3YgDak0?F1RXkVKsX(%Bp#)(!)EK?a6QNnXlx9K<((`-poM z_ji}$YDe1x94V}?Kn(ANi>wdhnyP;SH;W(@#&?Zaw_+>&se+66#X1?#NBQ@2gGt3- z_=))m_gCZp#0{1de_fGr{iyu!^8A11_LzVC|3Snr@;?h0Zgu93qa6q2J`eD@Uzi2J z&_9hziJG`S{!Ypy&MoE=CW={-;@^xUYuXRo4`cnFU<==i-Ys Cz9V}8 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.c b/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.c new file mode 100755 index 0000000..48dbd50 --- /dev/null +++ b/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UL-scheduling-PDCCH-CCE-usage.h" + +int +UL_scheduling_PDCCH_CCE_usage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 100)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_UL_scheduling_PDCCH_CCE_usage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UL_scheduling_PDCCH_CCE_usage = { + "UL-scheduling-PDCCH-CCE-usage", + "UL-scheduling-PDCCH-CCE-usage", + &asn_OP_NativeInteger, + asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1, + sizeof(asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1) + /sizeof(asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1[0]), /* 1 */ + asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1, /* Same as above */ + sizeof(asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1) + /sizeof(asn_DEF_UL_scheduling_PDCCH_CCE_usage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UL_scheduling_PDCCH_CCE_usage_constr_1, UL_scheduling_PDCCH_CCE_usage_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.h b/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.h new file mode 100755 index 0000000..2b2c654 --- /dev/null +++ b/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UL_scheduling_PDCCH_CCE_usage_H_ +#define _UL_scheduling_PDCCH_CCE_usage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UL-scheduling-PDCCH-CCE-usage */ +typedef long UL_scheduling_PDCCH_CCE_usage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UL_scheduling_PDCCH_CCE_usage; +asn_struct_free_f UL_scheduling_PDCCH_CCE_usage_free; +asn_struct_print_f UL_scheduling_PDCCH_CCE_usage_print; +asn_constr_check_f UL_scheduling_PDCCH_CCE_usage_constraint; +ber_type_decoder_f UL_scheduling_PDCCH_CCE_usage_decode_ber; +der_type_encoder_f UL_scheduling_PDCCH_CCE_usage_encode_der; +xer_type_decoder_f UL_scheduling_PDCCH_CCE_usage_decode_xer; +xer_type_encoder_f UL_scheduling_PDCCH_CCE_usage_encode_xer; +per_type_decoder_f UL_scheduling_PDCCH_CCE_usage_decode_uper; +per_type_encoder_f UL_scheduling_PDCCH_CCE_usage_encode_uper; +per_type_decoder_f UL_scheduling_PDCCH_CCE_usage_decode_aper; +per_type_encoder_f UL_scheduling_PDCCH_CCE_usage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UL_scheduling_PDCCH_CCE_usage_H_ */ +#include diff --git a/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.o b/asn1c_defs/all-defs/UL-scheduling-PDCCH-CCE-usage.o new file mode 100644 index 0000000000000000000000000000000000000000..84bfe8dfc4b82bfc515f3116a3cb1ec03cab0412 GIT binary patch literal 2888 zcmbVN&1(}u6rVI|qt=+JheAcygW7@_yCPV6kVyKmLTF31QWUz~CYz+1Y$UrW)q@sm zk>CgVA9(an5WN(7&~s0M7w>ve(34o-o4naf$88l~$iDY}@Aqcj&di&=Kav~mh{c$c z7`w>YoG_5iG>i-UJReA#4dI#h%t1bIo}2wGoE@R@Vt1!lY$+A% z?dnWChsnwhHhJ>ecm{u9Ebuj)A4r@F#^0nbCqI*Yvo><#?8m2N8wHe;Var^w!-c0AwE zInZtP@W`k=owM5=W{VE9p~Gy^VRqn@eA^V{$&o2LxO3b6OGc~XAcyC&1Nb9VxyZpGn&yA&{9Z~}+%dEaNeUPA}zCLi4D!X}FxK>$le8PC_MRo8=o;97S1 z*!XnX51jlh;=5(LSa+&!Sk(U;2BhLz={H9PFcjH8E$`1>>4gB^9T`a=Jwq)%M?Rhz zoJa1n+`m(Vt9ybeYxn?B?;rFHd?!e!2d$fZ zgy?<|P|P1_g~MkT<>UUSBHvr;8U&@S@&@&SD5!HEQoc@?`Ib5;*z)})d>@Rc^_!!H zkn4o&hhH<9FLA6#pBo^yOyDOf81F#5U-W$ZqUw7O5Sycg{*I0!`upRUQTa<$|1%{Q HO+EiNQO-OS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ULConfiguration.c b/asn1c_defs/all-defs/ULConfiguration.c new file mode 100755 index 0000000..569b131 --- /dev/null +++ b/asn1c_defs/all-defs/ULConfiguration.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ULConfiguration.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ULConfiguration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULConfiguration, uL_PDCP), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UL_UE_Configuration, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uL-PDCP" + }, + { ATF_POINTER, 1, offsetof(struct ULConfiguration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P215, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ULConfiguration_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ULConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ULConfiguration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uL-PDCP */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ULConfiguration_specs_1 = { + sizeof(struct ULConfiguration), + offsetof(struct ULConfiguration, _asn_ctx), + asn_MAP_ULConfiguration_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ULConfiguration_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ULConfiguration = { + "ULConfiguration", + "ULConfiguration", + &asn_OP_SEQUENCE, + asn_DEF_ULConfiguration_tags_1, + sizeof(asn_DEF_ULConfiguration_tags_1) + /sizeof(asn_DEF_ULConfiguration_tags_1[0]), /* 1 */ + asn_DEF_ULConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_ULConfiguration_tags_1) + /sizeof(asn_DEF_ULConfiguration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ULConfiguration_1, + 2, /* Elements count */ + &asn_SPC_ULConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ULConfiguration.h b/asn1c_defs/all-defs/ULConfiguration.h new file mode 100755 index 0000000..13776ad --- /dev/null +++ b/asn1c_defs/all-defs/ULConfiguration.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ULConfiguration_H_ +#define _ULConfiguration_H_ + + +#include + +/* Including external dependencies */ +#include "UL-UE-Configuration.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ULConfiguration */ +typedef struct ULConfiguration { + UL_UE_Configuration_t uL_PDCP; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULConfiguration_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ULConfiguration; +extern asn_SEQUENCE_specifics_t asn_SPC_ULConfiguration_specs_1; +extern asn_TYPE_member_t asn_MBR_ULConfiguration_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ULConfiguration_H_ */ +#include diff --git a/asn1c_defs/all-defs/ULConfiguration.o b/asn1c_defs/all-defs/ULConfiguration.o new file mode 100644 index 0000000000000000000000000000000000000000..ba7bacae7423538f437b56191bb502629b09ab65 GIT binary patch literal 2832 zcmb_dOK;Oa5Z=_h%A=*g0f~!|5Cn;sI22KVgbb-$gi32Dk+>Phm^LD@OT3ZF1#;yd zz>PnE#82SHwf}-E+_=GvJ(H|APQ_~^XTJI7wYy$V-neTkGnI;9sfgQRY%wc@cX*7Q z3_4<7%!$@oGl`#fwg&w`c9K{O)@t5z(-R%H=I+WUPJv9vseg?0wdnS=f-}<``|z0a z6J(!|-*(|T@i_v|A$a~*T_{zMDp)5KM&CD|m(FvF&f{7+2V)$zSDVe7X0_EG#ByNX zuokU)%^qZy{n}o#>Wh|rIp;BLs$lH{;(O^C8->o}5{A%MnfnZ3jDr+pK!-9h#K8&r zG%yu0D@^jJnTAj6d^Ol=W|u=PhXU z{d2${I8TIY+}^qLc%bSDan zUHz8p7e^rP*Xt)T36t(<4nmlOzER&_YFx9uhJBq585DjO>g~k2fui$#=E%=y5&6$q z!pP&TGRemIfTHvFaysL=CQ_clFAzrclrYvgMHtmP!pP&d#Ii>KdE6KG_@?k@2&1ZE zAPC3ve$;bNzZUjmJo5bA2`hcolR+D_?B{x$k&Jewu$~1n5LP=)h1E~cz)0J&!Hl{= z=0>EMRyPR)B(oG@g-Nd$!4Tx{pTFbq>r;VUlKb3joeu zhY8X{`nXKWKMp)ne82cUZ2(u+|1;&)sU9nn0qOgo%ldzy7s~nAAE&L}-v{0=7ze96b8| h@t;zE_dp2`4;AF9)=)FyzpXrfkIsLHMHJEVe*w#G*3$q0 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ULOnlySharing.c b/asn1c_defs/all-defs/ULOnlySharing.c new file mode 100755 index 0000000..87fc0f1 --- /dev/null +++ b/asn1c_defs/all-defs/ULOnlySharing.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ULOnlySharing.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ULOnlySharing_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULOnlySharing, uLResourceBitmapULOnlySharing), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DataTrafficResources, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uLResourceBitmapULOnlySharing" + }, + { ATF_POINTER, 1, offsetof(struct ULOnlySharing, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P217, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ULOnlySharing_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ULOnlySharing_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ULOnlySharing_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uLResourceBitmapULOnlySharing */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ULOnlySharing_specs_1 = { + sizeof(struct ULOnlySharing), + offsetof(struct ULOnlySharing, _asn_ctx), + asn_MAP_ULOnlySharing_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ULOnlySharing_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ULOnlySharing = { + "ULOnlySharing", + "ULOnlySharing", + &asn_OP_SEQUENCE, + asn_DEF_ULOnlySharing_tags_1, + sizeof(asn_DEF_ULOnlySharing_tags_1) + /sizeof(asn_DEF_ULOnlySharing_tags_1[0]), /* 1 */ + asn_DEF_ULOnlySharing_tags_1, /* Same as above */ + sizeof(asn_DEF_ULOnlySharing_tags_1) + /sizeof(asn_DEF_ULOnlySharing_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ULOnlySharing_1, + 2, /* Elements count */ + &asn_SPC_ULOnlySharing_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ULOnlySharing.h b/asn1c_defs/all-defs/ULOnlySharing.h new file mode 100755 index 0000000..6e62930 --- /dev/null +++ b/asn1c_defs/all-defs/ULOnlySharing.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ULOnlySharing_H_ +#define _ULOnlySharing_H_ + + +#include + +/* Including external dependencies */ +#include "DataTrafficResources.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ULOnlySharing */ +typedef struct ULOnlySharing { + DataTrafficResources_t uLResourceBitmapULOnlySharing; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULOnlySharing_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ULOnlySharing; +extern asn_SEQUENCE_specifics_t asn_SPC_ULOnlySharing_specs_1; +extern asn_TYPE_member_t asn_MBR_ULOnlySharing_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ULOnlySharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/ULOnlySharing.o b/asn1c_defs/all-defs/ULOnlySharing.o new file mode 100644 index 0000000000000000000000000000000000000000..dbe5adf9eaba070f2954114b9d802dddaef56fee GIT binary patch literal 2824 zcmb_dOK;Oa5Z=_h%A=*g0f~!2NCb(l;!vqokx*!wwnBZFwvo6Q*SKv&VpsM?YA>|^ zfNSsk0q$Hla^%XtfD7UVGxkif-Xs+QM%v8GH}lQxu6H-bjn$>GQc19s#8c7t7!_jW zV&AT1W=%|r3DI2Lh}uV6`+m}j_C$AeGfd-d5`+sa)$tFC(N<%+aj3#5ZN*XAFL$P8 z&c*ack;g^_&cKoL3*?NHKMvtMaa3SjfbqZTLaBnd;LT}>xo+Ms6K9Hv<6N18IW_i| z>-BlN+}!C#s%y{68CjWjx|!#^b>?JcMmi639BCs3Yo8O}hwiae=-e-133HZt%o0{V zNwX~IFib3QegK{Vq$I|LO%a`G3GL8RTv9%{J>DAO_bE`UGtTJ+ZHX%dpB+nFX0xYT zU`=WB->1ki=u!Lav76onU!I2KK$dAm~#Kzp3G0G#uA8 zLH;)lzeP5xG8P6wh53)r0nztCza{2+`MwF69(9zz16n1y-e*gNhf2uT@Zp5qNmC({ z7#+-Xqyui)_OmcrhAZ1~;3Jq(gbdEz?*JF~0N-C- zYPzG@v~4})E?9_}FJi5iQ8Y~c0|?`u|1BTC8`iAC(4|JsybglR{aIrk+GhU~z)&ij zn7hIz&FTpl_~zCaAbm)e%O?I+z!Bo}#ph`Quwnf_5wAk^SlMilehzwA|5N&)%*X!t z%9{N>z_8W8KOF&Oi0NYM4%mAzkk5TMTqZu>E5>PA83(Zg7>sca>g|CEname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 17600)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using DataTrafficResources, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ULResourceBitmapULandDLSharing_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 15, 15, 6, 17600 } /* (SIZE(6..17600)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ULResourceBitmapULandDLSharing_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ULResourceBitmapULandDLSharing = { + "ULResourceBitmapULandDLSharing", + "ULResourceBitmapULandDLSharing", + &asn_OP_BIT_STRING, + asn_DEF_ULResourceBitmapULandDLSharing_tags_1, + sizeof(asn_DEF_ULResourceBitmapULandDLSharing_tags_1) + /sizeof(asn_DEF_ULResourceBitmapULandDLSharing_tags_1[0]), /* 1 */ + asn_DEF_ULResourceBitmapULandDLSharing_tags_1, /* Same as above */ + sizeof(asn_DEF_ULResourceBitmapULandDLSharing_tags_1) + /sizeof(asn_DEF_ULResourceBitmapULandDLSharing_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ULResourceBitmapULandDLSharing_constr_1, ULResourceBitmapULandDLSharing_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.h b/asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.h new file mode 100755 index 0000000..031c594 --- /dev/null +++ b/asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ULResourceBitmapULandDLSharing_H_ +#define _ULResourceBitmapULandDLSharing_H_ + + +#include + +/* Including external dependencies */ +#include "DataTrafficResources.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* ULResourceBitmapULandDLSharing */ +typedef DataTrafficResources_t ULResourceBitmapULandDLSharing_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ULResourceBitmapULandDLSharing_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ULResourceBitmapULandDLSharing; +asn_struct_free_f ULResourceBitmapULandDLSharing_free; +asn_struct_print_f ULResourceBitmapULandDLSharing_print; +asn_constr_check_f ULResourceBitmapULandDLSharing_constraint; +ber_type_decoder_f ULResourceBitmapULandDLSharing_decode_ber; +der_type_encoder_f ULResourceBitmapULandDLSharing_encode_der; +xer_type_decoder_f ULResourceBitmapULandDLSharing_decode_xer; +xer_type_encoder_f ULResourceBitmapULandDLSharing_encode_xer; +per_type_decoder_f ULResourceBitmapULandDLSharing_decode_uper; +per_type_encoder_f ULResourceBitmapULandDLSharing_encode_uper; +per_type_decoder_f ULResourceBitmapULandDLSharing_decode_aper; +per_type_encoder_f ULResourceBitmapULandDLSharing_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ULResourceBitmapULandDLSharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.o b/asn1c_defs/all-defs/ULResourceBitmapULandDLSharing.o new file mode 100644 index 0000000000000000000000000000000000000000..b7ce487100e26ff512f240ee351e7053262cf552 GIT binary patch literal 3032 zcmbVO&2Jl35Ff{-F->uumP4c>u|gCQso8p~NJK#(H_pdKTGA+qOI4(9H}*Pq@kiuc zmy`n)3K6oRpk9#p12}Qw3>OQ8gan5wCnOG3T;Tv50HLa3=IuQDb1@fZ+%@p_52LL&XtV4 zd+eKk(A)ZP>*qmx?4JGF7dY|GXJmBOmZ85Fp`&oP!p$=r+S>c&Q;}bPpj3$ZNM9O2 z@f1IV9;X4Ri%Z6lXNkg3^!})xE$`~!IwHsmEc*UGBv*T7ReN$0#BTI- z5|)H^IM0H>kN0XWR2;4`E_IbB;e@IR*~Rg+QctmWh;{H8R^GQFtN}hpo?%&KU!gLr z)IZ7_;IBv6A91np=HYd9XJ+Tz$KOCV^wtB{0@KN7X}Cy(bwqTxe=VPI8DVyL$(>$U zbyrrG7Z&FQvNXHwhPOBTqmqo)!!+roR+jQg95>kTivf&rF{!W7DR>aIzWs{|PQ6&- z?<=@!zpLPB#hziY({!398Avgw`=;V@j|o4`HpE6)CcJ;@0Y)Ez=M?-5%fxI2munGp zL&0UQA;@5y>O)VD%;0uC^wz+{J{$3hlv;kxGedtf1heFY9++!E0A{O63YlBx&X3=`}z{&dMCY)IFY>9k=EZAsh>xIV(R``S}cZi z*g_k^prZL3ntmDexcX;#L%VEG z^{20i%wN|3I%2fcfisS}&4BuSLHN*@t&AA?XK7L)hy7`PRFdy4c@rn4tlDkr3Gt+E z`vLpw=F(q3Kl1(MT6a*0tKV;2KUpWLAN4)yFLBC8UmGF#mchR{Vfyb#eMk4Fo~G|T bLeS;HXS5gARQv|U`=|J?!$%ZMA>IF9C9q*k literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ULResourcesULandDLSharing.c b/asn1c_defs/all-defs/ULResourcesULandDLSharing.c new file mode 100755 index 0000000..ef0a28f --- /dev/null +++ b/asn1c_defs/all-defs/ULResourcesULandDLSharing.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ULResourcesULandDLSharing.h" + +asn_per_constraints_t asn_PER_type_ULResourcesULandDLSharing_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ULResourcesULandDLSharing_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ULResourcesULandDLSharing, choice.unchanged), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "unchanged" + }, + { ATF_NOFLAGS, 0, offsetof(struct ULResourcesULandDLSharing, choice.changed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ULResourceBitmapULandDLSharing, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "changed" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ULResourcesULandDLSharing_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* unchanged */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* changed */ +}; +asn_CHOICE_specifics_t asn_SPC_ULResourcesULandDLSharing_specs_1 = { + sizeof(struct ULResourcesULandDLSharing), + offsetof(struct ULResourcesULandDLSharing, _asn_ctx), + offsetof(struct ULResourcesULandDLSharing, present), + sizeof(((struct ULResourcesULandDLSharing *)0)->present), + asn_MAP_ULResourcesULandDLSharing_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ULResourcesULandDLSharing = { + "ULResourcesULandDLSharing", + "ULResourcesULandDLSharing", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ULResourcesULandDLSharing_constr_1, CHOICE_constraint }, + asn_MBR_ULResourcesULandDLSharing_1, + 2, /* Elements count */ + &asn_SPC_ULResourcesULandDLSharing_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ULResourcesULandDLSharing.h b/asn1c_defs/all-defs/ULResourcesULandDLSharing.h new file mode 100755 index 0000000..d75c080 --- /dev/null +++ b/asn1c_defs/all-defs/ULResourcesULandDLSharing.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ULResourcesULandDLSharing_H_ +#define _ULResourcesULandDLSharing_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ULResourceBitmapULandDLSharing.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ULResourcesULandDLSharing_PR { + ULResourcesULandDLSharing_PR_NOTHING, /* No components present */ + ULResourcesULandDLSharing_PR_unchanged, + ULResourcesULandDLSharing_PR_changed + /* Extensions may appear below */ + +} ULResourcesULandDLSharing_PR; + +/* ULResourcesULandDLSharing */ +typedef struct ULResourcesULandDLSharing { + ULResourcesULandDLSharing_PR present; + union ULResourcesULandDLSharing_u { + NULL_t unchanged; + ULResourceBitmapULandDLSharing_t changed; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULResourcesULandDLSharing_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ULResourcesULandDLSharing; +extern asn_CHOICE_specifics_t asn_SPC_ULResourcesULandDLSharing_specs_1; +extern asn_TYPE_member_t asn_MBR_ULResourcesULandDLSharing_1[2]; +extern asn_per_constraints_t asn_PER_type_ULResourcesULandDLSharing_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _ULResourcesULandDLSharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/ULResourcesULandDLSharing.o b/asn1c_defs/all-defs/ULResourcesULandDLSharing.o new file mode 100644 index 0000000000000000000000000000000000000000..eed454bc9d44cc60a7e730cc45280ced1cfd5e47 GIT binary patch literal 2832 zcmb_d-D(p-6rMCy>u-%Bh$5^YSiufSDOglwZJM@9Y?qc?Z@1eesWzLC-9USzeE=_d z=_7dAOYzD_=o5&KpiiLZn>~|^|v=qb(F|;%*gm+sq)`vzt%dq}E9h;_X z_MInkR+gtLePvbNSLS4SR#qNm{2(L`;5?0sU%6{r{O9y#8HyujQ540z62zJ-Fmx%3 zb3?;GMPXbD=I@a%h>HU+XMhCdAMyrG{AJS|;G(!Rz#1$QC>i5vamQQI*R_+OcL|q_ zb-;c@KGT=y|CM;;-zN<@%#`>}x@62(pP32Tn7llq-;XatB67K}W=Jnoyzp6a4#$^ot8e=G& zF9`Tag|fzD3|{91wSk5Nd`Y3K`NSCf4TC>2c#QuJ+dmEdCS#~6Bp`u;{{t8#dJN$I zx>YjSYp21ckhG7PZfTT8yQz>{K^h3TnIuB?Ixyf_krgtdoj`R1S*G0SgaJquB4pTU zw<9_gGVY|2Tv};NCutDAQ)4?zbC-fKC%mJkxTaxXUY-GSpAb0vg>%`%W382=0qcjP zahB}(1ItgFcKyfH0d7V+u-5VDH$}&5?NTSOUH=<#kg|5nOyRKB>KOsN;;trGAM$0v zdj+{dA1HlqZi6IQr7y3(enR!Tr<|#AG+_OjbYA^0yrH@d>f`TW*Y}A-efz)aGT~64 zDUN9nZqkSNvc+$3{7LKI<#;Pxe6$C|4ya{H-q_K9!0|sg0B;f2z@9(uvc302i7pnE X + +/* Including external dependencies */ +#include "ULResourcesULandDLSharing.h" +#include "DLResourcesULandDLSharing.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ULandDLSharing */ +typedef struct ULandDLSharing { + ULResourcesULandDLSharing_t uLResourcesULandDLSharing; + DLResourcesULandDLSharing_t dLResourcesULandDLSharing; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ULandDLSharing_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ULandDLSharing; +extern asn_SEQUENCE_specifics_t asn_SPC_ULandDLSharing_specs_1; +extern asn_TYPE_member_t asn_MBR_ULandDLSharing_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ULandDLSharing_H_ */ +#include diff --git a/asn1c_defs/all-defs/ULandDLSharing.o b/asn1c_defs/all-defs/ULandDLSharing.o new file mode 100644 index 0000000000000000000000000000000000000000..d70724c34c26caf40718f8a5dbbe1463fbe4d279 GIT binary patch literal 3080 zcmcIlOK;Oa5Z=^0%Bv3^5)zjnA<;^76^BYxAR$BQHbS9wTjgwA*J>jYyNVsDTp$My z`~VI;_Q+4*2se)W1P&ZH!i^iu*fYsyV^>uLBW-5po7e8_Wc|i&tW1_tw7`LJ@9#%P- zr0-SNi?SF+hGXyvu$?sjF=<9j4ru58VP4!Ht|M3%Vf_ID_TT6eWd5LJ*Za!-(s2&K zo~oqx0?(lOSgfzsY7fhE&Fx;8^vVz9qO2^Ky;L(_n@h5?D9!l{SJRKlxW6;vS8k7t zg4;Gmb~H?Bi2PF;P$7>Dadr&83P?#@5EZhhk%l-w=8t~p&%|*!SBNi?VKmRspW~1l z;*zQkWFwuVftm^(_?=buzenb`z-LHS+4}+6Qz0tJSYPMj( z_2D5*x?U?xvbs+<^}5-Hww#)7i1!13v}DnP%;#M$e3;q8=|)N9NA1BYU5mm5b{BNr zrRsgtshT`x+1sN|HGeknT2-9y3h`-JOgBkD9H)`*eXannD>&yw$WicFl99b28S~?R zjp>jC#IG?3{HucF{&}xI75qBM$mTEs5Hj?iM+K;^;5RZT{p~9_`q#*&_D%g)>irpX zUdFFFiMK5zOisr4SW1F}M93X4@r2xtVYV}M5hyPK^V3I-+z@XRZ(PW+W@%@5@PxbYz;g{1wH;Qn6c-l zjlT!6n6nB?C5w~|6$F{*yname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_UnsuccessfulOutcome_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UnsuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_UnsuccessfulOutcome_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 2; /* &UnsuccessfulOutcome */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UnsuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICsubscriptionFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICsubscriptionDeleteFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionDeleteFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionDeleteFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICserviceUpdateFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICserviceUpdateFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICserviceUpdateFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICcontrolFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICcontrolFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.X2SetupFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.ENDCX2SetupFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.ResourceStatusFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.ENBConfigurationUpdateFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdateFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdateFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.ENDCConfigurationUpdateFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdateFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdateFailure" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 8 }, /* RICsubscriptionFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 7 }, /* RICsubscriptionDeleteFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 6 }, /* RICserviceUpdateFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 5 }, /* RICcontrolFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 4 }, /* X2SetupFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 3 }, /* ENDCX2SetupFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 2 }, /* ResourceStatusFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 1 }, /* ENBConfigurationUpdateFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 0 } /* ENDCConfigurationUpdateFailure */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct UnsuccessfulOutcome__value), + offsetof(struct UnsuccessfulOutcome__value, _asn_ctx), + offsetof(struct UnsuccessfulOutcome__value, present), + sizeof(((struct UnsuccessfulOutcome__value *)0)->present), + asn_MAP_value_tag2el_4, + 9, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 9, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_UnsuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_UnsuccessfulOutcome_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_UnsuccessfulOutcome_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_UnsuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UnsuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UnsuccessfulOutcome_specs_1 = { + sizeof(struct UnsuccessfulOutcome), + offsetof(struct UnsuccessfulOutcome, _asn_ctx), + asn_MAP_UnsuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome = { + "UnsuccessfulOutcome", + "UnsuccessfulOutcome", + &asn_OP_SEQUENCE, + asn_DEF_UnsuccessfulOutcome_tags_1, + sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_UnsuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UnsuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_UnsuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UnsuccessfulOutcome.h b/asn1c_defs/all-defs/UnsuccessfulOutcome.h new file mode 100755 index 0000000..632be0f --- /dev/null +++ b/asn1c_defs/all-defs/UnsuccessfulOutcome.h @@ -0,0 +1,112 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UnsuccessfulOutcome_H_ +#define _UnsuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "RICsubscriptionRequest.h" +#include "RICsubscriptionResponse.h" +#include "RICsubscriptionFailure.h" +#include "RICsubscriptionDeleteRequest.h" +#include "RICsubscriptionDeleteResponse.h" +#include "RICsubscriptionDeleteFailure.h" +#include "RICserviceUpdate.h" +#include "RICserviceUpdateAcknowledge.h" +#include "RICserviceUpdateFailure.h" +#include "RICcontrolRequest.h" +#include "RICcontrolAcknowledge.h" +#include "RICcontrolFailure.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "RICindication.h" +#include "RICserviceQuery.h" +#include "LoadInformation.h" +#include "GNBStatusIndication.h" +#include "ResourceStatusUpdate.h" +#include "ErrorIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UnsuccessfulOutcome__value_PR { + UnsuccessfulOutcome__value_PR_NOTHING, /* No components present */ + UnsuccessfulOutcome__value_PR_RICsubscriptionFailure, + UnsuccessfulOutcome__value_PR_RICsubscriptionDeleteFailure, + UnsuccessfulOutcome__value_PR_RICserviceUpdateFailure, + UnsuccessfulOutcome__value_PR_RICcontrolFailure, + UnsuccessfulOutcome__value_PR_X2SetupFailure, + UnsuccessfulOutcome__value_PR_ENDCX2SetupFailure, + UnsuccessfulOutcome__value_PR_ResourceStatusFailure, + UnsuccessfulOutcome__value_PR_ENBConfigurationUpdateFailure, + UnsuccessfulOutcome__value_PR_ENDCConfigurationUpdateFailure +} UnsuccessfulOutcome__value_PR; + +/* UnsuccessfulOutcome */ +typedef struct UnsuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct UnsuccessfulOutcome__value { + UnsuccessfulOutcome__value_PR present; + union UnsuccessfulOutcome__value_u { + RICsubscriptionFailure_t RICsubscriptionFailure; + RICsubscriptionDeleteFailure_t RICsubscriptionDeleteFailure; + RICserviceUpdateFailure_t RICserviceUpdateFailure; + RICcontrolFailure_t RICcontrolFailure; + X2SetupFailure_t X2SetupFailure; + ENDCX2SetupFailure_t ENDCX2SetupFailure; + ResourceStatusFailure_t ResourceStatusFailure; + ENBConfigurationUpdateFailure_t ENBConfigurationUpdateFailure; + ENDCConfigurationUpdateFailure_t ENDCConfigurationUpdateFailure; + } 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; +} UnsuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome; +extern asn_SEQUENCE_specifics_t asn_SPC_UnsuccessfulOutcome_specs_1; +extern asn_TYPE_member_t asn_MBR_UnsuccessfulOutcome_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UnsuccessfulOutcome_H_ */ +#include diff --git a/asn1c_defs/all-defs/UnsuccessfulOutcome.o b/asn1c_defs/all-defs/UnsuccessfulOutcome.o new file mode 100644 index 0000000000000000000000000000000000000000..37e68532be291f63b42b000e2b41e6862dffe37e GIT binary patch literal 19944 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 BV7&kU literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UsableABSInformation.c b/asn1c_defs/all-defs/UsableABSInformation.c new file mode 100755 index 0000000..88a609e --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformation.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UsableABSInformation.h" + +#include "UsableABSInformationFDD.h" +#include "UsableABSInformationTDD.h" +asn_per_constraints_t asn_PER_type_UsableABSInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_UsableABSInformation_1[] = { + { ATF_POINTER, 0, offsetof(struct UsableABSInformation, choice.fdd), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UsableABSInformationFDD, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fdd" + }, + { ATF_POINTER, 0, offsetof(struct UsableABSInformation, choice.tdd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UsableABSInformationTDD, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tdd" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_UsableABSInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tdd */ +}; +asn_CHOICE_specifics_t asn_SPC_UsableABSInformation_specs_1 = { + sizeof(struct UsableABSInformation), + offsetof(struct UsableABSInformation, _asn_ctx), + offsetof(struct UsableABSInformation, present), + sizeof(((struct UsableABSInformation *)0)->present), + asn_MAP_UsableABSInformation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_UsableABSInformation = { + "UsableABSInformation", + "UsableABSInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_UsableABSInformation_constr_1, CHOICE_constraint }, + asn_MBR_UsableABSInformation_1, + 2, /* Elements count */ + &asn_SPC_UsableABSInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UsableABSInformation.h b/asn1c_defs/all-defs/UsableABSInformation.h new file mode 100755 index 0000000..d4ac975 --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformation.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UsableABSInformation_H_ +#define _UsableABSInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UsableABSInformation_PR { + UsableABSInformation_PR_NOTHING, /* No components present */ + UsableABSInformation_PR_fdd, + UsableABSInformation_PR_tdd + /* Extensions may appear below */ + +} UsableABSInformation_PR; + +/* Forward declarations */ +struct UsableABSInformationFDD; +struct UsableABSInformationTDD; + +/* UsableABSInformation */ +typedef struct UsableABSInformation { + UsableABSInformation_PR present; + union UsableABSInformation_u { + struct UsableABSInformationFDD *fdd; + struct UsableABSInformationTDD *tdd; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UsableABSInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UsableABSInformation; +extern asn_CHOICE_specifics_t asn_SPC_UsableABSInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_UsableABSInformation_1[2]; +extern asn_per_constraints_t asn_PER_type_UsableABSInformation_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _UsableABSInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/UsableABSInformation.o b/asn1c_defs/all-defs/UsableABSInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..fcf4c74b62d5d2aa14d321a160c09b27568d3fa9 GIT binary patch literal 2816 zcmcgtOHUL*5bk9_5fwyZqA@1pNi@>gAtVw_$iT8ZjLHP$#9^3ShDY3;*)T&Q7v%?d z;NZcdC*#qdz{R^i!Luj*1zOcpHQO`|l4z`CyT1DB)vxJ&Q-3h4+ikK8#i&-K3 z^BPvr7eiuDoCA#UW{z(EBI#B*8LebdqZLn0FE1n;=}tS!x6?#ytgnk4e*aN=&e)6B z*$?rUgG)VQ>ZxIRUEJe;Ro84f0>l*}do|}t>ostVUh&hqx6ZNKS5$D+i5#!y2pbL3dm+wdFK_8}nWJJ7cH zk1D=T>{Hxl(q9zcUGD_(-$C2z48Vcecwzg%Wm8015LYq6xqs_6n6?!Uarao(p zQqIL7tj#Yj)auF#>Pun1*NLt1VKYs#dNnXrmddZ$wOk+8y+1*(uZf1X& z>+HX|9RYWoPgpnU4jB1`R@S;k&7euNxYs?J1c%fRHm^G@l{@(yUwtr0;^pyJY4c7;$Wx{U3k>xiJnP z&H1+tp7UAz;74rsKLie?%7KL`T+*x_1Hf0?XM*$x`dIoY{}S*>@ppsoG|D3UZ2kGk zecB!X literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UsableABSInformationFDD.c b/asn1c_defs/all-defs/UsableABSInformationFDD.c new file mode 100755 index 0000000..0e778d4 --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformationFDD.c @@ -0,0 +1,99 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UsableABSInformationFDD.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_usable_abs_pattern_info_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 40)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_usable_abs_pattern_info_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_UsableABSInformationFDD_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationFDD, usable_abs_pattern_info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_usable_abs_pattern_info_constr_2, memb_usable_abs_pattern_info_constraint_1 }, + 0, 0, /* No default value */ + "usable-abs-pattern-info" + }, + { ATF_POINTER, 1, offsetof(struct UsableABSInformationFDD, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P218, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UsableABSInformationFDD_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_UsableABSInformationFDD_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UsableABSInformationFDD_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* usable-abs-pattern-info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationFDD_specs_1 = { + sizeof(struct UsableABSInformationFDD), + offsetof(struct UsableABSInformationFDD, _asn_ctx), + asn_MAP_UsableABSInformationFDD_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_UsableABSInformationFDD_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UsableABSInformationFDD = { + "UsableABSInformationFDD", + "UsableABSInformationFDD", + &asn_OP_SEQUENCE, + asn_DEF_UsableABSInformationFDD_tags_1, + sizeof(asn_DEF_UsableABSInformationFDD_tags_1) + /sizeof(asn_DEF_UsableABSInformationFDD_tags_1[0]), /* 1 */ + asn_DEF_UsableABSInformationFDD_tags_1, /* Same as above */ + sizeof(asn_DEF_UsableABSInformationFDD_tags_1) + /sizeof(asn_DEF_UsableABSInformationFDD_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UsableABSInformationFDD_1, + 2, /* Elements count */ + &asn_SPC_UsableABSInformationFDD_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UsableABSInformationFDD.h b/asn1c_defs/all-defs/UsableABSInformationFDD.h new file mode 100755 index 0000000..2f99b0d --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformationFDD.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UsableABSInformationFDD_H_ +#define _UsableABSInformationFDD_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UsableABSInformationFDD */ +typedef struct UsableABSInformationFDD { + BIT_STRING_t usable_abs_pattern_info; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UsableABSInformationFDD_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UsableABSInformationFDD; +extern asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationFDD_specs_1; +extern asn_TYPE_member_t asn_MBR_UsableABSInformationFDD_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UsableABSInformationFDD_H_ */ +#include diff --git a/asn1c_defs/all-defs/UsableABSInformationFDD.o b/asn1c_defs/all-defs/UsableABSInformationFDD.o new file mode 100644 index 0000000000000000000000000000000000000000..a0aa5237311daf0f404d68682af6729a1e1217e8 GIT binary patch literal 4048 zcmb_eO>7%g5PpuKF->vZA0SYq?ty?K;jK4BA_@pOahz-QiM3cA<7Af0}(d_Li|Xm2Sk~9J7Yg@ZHNRTy*D%8 zo0&In-tO$anafZ2MIwSJB3=+}jZq;I18q4Y#f&&5P6~79kHy*M{%rFrf7RTbj+r~R z8_&({?BBWzPWcDdrLwpM$@6b-po$}W1TP22aK zx|=G)uA-bv<+gms^lMb?C5&UP?1MHL)@QQWaV@!AY`A_ydsZLS(a0Ji1pfnh-@VyXO8v9-h;rSfIm)aA0VHKC${^n_+UP+U5F1(#1q-0@z~73MVQTj zd5M#GSBAOXCw}ev?nFCI(sqxEXj@UFC`9T;QE`7a7@}acI_V6keagP_jARlO{hh|3 zStNcO;=2OQ&EC7&C_ zFG;*z=QQE(^oVo42QGSaL+G$or&_dvrf5M^w5Tas*c7dHd$kM!o!gqqOxe%>GO_~6h;vMYR&WAB{81?d(}yG@{+NRE`-FJAs|ayZ zu~)w}dkT(qSRnlu1;<{>gzq&HGPK`71xT%%+O_yBXpcDeMGa&m%tg&d=-#VU-!208 z>j7V9sqR#4-FLQpp|9G$E%c)23B6uJ1(*M`t~xU9|2%0BforG+%aEdeuMkQQ&J6DazbzRCh;PzG ztdNd=xDVeC-^Y`LtIr6!9N+|02v}>@T2df94Gd$3{nNNv7Yf4$*dWI5GrO=quB*iP zbDRt;cJsH%U`ur-TZGtuiR5tp2V}r`pbwHJ=k|0S#BTN9qeKf72kVc28=ODazXTYX zg!k77NW+>+nyP?&2}Za5wWEO{`{VxjRSoZtKmNFX$GZpm3hkc+StU(XKz#R zVt>XlpYYxQi5Lb2`iK_sTl5f&us_~Ox1)ZFO%>?N(1Am${3dquU#I*(4#KqNu>arY Cqr$ZS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UsableABSInformationTDD.c b/asn1c_defs/all-defs/UsableABSInformationTDD.c new file mode 100755 index 0000000..2d4d209 --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformationTDD.c @@ -0,0 +1,99 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UsableABSInformationTDD.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_usaable_abs_pattern_info_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 70)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_usaable_abs_pattern_info_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 70 } /* (SIZE(1..70,...)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_UsableABSInformationTDD_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UsableABSInformationTDD, usaable_abs_pattern_info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_usaable_abs_pattern_info_constr_2, memb_usaable_abs_pattern_info_constraint_1 }, + 0, 0, /* No default value */ + "usaable-abs-pattern-info" + }, + { ATF_POINTER, 1, offsetof(struct UsableABSInformationTDD, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P219, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UsableABSInformationTDD_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_UsableABSInformationTDD_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UsableABSInformationTDD_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* usaable-abs-pattern-info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationTDD_specs_1 = { + sizeof(struct UsableABSInformationTDD), + offsetof(struct UsableABSInformationTDD, _asn_ctx), + asn_MAP_UsableABSInformationTDD_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_UsableABSInformationTDD_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UsableABSInformationTDD = { + "UsableABSInformationTDD", + "UsableABSInformationTDD", + &asn_OP_SEQUENCE, + asn_DEF_UsableABSInformationTDD_tags_1, + sizeof(asn_DEF_UsableABSInformationTDD_tags_1) + /sizeof(asn_DEF_UsableABSInformationTDD_tags_1[0]), /* 1 */ + asn_DEF_UsableABSInformationTDD_tags_1, /* Same as above */ + sizeof(asn_DEF_UsableABSInformationTDD_tags_1) + /sizeof(asn_DEF_UsableABSInformationTDD_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UsableABSInformationTDD_1, + 2, /* Elements count */ + &asn_SPC_UsableABSInformationTDD_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UsableABSInformationTDD.h b/asn1c_defs/all-defs/UsableABSInformationTDD.h new file mode 100755 index 0000000..abdefe8 --- /dev/null +++ b/asn1c_defs/all-defs/UsableABSInformationTDD.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UsableABSInformationTDD_H_ +#define _UsableABSInformationTDD_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* UsableABSInformationTDD */ +typedef struct UsableABSInformationTDD { + BIT_STRING_t usaable_abs_pattern_info; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UsableABSInformationTDD_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UsableABSInformationTDD; +extern asn_SEQUENCE_specifics_t asn_SPC_UsableABSInformationTDD_specs_1; +extern asn_TYPE_member_t asn_MBR_UsableABSInformationTDD_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _UsableABSInformationTDD_H_ */ +#include diff --git a/asn1c_defs/all-defs/UsableABSInformationTDD.o b/asn1c_defs/all-defs/UsableABSInformationTDD.o new file mode 100644 index 0000000000000000000000000000000000000000..b57b2e56d17edaa9f816769c3de7bbb0473c7a60 GIT binary patch literal 4048 zcmb_fO>7%g5PptJ6Pn_>KR{@ax(5OY!dq{MLL=j|FI!AS4T z%=hN!y?New$*bA?R8J%#m?Gk=@HIw-i1+()N{T6QTpSa*t=|@AntLw4p<*{!|LZv%Oc5LHD=i|AZ17D%H@%`qHy}9At+~)7u7e7IhBc~xBh5lBCZiRyk7f(=VWAElia)17W z!H|5!mkxs1O9N3p`xGi6r0ZvFw`vrv6=&5wW0%VbDJ;2mq3lddF3eO{YxRolm1@<+ zOhzw?L3docY?m93R;_v3h0jgiY3E}D6R~*u zP^@pd|9O}*{c{p0^H7F+Js^G#{dS@qC-L2*BI+xO6op7(6cu-c!4L(j)k&v7?NRc| zGm=SEe#xEo_#HxLOj|9 zKMOd4wl@D^8_gQB$;_DO%JNEo_RG-(M|5KnbX1c3|yY3YEELg$GnMG@1aeiiQx?NPWUh`_jTDkoOrE66W z9yX_Ljg35Rm?OrMLJZUWV_!T9<4(2m!Lf_ZlYUFVv6nIpVPGI+XnzS6Ahm94*W$Bq9k?%Q(hGZZYmh30?p~>Qb^*9o zZ}Byj>Q33#J!iuc`ikw@LNBnid7 zIZg@|!~AVBxS~3fEkf+SNOExhH^_kZfj&r@oc-w>h+*~LrHz^t2kVdjH}L+s{zbsh zB$!_#APH+KX{rM93oyd+Ylm8f?2q~JRSo9Hzxy%2+6zDx%anfz6@@fKM)74B=+Ai& zL%K@-`1??a${~Fae**?%s@-S7g3w~n_C4|s?*AJ3n`%&y`TPvO1wvT;OsXH>6V?y^ z+G2mkaX-P_0Es>f3iJUj;#+htjG#Z>N!U?8#-P4ORlbQ~{%f@V4_jf{bI|{9 D1q;W; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.c b/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.c new file mode 100755 index 0000000..1b350c0 --- /dev/null +++ b/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UserPlaneTrafficActivityReport.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_UserPlaneTrafficActivityReport_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_UserPlaneTrafficActivityReport_value2enum_1[] = { + { 0, 8, "inactive" }, + { 1, 12, "re-activated" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_UserPlaneTrafficActivityReport_enum2value_1[] = { + 0, /* inactive(0) */ + 1 /* re-activated(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_UserPlaneTrafficActivityReport_specs_1 = { + asn_MAP_UserPlaneTrafficActivityReport_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_UserPlaneTrafficActivityReport_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_UserPlaneTrafficActivityReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UserPlaneTrafficActivityReport = { + "UserPlaneTrafficActivityReport", + "UserPlaneTrafficActivityReport", + &asn_OP_NativeEnumerated, + asn_DEF_UserPlaneTrafficActivityReport_tags_1, + sizeof(asn_DEF_UserPlaneTrafficActivityReport_tags_1) + /sizeof(asn_DEF_UserPlaneTrafficActivityReport_tags_1[0]), /* 1 */ + asn_DEF_UserPlaneTrafficActivityReport_tags_1, /* Same as above */ + sizeof(asn_DEF_UserPlaneTrafficActivityReport_tags_1) + /sizeof(asn_DEF_UserPlaneTrafficActivityReport_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UserPlaneTrafficActivityReport_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_UserPlaneTrafficActivityReport_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.h b/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.h new file mode 100755 index 0000000..7542404 --- /dev/null +++ b/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UserPlaneTrafficActivityReport_H_ +#define _UserPlaneTrafficActivityReport_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UserPlaneTrafficActivityReport { + UserPlaneTrafficActivityReport_inactive = 0, + UserPlaneTrafficActivityReport_re_activated = 1 + /* + * Enumeration is extensible + */ +} e_UserPlaneTrafficActivityReport; + +/* UserPlaneTrafficActivityReport */ +typedef long UserPlaneTrafficActivityReport_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_UserPlaneTrafficActivityReport_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_UserPlaneTrafficActivityReport; +extern const asn_INTEGER_specifics_t asn_SPC_UserPlaneTrafficActivityReport_specs_1; +asn_struct_free_f UserPlaneTrafficActivityReport_free; +asn_struct_print_f UserPlaneTrafficActivityReport_print; +asn_constr_check_f UserPlaneTrafficActivityReport_constraint; +ber_type_decoder_f UserPlaneTrafficActivityReport_decode_ber; +der_type_encoder_f UserPlaneTrafficActivityReport_encode_der; +xer_type_decoder_f UserPlaneTrafficActivityReport_decode_xer; +xer_type_encoder_f UserPlaneTrafficActivityReport_encode_xer; +per_type_decoder_f UserPlaneTrafficActivityReport_decode_uper; +per_type_encoder_f UserPlaneTrafficActivityReport_encode_uper; +per_type_decoder_f UserPlaneTrafficActivityReport_decode_aper; +per_type_encoder_f UserPlaneTrafficActivityReport_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UserPlaneTrafficActivityReport_H_ */ +#include diff --git a/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.o b/asn1c_defs/all-defs/UserPlaneTrafficActivityReport.o new file mode 100644 index 0000000000000000000000000000000000000000..3c1e670144bede5bd8eb8806e7f16a1b96bf3888 GIT binary patch literal 2824 zcmbtV&2G~`5T4Y9mft2IAtVk2E(EEylByCFNXS)5ix8BkP;qo!ciRRMJF=aMTtGrR z0OCnFa_os`;0CV%7r2#~^-Q|mngofFHZ$|>_wCO9Id7YfS0+j&5G%obILZVCn4UU{ zJso;bh8Z}GG4XAUnIE!g*_fY=R3)uW5UJ-$u(Q(+m%^;Q-_8c>suw5O7;!n6Th8l*`!zd3#f8N5|Q9wJQAW?HV3Np0~u)4f_w_4lS>PK0> zddFRG>vN61&KhqTi*9|vZQRarYdkxpc_-n=p^a1S{AE=R(5g?Gqj#bRpF9a7;=rjB z_)SDgaCG@hrDNcx&;ffl0a|*TY4Dg>Xa8Q~Q$vNRbl@zrjynhJQ_1@sICq?g*=KAO zV_kd9_=djBvFUzcQZe?E>L#1TgDK*#AYK_(4^YeL0HYt08$ysq{)6U0e zQJN(@=dOxW(hmJ7_H#UFN12}HS!;RRNNG=nv`L21J2G#x+$$TGGbLPN8s;kfpb;)w z%H@1*+@nr3!Yew;e;#s7_$341H1Nv?E+O&HVDlJ|8f0F{<$e-wzKT882~J~abJIaL z3%0<;z0dugM45V>fx8`K0k~Uf3T_fpLd=G{h^guXx|<^DwP4h^oj44J{kggUZWwpF z3eVJy;!L@#Ya4TE7KE>)uK)DcP)}>6|3lL}GcjV~nsx&d!sx%lG>;S6XX&d-!2T9` zIul#}!Qx43&p(SDgv|?qz38u7xSYR?<6(bM{Rga*`@ktwC18IKJ$>6f&c(I(5gjma z0X;!7zr2%2h|&BL*i5T&fn^iKSo8wFz@VspkM%tvvaeeCI_5?7m-#|$GN0XKcXBxv=L-+t2VRcFj`@%#zU(;;;JM0w9 + +/* Including external dependencies */ +#include "VehicleUE.h" +#include "PedestrianUE.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* V2XServicesAuthorized */ +typedef struct V2XServicesAuthorized { + VehicleUE_t *vehicleUE; /* OPTIONAL */ + PedestrianUE_t *pedestrianUE; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} V2XServicesAuthorized_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_V2XServicesAuthorized; + +#ifdef __cplusplus +} +#endif + +#endif /* _V2XServicesAuthorized_H_ */ +#include diff --git a/asn1c_defs/all-defs/V2XServicesAuthorized.o b/asn1c_defs/all-defs/V2XServicesAuthorized.o new file mode 100644 index 0000000000000000000000000000000000000000..3a9e0e628e5cad8de5b43c047910689b6fcf95a4 GIT binary patch literal 3080 zcmb_e&2G~`5Z=`Ml>d}Jfw%;5ph(23LnR`Rs+2Tsg`f>oL7Z@1$7&)HyRx0CaDW^* z@CbbXZoCLL`Ut!L5Ftl8U^@hqj%fah!RPyGY~gG3KRInKVb} z4aLH}Vu*F-j59|MR6;M*GsGTLpPJ&#JrpbT`lHfpYir=ggVIBD-kd92gG94FSXFaw z-n8zGa3y+DM6MI!cjnm|6Du0W851j0@$B6iR3VEDaq)^XagYrKhYtEg1NoWQ|Et8S(r}&~h#QK(0uz2tRa4nWZeXe=!grcy zl>K(3`6uzBlvVa82cMyRXZhdB!K*oV_5)?Q!iju)sj+NlK45n2Y)7`0I6Z&zGRJ9T z-)Poz?9q1xHySTmjkS71uwc9N-o~NR_2cor z()&xVfk*#e&#g(fq< zHNY>>;Ow)~N5@wc{IZn6nhK6LXDIbe$&m+d57WLBfL~#d_<@3BU)QDnOTn*78Eh5_ zh```qq5)b}@M|L|nTHAv|FX2HeM29Z^#1VgSeVhfe(Y=!kHZn~uoQcHu`t_C>pNrae^uDH*cr@5@gX z$D=+Vy}nHt>Z|_+NEMqBSc0NZNs%FL(?C4e0S5Xa<8eMJ!574QN0AeQoDTE_Nu1-@ v7kZW}#}}m$zvUtgegF7U>t|1p_<^PpwY7qpn!KS|@!w?she?+4q{sgQB@p^y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/VehicleUE.c b/asn1c_defs/all-defs/VehicleUE.c new file mode 100755 index 0000000..777dd2f --- /dev/null +++ b/asn1c_defs/all-defs/VehicleUE.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "VehicleUE.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_VehicleUE_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_VehicleUE_value2enum_1[] = { + { 0, 10, "authorized" }, + { 1, 14, "not-authorized" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_VehicleUE_enum2value_1[] = { + 0, /* authorized(0) */ + 1 /* not-authorized(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_VehicleUE_specs_1 = { + asn_MAP_VehicleUE_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_VehicleUE_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_VehicleUE_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleUE = { + "VehicleUE", + "VehicleUE", + &asn_OP_NativeEnumerated, + asn_DEF_VehicleUE_tags_1, + sizeof(asn_DEF_VehicleUE_tags_1) + /sizeof(asn_DEF_VehicleUE_tags_1[0]), /* 1 */ + asn_DEF_VehicleUE_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleUE_tags_1) + /sizeof(asn_DEF_VehicleUE_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_VehicleUE_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VehicleUE_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/VehicleUE.h b/asn1c_defs/all-defs/VehicleUE.h new file mode 100755 index 0000000..ba6aad7 --- /dev/null +++ b/asn1c_defs/all-defs/VehicleUE.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _VehicleUE_H_ +#define _VehicleUE_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum VehicleUE { + VehicleUE_authorized = 0, + VehicleUE_not_authorized = 1 + /* + * Enumeration is extensible + */ +} e_VehicleUE; + +/* VehicleUE */ +typedef long VehicleUE_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_VehicleUE_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_VehicleUE; +extern const asn_INTEGER_specifics_t asn_SPC_VehicleUE_specs_1; +asn_struct_free_f VehicleUE_free; +asn_struct_print_f VehicleUE_print; +asn_constr_check_f VehicleUE_constraint; +ber_type_decoder_f VehicleUE_decode_ber; +der_type_encoder_f VehicleUE_encode_der; +xer_type_decoder_f VehicleUE_decode_xer; +xer_type_encoder_f VehicleUE_encode_xer; +per_type_decoder_f VehicleUE_decode_uper; +per_type_encoder_f VehicleUE_encode_uper; +per_type_decoder_f VehicleUE_decode_aper; +per_type_encoder_f VehicleUE_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _VehicleUE_H_ */ +#include diff --git a/asn1c_defs/all-defs/VehicleUE.o b/asn1c_defs/all-defs/VehicleUE.o new file mode 100644 index 0000000000000000000000000000000000000000..0a497dd6038d41c06a83d3edde069ac55e752c73 GIT binary patch literal 2552 zcmbtV&1w`u5U$Nc<8OWhLGZGI=n7`o2?2wGjKobuG%k_oaWa`S+11^du+tli2R(R~ zJccL9BjlKe@F2c{PY|nmt0q02Npi4Yx~jgauezqYr{`U5KyT5CZ()SYb5{j4@2&GfA0o>QU}w)>!f>z9(x za2i(ZtQupO=izf!j#a8KuN2nE5dNft!}8+d<9cIlW0>k;{gFTKH)n&P@q#bGg5R9? zg9jtrWtM!ZKMsG7N+3JlDcyTOZ+B8W^Tt*9_(>2E4=$X*uOm`}i2}Eoo`n|)Xn1hR zc8z@x#~R`xN1Ci#2A?PxHq(QvoK;pHxVr+di77Ky{~f06pq?(%jrSeL8Ef6zobwZP zRsNyLKklx<`A~cqegbixM$cPIQGrD|-pZrE1YSRDTY;UpH&k;f9ri236qqwP94?hL z_1?6jl~{LoR10&}AlCRnQUmSQYNU6!l{HzCrMVt(r7e}JK{tugEE?f)H`Rvuw!LVP z@@-QCInUB}6@|RcEW^)}UAElB1)3^EEtlx?$ z7@ks=*1?uL=nzJCtt}xtvaS-Vi^2LnYT5&rzvtwM>(2iW1BA^<0&C&lb#UQ}4lz!) zJO2SnEt`jttoswZ|9d0Rz`i)47uKCf~(N#Atr^MsIL~(-^Zw_=3Gh zqpJUq`P-7ny6*U^=vVdM=8t}z^QnKDTjrPkKOja^HSw`!pXaCjv4vs7Aw0)NFgx#8 z6 N; sorted by tag */ + asn_MAP_WLANMeasConfig_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_WLANMeasConfig_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WLANMeasConfig = { + "WLANMeasConfig", + "WLANMeasConfig", + &asn_OP_NativeEnumerated, + asn_DEF_WLANMeasConfig_tags_1, + sizeof(asn_DEF_WLANMeasConfig_tags_1) + /sizeof(asn_DEF_WLANMeasConfig_tags_1[0]), /* 1 */ + asn_DEF_WLANMeasConfig_tags_1, /* Same as above */ + sizeof(asn_DEF_WLANMeasConfig_tags_1) + /sizeof(asn_DEF_WLANMeasConfig_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_WLANMeasConfig_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_WLANMeasConfig_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WLANMeasConfig.h b/asn1c_defs/all-defs/WLANMeasConfig.h new file mode 100755 index 0000000..25e5de2 --- /dev/null +++ b/asn1c_defs/all-defs/WLANMeasConfig.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WLANMeasConfig_H_ +#define _WLANMeasConfig_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum WLANMeasConfig { + WLANMeasConfig_setup = 0 + /* + * Enumeration is extensible + */ +} e_WLANMeasConfig; + +/* WLANMeasConfig */ +typedef long WLANMeasConfig_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_WLANMeasConfig_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_WLANMeasConfig; +extern const asn_INTEGER_specifics_t asn_SPC_WLANMeasConfig_specs_1; +asn_struct_free_f WLANMeasConfig_free; +asn_struct_print_f WLANMeasConfig_print; +asn_constr_check_f WLANMeasConfig_constraint; +ber_type_decoder_f WLANMeasConfig_decode_ber; +der_type_encoder_f WLANMeasConfig_encode_der; +xer_type_decoder_f WLANMeasConfig_decode_xer; +xer_type_encoder_f WLANMeasConfig_encode_xer; +per_type_decoder_f WLANMeasConfig_decode_uper; +per_type_encoder_f WLANMeasConfig_encode_uper; +per_type_decoder_f WLANMeasConfig_decode_aper; +per_type_encoder_f WLANMeasConfig_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _WLANMeasConfig_H_ */ +#include diff --git a/asn1c_defs/all-defs/WLANMeasConfig.o b/asn1c_defs/all-defs/WLANMeasConfig.o new file mode 100644 index 0000000000000000000000000000000000000000..3595098170959df46c329eb5ecb60f8154f2fda7 GIT binary patch literal 2520 zcmbtV%}x|S5bkBfe?d%4NW82kF_F#=A<<}JhO7(30B%siacqVbR@oV{(@Wr@CSJJ7 zTlfMVJaY8lb9na&u&SqOwzqePBv#T>RbPEoUENbV`>D0EI996(mYR4j1|FkAOkW<@ zku@VRDJFyi4+x%hM&iMh?&iwE+NxH0GfUrfc0{gCf4`D=LC`;o?_aQtn7JSk>yN?u z*FNKZy`^UJX?vjoGkoz3^lBL^kGS_^`nJ%po85y(Ipe4T0nY=X4d= zjz=>B5sZR>1h7Mu1Y+b=;tmjN;z~((GXn=N319@`s_R<20nZxXs8Oa1CEkF>`dpVa zh68bfSi>q1*M|Y{4q;6>{qGXvE9l!~yXqS_Q_j7$DfkO?75}&856)H2)9}E{M5sKC zU$hqE;XrKEP9BFgy1LNzqX%lQujh2y@1D=W=$s`IXLJ`^{#83(Q>JsETaci8%IIy2 zw_EG6Ioj9$-bt3`rbjh*bgFxuBu=xqz*Q$THvM(G>1XEqI>AFZg7fQ65#N}P^Bp5T z>E!cVAkMiM=KJ>X2!kMqb4~P@@d1MPl(mY-Te1Ke5rB;0ACciA%f&=4%3o$8>AL5ygJ0GEGX1zYAN$8%xF7ES zJz%&M|Bk@4a!mW<`*DR}n}c``i!qn?y$Y=0BF(=$tn-8Nf0Dih*aR%UfBXjc?;arW YnZR+c56`vVoT~g2y1y@2%n?8TFUhFC#Q*>R literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/WLANMeasConfigNameList.c b/asn1c_defs/all-defs/WLANMeasConfigNameList.c new file mode 100755 index 0000000..1be5dcc --- /dev/null +++ b/asn1c_defs/all-defs/WLANMeasConfigNameList.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "WLANMeasConfigNameList.h" + +asn_per_constraints_t asn_PER_type_WLANMeasConfigNameList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_WLANMeasConfigNameList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_WLANName, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_WLANMeasConfigNameList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_WLANMeasConfigNameList_specs_1 = { + sizeof(struct WLANMeasConfigNameList), + offsetof(struct WLANMeasConfigNameList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_WLANMeasConfigNameList = { + "WLANMeasConfigNameList", + "WLANMeasConfigNameList", + &asn_OP_SEQUENCE_OF, + asn_DEF_WLANMeasConfigNameList_tags_1, + sizeof(asn_DEF_WLANMeasConfigNameList_tags_1) + /sizeof(asn_DEF_WLANMeasConfigNameList_tags_1[0]), /* 1 */ + asn_DEF_WLANMeasConfigNameList_tags_1, /* Same as above */ + sizeof(asn_DEF_WLANMeasConfigNameList_tags_1) + /sizeof(asn_DEF_WLANMeasConfigNameList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_WLANMeasConfigNameList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_WLANMeasConfigNameList_1, + 1, /* Single element */ + &asn_SPC_WLANMeasConfigNameList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WLANMeasConfigNameList.h b/asn1c_defs/all-defs/WLANMeasConfigNameList.h new file mode 100755 index 0000000..5b3af6d --- /dev/null +++ b/asn1c_defs/all-defs/WLANMeasConfigNameList.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WLANMeasConfigNameList_H_ +#define _WLANMeasConfigNameList_H_ + + +#include + +/* Including external dependencies */ +#include "WLANName.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* WLANMeasConfigNameList */ +typedef struct WLANMeasConfigNameList { + A_SEQUENCE_OF(WLANName_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WLANMeasConfigNameList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_WLANMeasConfigNameList; +extern asn_SET_OF_specifics_t asn_SPC_WLANMeasConfigNameList_specs_1; +extern asn_TYPE_member_t asn_MBR_WLANMeasConfigNameList_1[1]; +extern asn_per_constraints_t asn_PER_type_WLANMeasConfigNameList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _WLANMeasConfigNameList_H_ */ +#include diff --git a/asn1c_defs/all-defs/WLANMeasConfigNameList.o b/asn1c_defs/all-defs/WLANMeasConfigNameList.o new file mode 100644 index 0000000000000000000000000000000000000000..641fa3e3ef062908256b250d3788b532dc0898d5 GIT binary patch literal 2400 zcmbtVJ#Q015MAd2gpdHKK+u?qAd!_1MFN3@4$L_SIgYWhK%%&u&5>B(5Bb&-X@H-R zj+WAN6#NK8MM+6ZNfl=HX3m?@bIs2S1m2FoMfGapDMl37CR7mGfq$XYjcI98a7!!`%18LhiE@ zfU{zZyGw}((6v7!t)CM`($xt+0J`*_fXDvdlkOSeH_hWo&uoeCH=wJZ83$cQOU%+zM;uFxskUsvb5XwKq&=b>12DQ#FF_o8c3viLyBE z_LVN*yx*8rna!wKFV7OB!=z(R96xVbCk8yP=BeQwws~GtJ55B9A=UU`fu>rIB zK(iUYOg_RxgFkEVd_J(Ba|XXnKJq*_r1lMdg?xms29NK1fnp)ky`GBOfNGTCE_*6@ zqlA1Bt60c(nhH4@V1P9s!4v>CFQH*k`IU z?^opQxB(nWOPDn53)SQLm`1d&LH;>B%$d5MF4CbznLT&xhwCTQ&l%wGvELv68SJ$O YO6(K4XwAb4;VyUAPv{b|KNGwD59GJG+5i9m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/WLANMeasurementConfiguration.c b/asn1c_defs/all-defs/WLANMeasurementConfiguration.c new file mode 100755 index 0000000..41d7af2 --- /dev/null +++ b/asn1c_defs/all-defs/WLANMeasurementConfiguration.c @@ -0,0 +1,186 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "WLANMeasurementConfiguration.h" + +#include "WLANMeasConfigNameList.h" +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_wlan_rssi_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_wlan_rtt_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_wlan_rssi_value2enum_4[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_wlan_rssi_enum2value_4[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_wlan_rssi_specs_4 = { + asn_MAP_wlan_rssi_value2enum_4, /* "tag" => N; sorted by tag */ + asn_MAP_wlan_rssi_enum2value_4, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_wlan_rssi_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_wlan_rssi_4 = { + "wlan-rssi", + "wlan-rssi", + &asn_OP_NativeEnumerated, + asn_DEF_wlan_rssi_tags_4, + sizeof(asn_DEF_wlan_rssi_tags_4) + /sizeof(asn_DEF_wlan_rssi_tags_4[0]) - 1, /* 1 */ + asn_DEF_wlan_rssi_tags_4, /* Same as above */ + sizeof(asn_DEF_wlan_rssi_tags_4) + /sizeof(asn_DEF_wlan_rssi_tags_4[0]), /* 2 */ + { 0, &asn_PER_type_wlan_rssi_constr_4, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_wlan_rssi_specs_4 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_wlan_rtt_value2enum_7[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_wlan_rtt_enum2value_7[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_wlan_rtt_specs_7 = { + asn_MAP_wlan_rtt_value2enum_7, /* "tag" => N; sorted by tag */ + asn_MAP_wlan_rtt_enum2value_7, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_wlan_rtt_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_wlan_rtt_7 = { + "wlan-rtt", + "wlan-rtt", + &asn_OP_NativeEnumerated, + asn_DEF_wlan_rtt_tags_7, + sizeof(asn_DEF_wlan_rtt_tags_7) + /sizeof(asn_DEF_wlan_rtt_tags_7[0]) - 1, /* 1 */ + asn_DEF_wlan_rtt_tags_7, /* Same as above */ + sizeof(asn_DEF_wlan_rtt_tags_7) + /sizeof(asn_DEF_wlan_rtt_tags_7[0]), /* 2 */ + { 0, &asn_PER_type_wlan_rtt_constr_7, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_wlan_rtt_specs_7 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_WLANMeasurementConfiguration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WLANMeasurementConfiguration, wlanMeasConfig), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WLANMeasConfig, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wlanMeasConfig" + }, + { ATF_POINTER, 4, offsetof(struct WLANMeasurementConfiguration, wlanMeasConfigNameList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WLANMeasConfigNameList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wlanMeasConfigNameList" + }, + { ATF_POINTER, 3, offsetof(struct WLANMeasurementConfiguration, wlan_rssi), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_wlan_rssi_4, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wlan-rssi" + }, + { ATF_POINTER, 2, offsetof(struct WLANMeasurementConfiguration, wlan_rtt), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_wlan_rtt_7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wlan-rtt" + }, + { ATF_POINTER, 1, offsetof(struct WLANMeasurementConfiguration, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P222, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_WLANMeasurementConfiguration_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_WLANMeasurementConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WLANMeasurementConfiguration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wlanMeasConfig */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* wlanMeasConfigNameList */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* wlan-rssi */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* wlan-rtt */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_WLANMeasurementConfiguration_specs_1 = { + sizeof(struct WLANMeasurementConfiguration), + offsetof(struct WLANMeasurementConfiguration, _asn_ctx), + asn_MAP_WLANMeasurementConfiguration_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_WLANMeasurementConfiguration_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration = { + "WLANMeasurementConfiguration", + "WLANMeasurementConfiguration", + &asn_OP_SEQUENCE, + asn_DEF_WLANMeasurementConfiguration_tags_1, + sizeof(asn_DEF_WLANMeasurementConfiguration_tags_1) + /sizeof(asn_DEF_WLANMeasurementConfiguration_tags_1[0]), /* 1 */ + asn_DEF_WLANMeasurementConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_WLANMeasurementConfiguration_tags_1) + /sizeof(asn_DEF_WLANMeasurementConfiguration_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_WLANMeasurementConfiguration_1, + 5, /* Elements count */ + &asn_SPC_WLANMeasurementConfiguration_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WLANMeasurementConfiguration.h b/asn1c_defs/all-defs/WLANMeasurementConfiguration.h new file mode 100755 index 0000000..7a833b4 --- /dev/null +++ b/asn1c_defs/all-defs/WLANMeasurementConfiguration.h @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WLANMeasurementConfiguration_H_ +#define _WLANMeasurementConfiguration_H_ + + +#include + +/* Including external dependencies */ +#include "WLANMeasConfig.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum WLANMeasurementConfiguration__wlan_rssi { + WLANMeasurementConfiguration__wlan_rssi_true = 0 + /* + * Enumeration is extensible + */ +} e_WLANMeasurementConfiguration__wlan_rssi; +typedef enum WLANMeasurementConfiguration__wlan_rtt { + WLANMeasurementConfiguration__wlan_rtt_true = 0 + /* + * Enumeration is extensible + */ +} e_WLANMeasurementConfiguration__wlan_rtt; + +/* Forward declarations */ +struct WLANMeasConfigNameList; +struct ProtocolExtensionContainer; + +/* WLANMeasurementConfiguration */ +typedef struct WLANMeasurementConfiguration { + WLANMeasConfig_t wlanMeasConfig; + struct WLANMeasConfigNameList *wlanMeasConfigNameList; /* OPTIONAL */ + long *wlan_rssi; /* OPTIONAL */ + long *wlan_rtt; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WLANMeasurementConfiguration_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_wlan_rssi_4; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_wlan_rtt_7; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration; + +#ifdef __cplusplus +} +#endif + +#endif /* _WLANMeasurementConfiguration_H_ */ +#include diff --git a/asn1c_defs/all-defs/WLANMeasurementConfiguration.o b/asn1c_defs/all-defs/WLANMeasurementConfiguration.o new file mode 100644 index 0000000000000000000000000000000000000000..b157c0a6075440f2e67976f611b87e703be2ead4 GIT binary patch literal 5560 zcmchbO>7%g5XWEQ6jDSXfeQjrwtz&C$jUa68i7DA!EJ<+)U<^5W^bG&v2g6jyDsU4 z`h;>oC`T?xIdb5@kpqWbkT{_pd+Y_N$8dvFng4q;>+y^2Mpa;>-8b`_dGlu9d;4ME zDX(0foR}~o6XrwHw}cwAH`~`sRxO!XGh?3W%C&)i_GJop>j1 zrAzJB7mclMCrTUbmiej~wcvErGuNV>c%_k~7SDH*q`_L6nnroPyqCtUgt8()e+4sB?;rX*#e*rysuPL7UvQ28r~KFBm*`^V)CKwb9(xetb4QKw=L36H*Ni=;W3V@{|3t8+ zG6q-)Cnd;*{^)}^^w;$wzqZL7E0RywIIM%NX_$W$d*b|8mX_WN=GHg5t+X3l3>U)u ze4%Tt!q{RYj-(5<~D$ag&Mo-?z1 z=O^Yp=2FjZmQR`*bE)S~&M#c*dBpsH<7M3QbV-=!ede-`FmvV{)4?WZo*e{aeL#6; z)jrwghz;U1$D)ntjNspl;6IGuzmDJ!M{qoFhSg)nec*(36D6(c$K}h_abeXo+DfVg z8@u|^wehho?0RKsd|0v@*R!0LD&vD`{9@dc3LY2T-jT$(Fnq&R@pV>R$S&5gG_77d zj_kEMUMXLzrnh%v&Oz~Y`kYHU+zr>5WpdZ!`mIuhnd4T}?8e2o)!pH4177f=4LMc| zO18zgy1ioHhHFb_TCjs@Kb(u9w%A%0?6}FKV>X zY?fu0@dvfP`5ewZti@gFw9|II-ON6zDK4eFai_Xie78_37K>8F8hyCmipw;sF@3|w zo0f0I6xyg)TWwv_;LS^q5p|cl?^s0mT<$UO^9W#(=MFfYE*0kTobvfH`@vsh9gXw@ z$G1t34oJuBZ>NFwp?IMXaEj(X&M(^DMz zmpJ}Vam34e=)U5JU*-6}6@Q%>nmj${AaEo8a~LF&Pq^e+_Tq(C6o12|u;-hKW4(6S zw>^UQ6sJdRCi{xNnNed76@O9jyNc_1`+Wqzr?{^FzT&9A$74Jk!SQ~8VBVnC=zvTs zuImpJNBuPflT5qD=E1lk{{F9tgIkP?JbAYLJbTPb+{*fHvRzXgc@Eg#Rvh*0vwf&I z=2`NXFuA>xMjO<|$O04~y z5vK&6{TA6+Q@{U_7bm7aKAtyVMG4?m`Zqi-{iQ9DAG$w&jRWR9M?kS!-X~*hVl9K zC(X$N9{*bb+yJzOlwkFLqiL8duni<)8eSGfKIjz|4?fBE&_A%^kgI!U!M z#~T{^LknUd((WtWI{5UNe?u^rei94YpF8+&a{oPE|L2L}UFz45Uv%CUBSPF`R?f-!1Pu}wu(#h}tFPSI*5&!@I literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/WLANName.c b/asn1c_defs/all-defs/WLANName.c new file mode 100755 index 0000000..42d4e40 --- /dev/null +++ b/asn1c_defs/all-defs/WLANName.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "WLANName.h" + +int +WLANName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1 && size <= 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_WLANName_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_WLANName_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WLANName = { + "WLANName", + "WLANName", + &asn_OP_OCTET_STRING, + asn_DEF_WLANName_tags_1, + sizeof(asn_DEF_WLANName_tags_1) + /sizeof(asn_DEF_WLANName_tags_1[0]), /* 1 */ + asn_DEF_WLANName_tags_1, /* Same as above */ + sizeof(asn_DEF_WLANName_tags_1) + /sizeof(asn_DEF_WLANName_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_WLANName_constr_1, WLANName_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WLANName.h b/asn1c_defs/all-defs/WLANName.h new file mode 100755 index 0000000..4ff4f05 --- /dev/null +++ b/asn1c_defs/all-defs/WLANName.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WLANName_H_ +#define _WLANName_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* WLANName */ +typedef OCTET_STRING_t WLANName_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_WLANName_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_WLANName; +asn_struct_free_f WLANName_free; +asn_struct_print_f WLANName_print; +asn_constr_check_f WLANName_constraint; +ber_type_decoder_f WLANName_decode_ber; +der_type_encoder_f WLANName_encode_der; +xer_type_decoder_f WLANName_decode_xer; +xer_type_encoder_f WLANName_encode_xer; +per_type_decoder_f WLANName_decode_uper; +per_type_encoder_f WLANName_encode_uper; +per_type_decoder_f WLANName_decode_aper; +per_type_encoder_f WLANName_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _WLANName_H_ */ +#include diff --git a/asn1c_defs/all-defs/WLANName.o b/asn1c_defs/all-defs/WLANName.o new file mode 100644 index 0000000000000000000000000000000000000000..dee556c014830175a53bbf712f04aff089c8bb96 GIT binary patch literal 2824 zcmbVN&1)N15P$MEv6>G>PI@q;;3ee4hWJJ62I~4yWE9(L5VEkH)U?p`T3*FYWhr=9 zCMmQDI5`ND(!ZkrL@$P13cdLh=%Lp@a!C#$hY)Ax?ab=!^M*hMc4y`{^Ly{@y!U1w z%v5Iwayh}06W@!z$EXnh9Pis@WtPQ|C<^!So2B{Q!F=!EsOs*`=AHlC-RC)X_wC4z z<32w4`w%3$;_kl8SN8_1PfjEC&WIZuZtu0*d++R5d;d=#9<2P>d-l`QGb0Z%C*i(O z+&CYGxO0xU&cTbPmG(1TF!xATTH?b{&qow7d za`A+wWlXuplUj3B63)J^EpbA3mHiF8&uaBldj{AXJVV;|Zm4V_RzRz>LO!b&7(-h9 z>lD}nos}>6u)~dk3+3IIne`a*BL8;iIYL$|C45cb%Sjks{{|hQDqx}REmW3gmc6Cr z#rfKt!s;`NUUdI%(4Qn81*XC2m+F-i#|!TUjS$veqVK>yfxGiAZY77`X*f15#y2%w z&+lq@LCYst?Es#-DFX7O@gC?n*Anrwl!I!RY{dJgQHarx;AIUzM>Z-~!+9=*RyCaO zK0-F(SRZ^6k>UNV$X^o@nq90n*xC+SzKnu(FaR>|8=tk}2;3dc10MVu@{OxS@O#3qbf z=3g*yUO$ghhIkf#f)XkQpLwj8iEpm|Ath`WeB1CBz|X4xD%F3V^0EHd<$3*F|DOTF zsZwVg{O2^k-uD4M^2ccchN&eCYVwl!xIelOtT>2w;9*S98#Wh2K{NLe@y&GRyZWGD z^Y=6S0F12q+1Q*wxK3Cname, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_WT_UE_XwAP_ID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_WT_UE_XwAP_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WT_UE_XwAP_ID = { + "WT-UE-XwAP-ID", + "WT-UE-XwAP-ID", + &asn_OP_OCTET_STRING, + asn_DEF_WT_UE_XwAP_ID_tags_1, + sizeof(asn_DEF_WT_UE_XwAP_ID_tags_1) + /sizeof(asn_DEF_WT_UE_XwAP_ID_tags_1[0]), /* 1 */ + asn_DEF_WT_UE_XwAP_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_WT_UE_XwAP_ID_tags_1) + /sizeof(asn_DEF_WT_UE_XwAP_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_WT_UE_XwAP_ID_constr_1, WT_UE_XwAP_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WT-UE-XwAP-ID.h b/asn1c_defs/all-defs/WT-UE-XwAP-ID.h new file mode 100755 index 0000000..986df24 --- /dev/null +++ b/asn1c_defs/all-defs/WT-UE-XwAP-ID.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WT_UE_XwAP_ID_H_ +#define _WT_UE_XwAP_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* WT-UE-XwAP-ID */ +typedef OCTET_STRING_t WT_UE_XwAP_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_WT_UE_XwAP_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_WT_UE_XwAP_ID; +asn_struct_free_f WT_UE_XwAP_ID_free; +asn_struct_print_f WT_UE_XwAP_ID_print; +asn_constr_check_f WT_UE_XwAP_ID_constraint; +ber_type_decoder_f WT_UE_XwAP_ID_decode_ber; +der_type_encoder_f WT_UE_XwAP_ID_encode_der; +xer_type_decoder_f WT_UE_XwAP_ID_decode_xer; +xer_type_encoder_f WT_UE_XwAP_ID_encode_xer; +per_type_decoder_f WT_UE_XwAP_ID_decode_uper; +per_type_encoder_f WT_UE_XwAP_ID_encode_uper; +per_type_decoder_f WT_UE_XwAP_ID_decode_aper; +per_type_encoder_f WT_UE_XwAP_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _WT_UE_XwAP_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/WT-UE-XwAP-ID.o b/asn1c_defs/all-defs/WT-UE-XwAP-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..8ea94f31226fbae76cbc15daf1bb51bc4adac523 GIT binary patch literal 2848 zcmbtV&ubf35FUBkSWQwzPI?fekiDd_A=-G8K#ZY9MpC>6VGCPMOaoc370{n7jq?eRhf+@&@_x8`VrNNOm_%W`yKYItSvR3SRZ;!q?!4Y5c z4vw?6&nIhNyic6RSG+{=27h>if4spD?%~48(Z;8PpB{YIx^Sfe7>}vPiki4%gvXbd z>K^^}y~;m&Q7RfEWTZ`uRHa#Li!`Reac%@r*KPXSVJo^3wA)3c+;0@utHq7y3-#hs z#c9ITXx@GnwELmm?Zx(^-DhFfo<{KM_Kccq_PSBL7wmRpyA|xV!|mbhSR^z1Y1`Zj z(>~2eNAd(Omdo?@^!ir68~5!y&TVJ5==PQ6zH;ZB+1rjgli=_HhsnHLh0K0FbNT#a z_A5+&9q|u&u1~U(%O6bmxk4>x-^&#ia{2PvTz2u?vO?G~MbLM=1HY&4nU#710WAEb z4GSZs4GZ2)gE5MBm^BXzCN(Qjr%+_zy&S=-p z8m{|yG(4yIGpu%oPUAcSS(bD^bX;mo_(k?1QDB|$(J2L({tvvQ;g?t^;c2+!B4|^? zr6&+%Gfwpx>#H8V; zO?Tm&^_TCLT(40{tKS?oCmd2Isvq?|;R{adF>@mXn+*QN3%-CD-5rxpJname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 48)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_WTID_Long_Type2_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_WTID_Long_Type2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WTID_Long_Type2 = { + "WTID-Long-Type2", + "WTID-Long-Type2", + &asn_OP_BIT_STRING, + asn_DEF_WTID_Long_Type2_tags_1, + sizeof(asn_DEF_WTID_Long_Type2_tags_1) + /sizeof(asn_DEF_WTID_Long_Type2_tags_1[0]), /* 1 */ + asn_DEF_WTID_Long_Type2_tags_1, /* Same as above */ + sizeof(asn_DEF_WTID_Long_Type2_tags_1) + /sizeof(asn_DEF_WTID_Long_Type2_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_WTID_Long_Type2_constr_1, WTID_Long_Type2_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WTID-Long-Type2.h b/asn1c_defs/all-defs/WTID-Long-Type2.h new file mode 100755 index 0000000..ccf4648 --- /dev/null +++ b/asn1c_defs/all-defs/WTID-Long-Type2.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WTID_Long_Type2_H_ +#define _WTID_Long_Type2_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* WTID-Long-Type2 */ +typedef BIT_STRING_t WTID_Long_Type2_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_WTID_Long_Type2_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_WTID_Long_Type2; +asn_struct_free_f WTID_Long_Type2_free; +asn_struct_print_f WTID_Long_Type2_print; +asn_constr_check_f WTID_Long_Type2_constraint; +ber_type_decoder_f WTID_Long_Type2_decode_ber; +der_type_encoder_f WTID_Long_Type2_encode_der; +xer_type_decoder_f WTID_Long_Type2_decode_xer; +xer_type_encoder_f WTID_Long_Type2_encode_xer; +per_type_decoder_f WTID_Long_Type2_decode_uper; +per_type_encoder_f WTID_Long_Type2_encode_uper; +per_type_decoder_f WTID_Long_Type2_decode_aper; +per_type_encoder_f WTID_Long_Type2_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _WTID_Long_Type2_H_ */ +#include diff --git a/asn1c_defs/all-defs/WTID-Long-Type2.o b/asn1c_defs/all-defs/WTID-Long-Type2.o new file mode 100644 index 0000000000000000000000000000000000000000..76608e2ec46f8c607aed9b35f6da2521b530147c GIT binary patch literal 2928 zcmbVNO>7%Q6n@S^W18YPEr&=&>K-U0QoZ#?ky-_W9GstZWzr~dOQ2P^8+#q6IChm? zS1kt$3PD&=5f|<~^w0wb?p%Tp5)vFxPDmVD_1a$Oq3QvVzBfB>J(+AI;8{EGz3=_Z z%$s@R+tcNlzEldBQt&SHG)4jP{XMxL!~zUK7M#szi>2;PsrzeKbGByE&gORK?e{l# ze%M6{-*Psdq|00V$*Q?RpDeXVczhX9p7xVLvv;I zhTk$r5Ik8M6}D=-6@=^FYAZDB-fGjY#a1nszJmXz>u0I!|2EqZa-1y|C(Mxx%bix( zG0#}zRz7EUgl2zgpSAMimOUEb@S04V`eXr8H?yhZNBYy>;N;_ozbX4qy4-DeZ>=3(*-w^cn+YsIWA@Z!0RrVz+LrVSUrSUuDN&cX919lenpF1@@XHaH;35ye= zTR9LnY5pS@x?l(Ov^lye>)x6LHYdHwOT5pp=?zVMyuZovL#0UqJ*a}v) zy|(7JFcCi1zBM~{As2*R^<(MpH{ANVx8}!-`u~E7p|p4X}^3DVu5dHDSKT;G(q{sKNkoQV4|(t78@`Y9ABryifD$r4D1ZS*0G?>&cb zJogFXynfD8KtodehtlC32TIOy%qucpU;nmrXlU`Krk_VWss6vn`fp2rsz1Goyne3# z6~t(&J$D@S5ecaO3kdJ~N2()6@p&>TbV|n4`KZMEX5L04%c|d!z94DTeZP?Lx;w|~ z_lNh-bKOQEseWI{hTu9;{pg+Kc*bcx`rHV?eF;973m!y_-W@%j-ZcH}5rVt2@IRBH UkiP#Rv?a#N^?$9zlBmbO02lW!iU0rr literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/WTID-Type1.c b/asn1c_defs/all-defs/WTID-Type1.c new file mode 100755 index 0000000..88a0e0f --- /dev/null +++ b/asn1c_defs/all-defs/WTID-Type1.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "WTID-Type1.h" + +static int +memb_shortWTID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 24)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_shortWTID_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 24, 24 } /* (SIZE(24..24)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_WTID_Type1_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WTID_Type1, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct WTID_Type1, shortWTID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_shortWTID_constr_3, memb_shortWTID_constraint_1 }, + 0, 0, /* No default value */ + "shortWTID" + }, +}; +static const ber_tlv_tag_t asn_DEF_WTID_Type1_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WTID_Type1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* shortWTID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WTID_Type1_specs_1 = { + sizeof(struct WTID_Type1), + offsetof(struct WTID_Type1, _asn_ctx), + asn_MAP_WTID_Type1_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WTID_Type1 = { + "WTID-Type1", + "WTID-Type1", + &asn_OP_SEQUENCE, + asn_DEF_WTID_Type1_tags_1, + sizeof(asn_DEF_WTID_Type1_tags_1) + /sizeof(asn_DEF_WTID_Type1_tags_1[0]), /* 1 */ + asn_DEF_WTID_Type1_tags_1, /* Same as above */ + sizeof(asn_DEF_WTID_Type1_tags_1) + /sizeof(asn_DEF_WTID_Type1_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_WTID_Type1_1, + 2, /* Elements count */ + &asn_SPC_WTID_Type1_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WTID-Type1.h b/asn1c_defs/all-defs/WTID-Type1.h new file mode 100755 index 0000000..935d7e7 --- /dev/null +++ b/asn1c_defs/all-defs/WTID-Type1.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WTID_Type1_H_ +#define _WTID_Type1_H_ + + +#include + +/* Including external dependencies */ +#include "PLMN-Identity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* WTID-Type1 */ +typedef struct WTID_Type1 { + PLMN_Identity_t pLMN_Identity; + BIT_STRING_t shortWTID; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WTID_Type1_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_WTID_Type1; +extern asn_SEQUENCE_specifics_t asn_SPC_WTID_Type1_specs_1; +extern asn_TYPE_member_t asn_MBR_WTID_Type1_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _WTID_Type1_H_ */ +#include diff --git a/asn1c_defs/all-defs/WTID-Type1.o b/asn1c_defs/all-defs/WTID-Type1.o new file mode 100644 index 0000000000000000000000000000000000000000..0f22799098986532f3eae856a613eb520c8f185e GIT binary patch literal 3792 zcmcIm&2Jl35P!}>W18T)Egyj*We+VRh-|$f5>b$l)5OVIa#E8xB?7@_V{e)ie?;DO z)qn&+AyQ3L(E~_u1^$4FE0-W7E^w%FLh6Bt6A~PNL&X6RX5P-T$J@04Ax7GrncsZ8 zd9(Xw_w7t>rY9B?ielmg(bg0yMDloBPD?Q@PK#5*+P%A&Z60Ks-}ohKZzgW-?l+#F z+dcT=2*`iR+W9%2+w0BUco1W*oV5bMYW`+5|1|e=&F?3V4wheTe)q~(YbOS$h1k24 zw7xvl%sV?j^jgEWt)1To8n@7VVsIN%SSt0mGIfv+R=9GSQkw@qeTI&VuoNT)wZxv5 z6bJ*PD;_cn!#MAFRkLW9+%@mKQ!bB4;iW=$dZe(m>6%7Sobx91t4_J$>eZUBU*5Rt zR`nqO&y|Lytyrsie%;xq`udu)QFco$YdekD%+1Y@WJ_+<-|)ADw_dCJXbso%cY63) zhV^do;l6b9<2c52>ofQJH}ViTANwEjsv0&ySXK(~Zu|bHIM&L0oW|UNoV~j4>lMVm72^zGaRZsWHPG4sh`h`UAz@SP-#m$=I3x-uO*OI0o1g(jvr%$fpy@ zogO_3% z_IVflYrrwjHaXuSen;Z%ex?Y&3p^@+KfG8`xM+_yn2;5>vTCN$S>B> z(I~@DGW;EebN?F*KgIkBmM08P-vj}1;y4dDuAU*{50eiv^<6|9-$orSB%ISoVcZH} zi9bRzvOL2dW%vri)mjLB#PG*RMs}OwSbv7}Ul{&4$;jeZAP_P>&5{h~vwn!-n12z2 zfq38esnn%4_>S;A!tk~#zOxG4uLpcxNp-jE7`}VW7e>kP9bv3`o-pb)RM6ct#yeFL zRE&`hAca(;Tq`;V$_&CN)+!bFj}Qj@j=09`{L+Z$JH^*2%3ZhD>Q2R_!v7<~{bS3p zSDezM@VSnVde6u#&VYckJgorY*Xa|mLORCbI_f#7cjZaK`Lo54L%ady1J=6hEh!M5 z0fsrl@hN%_LhiB#j+vmKt2(#JrsB^kfViq(rB4GM6<;8SS3~hCPVoZ8hwI-b2UUkk zqbq^R&#hfB3he;#FUN*XC!O(_7D*S_V NiKqHM1v{s3{9l7+ZS4R6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/WTID.c b/asn1c_defs/all-defs/WTID.c new file mode 100755 index 0000000..6500b51 --- /dev/null +++ b/asn1c_defs/all-defs/WTID.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "WTID.h" + +#include "WTID-Type1.h" +asn_per_constraints_t asn_PER_type_WTID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_WTID_1[] = { + { ATF_POINTER, 0, offsetof(struct WTID, choice.wTID_Type1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WTID_Type1, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wTID-Type1" + }, + { ATF_NOFLAGS, 0, offsetof(struct WTID, choice.wTID_Type2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WTID_Long_Type2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "wTID-Type2" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_WTID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wTID-Type1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* wTID-Type2 */ +}; +asn_CHOICE_specifics_t asn_SPC_WTID_specs_1 = { + sizeof(struct WTID), + offsetof(struct WTID, _asn_ctx), + offsetof(struct WTID, present), + sizeof(((struct WTID *)0)->present), + asn_MAP_WTID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_WTID = { + "WTID", + "WTID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_WTID_constr_1, CHOICE_constraint }, + asn_MBR_WTID_1, + 2, /* Elements count */ + &asn_SPC_WTID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WTID.h b/asn1c_defs/all-defs/WTID.h new file mode 100755 index 0000000..7cd2170 --- /dev/null +++ b/asn1c_defs/all-defs/WTID.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WTID_H_ +#define _WTID_H_ + + +#include + +/* Including external dependencies */ +#include "WTID-Long-Type2.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum WTID_PR { + WTID_PR_NOTHING, /* No components present */ + WTID_PR_wTID_Type1, + WTID_PR_wTID_Type2 + /* Extensions may appear below */ + +} WTID_PR; + +/* Forward declarations */ +struct WTID_Type1; + +/* WTID */ +typedef struct WTID { + WTID_PR present; + union WTID_u { + struct WTID_Type1 *wTID_Type1; + WTID_Long_Type2_t wTID_Type2; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WTID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_WTID; +extern asn_CHOICE_specifics_t asn_SPC_WTID_specs_1; +extern asn_TYPE_member_t asn_MBR_WTID_1[2]; +extern asn_per_constraints_t asn_PER_type_WTID_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _WTID_H_ */ +#include diff --git a/asn1c_defs/all-defs/WTID.o b/asn1c_defs/all-defs/WTID.o new file mode 100644 index 0000000000000000000000000000000000000000..017af1a1d6c76f050989328b55dbe8f05a27525b GIT binary patch literal 2696 zcmb_d%T5$Q6s@6A@db`5~Eb635lqQX&r`#LFpjGWz#c`V1$_o-4kV_tc?qn zZu|!~?p?a{6Z{1I0==i}-kzdp0*TyY`kr&@KDr)V^P#agJ5;GCv5I=A2250?ew-fQ zFo&TUQ=r(*k?yT!95#Cs4KCXM+cBlfNWEmcK{1YOMqI8@58fviMh|qy8>=*jM9J zpM2Gtubi2Wq?gtCa)_?*f$Nq^(oX#JQ51v5S+YLa-i(7>ooUSGYEG7-xIVwMP;cZc zYAnYYT?;0w)$OF&Hf5QJ*zn|aCo|O_FPk`1_IXq{H0`xpsnaVqmknM@+Q*CC&U&uz zyLoU9?bCq$hPk?|3G|D3gn5LFp^q|#n`aDtj4@oq7`oJiw1x*6^lFaG<1=IEmo5FL zrQ`i&4!o&p-Py{LrqZ-0#%~D9+V3)@UnW_ibTdtr-tK}R zGSC6h_GXd~136T0c3TO=JVohNcWbLnJFGk1tgYvstxlv_(t1O0^M7`Y(lIC8U$%ud zu`n-Bq1+$@&AnMdj)>Tc^98WKNgij(&EIq4gu4Cj&;Yc3hn2YGV}75$~Rxyo@%em~FmI2(Qx*`87vh<9zIoZHR@5?^!q>;KwKTg;name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_widebandCQICodeword0_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_WidebandCQI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WidebandCQI, widebandCQICodeword0), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_widebandCQICodeword0_constr_2, memb_widebandCQICodeword0_constraint_1 }, + 0, 0, /* No default value */ + "widebandCQICodeword0" + }, + { ATF_POINTER, 2, offsetof(struct WidebandCQI, widebandCQICodeword1), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_WidebandCQICodeword1, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "widebandCQICodeword1" + }, + { ATF_POINTER, 1, offsetof(struct WidebandCQI, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P221, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_WidebandCQI_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_WidebandCQI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WidebandCQI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* widebandCQICodeword0 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* widebandCQICodeword1 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WidebandCQI_specs_1 = { + sizeof(struct WidebandCQI), + offsetof(struct WidebandCQI, _asn_ctx), + asn_MAP_WidebandCQI_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_WidebandCQI_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WidebandCQI = { + "WidebandCQI", + "WidebandCQI", + &asn_OP_SEQUENCE, + asn_DEF_WidebandCQI_tags_1, + sizeof(asn_DEF_WidebandCQI_tags_1) + /sizeof(asn_DEF_WidebandCQI_tags_1[0]), /* 1 */ + asn_DEF_WidebandCQI_tags_1, /* Same as above */ + sizeof(asn_DEF_WidebandCQI_tags_1) + /sizeof(asn_DEF_WidebandCQI_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_WidebandCQI_1, + 3, /* Elements count */ + &asn_SPC_WidebandCQI_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WidebandCQI.h b/asn1c_defs/all-defs/WidebandCQI.h new file mode 100755 index 0000000..87ea948 --- /dev/null +++ b/asn1c_defs/all-defs/WidebandCQI.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WidebandCQI_H_ +#define _WidebandCQI_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct WidebandCQICodeword1; +struct ProtocolExtensionContainer; + +/* WidebandCQI */ +typedef struct WidebandCQI { + long widebandCQICodeword0; + struct WidebandCQICodeword1 *widebandCQICodeword1; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WidebandCQI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_WidebandCQI; +extern asn_SEQUENCE_specifics_t asn_SPC_WidebandCQI_specs_1; +extern asn_TYPE_member_t asn_MBR_WidebandCQI_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _WidebandCQI_H_ */ +#include diff --git a/asn1c_defs/all-defs/WidebandCQI.o b/asn1c_defs/all-defs/WidebandCQI.o new file mode 100644 index 0000000000000000000000000000000000000000..28a203ed01509b5d5d6fe34ac6a1f0ad54174b97 GIT binary patch literal 4144 zcmb_f&2Jl35P!~=CN#lu+5&+hv6nz9HCwMK5am!gb)0UbG<6aJ6_vW#*qg+~-i_={ z8bB(MLZwC(5(f@&tHeK0iAyDfRJ8|sL^&WNE}XcO190Gg5M}1=jPv}m4wYb}eKYf$ zk2i1L`n~l>#p%heR7x3akNK&cU1#TEG-3bfY@hAl zu$>#bUq1$lUUjyA>6yOOJ^jfu7;@EgV!_$@-P!ru+4l40UWBFl(uphG^2)B4I*>dtJeHV%c|rN z*YY0L2hA!Z?pS)FLElSVPYeRk=wvtm?*iMC_W6J`(u8$l zz8-jRkDs(|a6OPP4?Y=qj==MO)eET-DGTVJV$u7GYedrV7>#?tGIG5axCYLF_B;+i z+&^)?P#80Z7nat8Xx)6%I%8!=>~*Qx*X>a&d&aU)#<+|-E=P#}U{0hqGpQ4O-94W| zvQvP+M7DM06Y0!$*Om0(blQA7Jvg4u6po~OoZcCUkYfVFx(0AcpK-y9v*UE@fW1HgYjUce^uaZ@`lhy#n_Y3C|uTLp;r5i_e0D{!APf z5I#xPB=|UC< zDJ9k->$_NT=Zmuo#hF4;u%N6$`dm0S*H&npZN5}!Lz`=UnQO#V&v+4Bfm1=`ulS9m zUhws{S6rzPMqxRuwXU^77({Sk`VDt9_nKYGUK4q0FwXB7;?I#UGCt!G$6q7Amt4P&I~W9n`14YVhZ4z% zb54X7aR5U61u4bD=OiQkqJrO1aP@A9f9G)?_1^eS@y9+)lK!iLpCB38Fir@B4E-;o z0^}$--xr8)DLDGCAqb@QSv|#g?HGpmC^`d~a*XdhwSHkW->*mB67Z-I^Hr7_e$BHY ze=`zR#fv;)Ej63MYJ{kuyKRlOt2U?@BOO4}RI3)2Jp^S2VU@#r-47r;d=2{6`I&{0 zX5^LMqbPsXU2b@Fp9=qv4A+l6!5*rVCq=!#5XunF4EGT4tULq6Z_`FBl8$jW5AP4} z$18-Z?-YjI!vUxiv({*~q*%c32+XO+Z*Ux$KU{8vFogA)f z@f^qeEsEFczef%?*^%;?TE2^*C-tANv@MFq{^QpN*U$Yg1BNd8{EGx+!KRX_Dj;8h zCu#mI{E!6Vc$^=iROjOTgS{1e6F`=JuGL&hNf zF+7Z^eto#81k!!K03XEk`ZE;oXgPTO41WefQvdEy|9GFUfB5yq@r)name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_three_bitSpatialDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_four_bitCQI_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_three_bitSpatialDifferentialCQI_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_WidebandCQICodeword1_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_WidebandCQICodeword1_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WidebandCQICodeword1, choice.four_bitCQI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_four_bitCQI_constr_2, memb_four_bitCQI_constraint_1 }, + 0, 0, /* No default value */ + "four-bitCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct WidebandCQICodeword1, choice.three_bitSpatialDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_three_bitSpatialDifferentialCQI_constr_3, memb_three_bitSpatialDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "three-bitSpatialDifferentialCQI" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_WidebandCQICodeword1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* four-bitCQI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* three-bitSpatialDifferentialCQI */ +}; +asn_CHOICE_specifics_t asn_SPC_WidebandCQICodeword1_specs_1 = { + sizeof(struct WidebandCQICodeword1), + offsetof(struct WidebandCQICodeword1, _asn_ctx), + offsetof(struct WidebandCQICodeword1, present), + sizeof(((struct WidebandCQICodeword1 *)0)->present), + asn_MAP_WidebandCQICodeword1_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_WidebandCQICodeword1 = { + "WidebandCQICodeword1", + "WidebandCQICodeword1", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_WidebandCQICodeword1_constr_1, CHOICE_constraint }, + asn_MBR_WidebandCQICodeword1_1, + 2, /* Elements count */ + &asn_SPC_WidebandCQICodeword1_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/WidebandCQICodeword1.h b/asn1c_defs/all-defs/WidebandCQICodeword1.h new file mode 100755 index 0000000..1d93f6b --- /dev/null +++ b/asn1c_defs/all-defs/WidebandCQICodeword1.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _WidebandCQICodeword1_H_ +#define _WidebandCQICodeword1_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum WidebandCQICodeword1_PR { + WidebandCQICodeword1_PR_NOTHING, /* No components present */ + WidebandCQICodeword1_PR_four_bitCQI, + WidebandCQICodeword1_PR_three_bitSpatialDifferentialCQI + /* Extensions may appear below */ + +} WidebandCQICodeword1_PR; + +/* WidebandCQICodeword1 */ +typedef struct WidebandCQICodeword1 { + WidebandCQICodeword1_PR present; + union WidebandCQICodeword1_u { + long four_bitCQI; + long three_bitSpatialDifferentialCQI; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} WidebandCQICodeword1_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_WidebandCQICodeword1; +extern asn_CHOICE_specifics_t asn_SPC_WidebandCQICodeword1_specs_1; +extern asn_TYPE_member_t asn_MBR_WidebandCQICodeword1_1[2]; +extern asn_per_constraints_t asn_PER_type_WidebandCQICodeword1_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _WidebandCQICodeword1_H_ */ +#include diff --git a/asn1c_defs/all-defs/WidebandCQICodeword1.o b/asn1c_defs/all-defs/WidebandCQICodeword1.o new file mode 100644 index 0000000000000000000000000000000000000000..14c6a30fc45257eb89ce2a6d62b46931761ad92a GIT binary patch literal 4472 zcmcImO>7%g5PptJW7^_4DL;WCx|fzzkgYdVG|HiJaMEsso45%DL`64id!4xWC$iTe z1q7DT9xMdvfdkxvxNw9MmAFLefgU(iIU#X@3qlG=1qn`wGV|Vy{j%AhriGDqXXbnJ z^WMDoX7|0x%;}y;L@-6fDbdv!72^7VuAGu$N*oje!oK?F+*EtRZr}7LtncmBQ+>;p zeRbpOJ3#)^_UbRO%=^8W4<167OHbKKu-m`e?Z55zH`e<2osCytYkzm)M&IEU+H`z3 zrLVGw5SIqX*V@>;ajj_f9lnC*+w=GSOa7Dhk^dPjzs#&&dx2rSf;H21tOb(hcGn`t zkJ6(%^=gWWe(&-3KrDQ8>eH0n#5c|3Zlh}Doq|_v9Cyp*VJW;)DtI}!T1cOpO4kbB zo3(nuGV_qbU#xrHaIWOfExCTlEl-q+MX&BvQ3hjiq%meJyXB^5RBOJmP+In?#t?u< z3diJFzE*Acb+=UYjiOsBdxg$uSV~c>HS3rSL;tVTv&-l)ut%SJJtsS*!?<{c{_D7$ zZwQ10Df$`OY5hSwsPlc|_~J}DJ!TA@&o!%l(>Q6KFq6YpQ)S-_v9u_p3~cw)8ZVtgi+}eesyRe_A5SKC=sZ zGTp|o59|@Yh2H(>wyvSvqw>aY3k9fN;qG`;JkV7%DJpkf13(;vr$@^xYXR8vgtver zF^+On=-mbpMN#n}iygiQQbg?U=tf7vI9;6K4?&2)$T|U8;$ILxAHY$K3i&yqkuHmh zcvm6mC&{{-X*OpY9MxgtbHHz!k5ObFeEqsw+C(hU!>qRJLdw4sX$0 zJ)rqJXUDTnSUSgd7e>4?#6_#@MrN4F zI%#`mDm~fB=U-m(LhWgpFnQ&nEn7ODePK4-PfcSkn+_jtEP43`l?3NH4WGefZ>s8h z3tn9a?5{}JC;Q>~i$2B{f3e4b>)pCB38 z$0Q?uh-74Z-w?-JyABW1b;abmu+~hsNI-jB?+od;HC&G$Lqi~rKQA@t9U6}DTZ9j3 zICixp;R)h6tamAcaEzhPGaJBLqzkigx#GJy;C@~4MV9Jb*)@G{#TRD5^<81+8VzCA zYp9^PWsYuDEl|-%8h{i~&2la8A}AvWGheGz;LlH(@T=#UXQs~&H+(n$26=glPO<%Rc+fu?z}Lth&xcM_4(WsV6?hoa?Y<>{ z9YZ;2`w3ye`QIY{l|TSqKf@n^fTk%1i2p$K<8@*E@UM>jxvn^$U~UXy)2|+%L;OZP l0#DE%_awOY0EwUJSNE&Hf&;4j7KiyKsQG?|!88i`{{!sPAk_c> literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2AP-Message.c b/asn1c_defs/all-defs/X2AP-Message.c new file mode 100755 index 0000000..d243996 --- /dev/null +++ b/asn1c_defs/all-defs/X2AP-Message.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2AP-Message.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_X2AP_Message_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_X2AP_Message = { + "X2AP-Message", + "X2AP-Message", + &asn_OP_OCTET_STRING, + asn_DEF_X2AP_Message_tags_1, + sizeof(asn_DEF_X2AP_Message_tags_1) + /sizeof(asn_DEF_X2AP_Message_tags_1[0]), /* 1 */ + asn_DEF_X2AP_Message_tags_1, /* Same as above */ + sizeof(asn_DEF_X2AP_Message_tags_1) + /sizeof(asn_DEF_X2AP_Message_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2AP-Message.h b/asn1c_defs/all-defs/X2AP-Message.h new file mode 100755 index 0000000..18564c8 --- /dev/null +++ b/asn1c_defs/all-defs/X2AP-Message.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2AP_Message_H_ +#define _X2AP_Message_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2AP-Message */ +typedef OCTET_STRING_t X2AP_Message_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2AP_Message; +asn_struct_free_f X2AP_Message_free; +asn_struct_print_f X2AP_Message_print; +asn_constr_check_f X2AP_Message_constraint; +ber_type_decoder_f X2AP_Message_decode_ber; +der_type_encoder_f X2AP_Message_encode_der; +xer_type_decoder_f X2AP_Message_decode_xer; +xer_type_encoder_f X2AP_Message_encode_xer; +per_type_decoder_f X2AP_Message_decode_uper; +per_type_encoder_f X2AP_Message_encode_uper; +per_type_decoder_f X2AP_Message_decode_aper; +per_type_encoder_f X2AP_Message_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2AP_Message_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2AP-Message.o b/asn1c_defs/all-defs/X2AP-Message.o new file mode 100644 index 0000000000000000000000000000000000000000..5e0c40014bec84eda70bbc01341b575166b45fbf GIT binary patch literal 1864 zcmbVM!EVz)5S`Qo3bcscka`IxT8XUUs!|b1$W=%Kh_+FiNJtzuj#(uY#75bT1ebE> z3-|;+g##Z0H*PRv?>f_!Ema-KnKy6V>}1F5{n~wVxYB5Vvj#keW#m|Zwbdn#au~q| zti#*ggMRBsX&q10QgLmq-N3F7ki@J3Kw}4UW89XdryQr z1z)=?^+ci33+40Y_h&nn>aw9&(sO6AJ*_$4S(r?hy-Gt$`{>3N#{n|b0bYW(K4*e<>X0Uo^%G? zfjk?WzB=yZ+(e~nexArQlS!6pGmppresent), + asn_MAP_X2AP_PDU_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_X2AP_PDU = { + "X2AP-PDU", + "X2AP-PDU", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_X2AP_PDU_constr_1, CHOICE_constraint }, + asn_MBR_X2AP_PDU_1, + 3, /* Elements count */ + &asn_SPC_X2AP_PDU_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2AP-PDU.h b/asn1c_defs/all-defs/X2AP-PDU.h new file mode 100755 index 0000000..5e53af5 --- /dev/null +++ b/asn1c_defs/all-defs/X2AP-PDU.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2AP_PDU_H_ +#define _X2AP_PDU_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum X2AP_PDU_PR { + X2AP_PDU_PR_NOTHING, /* No components present */ + X2AP_PDU_PR_initiatingMessage, + X2AP_PDU_PR_successfulOutcome, + X2AP_PDU_PR_unsuccessfulOutcome + /* Extensions may appear below */ + +} X2AP_PDU_PR; + +/* Forward declarations */ +struct X2InitiatingMessage; +struct X2SuccessfulOutcome; +struct X2UnsuccessfulOutcome; + +/* X2AP-PDU */ +typedef struct X2AP_PDU { + X2AP_PDU_PR present; + union X2AP_PDU_u { + struct X2InitiatingMessage *initiatingMessage; + struct X2SuccessfulOutcome *successfulOutcome; + struct X2UnsuccessfulOutcome *unsuccessfulOutcome; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2AP_PDU_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2AP_PDU; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2AP_PDU_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2AP-PDU.o b/asn1c_defs/all-defs/X2AP-PDU.o new file mode 100644 index 0000000000000000000000000000000000000000..50ebf67fd6ba30bd098f6495bb3b70c761c96e10 GIT binary patch literal 2976 zcmcJQ&rcIk5XWCBDEH^tg{EILTU?RU+#2=+!%`eyU^_7Nd`K_?!ge||h;RS)y^i` z9^>lQz`e|#d4hC`?Aa$t0$F9gRUFDvhe4866Mgt9k&HHfoiiRpd_wiupX9|^ig@}_ zFLE3zt5PobB^eoYNnBM(EaazL!^E%XZenMnT}j-?ct_)m_FlUj{zO{N2ct+G4dGvh z@NYx-&mmmNMP#|k34FU=*|fvMea{BB>4LJ|jvs^vb}Bn=v8}#KGmSMyT%R~5 z`YFTx1u?no4Y=6ID`6l3*H3pfqA{Og8>+5xe8WBVw^?Hze9IzV*Z{vFkn|6YxEDG*%A&&(>s_%z?|rDO z*G}jtYbOYlb%%W8!*K0db7?$B$?T+gJMkUIk|HD0xPKD)nLeE-z(Z~m(IoUR#Y+NMPxFE + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2APMessageTransfer */ +typedef struct X2APMessageTransfer { + ProtocolIE_Container_8180P43_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2APMessageTransfer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2APMessageTransfer; +extern asn_SEQUENCE_specifics_t asn_SPC_X2APMessageTransfer_specs_1; +extern asn_TYPE_member_t asn_MBR_X2APMessageTransfer_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2APMessageTransfer_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2APMessageTransfer.o b/asn1c_defs/all-defs/X2APMessageTransfer.o new file mode 100644 index 0000000000000000000000000000000000000000..ebd6f40b1187b62ee2f56477ad7bb53e3335b8f3 GIT binary patch literal 2504 zcmb_d&2G~`5T4Xf%3n(n5=dOai6YTe94ZkN3Au!{fM{zdm3ng>*QAKlj$%hDLV_GP zAn^j+cm-a7J4cROc>{O?m|4#zo6Y)CG1BhNeEZGMu6Nh(TTj<#Diu&tf%`DF6bdjm zJJvm^dawZVuvcI6H{&b|JMoKtm}D>GKJ@x&oy_>_zWt4 zQI!2Z#zz>WrUfdiU*S}PE*=>h&E{%#X}3K{@C?lP$)jtsEv2Rp52yREHe3zQN>X_Dpr@Kur*Ngh16 zCMinT@tfA!tQSYBOsc>iJqAHDO>&GL_k)JpsQD{*c<*SS^Q)htIi53dwU>m?Glzz2 ztP@UOU-6boaJsi7#9xqF(fOD8>&g zk~ELS#@6m~mWR=6t@4wp*U^pkK>JO|K%VTUJL2kc0}aB=m&emdnr`~v#5vmAlltFA zUy51Bri;f$RR>X5`PJw#X6D~VoaARQjQZ+GE0lXU&>QI$=BOX?!}*($3pmnwQs+pW z`)$Oi7Bj!c1=es*m#S`{{sfyXe~&Mv%0v0-l{53x`%0o literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2BenefitValue.c b/asn1c_defs/all-defs/X2BenefitValue.c new file mode 100755 index 0000000..f961631 --- /dev/null +++ b/asn1c_defs/all-defs/X2BenefitValue.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2BenefitValue.h" + +int +X2BenefitValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_X2BenefitValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (1..8,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_X2BenefitValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_X2BenefitValue = { + "X2BenefitValue", + "X2BenefitValue", + &asn_OP_NativeInteger, + asn_DEF_X2BenefitValue_tags_1, + sizeof(asn_DEF_X2BenefitValue_tags_1) + /sizeof(asn_DEF_X2BenefitValue_tags_1[0]), /* 1 */ + asn_DEF_X2BenefitValue_tags_1, /* Same as above */ + sizeof(asn_DEF_X2BenefitValue_tags_1) + /sizeof(asn_DEF_X2BenefitValue_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_X2BenefitValue_constr_1, X2BenefitValue_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/X2BenefitValue.h b/asn1c_defs/all-defs/X2BenefitValue.h new file mode 100755 index 0000000..072ef0d --- /dev/null +++ b/asn1c_defs/all-defs/X2BenefitValue.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2BenefitValue_H_ +#define _X2BenefitValue_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2BenefitValue */ +typedef long X2BenefitValue_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2BenefitValue; +asn_struct_free_f X2BenefitValue_free; +asn_struct_print_f X2BenefitValue_print; +asn_constr_check_f X2BenefitValue_constraint; +ber_type_decoder_f X2BenefitValue_decode_ber; +der_type_encoder_f X2BenefitValue_encode_der; +xer_type_decoder_f X2BenefitValue_decode_xer; +xer_type_encoder_f X2BenefitValue_encode_xer; +per_type_decoder_f X2BenefitValue_decode_uper; +per_type_encoder_f X2BenefitValue_encode_uper; +per_type_decoder_f X2BenefitValue_decode_aper; +per_type_encoder_f X2BenefitValue_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2BenefitValue_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2BenefitValue.o b/asn1c_defs/all-defs/X2BenefitValue.o new file mode 100644 index 0000000000000000000000000000000000000000..22420edb897b1a020b37c861ac3c4493a75d029d GIT binary patch literal 2816 zcmbVN&1)1{5Py?)lc?Eo55Faz^D-R-ha6;L679ecgKI<-Y&$bONpz-1rh9^V zP$7C4MDeosJudq%>?N?b^_G+1L63ra(SvvpW7X@b&YNfZfd%ub>R0u9ue#pH+?%VM z>C5E=OHP~;J07D#Z1(TiWo4GduqX)k;rrj`yIb?!XYs82sNZ?vZoJO98y^PN9rxkZ zKieSjZ|=tbgOx`EmB+s#^ZH>oG2HGuxBJQ2taM*aZ*N_?+SSr+{e;o1k$A;BV0*#DN6a>9>7r|Q*$dNkoT8so~iGiZFXx&* zAedIp~MV@-?2-)&D=99-Q`}QrA|UG zhMom8Wr-zz$$}wYJM3D9B?dGvF-Jh<#O@U5m5K_-lbOgO8=x&MUxNYPtGlUfiJ{bH zV@Vlb)_+;y{plWXzDGFwy0*j~-BorC#u2U0YA*r13%_Bl534F$h(ACV$nH_S#~p4C zTrY2S?u^$P@M3=@@*EXioICHuw{He!N^++lNmgcxI85T;2xF$5tM`?)6nt*cTkvDJ zxAS2ftORW;dV+KxXnd_cCQrw9NyGCR?rXT7-_-DZT0X(5vv|s;2;lb$&%KUwPZ8fw zxu{0TMqJ;$v9I7|4c|GHLbw_}Og1W;Z0rO6QjyW^X6!Eu3C~-iSJ`R@4PVB=tysvK zANxWsN0E^27CM;j$WpHhJE=G-0W6LRS#33&K?oDU>l({oA4ez5A*+kP`h zi~4!P1}gVlpQTI=pL>q+ez1QK47~GY21pm^YF;BB&kU}^`^@`ylyH4dkg|ybi2iP% zZ{wf|zPC81$uHny8Dhc?m;nN?0}c zw&9-xKdb*YssDdbKK379Z?2#Fe-$uXs^^Sj9s&HG1Ej?C>wqG^n1s`Di1@fay6|_i zZb6W3J+EXIL_st60rAar=DYf&VDtAgd=HGQ{*B@z1j2p7{^7q6^BKo_%(Vd$_X&JO n1>+lt?~BRDe@=7n0TS1!(SM_(iTV9FXBNLm^*_! literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2InitiatingMessage.c b/asn1c_defs/all-defs/X2InitiatingMessage.c new file mode 100755 index 0000000..b4ff898 --- /dev/null +++ b/asn1c_defs/all-defs/X2InitiatingMessage.c @@ -0,0 +1,1018 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2InitiatingMessage.h" + +static const long asn_VAL_1_id_handoverPreparation = 0; +static const long asn_VAL_1_reject = 0; +static const long asn_VAL_2_id_reset = 7; +static const long asn_VAL_2_reject = 0; +static const long asn_VAL_3_id_x2Setup = 6; +static const long asn_VAL_3_reject = 0; +static const long asn_VAL_4_id_resourceStatusReportingInitiation = 9; +static const long asn_VAL_4_reject = 0; +static const long asn_VAL_5_id_eNBConfigurationUpdate = 8; +static const long asn_VAL_5_reject = 0; +static const long asn_VAL_6_id_mobilitySettingsChange = 12; +static const long asn_VAL_6_reject = 0; +static const long asn_VAL_7_id_cellActivation = 15; +static const long asn_VAL_7_reject = 0; +static const long asn_VAL_8_id_seNBAdditionPreparation = 19; +static const long asn_VAL_8_reject = 0; +static const long asn_VAL_9_id_meNBinitiatedSeNBModificationPreparation = 21; +static const long asn_VAL_9_reject = 0; +static const long asn_VAL_10_id_seNBinitiatedSeNBModification = 22; +static const long asn_VAL_10_reject = 0; +static const long asn_VAL_11_id_seNBinitiatedSeNBRelease = 24; +static const long asn_VAL_11_reject = 0; +static const long asn_VAL_12_id_x2Removal = 18; +static const long asn_VAL_12_reject = 0; +static const long asn_VAL_13_id_retrieveUEContext = 26; +static const long asn_VAL_13_reject = 0; +static const long asn_VAL_14_id_sgNBAdditionPreparation = 27; +static const long asn_VAL_14_reject = 0; +static const long asn_VAL_15_id_meNBinitiatedSgNBModificationPreparation = 29; +static const long asn_VAL_15_reject = 0; +static const long asn_VAL_16_id_sgNBinitiatedSgNBModification = 30; +static const long asn_VAL_16_reject = 0; +static const long asn_VAL_17_id_meNBinitiatedSgNBRelease = 31; +static const long asn_VAL_17_ignore = 1; +static const long asn_VAL_18_id_sgNBinitiatedSgNBRelease = 32; +static const long asn_VAL_18_reject = 0; +static const long asn_VAL_19_id_sgNBChange = 34; +static const long asn_VAL_19_reject = 0; +static const long asn_VAL_20_id_endcX2Setup = 36; +static const long asn_VAL_20_reject = 0; +static const long asn_VAL_21_id_endcConfigurationUpdate = 37; +static const long asn_VAL_21_reject = 0; +static const long asn_VAL_22_id_endcCellActivation = 39; +static const long asn_VAL_22_reject = 0; +static const long asn_VAL_23_id_endcPartialReset = 40; +static const long asn_VAL_23_reject = 0; +static const long asn_VAL_24_id_eUTRANRCellResourceCoordination = 41; +static const long asn_VAL_24_reject = 0; +static const long asn_VAL_25_id_endcX2Removal = 43; +static const long asn_VAL_25_reject = 0; +static const long asn_VAL_26_id_snStatusTransfer = 4; +static const long asn_VAL_26_ignore = 1; +static const long asn_VAL_27_id_uEContextRelease = 5; +static const long asn_VAL_27_ignore = 1; +static const long asn_VAL_28_id_handoverCancel = 1; +static const long asn_VAL_28_ignore = 1; +static const long asn_VAL_29_id_errorIndication = 3; +static const long asn_VAL_29_ignore = 1; +static const long asn_VAL_30_id_resourceStatusReporting = 10; +static const long asn_VAL_30_ignore = 1; +static const long asn_VAL_31_id_loadIndication = 2; +static const long asn_VAL_31_ignore = 1; +static const long asn_VAL_32_id_privateMessage = 11; +static const long asn_VAL_32_ignore = 1; +static const long asn_VAL_33_id_rLFIndication = 13; +static const long asn_VAL_33_ignore = 1; +static const long asn_VAL_34_id_handoverReport = 14; +static const long asn_VAL_34_ignore = 1; +static const long asn_VAL_35_id_x2Release = 16; +static const long asn_VAL_35_reject = 0; +static const long asn_VAL_36_id_x2APMessageTransfer = 17; +static const long asn_VAL_36_reject = 0; +static const long asn_VAL_37_id_seNBReconfigurationCompletion = 20; +static const long asn_VAL_37_ignore = 1; +static const long asn_VAL_38_id_meNBinitiatedSeNBRelease = 23; +static const long asn_VAL_38_ignore = 1; +static const long asn_VAL_39_id_seNBCounterCheck = 25; +static const long asn_VAL_39_reject = 0; +static const long asn_VAL_40_id_sgNBReconfigurationCompletion = 28; +static const long asn_VAL_40_ignore = 1; +static const long asn_VAL_41_id_sgNBCounterCheck = 33; +static const long asn_VAL_41_reject = 0; +static const long asn_VAL_42_id_rRCTransfer = 35; +static const long asn_VAL_42_reject = 0; +static const long asn_VAL_43_id_secondaryRATDataUsageReport = 38; +static const long asn_VAL_43_reject = 0; +static const long asn_VAL_44_id_SgNBActivityNotification = 42; +static const long asn_VAL_44_reject = 0; +static const long asn_VAL_45_id_dataForwardingAddressIndication = 44; +static const long asn_VAL_45_ignore = 1; +static const long asn_VAL_46_id_gNBStatusIndication = 45; +static const long asn_VAL_46_ignore = 1; +static const asn_ioc_cell_t asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1_rows[] = { + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_HandoverRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_HandoverPreparationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_handoverPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResetRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_reset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2SetupRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_X2SetupResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_X2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_x2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_resourceStatusReportingInitiation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENBConfigurationUpdate }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_eNBConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_MobilityChangeRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_MobilityChangeAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_MobilityChangeFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_mobilitySettingsChange }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_CellActivationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_CellActivationResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_CellActivationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_cellActivation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBAdditionRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBAdditionRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBAdditionRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_seNBAdditionPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBModificationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_meNBinitiatedSeNBModificationPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBModificationRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_seNBinitiatedSeNBModification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReleaseRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBReleaseConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_seNBinitiatedSeNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2RemovalRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_X2RemovalResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_X2RemovalFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_x2Removal }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RetrieveUEContextRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_RetrieveUEContextResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_RetrieveUEContextFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_13_id_retrieveUEContext }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBAdditionRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBAdditionRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBAdditionRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_14_id_sgNBAdditionPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBModificationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_15_id_meNBinitiatedSgNBModificationPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_15_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBModificationRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_16_id_sgNBinitiatedSgNBModification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_16_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReleaseRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_17_id_meNBinitiatedSgNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_17_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReleaseRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_18_id_sgNBinitiatedSgNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_18_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBChangeRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBChangeConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBChangeRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_19_id_sgNBChange }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_19_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCX2SetupRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_20_id_endcX2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_20_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCConfigurationUpdate }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_21_id_endcConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_21_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCCellActivationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCCellActivationResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCCellActivationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_22_id_endcCellActivation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_22_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCPartialResetRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCPartialResetConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_23_id_endcPartialReset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_23_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_EUTRANRCellResourceCoordinationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_EUTRANRCellResourceCoordinationResponse }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_24_id_eUTRANRCellResourceCoordination }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_24_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCX2RemovalRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2RemovalResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2RemovalFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_25_id_endcX2Removal }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_25_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SNStatusTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_26_id_snStatusTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_26_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_UEContextRelease }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_27_id_uEContextRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_27_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverCancel }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_28_id_handoverCancel }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_28_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_29_id_errorIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_29_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusUpdate }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_30_id_resourceStatusReporting }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_30_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_LoadInformation }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_31_id_loadIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_31_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_PrivateMessage }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_32_id_privateMessage }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_32_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RLFIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_33_id_rLFIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_33_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverReport }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_34_id_handoverReport }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_34_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2Release }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_35_id_x2Release }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_35_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2APMessageTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_36_id_x2APMessageTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_36_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReconfigurationComplete }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_37_id_seNBReconfigurationCompletion }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_37_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReleaseRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_38_id_meNBinitiatedSeNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_38_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBCounterCheckRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_39_id_seNBCounterCheck }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_39_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReconfigurationComplete }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_40_id_sgNBReconfigurationCompletion }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_40_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBCounterCheckRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_41_id_sgNBCounterCheck }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_41_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RRCTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_42_id_rRCTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_42_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SecondaryRATDataUsageReport }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_43_id_secondaryRATDataUsageReport }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_43_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBActivityNotification }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_44_id_SgNBActivityNotification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_44_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_DataForwardingAddressIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_45_id_dataForwardingAddressIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_45_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_GNBStatusIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_46_id_gNBStatusIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_46_ignore } +}; +static const asn_ioc_set_t asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1[] = { + { 46, 5, asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1_rows } +}; +static int +memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2InitiatingMessage_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2InitiatingMessage, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2InitiatingMessage_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 0; /* &X2InitiatingMessage */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2InitiatingMessage, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.HandoverRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ResetRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResetRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResetRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.X2SetupRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ResourceStatusRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENBConfigurationUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.MobilityChangeRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityChangeRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityChangeRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.CellActivationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellActivationRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellActivationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBAdditionRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBAdditionRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBAdditionRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBModificationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBModificationRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBReleaseRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBReleaseRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBReleaseRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.X2RemovalRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2RemovalRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2RemovalRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.RetrieveUEContextRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RetrieveUEContextRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RetrieveUEContextRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBAdditionRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBAdditionRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBAdditionRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBModificationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBModificationRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBReleaseRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReleaseRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReleaseRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBReleaseRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReleaseRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReleaseRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBChangeRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBChangeRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBChangeRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENDCX2SetupRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENDCConfigurationUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENDCCellActivationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCCellActivationRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCCellActivationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENDCPartialResetRequired), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCPartialResetRequired, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCPartialResetRequired" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.EUTRANRCellResourceCoordinationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EUTRANRCellResourceCoordinationRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EUTRANRCellResourceCoordinationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ENDCX2RemovalRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2RemovalRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2RemovalRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SNStatusTransfer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SNStatusTransfer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SNStatusTransfer" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.UEContextRelease), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_UEContextRelease, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "UEContextRelease" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.HandoverCancel), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverCancel, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverCancel" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ErrorIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ErrorIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ErrorIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.ResourceStatusUpdate), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusUpdate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.LoadInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LoadInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "LoadInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.PrivateMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PrivateMessage, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "PrivateMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.RLFIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RLFIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RLFIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.HandoverReport), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverReport, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverReport" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.X2Release), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2Release, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2Release" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.X2APMessageTransfer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2APMessageTransfer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2APMessageTransfer" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBReconfigurationComplete), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBReconfigurationComplete, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBReconfigurationComplete" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBReleaseRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBReleaseRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBReleaseRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SeNBCounterCheckRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBCounterCheckRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBCounterCheckRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBReconfigurationComplete), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReconfigurationComplete, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReconfigurationComplete" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBCounterCheckRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBCounterCheckRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBCounterCheckRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.RRCTransfer), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RRCTransfer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RRCTransfer" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SecondaryRATDataUsageReport), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SecondaryRATDataUsageReport, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SecondaryRATDataUsageReport" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.SgNBActivityNotification), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBActivityNotification, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBActivityNotification" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.DataForwardingAddressIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DataForwardingAddressIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "DataForwardingAddressIndication" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage__value, choice.GNBStatusIndication), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GNBStatusIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "GNBStatusIndication" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 45 }, /* HandoverRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 44 }, /* ResetRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 43 }, /* X2SetupRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 42 }, /* ResourceStatusRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 41 }, /* ENBConfigurationUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 40 }, /* MobilityChangeRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 39 }, /* CellActivationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 38 }, /* SeNBAdditionRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 37 }, /* SeNBModificationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 36 }, /* SeNBModificationRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 35 }, /* SeNBReleaseRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 34 }, /* X2RemovalRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 33 }, /* RetrieveUEContextRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 32 }, /* SgNBAdditionRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 31 }, /* SgNBModificationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 30 }, /* SgNBModificationRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 16, -16, 29 }, /* SgNBReleaseRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 17, -17, 28 }, /* SgNBReleaseRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 18, -18, 27 }, /* SgNBChangeRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 19, -19, 26 }, /* ENDCX2SetupRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 20, -20, 25 }, /* ENDCConfigurationUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 21, -21, 24 }, /* ENDCCellActivationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 22, -22, 23 }, /* ENDCPartialResetRequired */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 23, -23, 22 }, /* EUTRANRCellResourceCoordinationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 24, -24, 21 }, /* ENDCX2RemovalRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 25, -25, 20 }, /* SNStatusTransfer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 26, -26, 19 }, /* UEContextRelease */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 27, -27, 18 }, /* HandoverCancel */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 28, -28, 17 }, /* ErrorIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 29, -29, 16 }, /* ResourceStatusUpdate */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 30, -30, 15 }, /* LoadInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 31, -31, 14 }, /* PrivateMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 32, -32, 13 }, /* RLFIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 33, -33, 12 }, /* HandoverReport */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 34, -34, 11 }, /* X2Release */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 35, -35, 10 }, /* X2APMessageTransfer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 36, -36, 9 }, /* SeNBReconfigurationComplete */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 37, -37, 8 }, /* SeNBReleaseRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 38, -38, 7 }, /* SeNBCounterCheckRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 39, -39, 6 }, /* SgNBReconfigurationComplete */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 40, -40, 5 }, /* SgNBCounterCheckRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 41, -41, 4 }, /* RRCTransfer */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 42, -42, 3 }, /* SecondaryRATDataUsageReport */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 43, -43, 2 }, /* SgNBActivityNotification */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 44, -44, 1 }, /* DataForwardingAddressIndication */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 45, -45, 0 } /* GNBStatusIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct X2InitiatingMessage__value), + offsetof(struct X2InitiatingMessage__value, _asn_ctx), + offsetof(struct X2InitiatingMessage__value, present), + sizeof(((struct X2InitiatingMessage__value *)0)->present), + asn_MAP_value_tag2el_4, + 46, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 46, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2InitiatingMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2InitiatingMessage_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2InitiatingMessage, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_X2InitiatingMessage_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2InitiatingMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2InitiatingMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2InitiatingMessage_specs_1 = { + sizeof(struct X2InitiatingMessage), + offsetof(struct X2InitiatingMessage, _asn_ctx), + asn_MAP_X2InitiatingMessage_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2InitiatingMessage = { + "X2InitiatingMessage", + "X2InitiatingMessage", + &asn_OP_SEQUENCE, + asn_DEF_X2InitiatingMessage_tags_1, + sizeof(asn_DEF_X2InitiatingMessage_tags_1) + /sizeof(asn_DEF_X2InitiatingMessage_tags_1[0]), /* 1 */ + asn_DEF_X2InitiatingMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_X2InitiatingMessage_tags_1) + /sizeof(asn_DEF_X2InitiatingMessage_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2InitiatingMessage_1, + 3, /* Elements count */ + &asn_SPC_X2InitiatingMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2InitiatingMessage.h b/asn1c_defs/all-defs/X2InitiatingMessage.h new file mode 100755 index 0000000..eaf1fe5 --- /dev/null +++ b/asn1c_defs/all-defs/X2InitiatingMessage.h @@ -0,0 +1,242 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2InitiatingMessage_H_ +#define _X2InitiatingMessage_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "HandoverRequest.h" +#include "HandoverRequestAcknowledge.h" +#include "HandoverPreparationFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "MobilityChangeRequest.h" +#include "MobilityChangeAcknowledge.h" +#include "MobilityChangeFailure.h" +#include "CellActivationRequest.h" +#include "CellActivationResponse.h" +#include "CellActivationFailure.h" +#include "SeNBAdditionRequest.h" +#include "SeNBAdditionRequestAcknowledge.h" +#include "SeNBAdditionRequestReject.h" +#include "SeNBModificationRequest.h" +#include "SeNBModificationRequestAcknowledge.h" +#include "SeNBModificationRequestReject.h" +#include "SeNBModificationRequired.h" +#include "SeNBModificationConfirm.h" +#include "SeNBModificationRefuse.h" +#include "SeNBReleaseRequired.h" +#include "SeNBReleaseConfirm.h" +#include "X2RemovalRequest.h" +#include "X2RemovalResponse.h" +#include "X2RemovalFailure.h" +#include "RetrieveUEContextRequest.h" +#include "RetrieveUEContextResponse.h" +#include "RetrieveUEContextFailure.h" +#include "SgNBAdditionRequest.h" +#include "SgNBAdditionRequestAcknowledge.h" +#include "SgNBAdditionRequestReject.h" +#include "SgNBModificationRequest.h" +#include "SgNBModificationRequestAcknowledge.h" +#include "SgNBModificationRequestReject.h" +#include "SgNBModificationRequired.h" +#include "SgNBModificationConfirm.h" +#include "SgNBModificationRefuse.h" +#include "SgNBReleaseRequest.h" +#include "SgNBReleaseRequestAcknowledge.h" +#include "SgNBReleaseRequestReject.h" +#include "SgNBReleaseRequired.h" +#include "SgNBReleaseConfirm.h" +#include "SgNBChangeRequired.h" +#include "SgNBChangeConfirm.h" +#include "SgNBChangeRefuse.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ENDCCellActivationRequest.h" +#include "ENDCCellActivationResponse.h" +#include "ENDCCellActivationFailure.h" +#include "ENDCPartialResetRequired.h" +#include "ENDCPartialResetConfirm.h" +#include "EUTRANRCellResourceCoordinationRequest.h" +#include "EUTRANRCellResourceCoordinationResponse.h" +#include "ENDCX2RemovalRequest.h" +#include "ENDCX2RemovalResponse.h" +#include "ENDCX2RemovalFailure.h" +#include "SNStatusTransfer.h" +#include "UEContextRelease.h" +#include "HandoverCancel.h" +#include "ErrorIndication.h" +#include "ResourceStatusUpdate.h" +#include "LoadInformation.h" +#include "PrivateMessage.h" +#include "RLFIndication.h" +#include "HandoverReport.h" +#include "X2Release.h" +#include "X2APMessageTransfer.h" +#include "SeNBReconfigurationComplete.h" +#include "SeNBReleaseRequest.h" +#include "SeNBCounterCheckRequest.h" +#include "SgNBReconfigurationComplete.h" +#include "SgNBCounterCheckRequest.h" +#include "RRCTransfer.h" +#include "SecondaryRATDataUsageReport.h" +#include "SgNBActivityNotification.h" +#include "DataForwardingAddressIndication.h" +#include "GNBStatusIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum X2InitiatingMessage__value_PR { + X2InitiatingMessage__value_PR_NOTHING, /* No components present */ + X2InitiatingMessage__value_PR_HandoverRequest, + X2InitiatingMessage__value_PR_ResetRequest, + X2InitiatingMessage__value_PR_X2SetupRequest, + X2InitiatingMessage__value_PR_ResourceStatusRequest, + X2InitiatingMessage__value_PR_ENBConfigurationUpdate, + X2InitiatingMessage__value_PR_MobilityChangeRequest, + X2InitiatingMessage__value_PR_CellActivationRequest, + X2InitiatingMessage__value_PR_SeNBAdditionRequest, + X2InitiatingMessage__value_PR_SeNBModificationRequest, + X2InitiatingMessage__value_PR_SeNBModificationRequired, + X2InitiatingMessage__value_PR_SeNBReleaseRequired, + X2InitiatingMessage__value_PR_X2RemovalRequest, + X2InitiatingMessage__value_PR_RetrieveUEContextRequest, + X2InitiatingMessage__value_PR_SgNBAdditionRequest, + X2InitiatingMessage__value_PR_SgNBModificationRequest, + X2InitiatingMessage__value_PR_SgNBModificationRequired, + X2InitiatingMessage__value_PR_SgNBReleaseRequest, + X2InitiatingMessage__value_PR_SgNBReleaseRequired, + X2InitiatingMessage__value_PR_SgNBChangeRequired, + X2InitiatingMessage__value_PR_ENDCX2SetupRequest, + X2InitiatingMessage__value_PR_ENDCConfigurationUpdate, + X2InitiatingMessage__value_PR_ENDCCellActivationRequest, + X2InitiatingMessage__value_PR_ENDCPartialResetRequired, + X2InitiatingMessage__value_PR_EUTRANRCellResourceCoordinationRequest, + X2InitiatingMessage__value_PR_ENDCX2RemovalRequest, + X2InitiatingMessage__value_PR_SNStatusTransfer, + X2InitiatingMessage__value_PR_UEContextRelease, + X2InitiatingMessage__value_PR_HandoverCancel, + X2InitiatingMessage__value_PR_ErrorIndication, + X2InitiatingMessage__value_PR_ResourceStatusUpdate, + X2InitiatingMessage__value_PR_LoadInformation, + X2InitiatingMessage__value_PR_PrivateMessage, + X2InitiatingMessage__value_PR_RLFIndication, + X2InitiatingMessage__value_PR_HandoverReport, + X2InitiatingMessage__value_PR_X2Release, + X2InitiatingMessage__value_PR_X2APMessageTransfer, + X2InitiatingMessage__value_PR_SeNBReconfigurationComplete, + X2InitiatingMessage__value_PR_SeNBReleaseRequest, + X2InitiatingMessage__value_PR_SeNBCounterCheckRequest, + X2InitiatingMessage__value_PR_SgNBReconfigurationComplete, + X2InitiatingMessage__value_PR_SgNBCounterCheckRequest, + X2InitiatingMessage__value_PR_RRCTransfer, + X2InitiatingMessage__value_PR_SecondaryRATDataUsageReport, + X2InitiatingMessage__value_PR_SgNBActivityNotification, + X2InitiatingMessage__value_PR_DataForwardingAddressIndication, + X2InitiatingMessage__value_PR_GNBStatusIndication +} X2InitiatingMessage__value_PR; + +/* X2InitiatingMessage */ +typedef struct X2InitiatingMessage { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct X2InitiatingMessage__value { + X2InitiatingMessage__value_PR present; + union X2InitiatingMessage__value_u { + HandoverRequest_t HandoverRequest; + ResetRequest_t ResetRequest; + X2SetupRequest_t X2SetupRequest; + ResourceStatusRequest_t ResourceStatusRequest; + ENBConfigurationUpdate_t ENBConfigurationUpdate; + MobilityChangeRequest_t MobilityChangeRequest; + CellActivationRequest_t CellActivationRequest; + SeNBAdditionRequest_t SeNBAdditionRequest; + SeNBModificationRequest_t SeNBModificationRequest; + SeNBModificationRequired_t SeNBModificationRequired; + SeNBReleaseRequired_t SeNBReleaseRequired; + X2RemovalRequest_t X2RemovalRequest; + RetrieveUEContextRequest_t RetrieveUEContextRequest; + SgNBAdditionRequest_t SgNBAdditionRequest; + SgNBModificationRequest_t SgNBModificationRequest; + SgNBModificationRequired_t SgNBModificationRequired; + SgNBReleaseRequest_t SgNBReleaseRequest; + SgNBReleaseRequired_t SgNBReleaseRequired; + SgNBChangeRequired_t SgNBChangeRequired; + ENDCX2SetupRequest_t ENDCX2SetupRequest; + ENDCConfigurationUpdate_t ENDCConfigurationUpdate; + ENDCCellActivationRequest_t ENDCCellActivationRequest; + ENDCPartialResetRequired_t ENDCPartialResetRequired; + EUTRANRCellResourceCoordinationRequest_t EUTRANRCellResourceCoordinationRequest; + ENDCX2RemovalRequest_t ENDCX2RemovalRequest; + SNStatusTransfer_t SNStatusTransfer; + UEContextRelease_t UEContextRelease; + HandoverCancel_t HandoverCancel; + ErrorIndication_t ErrorIndication; + ResourceStatusUpdate_t ResourceStatusUpdate; + LoadInformation_t LoadInformation; + PrivateMessage_t PrivateMessage; + RLFIndication_t RLFIndication; + HandoverReport_t HandoverReport; + X2Release_t X2Release; + X2APMessageTransfer_t X2APMessageTransfer; + SeNBReconfigurationComplete_t SeNBReconfigurationComplete; + SeNBReleaseRequest_t SeNBReleaseRequest; + SeNBCounterCheckRequest_t SeNBCounterCheckRequest; + SgNBReconfigurationComplete_t SgNBReconfigurationComplete; + SgNBCounterCheckRequest_t SgNBCounterCheckRequest; + RRCTransfer_t RRCTransfer; + SecondaryRATDataUsageReport_t SecondaryRATDataUsageReport; + SgNBActivityNotification_t SgNBActivityNotification; + DataForwardingAddressIndication_t DataForwardingAddressIndication; + GNBStatusIndication_t GNBStatusIndication; + } 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; +} X2InitiatingMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2InitiatingMessage; +extern asn_SEQUENCE_specifics_t asn_SPC_X2InitiatingMessage_specs_1; +extern asn_TYPE_member_t asn_MBR_X2InitiatingMessage_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2InitiatingMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2InitiatingMessage.o b/asn1c_defs/all-defs/X2InitiatingMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..5dd028d4ff91f50aa6dc807f6cb5666b432ebb25 GIT binary patch literal 48080 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�eO;vDZ1agO&CaoDlz59-7@-UjiL zqHmQKglijQ0lmeW@wmlX@VLcWB7Uf4T;4wtho7f4-U@M!w@RGjJxLsP>^h7ZagMi6 z{Db6AlQ_qlzA_YTkOjEKoA`xJgpQkk5GI7|q*P{yYyUET8;;^%%c9w|4 zj_ofs;vXVA4dNVc>X$>2A8*#<7H^(7$2&?KexBSI+AR_1c+14^CO?l5hn=e0sS@XS zmxzCu?9_>Kyuq)8B0t`Y$1UD0agH}f9DbfqKMTY;-V$++cab>kRMbv|ILBKh{znvV zjX1~K^tjFE^i}P7uy`}XIo<){@bifJnJ3Qi7Kn4aQ^aAXtai%8Io=BKk5Ifz#5vxE z$1UE}3!~#r6X$q)iNnuD^)pMHR*7@Gb&p%T!PU|6 zrigRAJ;dSXl=_(=&hci6bG$j?uv1Vw1>ziUiTIyTycOacZ_VQtZ`0#8pM&0&JaD{S z#Np?t`k5xq@n(o~yaU8xC$Dz$#5vvq@g<74Oq}Cg^0>v@@VLd>B+l`kB@RDx>SyYj z(1{JQ;CR!-Io@94u#;6gS>mv>Yw+Deyc1O=ECKat<4qpkM}JU7Z-v){8LfTckBFo&^I@W3grEL1MSs* zsiKb)$eLH}+dn%o4(KfSjdQa>-^A>J1H~EH-puSmvG0amdtNfXFg|gcN{drtd*{Xv z6g9+EEz;5(DY@9QlGXY)9t2_fHD^nW(;gSfBikb3O6AUQ*`@i$*H~EX3bCCw4e+u8 zZo7>(2UXp!ji>Rnt?2T_vV={)|B??>ukL6q2>N9WY;%i*E7pI}*QU zjO0+Uezv?>+OY1sThhjfl1EhjPrNAxqUsa z=f|HGJ(o8~C2IR;?g>>H6=VB2F8JG@7l!S7(=4#_hyKJ&i + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2Release */ +typedef struct X2Release { + ProtocolIE_Container_8180P42_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2Release_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2Release; +extern asn_SEQUENCE_specifics_t asn_SPC_X2Release_specs_1; +extern asn_TYPE_member_t asn_MBR_X2Release_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2Release_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2Release.o b/asn1c_defs/all-defs/X2Release.o new file mode 100644 index 0000000000000000000000000000000000000000..75fd4736aa7c90ad1faff825726f352d93b9c5bc GIT binary patch literal 2448 zcmbtV&2G~`5T4Zh|Fje#gv2FWph$ETN0Ep?LN38=LC~5;m3ng>W3`CHj$%iY3-rK^ z7vKfB^B9Ozk30rE0nFGt&SdKdR7Ud7%(wH+?7u&_&sXPaHDIa1Bba!M0vw&5*iLRb zumJP0)7*;sQIJM393@#2CjF;wItl%&W!5tNSqc6%PV(o_`Hdp6|FzdKK|>^&H7>?! z3{o6&);gUB^`-6JIL^lP`>LfH%l0_;?DuwCHCoEPTi}v9WmEoB@T+oeR^^TYSYVE( zNNHhDl~`DzN-PkELkC<&U4!#*Mf;Lz!P#SJZtHmNU>^Av=BW}3E>^)9f8iLug2NQHpK^RMFFq4r5UAdUSe?y6s2CO-@IQs2%y zUaWZ29nGk(yQVmK@TTW?-Iv?$M#lv<{4j~rY!tkXvm)W+Es?M&()Bt5ONUX&<*9~O zUTwdV#2IFaMt<9FH@sF;&z}{YLwOp`=?)X;H6eVS$*6CLc-lpdTbhB>{Uf0~3%OM^ zp0)|+90cuBgF^UXZWYaEZ4-V~;70jk{5cPtt>joK)njG z08}qcL5&h}DAHCox=}yKyU8+K)lb5Jz?=dqOa_ApH&n$*7OAz3?d3EJ!Z%{%Co^v% zjn?3dL3a$FU5b@*3mwAD7sQc4!Z!JLu#eXEr2KoxrJUxubPyxCUZ}F=`m7!7A=|9K zix|m|LX~a3v + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2RemovalFailure */ +typedef struct X2RemovalFailure { + ProtocolIE_Container_8180P60_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2RemovalFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_X2RemovalFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2RemovalFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2RemovalFailure.o b/asn1c_defs/all-defs/X2RemovalFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..a538e4b62bfcf1358b9d8d502f5a278c0870afe8 GIT binary patch literal 2488 zcmbtV&2G~`5T4Zh|FjfwKtf32M3Lw!jv|OaLWbZJ5VWCHQE!gpT5UxVN3ny-h4#Q3 zaN#KskHHO&JO)S{xWSCQlT0@o36+uTnfZ3UneqPlz<=JHE0uty1P@^1F$(beFsVVnXflKNUoARH4pVn`4 ztSbuOfZ0uv(!mj%I9S0Z4v5X61FoPh!CAPZeaUp-^i-Ofj^_d9k?&w0n>cXZ24noW zDf|^8i=xk69g(1xwU~G?1OI?H70^K{6cOOua>q6=NtsJ>4if0Vr~_$kJ={uvcSIyocd>u{H`OrQl)QuS=a%E z(_iRawz7CX1GODyA*fE8f*K~|P^7C|bmMNA50hoMs+&Y1fjI?Kl=ONrF0Se)S*%u8 zH7v&F)TtH3xiT4rj`!&RD^*!BS zMe|ve+0gnKYFqubK73q<>eH=e)(;S)Qsy6IpzG89FGZd$!guhYP_xhXnosK^MZ-CV z@Bu!I$+*up&=N~wX77}T`CoLNi-^% + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2RemovalRequest */ +typedef struct X2RemovalRequest { + ProtocolIE_Container_8180P58_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2RemovalRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_X2RemovalRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2RemovalRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2RemovalRequest.o b/asn1c_defs/all-defs/X2RemovalRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..f12de1171a96b463ad487e06a7e054546ba200c2 GIT binary patch literal 2488 zcmbtV&2G~`5T4Zh|FjfwKtf32M3Lw!u7Zd_LWYnQ5VRpxQE!gxS}h`pL%c!dLVMs1 zxbPH+$KVD>9s?u}++fC@O{SZTgvv>E>arAKO80 z1~3P+u({Mqy6Ky!(@I_slT1T@km@u}JC7ULm@(b5YuWxZ=D)^C{tP;QP$c%h_9IMC z5lN;7n;F5aCru@g?r*m$e zb4LL@ut!s*^svVz9#(LP2jXyWz$MfrI1LxrmrM^%PNb=Fyy-AJ@;%Js5)aP0V2nRA zfxkdxUW{{>BU03|mLcv>!9O5Qc@8*mll7+@AJ5C2iLZ#e@=shG6+@Ku!iSCJ(7scl zj&`!p&-GUU{?X1LyXzR_5%H^3NSoc1z3h+g(|k^VtzGJR2by;+~^ z%KAxchDL>(quU?W)1Jn>$snxxwMz3=jaRBrbYA7DImNv;Zq|D z!DQTL7wCwkFnjEj$MC;!p7V&&XV0JhNcP?%1bYnrB1eclEP5ZDd|v+p!6nn?{{>xD Bxv&5L literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2RemovalResponse.c b/asn1c_defs/all-defs/X2RemovalResponse.c new file mode 100755 index 0000000..94b9271 --- /dev/null +++ b/asn1c_defs/all-defs/X2RemovalResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2RemovalResponse.h" + +asn_TYPE_member_t asn_MBR_X2RemovalResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2RemovalResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P59, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2RemovalResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2RemovalResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2RemovalResponse_specs_1 = { + sizeof(struct X2RemovalResponse), + offsetof(struct X2RemovalResponse, _asn_ctx), + asn_MAP_X2RemovalResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2RemovalResponse = { + "X2RemovalResponse", + "X2RemovalResponse", + &asn_OP_SEQUENCE, + asn_DEF_X2RemovalResponse_tags_1, + sizeof(asn_DEF_X2RemovalResponse_tags_1) + /sizeof(asn_DEF_X2RemovalResponse_tags_1[0]), /* 1 */ + asn_DEF_X2RemovalResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_X2RemovalResponse_tags_1) + /sizeof(asn_DEF_X2RemovalResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2RemovalResponse_1, + 1, /* Elements count */ + &asn_SPC_X2RemovalResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2RemovalResponse.h b/asn1c_defs/all-defs/X2RemovalResponse.h new file mode 100755 index 0000000..21ec334 --- /dev/null +++ b/asn1c_defs/all-defs/X2RemovalResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2RemovalResponse_H_ +#define _X2RemovalResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2RemovalResponse */ +typedef struct X2RemovalResponse { + ProtocolIE_Container_8180P59_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2RemovalResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2RemovalResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_X2RemovalResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_X2RemovalResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2RemovalResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2RemovalResponse.o b/asn1c_defs/all-defs/X2RemovalResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..64daa0a1d403b4aca2096c371d300e9b9fe62314 GIT binary patch literal 2496 zcmbtV-HOvt5I)`b|Fi3gf*?q}as~I$lvS&OL~C|cbT@V>tXJ7IhOO8prAejUXhGjW zA4BjZy!1x!G4$3Ook`BLvnQt@>p;%Td}qFy^PhL_ll6s4MUYg)T`}_r1$|^@JGtqI zC9x=W>aD1sybgM;C>y(*1eFe~sh(1#td=aO{8WhmfGg zlFSIs zjtWcYqbX8a&|?w{DwxC)hfDBzKq}(6IHP(v(-KEZ@i$aFbr27I3-Xx65+_YC#GfeP z&jDFxf z6w>gpwl{qO{ALnokU1Lq4ZBhEuHRDYMGDU?KRw4(hmO-4BECpu&=*)d?mES-%)#-# zqF|n-+$tJR*@#mPgm$q3L3}y4isqBD5kJfDZw$wIQ6HbzzSAkwH~lQ=2nkzI=q_1V zG|q&45oCdooir74n4p7^wzR>GdO_ZemgdS{5(Wt76d}W;-;ZE}Wt?P@+}Lcdrdbfa zVk1A8c@b#12JH8cCvx((++Zx1%itiUzc>yLVz$n|0)4o)2jyP_F6OMm$Hh_3B@Tj3 z^+{tK+Isz6z)*e^YT8z(R$<%$g>R!%xYKs59?YK#IRzTe6P+VE_gjFO>N{$HHN_`Y zB}3`QpiT9=>QYi2tdFmoUf%}{OX+`-fvSHF`nd4Bh4>zP7^;u+gW}`j CguB52 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2SetupFailure.c b/asn1c_defs/all-defs/X2SetupFailure.c new file mode 100755 index 0000000..c514d8b --- /dev/null +++ b/asn1c_defs/all-defs/X2SetupFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2SetupFailure.h" + +asn_TYPE_member_t asn_MBR_X2SetupFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P26, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SetupFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SetupFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SetupFailure_specs_1 = { + sizeof(struct X2SetupFailure), + offsetof(struct X2SetupFailure, _asn_ctx), + asn_MAP_X2SetupFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SetupFailure = { + "X2SetupFailure", + "X2SetupFailure", + &asn_OP_SEQUENCE, + asn_DEF_X2SetupFailure_tags_1, + sizeof(asn_DEF_X2SetupFailure_tags_1) + /sizeof(asn_DEF_X2SetupFailure_tags_1[0]), /* 1 */ + asn_DEF_X2SetupFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_X2SetupFailure_tags_1) + /sizeof(asn_DEF_X2SetupFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SetupFailure_1, + 1, /* Elements count */ + &asn_SPC_X2SetupFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2SetupFailure.h b/asn1c_defs/all-defs/X2SetupFailure.h new file mode 100755 index 0000000..be65d54 --- /dev/null +++ b/asn1c_defs/all-defs/X2SetupFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2SetupFailure_H_ +#define _X2SetupFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2SetupFailure */ +typedef struct X2SetupFailure { + ProtocolIE_Container_8180P26_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2SetupFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2SetupFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_X2SetupFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2SetupFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2SetupFailure.o b/asn1c_defs/all-defs/X2SetupFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..7fd240a2f08c53e5652c4faea19d56f04a0b3c66 GIT binary patch literal 2472 zcmbtV&2G~`5T4Zh|FjfwK;jZk6p60lsDcV4WC&>iL2IZg_2xRpYAez>iZ`NMpa*We z01vx&Inx=TEWmo5kk-7eD3# z4XencaS4wx*b=~4Znf^#=hi#Jo*vfks0G!S_lJe$zw;MWV?p^hOWsaBgi-$l{i>Xs zSNTPWJaR`%pSR5s z_UPOQ3kVs^TI1X{jxE-9FNuFMf&a)n>g=1q4WmC7{CHlN59BL9RrQ^NqY{eqUi7HF z6dgWMk&d_W$S=IlAA}X&X4*CWquE8;Y8b7xU#z!RT5S>#C0Q@mgLtQ>%hC^Dx~0pW zYhlZEuIi;4x&YWu@N?J7i)kQ_NTo|&KQr&%UXe-HZf3F4F->| zD{*rZc$`ZJ;%5p}zCwe+OASz)c(H(=El~OTWH5N_X_4;+fXBR~hdr-DyHMqCcXiw$ z#mipmZ9zKS)1+R-IwsZ0b5es01|ogsvzd0|!VTn@s+%P-$RdSQlI`xM{83de)2Uis zS)b2!oV=D{A6sAJOw9F^Qz39{F%fIabvD4cH%nj#S=i0L!9J|*ar19+E^0RUu_Z7D z=4Xra7agz@*zLc`9OOr-M(_FvmEayL+<`%9j^3N*V*F{C3#_r9WFN`CUuCYUe_#gK zF!`eD0*rpjx~hL@4yE)#f81hj|A;xXa{m~8)Bg(lY_ZQ4c-*rHb;tR^ + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2SetupRequest */ +typedef struct X2SetupRequest { + ProtocolIE_Container_8180P24_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2SetupRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2SetupRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_X2SetupRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2SetupRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2SetupRequest.o b/asn1c_defs/all-defs/X2SetupRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..c1fc5ee3066db8cd258529ec12a4a7036072c780 GIT binary patch literal 2472 zcmbtV&2G~`5T4Zh|FjfwK;jZk6p60ls1g-O$Pm&3g4VRE)SK%Vt3{-7h&Q5Kpa*We z01vBO`=WTO@ zJvukS0zw9});M>JW1F?zOXA;5;6E~tI{PMY)9B9yKb{xn1Nq8NRek5+sD$FY7d>n* zMTbvRq~q;8@(b^?`(cH*nRbo;Xm*jd8b<5w=Ns*nR+|JwN!H8tAb#1?W$6cNZt1e; zdf0Luc|T2LNN5?3&V1C$dYWsdgJ{uTY=q5)Vh!-Z{k3?7IttISpP56l1? zCSO!tfYDD_SM?9gp_D%8k6X;`A2Ekk?jNIX`d?w6E%w<0k9!uO?l?b~e0(2U3|-`a z@AD&^9rvY*tcXRJJ9gBO{BNetMdt9h^T(gb{q{`Jo*@rlSmF)~cS=?Mj#>YGD;Lns F{{vxpv%CNR literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2SetupResponse.c b/asn1c_defs/all-defs/X2SetupResponse.c new file mode 100755 index 0000000..9c4d37e --- /dev/null +++ b/asn1c_defs/all-defs/X2SetupResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2SetupResponse.h" + +asn_TYPE_member_t asn_MBR_X2SetupResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SetupResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P25, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SetupResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SetupResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SetupResponse_specs_1 = { + sizeof(struct X2SetupResponse), + offsetof(struct X2SetupResponse, _asn_ctx), + asn_MAP_X2SetupResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SetupResponse = { + "X2SetupResponse", + "X2SetupResponse", + &asn_OP_SEQUENCE, + asn_DEF_X2SetupResponse_tags_1, + sizeof(asn_DEF_X2SetupResponse_tags_1) + /sizeof(asn_DEF_X2SetupResponse_tags_1[0]), /* 1 */ + asn_DEF_X2SetupResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_X2SetupResponse_tags_1) + /sizeof(asn_DEF_X2SetupResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SetupResponse_1, + 1, /* Elements count */ + &asn_SPC_X2SetupResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2SetupResponse.h b/asn1c_defs/all-defs/X2SetupResponse.h new file mode 100755 index 0000000..e9e152e --- /dev/null +++ b/asn1c_defs/all-defs/X2SetupResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2SetupResponse_H_ +#define _X2SetupResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* X2SetupResponse */ +typedef struct X2SetupResponse { + ProtocolIE_Container_8180P25_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} X2SetupResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2SetupResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SetupResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_X2SetupResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2SetupResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2SetupResponse.o b/asn1c_defs/all-defs/X2SetupResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..31fa1a5580aad75699d980ad451152be867292b9 GIT binary patch literal 2480 zcmbtV&2G~`5T4Zh|Fjf1Ai*J=C=y-8Q4tkL$Pm&3f;KdYl$+}st3{--6>p>>BK}t&&Uf>i zUlhOtdp2cB4@X?)VF#CaU~CRfxP-m}r{My}rqY9x6J_e0F9V{Z*uy$5^WdzD#{4rA zd>fg0W1c&l@fy9^ON4Ky@E?(u-?mu=gv#>7aT zC9zD4y0%6KKWwCZja8FDxa=?2TJ_t!M&xLpn!Du`kJ-Ge8S%56L+%P=;^`|(-og}~ z&LF#cVA6E5Kov78d&SI{k zn0EWo>?+D>4Nh2P0xOn~a!tFA0de*X6PQT`w)Hn~jMnyl^|w$gO#Y<6Fnd~br?~VPum8TGC1~sa0N_Ek A%m4rY literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/X2SuccessfulOutcome.c b/asn1c_defs/all-defs/X2SuccessfulOutcome.c new file mode 100755 index 0000000..bdd63c6 --- /dev/null +++ b/asn1c_defs/all-defs/X2SuccessfulOutcome.c @@ -0,0 +1,808 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "X2SuccessfulOutcome.h" + +static const long asn_VAL_1_id_handoverPreparation = 0; +static const long asn_VAL_1_reject = 0; +static const long asn_VAL_2_id_reset = 7; +static const long asn_VAL_2_reject = 0; +static const long asn_VAL_3_id_x2Setup = 6; +static const long asn_VAL_3_reject = 0; +static const long asn_VAL_4_id_resourceStatusReportingInitiation = 9; +static const long asn_VAL_4_reject = 0; +static const long asn_VAL_5_id_eNBConfigurationUpdate = 8; +static const long asn_VAL_5_reject = 0; +static const long asn_VAL_6_id_mobilitySettingsChange = 12; +static const long asn_VAL_6_reject = 0; +static const long asn_VAL_7_id_cellActivation = 15; +static const long asn_VAL_7_reject = 0; +static const long asn_VAL_8_id_seNBAdditionPreparation = 19; +static const long asn_VAL_8_reject = 0; +static const long asn_VAL_9_id_meNBinitiatedSeNBModificationPreparation = 21; +static const long asn_VAL_9_reject = 0; +static const long asn_VAL_10_id_seNBinitiatedSeNBModification = 22; +static const long asn_VAL_10_reject = 0; +static const long asn_VAL_11_id_seNBinitiatedSeNBRelease = 24; +static const long asn_VAL_11_reject = 0; +static const long asn_VAL_12_id_x2Removal = 18; +static const long asn_VAL_12_reject = 0; +static const long asn_VAL_13_id_retrieveUEContext = 26; +static const long asn_VAL_13_reject = 0; +static const long asn_VAL_14_id_sgNBAdditionPreparation = 27; +static const long asn_VAL_14_reject = 0; +static const long asn_VAL_15_id_meNBinitiatedSgNBModificationPreparation = 29; +static const long asn_VAL_15_reject = 0; +static const long asn_VAL_16_id_sgNBinitiatedSgNBModification = 30; +static const long asn_VAL_16_reject = 0; +static const long asn_VAL_17_id_meNBinitiatedSgNBRelease = 31; +static const long asn_VAL_17_ignore = 1; +static const long asn_VAL_18_id_sgNBinitiatedSgNBRelease = 32; +static const long asn_VAL_18_reject = 0; +static const long asn_VAL_19_id_sgNBChange = 34; +static const long asn_VAL_19_reject = 0; +static const long asn_VAL_20_id_endcX2Setup = 36; +static const long asn_VAL_20_reject = 0; +static const long asn_VAL_21_id_endcConfigurationUpdate = 37; +static const long asn_VAL_21_reject = 0; +static const long asn_VAL_22_id_endcCellActivation = 39; +static const long asn_VAL_22_reject = 0; +static const long asn_VAL_23_id_endcPartialReset = 40; +static const long asn_VAL_23_reject = 0; +static const long asn_VAL_24_id_eUTRANRCellResourceCoordination = 41; +static const long asn_VAL_24_reject = 0; +static const long asn_VAL_25_id_endcX2Removal = 43; +static const long asn_VAL_25_reject = 0; +static const long asn_VAL_26_id_snStatusTransfer = 4; +static const long asn_VAL_26_ignore = 1; +static const long asn_VAL_27_id_uEContextRelease = 5; +static const long asn_VAL_27_ignore = 1; +static const long asn_VAL_28_id_handoverCancel = 1; +static const long asn_VAL_28_ignore = 1; +static const long asn_VAL_29_id_errorIndication = 3; +static const long asn_VAL_29_ignore = 1; +static const long asn_VAL_30_id_resourceStatusReporting = 10; +static const long asn_VAL_30_ignore = 1; +static const long asn_VAL_31_id_loadIndication = 2; +static const long asn_VAL_31_ignore = 1; +static const long asn_VAL_32_id_privateMessage = 11; +static const long asn_VAL_32_ignore = 1; +static const long asn_VAL_33_id_rLFIndication = 13; +static const long asn_VAL_33_ignore = 1; +static const long asn_VAL_34_id_handoverReport = 14; +static const long asn_VAL_34_ignore = 1; +static const long asn_VAL_35_id_x2Release = 16; +static const long asn_VAL_35_reject = 0; +static const long asn_VAL_36_id_x2APMessageTransfer = 17; +static const long asn_VAL_36_reject = 0; +static const long asn_VAL_37_id_seNBReconfigurationCompletion = 20; +static const long asn_VAL_37_ignore = 1; +static const long asn_VAL_38_id_meNBinitiatedSeNBRelease = 23; +static const long asn_VAL_38_ignore = 1; +static const long asn_VAL_39_id_seNBCounterCheck = 25; +static const long asn_VAL_39_reject = 0; +static const long asn_VAL_40_id_sgNBReconfigurationCompletion = 28; +static const long asn_VAL_40_ignore = 1; +static const long asn_VAL_41_id_sgNBCounterCheck = 33; +static const long asn_VAL_41_reject = 0; +static const long asn_VAL_42_id_rRCTransfer = 35; +static const long asn_VAL_42_reject = 0; +static const long asn_VAL_43_id_secondaryRATDataUsageReport = 38; +static const long asn_VAL_43_reject = 0; +static const long asn_VAL_44_id_SgNBActivityNotification = 42; +static const long asn_VAL_44_reject = 0; +static const long asn_VAL_45_id_dataForwardingAddressIndication = 44; +static const long asn_VAL_45_ignore = 1; +static const long asn_VAL_46_id_gNBStatusIndication = 45; +static const long asn_VAL_46_ignore = 1; +static const asn_ioc_cell_t asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1_rows[] = { + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_HandoverRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_HandoverPreparationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_handoverPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResetRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_reset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2SetupRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_X2SetupResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_X2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_x2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_resourceStatusReportingInitiation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENBConfigurationUpdate }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_eNBConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_MobilityChangeRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_MobilityChangeAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_MobilityChangeFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_mobilitySettingsChange }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_CellActivationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_CellActivationResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_CellActivationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_cellActivation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBAdditionRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBAdditionRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBAdditionRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_seNBAdditionPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBModificationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_meNBinitiatedSeNBModificationPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBModificationRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SeNBModificationRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_seNBinitiatedSeNBModification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReleaseRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SeNBReleaseConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_seNBinitiatedSeNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2RemovalRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_X2RemovalResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_X2RemovalFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_x2Removal }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RetrieveUEContextRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_RetrieveUEContextResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_RetrieveUEContextFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_13_id_retrieveUEContext }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBAdditionRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBAdditionRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBAdditionRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_14_id_sgNBAdditionPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBModificationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_15_id_meNBinitiatedSgNBModificationPreparation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_15_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBModificationRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBModificationRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_16_id_sgNBinitiatedSgNBModification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_16_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReleaseRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseRequestAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseRequestReject }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_17_id_meNBinitiatedSgNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_17_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReleaseRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBReleaseConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_18_id_sgNBinitiatedSgNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_18_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBChangeRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_SgNBChangeConfirm }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_SgNBChangeRefuse }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_19_id_sgNBChange }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_19_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCX2SetupRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_20_id_endcX2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_20_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCConfigurationUpdate }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateAcknowledge }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_21_id_endcConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_21_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCCellActivationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCCellActivationResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCCellActivationFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_22_id_endcCellActivation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_22_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCPartialResetRequired }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCPartialResetConfirm }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_23_id_endcPartialReset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_23_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_EUTRANRCellResourceCoordinationRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_EUTRANRCellResourceCoordinationResponse }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_24_id_eUTRANRCellResourceCoordination }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_24_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ENDCX2RemovalRequest }, + { "&X2SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2RemovalResponse }, + { "&X2UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2RemovalFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_25_id_endcX2Removal }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_25_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SNStatusTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_26_id_snStatusTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_26_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_UEContextRelease }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_27_id_uEContextRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_27_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverCancel }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_28_id_handoverCancel }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_28_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_29_id_errorIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_29_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusUpdate }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_30_id_resourceStatusReporting }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_30_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_LoadInformation }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_31_id_loadIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_31_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_PrivateMessage }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_32_id_privateMessage }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_32_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RLFIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_33_id_rLFIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_33_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_HandoverReport }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_34_id_handoverReport }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_34_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2Release }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_35_id_x2Release }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_35_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_X2APMessageTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_36_id_x2APMessageTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_36_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReconfigurationComplete }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_37_id_seNBReconfigurationCompletion }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_37_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBReleaseRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_38_id_meNBinitiatedSeNBRelease }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_38_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SeNBCounterCheckRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_39_id_seNBCounterCheck }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_39_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBReconfigurationComplete }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_40_id_sgNBReconfigurationCompletion }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_40_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBCounterCheckRequest }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_41_id_sgNBCounterCheck }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_41_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_RRCTransfer }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_42_id_rRCTransfer }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_42_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SecondaryRATDataUsageReport }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_43_id_secondaryRATDataUsageReport }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_43_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_SgNBActivityNotification }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_44_id_SgNBActivityNotification }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_44_reject }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_DataForwardingAddressIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_45_id_dataForwardingAddressIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_45_ignore }, + { "&X2InitiatingMessage", aioc__type, &asn_DEF_GNBStatusIndication }, + { "&X2SuccessfulOutcome", }, + { "&X2UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_46_id_gNBStatusIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_46_ignore } +}; +static const asn_ioc_set_t asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1[] = { + { 46, 5, asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1_rows } +}; +static int +memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2SuccessfulOutcome_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2SuccessfulOutcome_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 1; /* &X2SuccessfulOutcome */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2SuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.HandoverRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ResetResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResetResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResetResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.X2SetupResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ResourceStatusResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENBConfigurationUpdateAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdateAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdateAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.MobilityChangeAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityChangeAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityChangeAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.CellActivationResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellActivationResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellActivationResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SeNBAdditionRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBAdditionRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBAdditionRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SeNBModificationRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SeNBModificationConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SeNBReleaseConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBReleaseConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBReleaseConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.X2RemovalResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2RemovalResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2RemovalResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.RetrieveUEContextResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RetrieveUEContextResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RetrieveUEContextResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBAdditionRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBAdditionRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBAdditionRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBModificationRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBModificationConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBReleaseRequestAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReleaseRequestAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReleaseRequestAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBReleaseConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReleaseConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReleaseConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.SgNBChangeConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBChangeConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBChangeConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENDCX2SetupResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENDCConfigurationUpdateAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdateAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdateAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENDCCellActivationResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCCellActivationResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCCellActivationResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENDCPartialResetConfirm), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCPartialResetConfirm, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCPartialResetConfirm" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.EUTRANRCellResourceCoordinationResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EUTRANRCellResourceCoordinationResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "EUTRANRCellResourceCoordinationResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome__value, choice.ENDCX2RemovalResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2RemovalResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2RemovalResponse" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 24 }, /* HandoverRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 23 }, /* ResetResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 22 }, /* X2SetupResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 21 }, /* ResourceStatusResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 20 }, /* ENBConfigurationUpdateAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 19 }, /* MobilityChangeAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 18 }, /* CellActivationResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 17 }, /* SeNBAdditionRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 16 }, /* SeNBModificationRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 15 }, /* SeNBModificationConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 14 }, /* SeNBReleaseConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 13 }, /* X2RemovalResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 12 }, /* RetrieveUEContextResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 11 }, /* SgNBAdditionRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 10 }, /* SgNBModificationRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 9 }, /* SgNBModificationConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 16, -16, 8 }, /* SgNBReleaseRequestAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 17, -17, 7 }, /* SgNBReleaseConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 18, -18, 6 }, /* SgNBChangeConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 19, -19, 5 }, /* ENDCX2SetupResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 20, -20, 4 }, /* ENDCConfigurationUpdateAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 21, -21, 3 }, /* ENDCCellActivationResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 22, -22, 2 }, /* ENDCPartialResetConfirm */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 23, -23, 1 }, /* EUTRANRCellResourceCoordinationResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 24, -24, 0 } /* ENDCX2RemovalResponse */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct X2SuccessfulOutcome__value), + offsetof(struct X2SuccessfulOutcome__value, _asn_ctx), + offsetof(struct X2SuccessfulOutcome__value, present), + sizeof(((struct X2SuccessfulOutcome__value *)0)->present), + asn_MAP_value_tag2el_4, + 25, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 25, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2SuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2SuccessfulOutcome_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2SuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_X2SuccessfulOutcome_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2SuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2SuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2SuccessfulOutcome_specs_1 = { + sizeof(struct X2SuccessfulOutcome), + offsetof(struct X2SuccessfulOutcome, _asn_ctx), + asn_MAP_X2SuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2SuccessfulOutcome = { + "X2SuccessfulOutcome", + "X2SuccessfulOutcome", + &asn_OP_SEQUENCE, + asn_DEF_X2SuccessfulOutcome_tags_1, + sizeof(asn_DEF_X2SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_X2SuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_X2SuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_X2SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_X2SuccessfulOutcome_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2SuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_X2SuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2SuccessfulOutcome.h b/asn1c_defs/all-defs/X2SuccessfulOutcome.h new file mode 100755 index 0000000..f40fdc9 --- /dev/null +++ b/asn1c_defs/all-defs/X2SuccessfulOutcome.h @@ -0,0 +1,200 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2SuccessfulOutcome_H_ +#define _X2SuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "HandoverRequest.h" +#include "HandoverRequestAcknowledge.h" +#include "HandoverPreparationFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "MobilityChangeRequest.h" +#include "MobilityChangeAcknowledge.h" +#include "MobilityChangeFailure.h" +#include "CellActivationRequest.h" +#include "CellActivationResponse.h" +#include "CellActivationFailure.h" +#include "SeNBAdditionRequest.h" +#include "SeNBAdditionRequestAcknowledge.h" +#include "SeNBAdditionRequestReject.h" +#include "SeNBModificationRequest.h" +#include "SeNBModificationRequestAcknowledge.h" +#include "SeNBModificationRequestReject.h" +#include "SeNBModificationRequired.h" +#include "SeNBModificationConfirm.h" +#include "SeNBModificationRefuse.h" +#include "SeNBReleaseRequired.h" +#include "SeNBReleaseConfirm.h" +#include "X2RemovalRequest.h" +#include "X2RemovalResponse.h" +#include "X2RemovalFailure.h" +#include "RetrieveUEContextRequest.h" +#include "RetrieveUEContextResponse.h" +#include "RetrieveUEContextFailure.h" +#include "SgNBAdditionRequest.h" +#include "SgNBAdditionRequestAcknowledge.h" +#include "SgNBAdditionRequestReject.h" +#include "SgNBModificationRequest.h" +#include "SgNBModificationRequestAcknowledge.h" +#include "SgNBModificationRequestReject.h" +#include "SgNBModificationRequired.h" +#include "SgNBModificationConfirm.h" +#include "SgNBModificationRefuse.h" +#include "SgNBReleaseRequest.h" +#include "SgNBReleaseRequestAcknowledge.h" +#include "SgNBReleaseRequestReject.h" +#include "SgNBReleaseRequired.h" +#include "SgNBReleaseConfirm.h" +#include "SgNBChangeRequired.h" +#include "SgNBChangeConfirm.h" +#include "SgNBChangeRefuse.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ENDCCellActivationRequest.h" +#include "ENDCCellActivationResponse.h" +#include "ENDCCellActivationFailure.h" +#include "ENDCPartialResetRequired.h" +#include "ENDCPartialResetConfirm.h" +#include "EUTRANRCellResourceCoordinationRequest.h" +#include "EUTRANRCellResourceCoordinationResponse.h" +#include "ENDCX2RemovalRequest.h" +#include "ENDCX2RemovalResponse.h" +#include "ENDCX2RemovalFailure.h" +#include "SNStatusTransfer.h" +#include "UEContextRelease.h" +#include "HandoverCancel.h" +#include "ErrorIndication.h" +#include "ResourceStatusUpdate.h" +#include "LoadInformation.h" +#include "PrivateMessage.h" +#include "RLFIndication.h" +#include "HandoverReport.h" +#include "X2Release.h" +#include "X2APMessageTransfer.h" +#include "SeNBReconfigurationComplete.h" +#include "SeNBReleaseRequest.h" +#include "SeNBCounterCheckRequest.h" +#include "SgNBReconfigurationComplete.h" +#include "SgNBCounterCheckRequest.h" +#include "RRCTransfer.h" +#include "SecondaryRATDataUsageReport.h" +#include "SgNBActivityNotification.h" +#include "DataForwardingAddressIndication.h" +#include "GNBStatusIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum X2SuccessfulOutcome__value_PR { + X2SuccessfulOutcome__value_PR_NOTHING, /* No components present */ + X2SuccessfulOutcome__value_PR_HandoverRequestAcknowledge, + X2SuccessfulOutcome__value_PR_ResetResponse, + X2SuccessfulOutcome__value_PR_X2SetupResponse, + X2SuccessfulOutcome__value_PR_ResourceStatusResponse, + X2SuccessfulOutcome__value_PR_ENBConfigurationUpdateAcknowledge, + X2SuccessfulOutcome__value_PR_MobilityChangeAcknowledge, + X2SuccessfulOutcome__value_PR_CellActivationResponse, + X2SuccessfulOutcome__value_PR_SeNBAdditionRequestAcknowledge, + X2SuccessfulOutcome__value_PR_SeNBModificationRequestAcknowledge, + X2SuccessfulOutcome__value_PR_SeNBModificationConfirm, + X2SuccessfulOutcome__value_PR_SeNBReleaseConfirm, + X2SuccessfulOutcome__value_PR_X2RemovalResponse, + X2SuccessfulOutcome__value_PR_RetrieveUEContextResponse, + X2SuccessfulOutcome__value_PR_SgNBAdditionRequestAcknowledge, + X2SuccessfulOutcome__value_PR_SgNBModificationRequestAcknowledge, + X2SuccessfulOutcome__value_PR_SgNBModificationConfirm, + X2SuccessfulOutcome__value_PR_SgNBReleaseRequestAcknowledge, + X2SuccessfulOutcome__value_PR_SgNBReleaseConfirm, + X2SuccessfulOutcome__value_PR_SgNBChangeConfirm, + X2SuccessfulOutcome__value_PR_ENDCX2SetupResponse, + X2SuccessfulOutcome__value_PR_ENDCConfigurationUpdateAcknowledge, + X2SuccessfulOutcome__value_PR_ENDCCellActivationResponse, + X2SuccessfulOutcome__value_PR_ENDCPartialResetConfirm, + X2SuccessfulOutcome__value_PR_EUTRANRCellResourceCoordinationResponse, + X2SuccessfulOutcome__value_PR_ENDCX2RemovalResponse +} X2SuccessfulOutcome__value_PR; + +/* X2SuccessfulOutcome */ +typedef struct X2SuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct X2SuccessfulOutcome__value { + X2SuccessfulOutcome__value_PR present; + union X2SuccessfulOutcome__value_u { + HandoverRequestAcknowledge_t HandoverRequestAcknowledge; + ResetResponse_t ResetResponse; + X2SetupResponse_t X2SetupResponse; + ResourceStatusResponse_t ResourceStatusResponse; + ENBConfigurationUpdateAcknowledge_t ENBConfigurationUpdateAcknowledge; + MobilityChangeAcknowledge_t MobilityChangeAcknowledge; + CellActivationResponse_t CellActivationResponse; + SeNBAdditionRequestAcknowledge_t SeNBAdditionRequestAcknowledge; + SeNBModificationRequestAcknowledge_t SeNBModificationRequestAcknowledge; + SeNBModificationConfirm_t SeNBModificationConfirm; + SeNBReleaseConfirm_t SeNBReleaseConfirm; + X2RemovalResponse_t X2RemovalResponse; + RetrieveUEContextResponse_t RetrieveUEContextResponse; + SgNBAdditionRequestAcknowledge_t SgNBAdditionRequestAcknowledge; + SgNBModificationRequestAcknowledge_t SgNBModificationRequestAcknowledge; + SgNBModificationConfirm_t SgNBModificationConfirm; + SgNBReleaseRequestAcknowledge_t SgNBReleaseRequestAcknowledge; + SgNBReleaseConfirm_t SgNBReleaseConfirm; + SgNBChangeConfirm_t SgNBChangeConfirm; + ENDCX2SetupResponse_t ENDCX2SetupResponse; + ENDCConfigurationUpdateAcknowledge_t ENDCConfigurationUpdateAcknowledge; + ENDCCellActivationResponse_t ENDCCellActivationResponse; + ENDCPartialResetConfirm_t ENDCPartialResetConfirm; + EUTRANRCellResourceCoordinationResponse_t EUTRANRCellResourceCoordinationResponse; + ENDCX2RemovalResponse_t ENDCX2RemovalResponse; + } 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; +} X2SuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2SuccessfulOutcome; +extern asn_SEQUENCE_specifics_t asn_SPC_X2SuccessfulOutcome_specs_1; +extern asn_TYPE_member_t asn_MBR_X2SuccessfulOutcome_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2SuccessfulOutcome_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2SuccessfulOutcome.o b/asn1c_defs/all-defs/X2SuccessfulOutcome.o new file mode 100644 index 0000000000000000000000000000000000000000..e397bda8404115612d2306058494a0a2c66dc044 GIT binary patch literal 44552 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, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_X2UnsuccessfulOutcome_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2UnsuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_X2UnsuccessfulOutcome_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_X2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 2; /* &X2UnsuccessfulOutcome */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct X2UnsuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.HandoverPreparationFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HandoverPreparationFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "HandoverPreparationFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.X2SetupFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ResourceStatusFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ENBConfigurationUpdateFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdateFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdateFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.MobilityChangeFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MobilityChangeFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "MobilityChangeFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.CellActivationFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CellActivationFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "CellActivationFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SeNBAdditionRequestReject), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBAdditionRequestReject, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBAdditionRequestReject" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SeNBModificationRequestReject), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationRequestReject, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationRequestReject" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SeNBModificationRefuse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SeNBModificationRefuse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SeNBModificationRefuse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.X2RemovalFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2RemovalFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2RemovalFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.RetrieveUEContextFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RetrieveUEContextFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RetrieveUEContextFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SgNBAdditionRequestReject), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBAdditionRequestReject, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBAdditionRequestReject" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SgNBModificationRequestReject), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationRequestReject, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationRequestReject" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SgNBModificationRefuse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBModificationRefuse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBModificationRefuse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SgNBReleaseRequestReject), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBReleaseRequestReject, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBReleaseRequestReject" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.SgNBChangeRefuse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SgNBChangeRefuse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "SgNBChangeRefuse" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ENDCX2SetupFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ENDCConfigurationUpdateFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdateFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdateFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ENDCCellActivationFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCCellActivationFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCCellActivationFailure" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome__value, choice.ENDCX2RemovalFailure), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2RemovalFailure, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2RemovalFailure" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 19 }, /* HandoverPreparationFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 18 }, /* X2SetupFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 17 }, /* ResourceStatusFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 16 }, /* ENBConfigurationUpdateFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 15 }, /* MobilityChangeFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 14 }, /* CellActivationFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 13 }, /* SeNBAdditionRequestReject */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 12 }, /* SeNBModificationRequestReject */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 11 }, /* SeNBModificationRefuse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 10 }, /* X2RemovalFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 9 }, /* RetrieveUEContextFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 8 }, /* SgNBAdditionRequestReject */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 7 }, /* SgNBModificationRequestReject */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 6 }, /* SgNBModificationRefuse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 5 }, /* SgNBReleaseRequestReject */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 4 }, /* SgNBChangeRefuse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 16, -16, 3 }, /* ENDCX2SetupFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 17, -17, 2 }, /* ENDCConfigurationUpdateFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 18, -18, 1 }, /* ENDCCellActivationFailure */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 19, -19, 0 } /* ENDCX2RemovalFailure */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct X2UnsuccessfulOutcome__value), + offsetof(struct X2UnsuccessfulOutcome__value, _asn_ctx), + offsetof(struct X2UnsuccessfulOutcome__value, present), + sizeof(((struct X2UnsuccessfulOutcome__value *)0)->present), + asn_MAP_value_tag2el_4, + 20, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 20, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_X2UnsuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_X2UnsuccessfulOutcome_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct X2UnsuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_X2UnsuccessfulOutcome_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_X2UnsuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_X2UnsuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_X2UnsuccessfulOutcome_specs_1 = { + sizeof(struct X2UnsuccessfulOutcome), + offsetof(struct X2UnsuccessfulOutcome, _asn_ctx), + asn_MAP_X2UnsuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_X2UnsuccessfulOutcome = { + "X2UnsuccessfulOutcome", + "X2UnsuccessfulOutcome", + &asn_OP_SEQUENCE, + asn_DEF_X2UnsuccessfulOutcome_tags_1, + sizeof(asn_DEF_X2UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_X2UnsuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_X2UnsuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_X2UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_X2UnsuccessfulOutcome_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_X2UnsuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_X2UnsuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/X2UnsuccessfulOutcome.h b/asn1c_defs/all-defs/X2UnsuccessfulOutcome.h new file mode 100755 index 0000000..7ff5a25 --- /dev/null +++ b/asn1c_defs/all-defs/X2UnsuccessfulOutcome.h @@ -0,0 +1,190 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _X2UnsuccessfulOutcome_H_ +#define _X2UnsuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "HandoverRequest.h" +#include "HandoverRequestAcknowledge.h" +#include "HandoverPreparationFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "MobilityChangeRequest.h" +#include "MobilityChangeAcknowledge.h" +#include "MobilityChangeFailure.h" +#include "CellActivationRequest.h" +#include "CellActivationResponse.h" +#include "CellActivationFailure.h" +#include "SeNBAdditionRequest.h" +#include "SeNBAdditionRequestAcknowledge.h" +#include "SeNBAdditionRequestReject.h" +#include "SeNBModificationRequest.h" +#include "SeNBModificationRequestAcknowledge.h" +#include "SeNBModificationRequestReject.h" +#include "SeNBModificationRequired.h" +#include "SeNBModificationConfirm.h" +#include "SeNBModificationRefuse.h" +#include "SeNBReleaseRequired.h" +#include "SeNBReleaseConfirm.h" +#include "X2RemovalRequest.h" +#include "X2RemovalResponse.h" +#include "X2RemovalFailure.h" +#include "RetrieveUEContextRequest.h" +#include "RetrieveUEContextResponse.h" +#include "RetrieveUEContextFailure.h" +#include "SgNBAdditionRequest.h" +#include "SgNBAdditionRequestAcknowledge.h" +#include "SgNBAdditionRequestReject.h" +#include "SgNBModificationRequest.h" +#include "SgNBModificationRequestAcknowledge.h" +#include "SgNBModificationRequestReject.h" +#include "SgNBModificationRequired.h" +#include "SgNBModificationConfirm.h" +#include "SgNBModificationRefuse.h" +#include "SgNBReleaseRequest.h" +#include "SgNBReleaseRequestAcknowledge.h" +#include "SgNBReleaseRequestReject.h" +#include "SgNBReleaseRequired.h" +#include "SgNBReleaseConfirm.h" +#include "SgNBChangeRequired.h" +#include "SgNBChangeConfirm.h" +#include "SgNBChangeRefuse.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ENDCCellActivationRequest.h" +#include "ENDCCellActivationResponse.h" +#include "ENDCCellActivationFailure.h" +#include "ENDCPartialResetRequired.h" +#include "ENDCPartialResetConfirm.h" +#include "EUTRANRCellResourceCoordinationRequest.h" +#include "EUTRANRCellResourceCoordinationResponse.h" +#include "ENDCX2RemovalRequest.h" +#include "ENDCX2RemovalResponse.h" +#include "ENDCX2RemovalFailure.h" +#include "SNStatusTransfer.h" +#include "UEContextRelease.h" +#include "HandoverCancel.h" +#include "ErrorIndication.h" +#include "ResourceStatusUpdate.h" +#include "LoadInformation.h" +#include "PrivateMessage.h" +#include "RLFIndication.h" +#include "HandoverReport.h" +#include "X2Release.h" +#include "X2APMessageTransfer.h" +#include "SeNBReconfigurationComplete.h" +#include "SeNBReleaseRequest.h" +#include "SeNBCounterCheckRequest.h" +#include "SgNBReconfigurationComplete.h" +#include "SgNBCounterCheckRequest.h" +#include "RRCTransfer.h" +#include "SecondaryRATDataUsageReport.h" +#include "SgNBActivityNotification.h" +#include "DataForwardingAddressIndication.h" +#include "GNBStatusIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum X2UnsuccessfulOutcome__value_PR { + X2UnsuccessfulOutcome__value_PR_NOTHING, /* No components present */ + X2UnsuccessfulOutcome__value_PR_HandoverPreparationFailure, + X2UnsuccessfulOutcome__value_PR_X2SetupFailure, + X2UnsuccessfulOutcome__value_PR_ResourceStatusFailure, + X2UnsuccessfulOutcome__value_PR_ENBConfigurationUpdateFailure, + X2UnsuccessfulOutcome__value_PR_MobilityChangeFailure, + X2UnsuccessfulOutcome__value_PR_CellActivationFailure, + X2UnsuccessfulOutcome__value_PR_SeNBAdditionRequestReject, + X2UnsuccessfulOutcome__value_PR_SeNBModificationRequestReject, + X2UnsuccessfulOutcome__value_PR_SeNBModificationRefuse, + X2UnsuccessfulOutcome__value_PR_X2RemovalFailure, + X2UnsuccessfulOutcome__value_PR_RetrieveUEContextFailure, + X2UnsuccessfulOutcome__value_PR_SgNBAdditionRequestReject, + X2UnsuccessfulOutcome__value_PR_SgNBModificationRequestReject, + X2UnsuccessfulOutcome__value_PR_SgNBModificationRefuse, + X2UnsuccessfulOutcome__value_PR_SgNBReleaseRequestReject, + X2UnsuccessfulOutcome__value_PR_SgNBChangeRefuse, + X2UnsuccessfulOutcome__value_PR_ENDCX2SetupFailure, + X2UnsuccessfulOutcome__value_PR_ENDCConfigurationUpdateFailure, + X2UnsuccessfulOutcome__value_PR_ENDCCellActivationFailure, + X2UnsuccessfulOutcome__value_PR_ENDCX2RemovalFailure +} X2UnsuccessfulOutcome__value_PR; + +/* X2UnsuccessfulOutcome */ +typedef struct X2UnsuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct X2UnsuccessfulOutcome__value { + X2UnsuccessfulOutcome__value_PR present; + union X2UnsuccessfulOutcome__value_u { + HandoverPreparationFailure_t HandoverPreparationFailure; + X2SetupFailure_t X2SetupFailure; + ResourceStatusFailure_t ResourceStatusFailure; + ENBConfigurationUpdateFailure_t ENBConfigurationUpdateFailure; + MobilityChangeFailure_t MobilityChangeFailure; + CellActivationFailure_t CellActivationFailure; + SeNBAdditionRequestReject_t SeNBAdditionRequestReject; + SeNBModificationRequestReject_t SeNBModificationRequestReject; + SeNBModificationRefuse_t SeNBModificationRefuse; + X2RemovalFailure_t X2RemovalFailure; + RetrieveUEContextFailure_t RetrieveUEContextFailure; + SgNBAdditionRequestReject_t SgNBAdditionRequestReject; + SgNBModificationRequestReject_t SgNBModificationRequestReject; + SgNBModificationRefuse_t SgNBModificationRefuse; + SgNBReleaseRequestReject_t SgNBReleaseRequestReject; + SgNBChangeRefuse_t SgNBChangeRefuse; + ENDCX2SetupFailure_t ENDCX2SetupFailure; + ENDCConfigurationUpdateFailure_t ENDCConfigurationUpdateFailure; + ENDCCellActivationFailure_t ENDCCellActivationFailure; + ENDCX2RemovalFailure_t ENDCX2RemovalFailure; + } 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; +} X2UnsuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_X2UnsuccessfulOutcome; +extern asn_SEQUENCE_specifics_t asn_SPC_X2UnsuccessfulOutcome_specs_1; +extern asn_TYPE_member_t asn_MBR_X2UnsuccessfulOutcome_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _X2UnsuccessfulOutcome_H_ */ +#include diff --git a/asn1c_defs/all-defs/X2UnsuccessfulOutcome.o b/asn1c_defs/all-defs/X2UnsuccessfulOutcome.o new file mode 100644 index 0000000000000000000000000000000000000000..7c7d589d06de4f071a1a43649d9aa0b33d913354 GIT binary patch literal 43592 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 u{bTyE{drEb?|%T^gU)&Y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/asn_SEQUENCE_OF.c b/asn1c_defs/all-defs/asn_SEQUENCE_OF.c new file mode 100755 index 0000000..730c227 --- /dev/null +++ b/asn1c_defs/all-defs/asn_SEQUENCE_OF.c @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +typedef A_SEQUENCE_OF(void) asn_sequence; + +void +asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free) { + asn_sequence *as = (asn_sequence *)asn_sequence_of_x; + + if(as) { + void *ptr; + int n; + + if(number < 0 || number >= as->count) + return; /* Nothing to delete */ + + if(_do_free && as->free) { + ptr = as->array[number]; + } else { + ptr = 0; + } + + /* + * Shift all elements to the left to hide the gap. + */ + --as->count; + for(n = number; n < as->count; n++) + as->array[n] = as->array[n+1]; + + /* + * Invoke the third-party function only when the state + * of the parent structure is consistent. + */ + if(ptr) as->free(ptr); + } +} + diff --git a/asn1c_defs/all-defs/asn_SEQUENCE_OF.h b/asn1c_defs/all-defs/asn_SEQUENCE_OF.h new file mode 100755 index 0000000..e1ef2b1 --- /dev/null +++ b/asn1c_defs/all-defs/asn_SEQUENCE_OF.h @@ -0,0 +1,52 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_SEQUENCE_OF_H +#define ASN_SEQUENCE_OF_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * SEQUENCE OF is the same as SET OF with a tiny difference: + * the delete operation preserves the initial order of elements + * and thus MAY operate in non-constant time. + */ +#define A_SEQUENCE_OF(type) A_SET_OF(type) + +#define ASN_SEQUENCE_ADD(headptr, ptr) \ + asn_sequence_add((headptr), (ptr)) + +/*********************************************** + * Implementation of the SEQUENCE OF structure. + */ + +#define asn_sequence_add asn_set_add +#define asn_sequence_empty asn_set_empty + +/* + * Delete the element from the set by its number (base 0). + * This is NOT a constant-time operation. + * The order of elements is preserved. + * If _do_free is given AND the (*free) is initialized, the element + * will be freed using the custom (*free) function as well. + */ +void asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free); + +/* + * Cope with different conversions requirements to/from void in C and C++. + * This is mostly useful for support library. + */ +typedef A_SEQUENCE_OF(void) asn_anonymous_sequence_; +#define _A_SEQUENCE_FROM_VOID(ptr) ((asn_anonymous_sequence_ *)(ptr)) +#define _A_CSEQUENCE_FROM_VOID(ptr) ((const asn_anonymous_sequence_ *)(ptr)) + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_SEQUENCE_OF_H */ diff --git a/asn1c_defs/all-defs/asn_SEQUENCE_OF.o b/asn1c_defs/all-defs/asn_SEQUENCE_OF.o new file mode 100644 index 0000000000000000000000000000000000000000..e62e3d3d6a3a7b7c8ec6caffea6202b7e40defc4 GIT binary patch literal 1360 zcmbtS&1(};5T8w=U27om0~9J`1wjS-NT6clL4xTvi>!@RgBKxewp$8qQp~Xxb>JIpmpseS2S08k?weFYJY`)(s>o4zG!38t7Wx1Qyo5V*Q zX*;8-%qyZ}#10a%&ZcJfreb?m=e?fquWaA%ZtSZNoQQ%k`{W<+ z#4-FFB4?F(4t8_=M)i?7TQO&fX0<%cTp+~vp0&J&>s9BxrC}{YRHVs|Owau1b?(%F z`MkNW7o^3#HU~E6a0gh;_kp>~^}5$Utg*~JR+_1d``mFCfi=A)hj|Ot`KD9%M5q5# zV@RjB316rn${y@5{It+gT}FfW;TPGE2_a3ns$4~fe)NCk-#{+a%;Kkt>`!r3WPhn| zVo=&@-gnhe>~QWq!9ViWi2V?p@LaU3DkeJg7Zy|yZ9^2iC~)G@8%e&zX`XOzq8MV( oujHVd!jHINKH=fpBLsVbe}x=H!uy}WSQLL!4E0#yk{Raz1`P~(00000 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/asn_SET_OF.c b/asn1c_defs/all-defs/asn_SET_OF.c new file mode 100755 index 0000000..49650e2 --- /dev/null +++ b/asn1c_defs/all-defs/asn_SET_OF.c @@ -0,0 +1,88 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Add another element into the set. + */ +int +asn_set_add(void *asn_set_of_x, void *ptr) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as == 0 || ptr == 0) { + errno = EINVAL; /* Invalid arguments */ + return -1; + } + + /* + * Make sure there's enough space to insert an element. + */ + if(as->count == as->size) { + int _newsize = as->size ? (as->size << 1) : 4; + void *_new_arr; + _new_arr = REALLOC(as->array, _newsize * sizeof(as->array[0])); + if(_new_arr) { + as->array = (void **)_new_arr; + as->size = _newsize; + } else { + /* ENOMEM */ + return -1; + } + } + + as->array[as->count++] = ptr; + + return 0; +} + +void +asn_set_del(void *asn_set_of_x, int number, int _do_free) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as) { + void *ptr; + if(number < 0 || number >= as->count) + return; + + if(_do_free && as->free) { + ptr = as->array[number]; + } else { + ptr = 0; + } + + as->array[number] = as->array[--as->count]; + + /* + * Invoke the third-party function only when the state + * of the parent structure is consistent. + */ + if(ptr) as->free(ptr); + } +} + +/* + * Free the contents of the set, do not free the set itself. + */ +void +asn_set_empty(void *asn_set_of_x) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as) { + if(as->array) { + if(as->free) { + while(as->count--) + as->free(as->array[as->count]); + } + FREEMEM(as->array); + as->array = 0; + } + as->count = 0; + as->size = 0; + } + +} + diff --git a/asn1c_defs/all-defs/asn_SET_OF.h b/asn1c_defs/all-defs/asn_SET_OF.h new file mode 100755 index 0000000..4a21409 --- /dev/null +++ b/asn1c_defs/all-defs/asn_SET_OF.h @@ -0,0 +1,72 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_SET_OF_H +#define ASN_SET_OF_H + +#ifdef __cplusplus +#define A_SET_OF(type) \ + struct { \ + type **array; \ + int count; /* Meaningful size */ \ + int size; /* Allocated size */ \ + void (*free)(decltype(*array)); \ + } +#else /* C */ +#define A_SET_OF(type) \ + struct { \ + type **array; \ + int count; /* Meaningful size */ \ + int size; /* Allocated size */ \ + void (*free)(type *); \ + } +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define ASN_SET_ADD(headptr, ptr) \ + asn_set_add((headptr), (ptr)) + +/******************************************* + * Implementation of the SET OF structure. + */ + +/* + * Add another structure into the set by its pointer. + * RETURN VALUES: + * 0 for success and -1/errno for failure. + */ +int asn_set_add(void *asn_set_of_x, void *ptr); + +/* + * Delete the element from the set by its number (base 0). + * This is a constant-time operation. The order of elements before the + * deleted ones is guaranteed, the order of elements after the deleted + * one is NOT guaranteed. + * If _do_free is given AND the (*free) is initialized, the element + * will be freed using the custom (*free) function as well. + */ +void asn_set_del(void *asn_set_of_x, int number, int _do_free); + +/* + * Empty the contents of the set. Will free the elements, if (*free) is given. + * Will NOT free the set itself. + */ +void asn_set_empty(void *asn_set_of_x); + +/* + * Cope with different conversions requirements to/from void in C and C++. + * This is mostly useful for support library. + */ +typedef A_SET_OF(void) asn_anonymous_set_; +#define _A_SET_FROM_VOID(ptr) ((asn_anonymous_set_ *)(ptr)) +#define _A_CSET_FROM_VOID(ptr) ((const asn_anonymous_set_ *)(ptr)) + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_SET_OF_H */ diff --git a/asn1c_defs/all-defs/asn_SET_OF.o b/asn1c_defs/all-defs/asn_SET_OF.o new file mode 100644 index 0000000000000000000000000000000000000000..ee5c84f6065c58b45586589de5ff8148b1d9d982 GIT binary patch literal 2048 zcmbtU&1(}u6rUv3t~P8}5vd>02&GiewSkHs6-`o;j5S&?4SrSE?RIO`CedU9(Sr&# z!m9Kl8fNUgNV>erP7N^d~Y+O%er3lh1vJ!_dfI6nZ1?Fq=JC} z5fUH=$?u&&L9hC4#~d?8!laAPS}Q)D%d(5KwsOS!$~0=6l&JNC+MUBE!>p%18nBK@ z8LRJYbpGtQ_{2hY?`=%4H7k8DB49l4fCsf2pFu&jdA5sMNn)J~QzIuW&eylDr^YgU z`6;yczPmR@oUjJj2*J-anQ1Qau4Pv14{x+P8EwMeXjn&jD(zWQ_S*lh%j6 zjN0LsY=F+)QV82d?TuC%=9Ou!$u?0ttx)S->%+9#-FpWIB5m(7jNRU2Z6iyqZ`3}7 z_9(Tp3MTKik4p7;tMq6RlbkgFaGwxc#piA#6n( zBNFPf(2OiEko3sN{>VUXvQl7`$R2e_9o!kMIJ@Z0=w5YjNR4i9O84PK4gj{*@xXsUos^Y(!MNOWHx!p6a~;!b<({~#BxH$pDd46&_7vBcJHhSC zs8g~s7Yv@4rNavx_EmU>I>?unpEKlt!bk{yeiDL8ei9<9{a~ol`4`-Eht=|r6@mx*c=^LeuXSfR*FHGMp{v&?kk3Q?VKb4Hsk>3Ng4 z`)?J23P^$XB*p+kIm7vB@BVzZTfl+b#Y6zt3P1AVKCS^AOF3T%&^i_@% literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/asn_application.c b/asn1c_defs/all-defs/asn_application.c new file mode 100755 index 0000000..c2410d2 --- /dev/null +++ b/asn1c_defs/all-defs/asn_application.c @@ -0,0 +1,481 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +static asn_enc_rval_t asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, + const void *sptr, + asn_app_consume_bytes_f *callback, + void *callback_key); + + +struct callback_count_bytes_key { + asn_app_consume_bytes_f *callback; + void *callback_key; + size_t computed_size; +}; + +/* + * Encoder which just counts bytes that come through it. + */ +static int +callback_count_bytes_cb(const void *data, size_t size, void *keyp) { + struct callback_count_bytes_key *key = keyp; + int ret; + + ret = key->callback(data, size, key->callback_key); + if(ret >= 0) { + key->computed_size += size; + } + + return ret; +} + +struct overrun_encoder_key { + void *buffer; + size_t buffer_size; + size_t computed_size; +}; + +struct dynamic_encoder_key { + void *buffer; + size_t buffer_size; + size_t computed_size; +}; + +struct callback_failure_catch_key { + asn_app_consume_bytes_f *callback; + void *callback_key; + int callback_failed; +}; + +/* + * Encoder which doesn't stop counting bytes + * even if it reaches the end of the buffer. + */ +static int +overrun_encoder_cb(const void *data, size_t size, void *keyp) { + struct overrun_encoder_key *key = keyp; + + if(key->computed_size + size > key->buffer_size) { + /* + * Avoid accident on the next call: + * stop adding bytes to the buffer. + */ + key->buffer_size = 0; + } else { + memcpy((char *)key->buffer + key->computed_size, data, size); + } + key->computed_size += size; + + return 0; +} + +/* + * Encoder which dynamically allocates output, and continues + * to count even if allocation failed. + */ +static int +dynamic_encoder_cb(const void *data, size_t size, void *keyp) { + struct dynamic_encoder_key *key = keyp; + + if(key->buffer) { + if(key->computed_size + size >= key->buffer_size) { + void *p; + size_t new_size = key->buffer_size; + + do { + new_size *= 2; + } while(new_size <= key->computed_size + size); + + p = REALLOC(key->buffer, new_size); + if(p) { + key->buffer = p; + key->buffer_size = new_size; + } else { + FREEMEM(key->buffer); + key->buffer = 0; + key->buffer_size = 0; + key->computed_size += size; + return 0; + } + } + memcpy((char *)key->buffer + key->computed_size, data, size); + } + + key->computed_size += size; + + return 0; +} + +/* + * Encoder which help convert the application level encoder failure into EIO. + */ +static int +callback_failure_catch_cb(const void *data, size_t size, void *keyp) { + struct callback_failure_catch_key *key = keyp; + int ret; + + ret = key->callback(data, size, key->callback_key); + if(ret < 0) { + key->callback_failed = 1; + } + + return ret; +} + +asn_enc_rval_t +asn_encode(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, + const void *sptr, asn_app_consume_bytes_f *callback, void *callback_key) { + struct callback_failure_catch_key cb_key; + asn_enc_rval_t er = {0,0,0}; + + if(!callback) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + cb_key.callback = callback; + cb_key.callback_key = callback_key; + cb_key.callback_failed = 0; + + er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + callback_failure_catch_cb, &cb_key); + if(cb_key.callback_failed) { + assert(er.encoded == -1); + assert(errno == EBADF); + errno = EIO; + } + + return er; +} + +asn_enc_rval_t +asn_encode_to_buffer(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr, + void *buffer, size_t buffer_size) { + struct overrun_encoder_key buf_key; + asn_enc_rval_t er = {0,0,0}; + + if(buffer_size > 0 && !buffer) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + buf_key.buffer = buffer; + buf_key.buffer_size = buffer_size; + buf_key.computed_size = 0; + + er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + overrun_encoder_cb, &buf_key); + + if(er.encoded >= 0 && (size_t)er.encoded != buf_key.computed_size) { + ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE + " yet produced %" ASN_PRI_SIZE " bytes", + er.encoded, buf_key.computed_size); + assert(er.encoded < 0 || (size_t)er.encoded == buf_key.computed_size); + } + + return er; +} + +asn_encode_to_new_buffer_result_t +asn_encode_to_new_buffer(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr) { + struct dynamic_encoder_key buf_key; + asn_encode_to_new_buffer_result_t res; + + buf_key.buffer_size = 16; + buf_key.buffer = MALLOC(buf_key.buffer_size); + buf_key.computed_size = 0; + + res.result = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + dynamic_encoder_cb, &buf_key); + + if(res.result.encoded >= 0 + && (size_t)res.result.encoded != buf_key.computed_size) { + ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE + " yet produced %" ASN_PRI_SIZE " bytes", + res.result.encoded, buf_key.computed_size); + assert(res.result.encoded < 0 + || (size_t)res.result.encoded == buf_key.computed_size); + } + + res.buffer = buf_key.buffer; + + /* 0-terminate just in case. */ + if(res.buffer) { + assert(buf_key.computed_size < buf_key.buffer_size); + ((char *)res.buffer)[buf_key.computed_size] = '\0'; + } + + return res; +} + +static asn_enc_rval_t +asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_consume_bytes_f *callback, void *callback_key) { + asn_enc_rval_t er = {0,0,0}; + enum xer_encoder_flags_e xer_flags = XER_F_CANONICAL; + + (void)opt_codec_ctx; /* Parameters are not checked on encode yet. */ + + if(!td || !sptr) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + switch(syntax) { + case ATS_NONSTANDARD_PLAINTEXT: + if(td->op->print_struct) { + struct callback_count_bytes_key cb_key; + cb_key.callback = callback; + cb_key.callback_key = callback_key; + cb_key.computed_size = 0; + if(td->op->print_struct(td, sptr, 1, callback_count_bytes_cb, + &cb_key) + < 0 + || callback_count_bytes_cb("\n", 1, &cb_key) < 0) { + errno = EBADF; /* Structure has incorrect form. */ + er.encoded = -1; + er.failed_type = td; + er.structure_ptr = sptr; + } else { + er.encoded = cb_key.computed_size; + er.failed_type = 0; + er.structure_ptr = 0; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + + case ATS_RANDOM: + errno = ENOENT; /* Randomization doesn't make sense on output. */ + ASN__ENCODE_FAILED; + + case ATS_BER: + /* BER is a superset of DER. */ + /* Fall through. */ + case ATS_DER: + if(td->op->der_encoder) { + er = der_encode(td, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->der_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* DER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + case ATS_CER: + errno = ENOENT; /* Transfer syntax is not defined for any type. */ + ASN__ENCODE_FAILED; + +#ifdef ASN_DISABLE_OER_SUPPORT + case ATS_BASIC_OER: + case ATS_CANONICAL_OER: + errno = ENOENT; /* PER is not defined. */ + ASN__ENCODE_FAILED; + break; +#else /* ASN_DISABLE_OER_SUPPORT */ + case ATS_BASIC_OER: + /* CANONICAL-OER is a superset of BASIC-OER. */ + /* Fall through. */ + case ATS_CANONICAL_OER: + if(td->op->oer_encoder) { + er = oer_encode(td, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->oer_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* OER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#endif /* ASN_DISABLE_OER_SUPPORT */ + +#ifdef ASN_DISABLE_PER_SUPPORT + case ATS_UNALIGNED_BASIC_PER: + case ATS_UNALIGNED_CANONICAL_PER: + case ATS_ALIGNED_BASIC_PER: + case ATS_ALIGNED_CANONICAL_PER: + errno = ENOENT; /* PER is not defined. */ + ASN__ENCODE_FAILED; + break; +#else /* ASN_DISABLE_PER_SUPPORT */ + case ATS_UNALIGNED_BASIC_PER: + /* CANONICAL-UPER is a superset of BASIC-UPER. */ + /* Fall through. */ + case ATS_UNALIGNED_CANONICAL_PER: + if(td->op->uper_encoder) { + er = uper_encode(td, 0, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->uper_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* UPER is not defined for this type. */ + } + } else { + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + if(er.encoded == 0) { + /* Enforce "Complete Encoding" of X.691 #11.1 */ + if(callback("\0", 1, callback_key) < 0) { + errno = EBADF; + ASN__ENCODE_FAILED; + } + er.encoded = 8; /* Exactly 8 zero bits is added. */ + } + /* Convert bits into bytes */ + er.encoded = (er.encoded + 7) >> 3; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + case ATS_ALIGNED_BASIC_PER: + /* CANONICAL-APER is a superset of BASIC-APER. */ + /* Fall through. */ + case ATS_ALIGNED_CANONICAL_PER: + if(td->op->aper_encoder) { + er = aper_encode(td, 0, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->aper_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* APER is not defined for this type. */ + } + } else { + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + if(er.encoded == 0) { + /* Enforce "Complete Encoding" of X.691 #11.1 */ + if(callback("\0", 1, callback_key) < 0) { + errno = EBADF; + ASN__ENCODE_FAILED; + } + er.encoded = 8; /* Exactly 8 zero bits is added. */ + } + /* Convert bits into bytes */ + er.encoded = (er.encoded + 7) >> 3; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#endif /* ASN_DISABLE_PER_SUPPORT */ + + case ATS_BASIC_XER: + /* CANONICAL-XER is a superset of BASIC-XER. */ + xer_flags &= ~XER_F_CANONICAL; + xer_flags |= XER_F_BASIC; + /* Fall through. */ + case ATS_CANONICAL_XER: + if(td->op->xer_encoder) { + er = xer_encode(td, sptr, xer_flags, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->xer_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* XER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + + default: + errno = ENOENT; + ASN__ENCODE_FAILED; + } + + return er; +} + +asn_dec_rval_t +asn_decode(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, + void **sptr, const void *buffer, size_t size) { + if(!td || !td->op || !sptr || (size && !buffer)) { + ASN__DECODE_FAILED; + } + + switch(syntax) { + case ATS_CER: + case ATS_NONSTANDARD_PLAINTEXT: + default: + errno = ENOENT; + ASN__DECODE_FAILED; + + case ATS_RANDOM: + if(!td->op->random_fill) { + ASN__DECODE_FAILED; + } else { + if(asn_random_fill(td, sptr, 16000) == 0) { + asn_dec_rval_t ret = {RC_OK, 0}; + return ret; + } else { + ASN__DECODE_FAILED; + } + } + break; + + case ATS_DER: + case ATS_BER: + return ber_decode(opt_codec_ctx, td, sptr, buffer, size); + + case ATS_BASIC_OER: + case ATS_CANONICAL_OER: +#ifdef ASN_DISABLE_OER_SUPPORT + errno = ENOENT; + ASN__DECODE_FAILED; +#else + return oer_decode(opt_codec_ctx, td, sptr, buffer, size); +#endif + + case ATS_UNALIGNED_BASIC_PER: + case ATS_UNALIGNED_CANONICAL_PER: +#ifdef ASN_DISABLE_PER_SUPPORT + errno = ENOENT; + ASN__DECODE_FAILED; +#else + return uper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); +#endif + + case ATS_ALIGNED_BASIC_PER: + case ATS_ALIGNED_CANONICAL_PER: +#ifdef ASN_DISABLE_PER_SUPPORT + errno = ENOENT; + ASN__DECODE_FAILED; +#else + return aper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); +#endif + + case ATS_BASIC_XER: + case ATS_CANONICAL_XER: + return xer_decode(opt_codec_ctx, td, sptr, buffer, size); + } +} + diff --git a/asn1c_defs/all-defs/asn_application.h b/asn1c_defs/all-defs/asn_application.h new file mode 100755 index 0000000..4bf5be6 --- /dev/null +++ b/asn1c_defs/all-defs/asn_application.h @@ -0,0 +1,171 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Application-level ASN.1 callbacks. + */ +#ifndef ASN_APPLICATION_H +#define ASN_APPLICATION_H + +#include "asn_system.h" /* for platform-dependent types */ +#include "asn_codecs.h" /* for ASN.1 codecs specifics */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * A selection of ASN.1 Transfer Syntaxes to use with generalized + * encoders and decoders declared further in this .h file. + */ +enum asn_transfer_syntax { + /* Avoid appearance of a default transfer syntax. */ + ATS_INVALID = 0, + /* Plaintext output (not conforming to any standard), for debugging. */ + ATS_NONSTANDARD_PLAINTEXT, + /* Returns a randomly generated structure. */ + ATS_RANDOM, + /* + * X.690: + * BER: Basic Encoding Rules. + * DER: Distinguished Encoding Rules. + * CER: Canonical Encoding Rules. + * DER and CER are more strict variants of BER. + */ + ATS_BER, + ATS_DER, + ATS_CER, /* Only decoding is supported */ + /* + * X.696: + * OER: Octet Encoding Rules. + * CANONICAL-OER is a more strict variant of BASIC-OER. + */ + ATS_BASIC_OER, + ATS_CANONICAL_OER, + /* + * X.691: + * PER: Packed Encoding Rules. + * CANONICAL-PER is a more strict variant of BASIC-PER. + * NOTE: Produces or consumes a complete encoding (X.691 (08/2015) #11.1). + */ + ATS_UNALIGNED_BASIC_PER, + ATS_UNALIGNED_CANONICAL_PER, + ATS_ALIGNED_BASIC_PER, + ATS_ALIGNED_CANONICAL_PER, + /* + * X.693: + * XER: XML Encoding Rules. + * CANONICAL-XER is a more strict variant of BASIC-XER. + */ + ATS_BASIC_XER, + ATS_CANONICAL_XER +}; + +/* + * A generic encoder for any supported transfer syntax. + * RETURN VALUES: + * The (.encoded) field of the return value is REDEFINED to mean the following: + * >=0: The computed size of the encoded data. Can exceed the (buffer_size). + * -1: Error encoding the structure. See the error code in (errno): + * EINVAL: Incorrect parameters to the function, such as NULLs. + * ENOENT: Encoding transfer syntax is not defined (for this type). + * EBADF: The structure has invalid form or content constraint failed. + * The (.failed_type) and (.structure_ptr) MIGHT be set to the appropriate + * values at the place of failure, if at all possible. + * WARNING: The (.encoded) field of the return value can exceed the buffer_size. + * This is similar to snprintf(3) contract which might return values + * greater than the buffer size. + */ +asn_enc_rval_t asn_encode_to_buffer( + const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ + enum asn_transfer_syntax, + const struct asn_TYPE_descriptor_s *type_to_encode, + const void *structure_to_encode, void *buffer, size_t buffer_size); + +/* + * A variant of asn_encode_to_buffer() with automatically allocated buffer. + * RETURN VALUES: + * On success, returns a newly allocated (.buffer) containing the whole message. + * The message size is returned in (.result.encoded). + * On failure: + * (.buffer) is NULL, + * (.result.encoded) as in asn_encode_to_buffer(), + * The errno codes as in asn_encode_to_buffer(), plus the following: + * ENOMEM: Memory allocation failed due to system or internal limits. + * The user is responsible for freeing the (.buffer). + */ +typedef struct asn_encode_to_new_buffer_result_s { + void *buffer; /* NULL if failed to encode. */ + asn_enc_rval_t result; +} asn_encode_to_new_buffer_result_t; +asn_encode_to_new_buffer_result_t asn_encode_to_new_buffer( + const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ + enum asn_transfer_syntax, + const struct asn_TYPE_descriptor_s *type_to_encode, + const void *structure_to_encode); + + +/* + * Generic type of an application-defined callback to return various + * types of data to the application. + * EXPECTED RETURN VALUES: + * -1: Failed to consume bytes. Abort the mission. + * Non-negative return values indicate success, and ignored. + */ +typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, + void *application_specific_key); + + +/* + * A generic encoder for any supported transfer syntax. + * Returns the comprehensive encoding result descriptor (see asn_codecs.h). + * RETURN VALUES: + * The negative (.encoded) field of the return values is accompanied with the + * following error codes (errno): + * EINVAL: Incorrect parameters to the function, such as NULLs. + * ENOENT: Encoding transfer syntax is not defined (for this type). + * EBADF: The structure has invalid form or content constraint failed. + * EIO: The (callback) has returned negative value during encoding. + */ +asn_enc_rval_t asn_encode( + const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ + enum asn_transfer_syntax, + const struct asn_TYPE_descriptor_s *type_to_encode, + const void *structure_to_encode, + asn_app_consume_bytes_f *callback, void *callback_key); + + +/* + * A generic decoder for any supported transfer syntax. + */ +asn_dec_rval_t asn_decode( + const asn_codec_ctx_t *opt_codec_parameters, enum asn_transfer_syntax, + const struct asn_TYPE_descriptor_s *type_to_decode, + void **structure_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size /* Size of that buffer */ +); + + +/* + * A callback of this type is called whenever constraint validation fails + * on some ASN.1 type. See "constraints.h" for more details on constraint + * validation. + * This callback specifies a descriptor of the ASN.1 type which failed + * the constraint check, as well as human readable message on what + * particular constraint has failed. + */ +typedef void (asn_app_constraint_failed_f)(void *application_specific_key, + const struct asn_TYPE_descriptor_s *type_descriptor_which_failed, + const void *structure_which_failed_ptr, + const char *error_message_format, ...) CC_PRINTFLIKE(4, 5); + + +#ifdef __cplusplus +} +#endif + +#include "constr_TYPE.h" /* for asn_TYPE_descriptor_t */ + +#endif /* ASN_APPLICATION_H */ diff --git a/asn1c_defs/all-defs/asn_application.o b/asn1c_defs/all-defs/asn_application.o new file mode 100644 index 0000000000000000000000000000000000000000..6657d9bf2218a13fd632e018548bdce2b7828cd2 GIT binary patch literal 8704 zcmc&(eQaCR6@QLXYLf8mmJEVm)PRRvL5)oV1X?;fAMFiw+R!AUBa~Oiep#|6v1dQG zN!M**jw{|wMzv`g+mME|Nn>o%V5+o&rV$o~p<<|%!MY)_QSBq447IGA_*mvp$Kv)8@^6D|Wb$1r>+pxazRN3Qio|afF%gGV?4miwm5m0Q`;x zE>>X&OCongJ`ov+^mm)T!l8c2%n!lzwgfBGf6R}{%}$>`G?zPj(Vi>V>_RU~AWtzGLouvy)rhHn<~l zPh>~r-iQX%wfylU&c3_Q=>vaF1{LFbY<8c|(_=35n5UTeR@D3xA1Mk-L37mC5(Qpw zcdk@&&uoX$qvkqhZgxe%KPU3;Rb^E>73c@6xVq5M^XfSUHuU66?!3kocKTo*O}?o4 z?$6LTHhVifmB`cBh?HK<&#?mZf*G!<`^XI!BHvOsES^4FDh(eHQ|kqLo(JULuqU75 z-Xt^l2;~u3{sp6%748IY?FE(j2Vr0yVb)SC{so5M?I&?%7Qcfw@V2nS3wDHs9X;mr zQFHNMxHOGiNF{>QMd(C=%JSEJPL^I+#J?*t89p}Eit(b-AI z;#)9AWxv%noYuqgC4@`91B_oh$juHzT-BPed*%T8&yov*TqDZuBRTG$?qU%z@;tnfK6Az8-OrSqiyhGB%($B>_QIaT4e4F7AzMOoEPvFv23P;eg^sAeB6RI?9vjjO0!f}XNMl$m|Nve|RuNiskh-^vYVFgLtv<+R&a zq20ss5V_447~QO}!_{q`X1Bhw$B&jX$Lmnv{T?&luttRKVHS-xW_H1*Utq95Q|_5OYJiO5jm|E+?*j}z+}LkI$amut))>OigZdY~ z2rJ0*P+<(%;o*-K624%5&bWl-&XltEa_e(#7iKd>Wf|%;_A{6&Xt{V+F&9vuZ8RN{3m6aaQI0Eu7o=el_Rf=C-`+gK$Sf zycmvt+|NNUVRAWJ2OQaz%!FfXGel*d=fwTzneb1X(H#gThY)(7@`D~D%A-{>5N16HDA_`mk_&>#2?z1Cs zfDA&~d}?|Fp6joPyA0%co|{8+ixKFqrN2SZ(*b=Vo=oTo@9npH*MtB_Pb9J4)gI~G zh{pZjDVCYgEF(1|sZHp6w4vm@%512*ib6$v5l0LGQkOUVmnEudW%Zr5^AUjHvC>rvmZhcq(h?2@SbGNm|bY z;FldU%09N~slss{eO1Ttt}l;o&74Nx)X{O9*FP|noiMWATLP_t;F?gDw?dx}wFQE$ zfzWCTSDItL4Odi1oaP6Kk3<|dhcyeTROO+uEt?eRT%JLrbhY-T!oc()$?Fo zyV~+)XS?d1t#4QT4=n3cgZnRtsBO9Bcc`hl;RdxWq6Q<3<`4r43*gUZa4%jSrBX#ql0+cBI7zk#EPM!LBa&=aBlpcT$?`k_vJaq-_d7v0SKp)Vtm|#yGGMhe zAGGx#$a?To5!--~#xTg9B-sz3u53hK?1Z(tqj9I|n(xKtoelG<>#oMg zlHxOfp+Idywe`xWQZ)`|^*2Pt34hhd37YJ5F#vUvo~wxAI>Ir|ka!G2iI*Yd??n)Z z$DUP%QSmx*E;*G8&H=Xrf_fgO9v+WS-%EHenaX1eu&)t*gm4~DfFU`RbDj7o;0_q~ z5a&=72uDuOz!ULDtfs=>ETR5e!lwxr^Tno9X&`iI;Vf&d;D6=SbN%oh$IrF%4DsWE zC{rDer)3JRk4(!sZtZ^=Zz6n72BE%!@RSY5rjx%RE$z4j_&rM@-nza9zP1LAd$*dN ztu^q$8u+Jb;OQE8t_EJHfn!cy2@#Q^CF8jUX8f%h{NE@30~FE=WW~iIjZo#jpp8x#dU_%@78uQ>V}W2G6-yg| z(0MqN#MDG=d^AoM6|PUydbf4;_kU8`IIyLozkBNzO$)TP-rTBG@3`gW8XavnDS>E5 z5Fa<f@xeQ8!5YYJif(O>M76COH}-Y)YyFY-XqTpp>*Mj%6e#BRI&CazU2>F3 zJx!)6u~em=mFkHKtZ5m8dv|1)hMt704LCd*SBBHNE_nsUiDfc++OW7Jhr-2;E@n$X z={7fRsl@(-j#pC4GOG>?JDwWT4PD_T+QA{PRS1E6IyR9=j%&lCV`F@#)J5_CRVpz( z1j(2J? z-@7Fo&v1b!B>mS)_%4ZG)}NMeS^t!T<0mVjKSwyu>skq)mvDK$1L8aYUU|Ov5H9BX zF!UqEC0w@W(-M9u@CkbiNxy8*K?z?i@wd}?gZ9hzbQ3P@*$4edy%H|lbC-m-0H3fY zCh3>$8IkzW|3ZIK!e#xtB^>W!LjQCP{Vz-WsJ{(Y311`O`z8Da3CHn}(9ig@?uGE4gdmW>eUulPEVzur6@!yF^9BDwtN@`8 zkp#}anm`-Z2ua}9eX;T`DscW^AmH;NGmyZWX$%0Qs$=jCT@_zCsdu4w0Uq z1()%k65eXVQ-q846nb7H{p)S~C&`gv8-AMbP8;4!>%?sMdcvbNJWP164X-D>--f#g z-)_U32*1aMw-LV6h6{TVHr!AABR2ec!pCg*qlBky_zwy9+Hh*}ZwFWx{uk?KA6NM0 zVVj=Esl8ys#e1HJN1mFU);w}+xcB&NFXycZp4O^K*mU0 z<%p=I^|4sM&?gNgkcb&EB`}o9D1mem8^|7l+bevG0wxPv+SjJw$E$ID0>mehh920o zWnc}z@{y1}q7A2G<2o7gzZG5($0^b=R8|(I+Lvg3MTbXJsJt9X%uQixi(-xvil5GT z{4R^*2=|G+g1H`XN?TB~=&)^Efzxt`rh<6_b^f>VA&^C#H^NUQG5*yu2z4>OD7y&5 zxRL23**`CXP`CRp3|KY)EzpOAM@TXH57)@. + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Create a contiguous non-refillable bit data structure. + * Can be freed by FREEMEM(). + */ +asn_bit_data_t * +asn_bit_data_new_contiguous(const void *data, size_t size_bits) { + size_t size_bytes = (size_bits + 7) / 8; + asn_bit_data_t *pd; + uint8_t *bytes; + + /* Get the extensions map */ + pd = CALLOC(1, sizeof(*pd) + size_bytes + 1); + if(!pd) { + return NULL; + } + bytes = (void *)(((char *)pd) + sizeof(*pd)); + memcpy(bytes, data, size_bytes); + bytes[size_bytes] = 0; + pd->buffer = bytes; + pd->nboff = 0; + pd->nbits = size_bits; + + return pd; +} + + +char * +asn_bit_data_string(asn_bit_data_t *pd) { + static char buf[2][32]; + static int n; + n = (n+1) % 2; + snprintf(buf[n], sizeof(buf[n]), + "{m=%" ASN_PRI_SIZE " span %" ASN_PRI_SIZE "[%" ASN_PRI_SIZE + "..%" ASN_PRI_SIZE "] (%" ASN_PRI_SIZE ")}", + pd->moved, ((uintptr_t)(pd->buffer) & 0xf), pd->nboff, pd->nbits, + pd->nbits - pd->nboff); + return buf[n]; +} + +void +asn_get_undo(asn_bit_data_t *pd, int nbits) { + if((ssize_t)pd->nboff < nbits) { + assert((ssize_t)pd->nboff < nbits); + } else { + pd->nboff -= nbits; + pd->moved -= nbits; + } +} + +/* + * Extract a small number of bits (<= 31) from the specified PER data pointer. + */ +int32_t +asn_get_few_bits(asn_bit_data_t *pd, int nbits) { + size_t off; /* Next after last bit offset */ + ssize_t nleft; /* Number of bits left in this stream */ + uint32_t accum; + const uint8_t *buf; + + if(nbits < 0) + return -1; + + nleft = pd->nbits - pd->nboff; + if(nbits > nleft) { + int32_t tailv, vhead; + if(!pd->refill || nbits > 31) return -1; + /* Accumulate unused bytes before refill */ + ASN_DEBUG("Obtain the rest %d bits (want %d)", + (int)nleft, (int)nbits); + tailv = asn_get_few_bits(pd, nleft); + if(tailv < 0) return -1; + /* Refill (replace pd contents with new data) */ + if(pd->refill(pd)) + return -1; + nbits -= nleft; + vhead = asn_get_few_bits(pd, nbits); + /* Combine the rest of previous pd with the head of new one */ + tailv = (tailv << nbits) | vhead; /* Could == -1 */ + return tailv; + } + + /* + * Normalize position indicator. + */ + if(pd->nboff >= 8) { + pd->buffer += (pd->nboff >> 3); + pd->nbits -= (pd->nboff & ~0x07); + pd->nboff &= 0x07; + } + pd->moved += nbits; + pd->nboff += nbits; + off = pd->nboff; + buf = pd->buffer; + + /* + * Extract specified number of bits. + */ + if(off <= 8) + accum = nbits ? (buf[0]) >> (8 - off) : 0; + else if(off <= 16) + accum = ((buf[0] << 8) + buf[1]) >> (16 - off); + else if(off <= 24) + accum = ((buf[0] << 16) + (buf[1] << 8) + buf[2]) >> (24 - off); + else if(off <= 31) + accum = (((uint32_t)buf[0] << 24) + (buf[1] << 16) + + (buf[2] << 8) + (buf[3])) >> (32 - off); + else if(nbits <= 31) { + asn_bit_data_t tpd = *pd; + /* Here are we with our 31-bits limit plus 1..7 bits offset. */ + asn_get_undo(&tpd, nbits); + /* The number of available bits in the stream allow + * for the following operations to take place without + * invoking the ->refill() function */ + accum = asn_get_few_bits(&tpd, nbits - 24) << 24; + accum |= asn_get_few_bits(&tpd, 24); + } else { + asn_get_undo(pd, nbits); + return -1; + } + + accum &= (((uint32_t)1 << nbits) - 1); + + ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+ld[%d..%d]:%02x (%d) => 0x%x]", + (int)nbits, (int)nleft, + (int)pd->moved, + (((long)pd->buffer) & 0xf), + (int)pd->nboff, (int)pd->nbits, + ((pd->buffer != NULL)?pd->buffer[0]:0), + (int)(pd->nbits - pd->nboff), + (int)accum); + + return accum; +} + +/* + * Extract a large number of bits from the specified PER data pointer. + */ +int +asn_get_many_bits(asn_bit_data_t *pd, uint8_t *dst, int alright, int nbits) { + int32_t value; + + if(alright && (nbits & 7)) { + /* Perform right alignment of a first few bits */ + value = asn_get_few_bits(pd, nbits & 0x07); + if(value < 0) return -1; + *dst++ = value; /* value is already right-aligned */ + nbits &= ~7; + } + + while(nbits) { + if(nbits >= 24) { + value = asn_get_few_bits(pd, 24); + if(value < 0) return -1; + *(dst++) = value >> 16; + *(dst++) = value >> 8; + *(dst++) = value; + nbits -= 24; + } else { + value = asn_get_few_bits(pd, nbits); + if(value < 0) return -1; + if(nbits & 7) { /* implies left alignment */ + value <<= 8 - (nbits & 7), + nbits += 8 - (nbits & 7); + if(nbits > 24) + *dst++ = value >> 24; + } + if(nbits > 16) + *dst++ = value >> 16; + if(nbits > 8) + *dst++ = value >> 8; + *dst++ = value; + break; + } + } + + return 0; +} + +/* + * Put a small number of bits (<= 31). + */ +int +asn_put_few_bits(asn_bit_outp_t *po, uint32_t bits, int obits) { + size_t off; /* Next after last bit offset */ + size_t omsk; /* Existing last byte meaningful bits mask */ + uint8_t *buf; + + if(obits <= 0 || obits >= 32) return obits ? -1 : 0; + + ASN_DEBUG("[PER put %d bits %x to %p+%d bits]", + obits, (int)bits, (void *)po->buffer, (int)po->nboff); + + /* + * Normalize position indicator. + */ + if(po->nboff >= 8) { + po->buffer += (po->nboff >> 3); + po->nbits -= (po->nboff & ~0x07); + po->nboff &= 0x07; + } + + /* + * Flush whole-bytes output, if necessary. + */ + if(po->nboff + obits > po->nbits) { + size_t complete_bytes; + if(!po->buffer) po->buffer = po->tmpspace; + complete_bytes = (po->buffer - po->tmpspace); + ASN_DEBUG("[PER output %ld complete + %ld]", + (long)complete_bytes, (long)po->flushed_bytes); + if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) + return -1; + if(po->nboff) + po->tmpspace[0] = po->buffer[0]; + po->buffer = po->tmpspace; + po->nbits = 8 * sizeof(po->tmpspace); + po->flushed_bytes += complete_bytes; + } + + /* + * Now, due to sizeof(tmpspace), we are guaranteed large enough space. + */ + buf = po->buffer; + omsk = ~((1 << (8 - po->nboff)) - 1); + off = (po->nboff + obits); + + /* Clear data of debris before meaningful bits */ + bits &= (((uint32_t)1 << obits) - 1); + + ASN_DEBUG("[PER out %d %u/%x (t=%d,o=%d) %x&%x=%x]", obits, + (int)bits, (int)bits, + (int)po->nboff, (int)off, + buf[0], (int)(omsk&0xff), + (int)(buf[0] & omsk)); + + if(off <= 8) /* Completely within 1 byte */ + po->nboff = off, + bits <<= (8 - off), + buf[0] = (buf[0] & omsk) | bits; + else if(off <= 16) + po->nboff = off, + bits <<= (16 - off), + buf[0] = (buf[0] & omsk) | (bits >> 8), + buf[1] = bits; + else if(off <= 24) + po->nboff = off, + bits <<= (24 - off), + buf[0] = (buf[0] & omsk) | (bits >> 16), + buf[1] = bits >> 8, + buf[2] = bits; + else if(off <= 31) + po->nboff = off, + bits <<= (32 - off), + buf[0] = (buf[0] & omsk) | (bits >> 24), + buf[1] = bits >> 16, + buf[2] = bits >> 8, + buf[3] = bits; + else { + if(asn_put_few_bits(po, bits >> (obits - 24), 24)) return -1; + if(asn_put_few_bits(po, bits, obits - 24)) return -1; + } + + ASN_DEBUG("[PER out %u/%x => %02x buf+%ld]", + (int)bits, (int)bits, buf[0], + (long)(po->buffer - po->tmpspace)); + + return 0; +} + + +/* + * Output a large number of bits. + */ +int +asn_put_many_bits(asn_bit_outp_t *po, const uint8_t *src, int nbits) { + + while(nbits) { + uint32_t value; + + if(nbits >= 24) { + value = (src[0] << 16) | (src[1] << 8) | src[2]; + src += 3; + nbits -= 24; + if(asn_put_few_bits(po, value, 24)) + return -1; + } else { + value = src[0]; + if(nbits > 8) + value = (value << 8) | src[1]; + if(nbits > 16) + value = (value << 8) | src[2]; + if(nbits & 0x07) + value >>= (8 - (nbits & 0x07)); + if(asn_put_few_bits(po, value, nbits)) + return -1; + break; + } + } + + return 0; +} + + +int +asn_put_aligned_flush(asn_bit_outp_t *po) { + uint32_t unused_bits = (0x7 & (8 - (po->nboff & 0x07))); + size_t complete_bytes = + (po->buffer ? po->buffer - po->tmpspace : 0) + ((po->nboff + 7) >> 3); + + if(unused_bits) { + po->buffer[po->nboff >> 3] &= ~0u << unused_bits; + } + + if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) { + return -1; + } else { + po->buffer = po->tmpspace; + po->nboff = 0; + po->nbits = 8 * sizeof(po->tmpspace); + po->flushed_bytes += complete_bytes; + return 0; + } +} + diff --git a/asn1c_defs/all-defs/asn_bit_data.h b/asn1c_defs/all-defs/asn_bit_data.h new file mode 100755 index 0000000..8447df6 --- /dev/null +++ b/asn1c_defs/all-defs/asn_bit_data.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_BIT_DATA +#define ASN_BIT_DATA + +#include /* Platform-specific types */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This structure describes a position inside an incoming PER bit stream. + */ +typedef struct asn_bit_data_s { + const uint8_t *buffer; /* Pointer to the octet stream */ + size_t nboff; /* Bit offset to the meaningful bit */ + size_t nbits; /* Number of bits in the stream */ + size_t moved; /* Number of bits moved through this bit stream */ + int (*refill)(struct asn_bit_data_s *); + void *refill_key; +} asn_bit_data_t; + +/* + * Create a contiguous non-refillable bit data structure. + * Can be freed by FREEMEM(). + */ +asn_bit_data_t *asn_bit_data_new_contiguous(const void *data, size_t size_bits); + +/* + * Extract a small number of bits (<= 31) from the specified PER data pointer. + * This function returns -1 if the specified number of bits could not be + * extracted due to EOD or other conditions. + */ +int32_t asn_get_few_bits(asn_bit_data_t *, int get_nbits); + +/* Undo the immediately preceeding "get_few_bits" operation */ +void asn_get_undo(asn_bit_data_t *, int get_nbits); + +/* + * Extract a large number of bits from the specified PER data pointer. + * This function returns -1 if the specified number of bits could not be + * extracted due to EOD or other conditions. + */ +int asn_get_many_bits(asn_bit_data_t *, uint8_t *dst, int right_align, + int get_nbits); + +/* Non-thread-safe debugging function, don't use it */ +char *asn_bit_data_string(asn_bit_data_t *); + +/* + * This structure supports forming bit output. + */ +typedef struct asn_bit_outp_s { + uint8_t *buffer; /* Pointer into the (tmpspace) */ + size_t nboff; /* Bit offset to the meaningful bit */ + size_t nbits; /* Number of bits left in (tmpspace) */ + uint8_t tmpspace[32]; /* Preliminary storage to hold data */ + int (*output)(const void *data, size_t size, void *op_key); + void *op_key; /* Key for (output) data callback */ + size_t flushed_bytes; /* Bytes already flushed through (output) */ +} asn_bit_outp_t; + +/* Output a small number of bits (<= 31) */ +int asn_put_few_bits(asn_bit_outp_t *, uint32_t bits, int obits); + +/* Output a large number of bits */ +int asn_put_many_bits(asn_bit_outp_t *, const uint8_t *src, int put_nbits); + +/* + * Flush whole bytes (0 or more) through (outper) member. + * The least significant bits which are not used are guaranteed to be set to 0. + * Returns -1 if callback returns -1. Otherwise, 0. + */ +int asn_put_aligned_flush(asn_bit_outp_t *); + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_BIT_DATA */ diff --git a/asn1c_defs/all-defs/asn_bit_data.o b/asn1c_defs/all-defs/asn_bit_data.o new file mode 100644 index 0000000000000000000000000000000000000000..93d7f5d86e78469f49570e3134032e45a3075972 GIT binary patch literal 5160 zcmbtXZ%|X&6@M>56O5Y|tzEKzD#5Z2X?HV8u`9N_HID?i)L8!n>Tao<4H48X1WFS8 zTX5zXHg{qwo$1av(=VOrbf#ZA(+@5F`Ct=K>~yNK;#S%Z6`jiRM_FB0aIHwsx$iy* zG4@Lj^WHu8cYo*HbMHOpzR+FetJaC4pou7aPgv+_s34447IZgL-NFmPazU<_>uTv2 z^&}NG_-pCxpV63P?&^th$4F8!*BFvXJWXhSbS+5{C!rHQIz{LeHZtJ-rc)qPPcC|l z$n?>Wg(&BZgbp|Clz%Mm?3aq&LbF3EK8nLaatXfuB=t3HNpg$DmtxRa8}ya5NY7;^ zip4=?M6?f*IiLMT!blU{!=tiI^Pm87FZ-U~b zQ!Jc#nqH6+rRag)nDg7>X(|39^s4N40PxaL#`4meL$?dZNb+!L#V%6*7K=cNA44A|UFFDM1oW0CCMQVVJ})NI|$@JL}cU#V42MN7vBy-nz6Z2!-y3xzcMjP^4`TV3HW zU*G!>6dS?Jj$g(4c~Va=`3ZdxHPOq;s6mSV7GjFujkzZG^Yt*lKKdy$jHmbSqvsMK zktqH8%wtQ!KdaoeCOmV|T4lDVdx%bDF*nl*<(47(COaPc$Ks`-5oOlewU(X(YcccK zn()uj3`zOL%$JsgiKKocCe|eM4X!lQU%xVI>AtDV8oTZi`p?N*y$x(*aYQ|5EuK#k zdgb;b^f>O#KEG7uobqV(KI7zzDj(|Ls`OEMW|-T{JLDhY9U{|*^?sRNgOXr32bNiK zJrpq929FG#YY2px8He<|3>r(%n~Jsc8;MW*QW2|k z6zj!jpRT1dB~3GGmrRHJtBxqbsczt^A%GfcuAA zV?Efx8f-^r=`FnYZ}6OfG?4lr6UJ*HVbprv z2-@QN9FqWLfV4@cn5}B=+r+Y8Bg3~GQdPzE2-kcdQLf;~tobDeb(x{5$t$jOe{-)~SMN*hw)*i4a2D1D z8CV2457|vWnfZs$ew)Ov5~=DTN$oMPrNxoL<>Br~Qz3%fHnH0rj&{R_!VSedhA z-d{$<4~UO`9nPPBNVVL>T#8=%^XsiN>BxM?W7=dk_7D8ciT1cI zkPq<%!5+h->d{v*Uq1m8ne7qm?*A4HsX(|tmye~-`wLYN^zfHY^x!F<=mquzZ_yB* zn+SY2M>WeLj&pc^+y;OSEZm&P&Xtq&ftew?74pP`s9so#%_4aldMmT` zp^=Zi3oWi8SK0u`hj%^)hr(z6+qolFd!YZ~Is9J(j`7@s7DcPS--C|0h36QnLBR0t z%NNfT&Uf>pWOWDFO^)06K5I4gImh4UTf}l0umYG5=XLTUVEG8R5R8NajeDbkUBPJ3 z5fZ|Vb?clPgvMAiDiv(FJr)f#H|;}O#L*t?h&r5t!{>1>vJHfR5o!xZ_wJ6h#UetW z#~DfzX~0 z7-e@;G!P5#YMbw9!5}#r41IviKyz?!%RHks7(T$_Wk~h{=7DD^!Ir(d!%e#a%`LIW z9^4y{HEP2uMgsi_ese(H%EIy7G`xf3I%x4|G~U4+T;s>HaJ&OF{5M&6wjb^M5nGwX z$6rz?x%1+GSQ?JsBF#Vk1C$S6&hrfYWb;=)2e05b#`9HpH2*(+4*yrr!9{cck~{CW zc^)H9F2i3pC4HdeYoaycpl zN2sl}wJ8jga9gy=QS*cPH&}@P53QT_1e!a7txamM|Hs<~wz#z1o7fE)%E_FoKKE{W z1vt1xZg{fAVpe-6_`WTJE~?rW!pg~OInL9Gqk=G#Gp{zl-DzFnb}J# z*;~22GiM;zEq+(?o!{^9k^~u68v)M`Z8dxC{4n;MDVW6(GyrMmgLo&t08g%cAz;s( g9bosC!wcl)oXyGU3M+t<&;AHc)IH40!YkMQzlq4F!vFvP literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/asn_codecs.h b/asn1c_defs/all-defs/asn_codecs.h new file mode 100755 index 0000000..5a6d9f7 --- /dev/null +++ b/asn1c_defs/all-defs/asn_codecs.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_CODECS_H +#define ASN_CODECS_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * This structure defines a set of parameters that may be passed + * to every ASN.1 encoder or decoder function. + * WARNING: if max_stack_size member is set, and you are calling the + * function pointers of the asn_TYPE_descriptor_t directly, + * this structure must be ALLOCATED ON THE STACK! + * If you can't always satisfy this requirement, use ber_decode(), + * xer_decode() and uper_decode() functions instead. + */ +typedef struct asn_codec_ctx_s { + /* + * Limit the decoder routines to use no (much) more stack than a given + * number of bytes. Most of decoders are stack-based, and this + * would protect against stack overflows if the number of nested + * encodings is high. + * The OCTET STRING, BIT STRING and ANY BER decoders are heap-based, + * and are safe from this kind of overflow. + * A value from getrlimit(RLIMIT_STACK) may be used to initialize + * this variable. Be careful in multithreaded environments, as the + * stack size is rather limited. + */ + size_t max_stack_size; /* 0 disables stack bounds checking */ +} asn_codec_ctx_t; + +/* + * Type of the return value of the encoding functions (der_encode, xer_encode). + */ +typedef struct asn_enc_rval_s { + /* + * Number of bytes encoded. + * -1 indicates failure to encode the structure. + * In this case, the members below this one are meaningful. + */ + ssize_t encoded; + + /* + * Members meaningful when (encoded == -1), for post mortem analysis. + */ + + /* Type which cannot be encoded */ + const struct asn_TYPE_descriptor_s *failed_type; + + /* Pointer to the structure of that type */ + const void *structure_ptr; +} asn_enc_rval_t; +#define ASN__ENCODE_FAILED do { \ + asn_enc_rval_t tmp_error; \ + tmp_error.encoded = -1; \ + tmp_error.failed_type = td; \ + tmp_error.structure_ptr = sptr; \ + ASN_DEBUG("Failed to encode element %s", td ? td->name : ""); \ + return tmp_error; \ +} while(0) +#define ASN__ENCODED_OK(rval) do { \ + rval.structure_ptr = 0; \ + rval.failed_type = 0; \ + return rval; \ +} while(0) + +/* + * Type of the return value of the decoding functions (ber_decode, xer_decode) + * + * Please note that the number of consumed bytes is ALWAYS meaningful, + * even if code==RC_FAIL. This is to indicate the number of successfully + * decoded bytes, hence providing a possibility to fail with more diagnostics + * (i.e., print the offending remainder of the buffer). + */ +enum asn_dec_rval_code_e { + RC_OK, /* Decoded successfully */ + RC_WMORE, /* More data expected, call again */ + RC_FAIL /* Failure to decode data */ +}; +typedef struct asn_dec_rval_s { + enum asn_dec_rval_code_e code; /* Result code */ + size_t consumed; /* Number of bytes consumed */ +} asn_dec_rval_t; +#define ASN__DECODE_FAILED do { \ + asn_dec_rval_t tmp_error; \ + tmp_error.code = RC_FAIL; \ + tmp_error.consumed = 0; \ + ASN_DEBUG("Failed to decode element %s", td ? td->name : ""); \ + return tmp_error; \ +} while(0) +#define ASN__DECODE_STARVED do { \ + asn_dec_rval_t tmp_error; \ + tmp_error.code = RC_WMORE; \ + tmp_error.consumed = 0; \ + return tmp_error; \ +} while(0) + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_CODECS_H */ diff --git a/asn1c_defs/all-defs/asn_codecs_prim.c b/asn1c_defs/all-defs/asn_codecs_prim.c new file mode 100755 index 0000000..37affd4 --- /dev/null +++ b/asn1c_defs/all-defs/asn_codecs_prim.c @@ -0,0 +1,317 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Decode an always-primitive type. + */ +asn_dec_rval_t +ber_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buf_ptr, size_t size, int tag_mode) { + ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)*sptr; + asn_dec_rval_t rval; + ber_tlv_len_t length = 0; /* =0 to avoid [incorrect] warning. */ + + /* + * If the structure is not there, allocate it. + */ + if(st == NULL) { + st = (ASN__PRIMITIVE_TYPE_t *)CALLOC(1, sizeof(*st)); + if(st == NULL) ASN__DECODE_FAILED; + *sptr = (void *)st; + } + + ASN_DEBUG("Decoding %s as plain primitive (tm=%d)", + td->name, tag_mode); + + /* + * Check tags and extract value length. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("%s length is %d bytes", td->name, (int)length); + + /* + * Make sure we have this length. + */ + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + st->size = (int)length; + /* The following better be optimized away. */ + if(sizeof(st->size) != sizeof(length) + && (ber_tlv_len_t)st->size != length) { + st->size = 0; + ASN__DECODE_FAILED; + } + + st->buf = (uint8_t *)MALLOC(length + 1); + if(!st->buf) { + st->size = 0; + ASN__DECODE_FAILED; + } + + memcpy(st->buf, buf_ptr, length); + st->buf[length] = '\0'; /* Just in case */ + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s", + (long)rval.consumed, + (long)length, td->name); + + return rval; +} + +/* + * Encode an always-primitive type using DER. + */ +asn_enc_rval_t +der_encode_primitive(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + const ASN__PRIMITIVE_TYPE_t *st = (const ASN__PRIMITIVE_TYPE_t *)sptr; + + ASN_DEBUG("%s %s as a primitive type (tm=%d)", + cb?"Encoding":"Estimating", td->name, tag_mode); + + erval.encoded = der_write_tags(td, st->size, tag_mode, 0, tag, + cb, app_key); + ASN_DEBUG("%s wrote tags %d", td->name, (int)erval.encoded); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + + if(cb && st->buf) { + if(cb(st->buf, st->size, app_key) < 0) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + } else { + assert(st->buf || st->size == 0); + } + + erval.encoded += st->size; + ASN__ENCODED_OK(erval); +} + +void +ASN__PRIMITIVE_TYPE_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)sptr; + + if(!td || !sptr) + return; + + ASN_DEBUG("Freeing %s as a primitive type", td->name); + + if(st->buf) + FREEMEM(st->buf); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(sptr, 0, sizeof(ASN__PRIMITIVE_TYPE_t)); + break; + } +} + + +/* + * Local internal type passed around as an argument. + */ +struct xdp_arg_s { + const asn_TYPE_descriptor_t *type_descriptor; + void *struct_key; + xer_primitive_body_decoder_f *prim_body_decoder; + int decoded_something; + int want_more; +}; + +/* + * Since some kinds of primitive values can be encoded using value-specific + * tags (, , etc), the primitive decoder must + * be supplied with such tags to parse them as needed. + */ +static int +xer_decode__unexpected_tag(void *key, const void *chunk_buf, size_t chunk_size) { + struct xdp_arg_s *arg = (struct xdp_arg_s *)key; + enum xer_pbd_rval bret; + + /* + * The chunk_buf is guaranteed to start at '<'. + */ + assert(chunk_size && ((const char *)chunk_buf)[0] == 0x3c); + + /* + * Decoding was performed once already. Prohibit doing it again. + */ + if(arg->decoded_something) + return -1; + + bret = arg->prim_body_decoder(arg->type_descriptor, + arg->struct_key, chunk_buf, chunk_size); + switch(bret) { + case XPBD_SYSTEM_FAILURE: + case XPBD_DECODER_LIMIT: + case XPBD_BROKEN_ENCODING: + break; + case XPBD_BODY_CONSUMED: + /* Tag decoded successfully */ + arg->decoded_something = 1; + /* Fall through */ + case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ + return 0; + } + + return -1; +} + +static ssize_t +xer_decode__primitive_body(void *key, const void *chunk_buf, size_t chunk_size, int have_more) { + struct xdp_arg_s *arg = (struct xdp_arg_s *)key; + enum xer_pbd_rval bret; + size_t lead_wsp_size; + + if(arg->decoded_something) { + if(xer_whitespace_span(chunk_buf, chunk_size) == chunk_size) { + /* + * Example: + * "123 " + * ^- chunk_buf position. + */ + return chunk_size; + } + /* + * Decoding was done once already. Prohibit doing it again. + */ + return -1; + } + + if(!have_more) { + /* + * If we've received something like "1", we can't really + * tell whether it is really `1` or `123`, until we know + * that there is no more data coming. + * The have_more argument will be set to 1 once something + * like this is available to the caller of this callback: + * "1want_more = 1; + return -1; + } + + lead_wsp_size = xer_whitespace_span(chunk_buf, chunk_size); + chunk_buf = (const char *)chunk_buf + lead_wsp_size; + chunk_size -= lead_wsp_size; + + bret = arg->prim_body_decoder(arg->type_descriptor, + arg->struct_key, chunk_buf, chunk_size); + switch(bret) { + case XPBD_SYSTEM_FAILURE: + case XPBD_DECODER_LIMIT: + case XPBD_BROKEN_ENCODING: + break; + case XPBD_BODY_CONSUMED: + /* Tag decoded successfully */ + arg->decoded_something = 1; + /* Fall through */ + case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ + return lead_wsp_size + chunk_size; + } + + return -1; +} + + +asn_dec_rval_t +xer_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + size_t struct_size, const char *opt_mname, + const void *buf_ptr, size_t size, + xer_primitive_body_decoder_f *prim_body_decoder) { + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + asn_struct_ctx_t s_ctx; + struct xdp_arg_s s_arg; + asn_dec_rval_t rc; + + /* + * Create the structure if does not exist. + */ + if(!*sptr) { + *sptr = CALLOC(1, struct_size); + if(!*sptr) ASN__DECODE_FAILED; + } + + memset(&s_ctx, 0, sizeof(s_ctx)); + s_arg.type_descriptor = td; + s_arg.struct_key = *sptr; + s_arg.prim_body_decoder = prim_body_decoder; + s_arg.decoded_something = 0; + s_arg.want_more = 0; + + rc = xer_decode_general(opt_codec_ctx, &s_ctx, &s_arg, + xml_tag, buf_ptr, size, + xer_decode__unexpected_tag, xer_decode__primitive_body); + switch(rc.code) { + case RC_OK: + if(!s_arg.decoded_something) { + char ch; + ASN_DEBUG("Primitive body is not recognized, " + "supplying empty one"); + /* + * Decoding opportunity has come and gone. + * Where's the result? + * Try to feed with empty body, see if it eats it. + */ + if(prim_body_decoder(s_arg.type_descriptor, + s_arg.struct_key, &ch, 0) + != XPBD_BODY_CONSUMED) { + /* + * This decoder does not like empty stuff. + */ + ASN__DECODE_FAILED; + } + } + break; + case RC_WMORE: + /* + * Redo the whole thing later. + * We don't have a context to save intermediate parsing state. + */ + rc.consumed = 0; + break; + case RC_FAIL: + rc.consumed = 0; + if(s_arg.want_more) + rc.code = RC_WMORE; + else + ASN__DECODE_FAILED; + break; + } + return rc; +} + diff --git a/asn1c_defs/all-defs/asn_codecs_prim.h b/asn1c_defs/all-defs/asn_codecs_prim.h new file mode 100755 index 0000000..09bcec5 --- /dev/null +++ b/asn1c_defs/all-defs/asn_codecs_prim.h @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_CODECS_PRIM_H +#define ASN_CODECS_PRIM_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ASN__PRIMITIVE_TYPE_s { + uint8_t *buf; /* Buffer with consecutive primitive encoding bytes */ + size_t size; /* Size of the buffer */ +} ASN__PRIMITIVE_TYPE_t; /* Do not use this type directly! */ + +asn_struct_free_f ASN__PRIMITIVE_TYPE_free; +ber_type_decoder_f ber_decode_primitive; +der_type_encoder_f der_encode_primitive; + +/* + * A callback specification for the xer_decode_primitive() function below. + */ +enum xer_pbd_rval { + XPBD_SYSTEM_FAILURE, /* System failure (memory shortage, etc) */ + XPBD_DECODER_LIMIT, /* Hit some decoder limitation or deficiency */ + XPBD_BROKEN_ENCODING, /* Encoding of a primitive body is broken */ + XPBD_NOT_BODY_IGNORE, /* Not a body format, but safe to ignore */ + XPBD_BODY_CONSUMED /* Body is recognized and consumed */ +}; +typedef enum xer_pbd_rval(xer_primitive_body_decoder_f)( + const asn_TYPE_descriptor_t *td, void *struct_ptr, const void *chunk_buf, + size_t chunk_size); + +/* + * Specific function to decode simple primitive types. + * Also see xer_decode_general() in xer_decoder.h + */ +asn_dec_rval_t xer_decode_primitive( + const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, + size_t struct_size, const char *opt_mname, const void *buf_ptr, size_t size, + xer_primitive_body_decoder_f *prim_body_decoder); + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_CODECS_PRIM_H */ diff --git a/asn1c_defs/all-defs/asn_codecs_prim.o b/asn1c_defs/all-defs/asn_codecs_prim.o new file mode 100644 index 0000000000000000000000000000000000000000..3d83f3d4e4ff03de71cd01a6bed1c45ca1e55306 GIT binary patch literal 5000 zcmbtY>vI#=6~B_~pkQ~Uq)zKLOjsI)u`@-n5)+&@7_BVXcf%U1SOy#(i!85^gDpGK zs)z()&j@+46>j+hI#Z@!n$FM;pE^u4ZQYt6NT=zPmXtnb;7bdRq0NJ~or?fzc;_+(i`(jb=js;S2Kp7`SWh$=HC7D zp7lZUlVzYXLT5jNG3e}OlWj%zTw-Ak z)=iCfvfWDYn9nP>{;v0h8*dz?=g|D zUpgSEuy%-abMXrBpJE zJUiu(jfi_iKSJ~^@@)GPit%r1lo&1-BP4X8u7gn5KA(3bT};;a<3b5&;PS%rFu@$~cxHY7W!CpsSl=s9U*lcHfNr|w#Z3=fQi{5dO1sR2@=MDv59(7; zV%a#4-GDm!HdhD(X-4vv6&zqK9u##oPcpaP__AY*(uLslkD*AbTpdXj=2|HfJPQ>e(189veoLXbd7o@W>eCR$Ao45^w zDu74f@OfIHXA#|lXcVkUcX8!6qDt|k?<`9jQREyE@!U?E@4LNDegRllM#e{ zh08}T@kT-{38&#jb{ev~pF4Yf0maQ z&)~T!9&j(b4hVLS!Z6HhDK?J@jq0Oc*9ht9>iUY< zGBA`)=~;1$zun)qDUfBOz#D-Me_Ojh&}!mVuqG}zUfW3=Ij`gK#x?F!uzT%*uj6xB zaY{mS-W3+aqicocF2O4a?nr}NmZb)`g+MjN?M@>P3Eq=vH-mQhI%hYigRhX_ zrVTHbQ`moS8^N=KTn4%;!yR ztMj$a;#yB)&1UK#TE4zlIPGwb32!;J3uhg>fQJ#tt`%A&L4^96tLw(vJ&4eK9r+m1>lcDB}Cp&?Cb#c`x^Rxt%2XJf#0ct->rc+LLQjUG=3KVvGWET zUsl!D+s5^yyye(g0{w6eeVOZ@<@)UWfc}9R`UGzGiktiaSFNf>cSd5dLA85eM^{Yl z+o7ud_Vz8CiQT4r|Efb1!$(PVo6P~@SGwBp!K7!2+N1P^Bt`A(?(UDo)R+`fA}UzN zGZ`(dt0VEzF&5@Xa#YtclktS6!ZSsNR^ANd$P7#*wZvh3Lu5z-UR)CiGR~Pco|weM zGI|^|63N4+_p0v@1dpU4r0GfOhc!oc%Dr+--W5?}gVBgOlGZeP1y<6qmF19@($euU z*a}92oMRi{9R=Sbj1Jmx!G`nK9NYo$Az{N`<@$K@;GJUm`Hl_8cbbJ?tAXdBKakMR z=iq1Q-?HJKx8dt}|Dt}g4R5#MU$Eg>8~#Nb{sSA1?^i4CW4wQH8tY@dd)L`;dwrg? z;dqWLKbtsSS)Y^*f5N8Ujfz0XMEF^LKCt2TI*9xV#A*AwzFWgT`b5HY@ujmdzTc57 ze4332InB9+Tld(#3VfP7i}L-l^sRg2WCd>B55%82I + +ssize_t +asn__format_to_callback(int (*cb)(const void *, size_t, void *key), void *key, + const char *fmt, ...) { + char scratch[64]; + char *buf = scratch; + size_t buf_size = sizeof(scratch); + int wrote; + int cb_ret; + + do { + va_list args; + va_start(args, fmt); + + wrote = vsnprintf(buf, buf_size, fmt, args); + if(wrote < (ssize_t)buf_size) { + if(wrote < 0) { + if(buf != scratch) FREEMEM(buf); + va_end(args); + return -1; + } + break; + } + + buf_size <<= 1; + if(buf == scratch) { + buf = MALLOC(buf_size); + if(!buf) return -1; + } else { + void *p = REALLOC(buf, buf_size); + if(!p) { + FREEMEM(buf); + return -1; + } + buf = p; + } + } while(1); + + cb_ret = cb(buf, wrote, key); + if(buf != scratch) FREEMEM(buf); + if(cb_ret < 0) { + return -1; + } + + return wrote; +} + diff --git a/asn1c_defs/all-defs/asn_internal.h b/asn1c_defs/all-defs/asn_internal.h new file mode 100755 index 0000000..80d47b3 --- /dev/null +++ b/asn1c_defs/all-defs/asn_internal.h @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Declarations internally useful for the ASN.1 support code. + */ +#ifndef ASN_INTERNAL_H +#define ASN_INTERNAL_H +#define __EXTENSIONS__ /* for Sun */ + +#include "asn_application.h" /* Application-visible API */ + +#ifndef __NO_ASSERT_H__ /* Include assert.h only for internal use. */ +#include /* for assert() macro */ +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Environment version might be used to avoid running with the old library */ +#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */ +int get_asn1c_environment_version(void); /* Run-time version */ + +#define CALLOC(nmemb, size) calloc(nmemb, size) +#define MALLOC(size) malloc(size) +#define REALLOC(oldptr, size) realloc(oldptr, size) +#define FREEMEM(ptr) free(ptr) + +#define asn_debug_indent 0 +#define ASN_DEBUG_INDENT_ADD(i) do{}while(0) + +#ifdef EMIT_ASN_DEBUG +#warning "Use ASN_EMIT_DEBUG instead of EMIT_ASN_DEBUG" +#define ASN_EMIT_DEBUG EMIT_ASN_DEBUG +#endif + +/* + * A macro for debugging the ASN.1 internals. + * You may enable or override it. + */ +#ifndef ASN_DEBUG /* If debugging code is not defined elsewhere... */ +#if ASN_EMIT_DEBUG == 1 /* And it was asked to emit this code... */ +#if !defined(BELL_LABS) /* Bell Labs */ + //#if __STDC_VERSION__ >= 199901L +#ifdef ASN_THREAD_SAFE +/* Thread safety requires sacrifice in output indentation: + * Retain empty definition of ASN_DEBUG_INDENT_ADD. */ +#else /* !ASN_THREAD_SAFE */ +#undef ASN_DEBUG_INDENT_ADD +#undef asn_debug_indent +int asn_debug_indent; +#define ASN_DEBUG_INDENT_ADD(i) do { asn_debug_indent += i; } while(0) +#endif /* ASN_THREAD_SAFE */ +#if defined(BELL_LABS) /* Bell Labs version */ +extern int logAsn1c(const char *filename, int linenumber, const char *format, ...); +#define ASN_DEBUG(fmt, args...) do { \ + (void) logAsn1c(__FILE__, __LINE__, fmt, ##args); \ + } while(0) +#else +#define ASN_DEBUG(fmt, args...) do { \ + int adi = asn_debug_indent; \ + while(adi--) fprintf(stderr, " "); \ + fprintf(stderr, fmt, ##args); \ + fprintf(stderr, " (%s:%d)\n", \ + __FILE__, __LINE__); \ + } while(0) +#endif /* BELL_LABS */ +#else /* !C99 */ +void CC_PRINTFLIKE(1, 2) ASN_DEBUG_f(const char *fmt, ...); +#define ASN_DEBUG ASN_DEBUG_f +#endif /* C99 */ +#else /* ASN_EMIT_DEBUG != 1 */ +#if __STDC_VERSION__ >= 199901L +#define ASN_DEBUG(...) do{}while(0) +#else /* not C99 */ +static void CC_PRINTFLIKE(1, 2) ASN_DEBUG(const char *fmt, ...) { (void)fmt; } +#endif /* C99 or better */ +#endif /* ASN_EMIT_DEBUG */ +#endif /* ASN_DEBUG */ + +/* + * Print to a callback. + * The callback is expected to return negative values on error. + * 0 and positive values are treated as success. + * RETURN VALUES: + * -1: Failed to format or invoke the callback. + * >0: Size of the data that got delivered to the callback. + */ +ssize_t CC_PRINTFLIKE(3, 4) +asn__format_to_callback( + int (*callback)(const void *, size_t, void *key), void *key, + const char *fmt, ...); + +/* + * Invoke the application-supplied callback and fail, if something is wrong. + */ +#define ASN__E_cbc(buf, size) (cb((buf), (size), app_key) < 0) +#define ASN__E_CALLBACK(size, foo) \ + do { \ + if(foo) goto cb_failed; \ + er.encoded += (size); \ + } while(0) +#define ASN__CALLBACK(buf, size) ASN__E_CALLBACK(size, ASN__E_cbc(buf, size)) +#define ASN__CALLBACK2(buf1, size1, buf2, size2) \ + ASN__E_CALLBACK((size1) + (size2), \ + ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2)) +#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3) \ + ASN__E_CALLBACK((size1) + (size2) + (size3), \ + ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2) \ + || ASN__E_cbc(buf3, size3)) + +#define ASN__TEXT_INDENT(nl, level) \ + do { \ + int tmp_level = (level); \ + int tmp_nl = ((nl) != 0); \ + int tmp_i; \ + if(tmp_nl) ASN__CALLBACK("\n", 1); \ + if(tmp_level < 0) tmp_level = 0; \ + for(tmp_i = 0; tmp_i < tmp_level; tmp_i++) ASN__CALLBACK(" ", 4); \ + } while(0) + +#define _i_INDENT(nl) do { \ + int tmp_i; \ + if((nl) && cb("\n", 1, app_key) < 0) \ + return -1; \ + for(tmp_i = 0; tmp_i < ilevel; tmp_i++) \ + if(cb(" ", 4, app_key) < 0) \ + return -1; \ + } while(0) + +/* + * Check stack against overflow, if limit is set. + */ +#define ASN__DEFAULT_STACK_MAX (30000) +static int CC_NOTUSED +ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) { + if(ctx && ctx->max_stack_size) { + + /* ctx MUST be allocated on the stack */ + ptrdiff_t usedstack = ((const char *)ctx - (const char *)&ctx); + if(usedstack > 0) usedstack = -usedstack; /* grows up! */ + + /* double negative required to avoid int wrap-around */ + if(usedstack < -(ptrdiff_t)ctx->max_stack_size) { + ASN_DEBUG("Stack limit %ld reached", + (long)ctx->max_stack_size); + return -1; + } + } + return 0; +} + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_INTERNAL_H */ diff --git a/asn1c_defs/all-defs/asn_internal.o b/asn1c_defs/all-defs/asn_internal.o new file mode 100644 index 0000000000000000000000000000000000000000..2779a230c1fd825fec947476310509ffaca4662d GIT binary patch literal 2168 zcmbtUU1$_n6uz5{Ce?Lz6_JGqS<0>xn86H%6bFwvgS3`x=+3jlD~~roo_B@2Qvmj(QzhryEb9 z*m=Yj0J0+pIw9KRSqRbjHMY_~A{J(=SPmq6cZ&0_RzGGJf5O3kF{yp2O=>4K;}Njg zm%`m}6me+L$d8N5Q|S_sztjR+pq3Z6TQhQ_mbz5eQIK#n(S%fylX;s3LQ9e zj09?tKv$@va~TH*_-+xqhqFs7k*jTKCHhrxNQo`Ar2B0nzYiXZ52Fz3aQ)4s|~+c(D%j?5`>?h1cAvCmq zku~%AjG3J!#)v+e)^uZZczA4R+!)u=`jA1&7Q{0?#kn%@95ksZ@xXEfoq@5wK#(w$zcM z6TSTWMCIw$w2>>D1?yk_|7paa9*^X`u_?e%4$Hf2ju`C~bG%hj. All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_IOC_H +#define ASN_IOC_H + +#include /* Platform-specific types */ + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; +struct asn_ioc_cell_s; + +/* + * X.681, #13 + */ +typedef struct asn_ioc_set_s { + size_t rows_count; + size_t columns_count; + const struct asn_ioc_cell_s *rows; +} asn_ioc_set_t; + + +typedef struct asn_ioc_cell_s { + const char *field_name; /* Is equal to corresponding column_name */ + enum { + aioc__undefined = 0, + aioc__value, + aioc__type, + aioc__open_type, + } cell_kind; + struct asn_TYPE_descriptor_s *type_descriptor; + const void *value_sptr; + struct { + size_t types_count; + struct { + unsigned choice_position; + } *types; + } open_type; +} asn_ioc_cell_t; + + +#ifdef __cplusplus +} +#endif + +#endif /* ASN_IOC_H */ diff --git a/asn1c_defs/all-defs/asn_random_fill.c b/asn1c_defs/all-defs/asn_random_fill.c new file mode 100755 index 0000000..2496a0f --- /dev/null +++ b/asn1c_defs/all-defs/asn_random_fill.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +int +asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, + size_t length) { + + if(td && td->op->random_fill) { + asn_random_fill_result_t res = + td->op->random_fill(td, struct_ptr, 0, length); + return (res.code == ARFILL_OK) ? 0 : -1; + } else { + return -1; + } +} + +static uintmax_t +asn__intmax_range(intmax_t lb, intmax_t ub) { + assert(lb <= ub); + if((ub < 0) == (lb < 0)) { + return ub - lb; + } else if(lb < 0) { + return 1 + ((uintmax_t)ub + (uintmax_t)-(lb + 1)); + } else { + assert(!"Unreachable"); + return 0; + } +} + +intmax_t +asn_random_between(intmax_t lb, intmax_t rb) { + if(lb == rb) { + return lb; + } else { + const uintmax_t intmax_max = ((~(uintmax_t)0) >> 1); + uintmax_t range = asn__intmax_range(lb, rb); + uintmax_t value = 0; + uintmax_t got_entropy = 0; + + assert(RAND_MAX > 0xffffff); /* Seen 7ffffffd! */ + assert(range < intmax_max); + + for(; got_entropy < range;) { + got_entropy = (got_entropy << 24) | 0xffffff; + value = (value << 24) | (random() % 0xffffff); + } + + return lb + (intmax_t)(value % (range + 1)); + } +} diff --git a/asn1c_defs/all-defs/asn_random_fill.h b/asn1c_defs/all-defs/asn_random_fill.h new file mode 100755 index 0000000..d8b3e52 --- /dev/null +++ b/asn1c_defs/all-defs/asn_random_fill.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN_RANDOM_FILL +#define ASN_RANDOM_FILL + +/* Forward declarations */ +struct asn_TYPE_descriptor_s; +struct asn_encoding_constraints_s; + +/* + * Initialize a structure with random data according to the type specification + * and optional member constraints. + * ARGUMENTS: + * (max_length) - See (approx_max_length_limit). + * (memb_constraints) - Member constraints, if exist. + * The type can be constrained differently according + * to PER and OER specifications, so we find a value + * at the intersection of these constraints. + * In case the return differs from ARFILL_OK, the (struct_ptr) contents + * and (current_length) value remain in their original state. + */ +typedef struct asn_random_fill_result_s { + enum { + ARFILL_FAILED = -1, /* System error (memory?) */ + ARFILL_OK = 0, /* Initialization succeeded */ + ARFILL_SKIPPED = 1 /* Not done due to (length?) constraint */ + } code; + size_t length; /* Approximate number of bytes created. */ +} asn_random_fill_result_t; +typedef asn_random_fill_result_t(asn_random_fill_f)( + const struct asn_TYPE_descriptor_s *td, void **struct_ptr, + const struct asn_encoding_constraints_s *memb_constraints, + size_t max_length); + +/* + * Returns 0 if the structure was properly initialized, -1 otherwise. + * The (approx_max_length_limit) specifies the approximate limit of the + * resulting structure in units closely resembling bytes. The actual result + * might be several times larger or smaller than the length limit. + */ +int asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, + size_t approx_max_length_limit); + +/* + * Returns a random number between min and max. + */ +intmax_t asn_random_between(intmax_t min, intmax_t max); + +#endif /* ASN_RANDOM_FILL */ diff --git a/asn1c_defs/all-defs/asn_random_fill.o b/asn1c_defs/all-defs/asn_random_fill.o new file mode 100644 index 0000000000000000000000000000000000000000..c3cc22eab1a210476c72bd9a87ddcc77877e261c GIT binary patch literal 2952 zcmbVN|7%-S6hCRYHv8gBoQjc&jr~Cyw!Y?V(WScCytHX=Mrg;HY)qZcm-NM!C8;E@ z+KJdnTQSbAV<6~X;E$p|hzdgEM23Ra{WK7vAm|Xq`Ge~mgLux%z3cTg^@pA0y>rgz zob$O~a_-GsGCkbp@qiEyJPjM3KmjgyZrE|hjDsH(V2cfVFFQ99VCUkKY;nbYgw6l% zW3?Z&D~;8~75}>{Z2l{s|C5#VtC##;arm@>a;c#DyA~W4{e*s8&+3`%xKr1^?qB!} z1F70=|MGP-SnWEi-D2yjtp3{ot6v+4t@;-}#6UXy3vT2Iw~4YK;r!PNR6tadr|#`j1AtbTKVdA?!w zTMx4Em#l_^t_4|mm4)kU`?sn7KPxM&c2&EQTEB5*slA(4_UtMBIsKIWyl&v~hL9RD zR=X*|g(kk(@V~`y5VmxWGliwco9ZyB&%5x|oLbB9L;oM{6JY>V?K7)oEpJR%g=(K! zEcP~yYT2lm<%#K%QJ5+g)jSk)p+kp5GdXy)J6o<;W`5Gl6|HW-tQW1&q0m&>E}63i zK1jYHNNyNB=A>?f9E;+7pqypDVp(N?k-@g=?&Dc z;S(UhB^S|eg}=WA4pO7@6J;1jk0mpilg4m%bTE?|8#N3y8jZxDbwE1^YI-n2ul@AW z=ykx&EBoR=86)Yjgq}9WhKI+K86%@7(n*63E*@_j%&bt;Ry++3rysvIZpf!NcgyvFY`Ym;WED|;flm_dJF!Flu!KP zZa5?1GXGf#_e=b5Z^0kJ91_|edW6KdA@H~esMRwi+suJlwJS|MDXfZBG*#Q0wLzUQ zZ4=a7wF+uwnjA{k)YyMrY=veN)cka*WRBKjYeVp@d>oq?9elY;ot9<;h3m5Yj(~D!AYa0|&^F z#C=ztz!=p>q#QEyyq@+)7BQ~SFJMsEa^A9gLOkfso#FNF^a~t#PbNiM?4N*NLZemx z1o>Z?SQqsV{riY|(LXdF_t*$Q4{wM757OOrFFx*ix. All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Miscellaneous system-dependent types. + */ +#ifndef ASN_SYSTEM_H +#define ASN_SYSTEM_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef _DEFAULT_SOURCE +#define _DEFAULT_SOURCE 1 +#endif + +#ifndef _BSD_SOURCE +#define _BSD_SOURCE /* for snprintf() on some linux systems */ +#endif + +#include /* For snprintf(3) */ +#include /* For *alloc(3) */ +#include /* For memcpy(3) */ +#include /* For size_t */ +#include /* For LONG_MAX */ +#include /* For va_start */ +#include /* for offsetof and ptrdiff_t */ + +#ifdef _WIN32 + +#include +#define snprintf _snprintf +#define vsnprintf _vsnprintf + +/* To avoid linking with ws2_32.lib, here's the definition of ntohl() */ +#define sys_ntohl(l) ((((l) << 24) & 0xff000000) \ + | (((l) << 8) & 0xff0000) \ + | (((l) >> 8) & 0xff00) \ + | ((l >> 24) & 0xff)) + +#ifdef _MSC_VER /* MSVS.Net */ +#ifndef __cplusplus +#define inline __inline +#endif +#ifndef ASSUMESTDTYPES /* Standard types have been defined elsewhere */ +#define ssize_t SSIZE_T +#if _MSC_VER < 1600 +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#else /* _MSC_VER >= 1600 */ +#include +#endif /* _MSC_VER < 1600 */ +#endif /* ASSUMESTDTYPES */ +#define WIN32_LEAN_AND_MEAN +#include +#include +#define isnan _isnan +#define finite _finite +#define copysign _copysign +#define ilogb _logb +#else /* !_MSC_VER */ +#include +#endif /* _MSC_VER */ + +#else /* !_WIN32 */ + +#if defined(__vxworks) +#include +#else /* !defined(__vxworks) */ + +#include /* C99 specifies this file */ +#include /* for ntohl() */ +#define sys_ntohl(foo) ntohl(foo) +#endif /* defined(__vxworks) */ + +#endif /* _WIN32 */ + +#if __GNUC__ >= 3 || defined(__clang__) +#define CC_ATTRIBUTE(attr) __attribute__((attr)) +#else +#define CC_ATTRIBUTE(attr) +#endif +#define CC_PRINTFLIKE(fmt, var) CC_ATTRIBUTE(format(printf, fmt, var)) +#define CC_NOTUSED CC_ATTRIBUTE(unused) +#ifndef CC_ATTR_NO_SANITIZE +#define CC_ATTR_NO_SANITIZE(what) CC_ATTRIBUTE(no_sanitize(what)) +#endif + +/* Figure out if thread safety is requested */ +#if !defined(ASN_THREAD_SAFE) && (defined(THREAD_SAFE) || defined(_REENTRANT)) +#define ASN_THREAD_SAFE +#endif /* Thread safety */ + +#ifndef offsetof /* If not defined by */ +#define offsetof(s, m) ((ptrdiff_t)&(((s *)0)->m) - (ptrdiff_t)((s *)0)) +#endif /* offsetof */ + +#ifndef MIN /* Suitable for comparing primitive types (integers) */ +#if defined(__GNUC__) +#define MIN(a,b) ({ __typeof a _a = a; __typeof b _b = b; \ + ((_a)<(_b)?(_a):(_b)); }) +#else /* !__GNUC__ */ +#define MIN(a,b) ((a)<(b)?(a):(b)) /* Unsafe variant */ +#endif /* __GNUC__ */ +#endif /* MIN */ + +#if __STDC_VERSION__ >= 199901L +#ifndef SIZE_MAX +#define SIZE_MAX ((~((size_t)0)) >> 1) +#endif + +#ifndef RSIZE_MAX /* C11, Annex K */ +#define RSIZE_MAX (SIZE_MAX >> 1) +#endif +#ifndef RSSIZE_MAX /* Halve signed size even further than unsigned */ +#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) +#endif +#else /* Old compiler */ +#undef SIZE_MAX +#undef RSIZE_MAX +#undef RSSIZE_MAX +#define SIZE_MAX ((~((size_t)0)) >> 1) +#define RSIZE_MAX (SIZE_MAX >> 1) +#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) +#endif + +#if __STDC_VERSION__ >= 199901L +#define ASN_PRI_SIZE "zu" +#define ASN_PRI_SSIZE "zd" +#define ASN_PRIuMAX PRIuMAX +#define ASN_PRIdMAX PRIdMAX +#else +#define ASN_PRI_SIZE "lu" +#define ASN_PRI_SSIZE "ld" +#if LLONG_MAX > LONG_MAX +#define ASN_PRIuMAX "llu" +#define ASN_PRIdMAX "lld" +#else +#define ASN_PRIuMAX "lu" +#define ASN_PRIdMAX "ld" +#endif +#endif + +#endif /* ASN_SYSTEM_H */ diff --git a/asn1c_defs/all-defs/ber_decoder.c b/asn1c_defs/all-defs/ber_decoder.c new file mode 100755 index 0000000..e913152 --- /dev/null +++ b/asn1c_defs/all-defs/ber_decoder.c @@ -0,0 +1,283 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include + +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) +#undef RETURN +#define RETURN(_code) do { \ + asn_dec_rval_t rval; \ + rval.code = _code; \ + if(opt_ctx) opt_ctx->step = step; /* Save context */ \ + if(_code == RC_OK || opt_ctx) \ + rval.consumed = consumed_myself; \ + else \ + rval.consumed = 0; /* Context-free */ \ + return rval; \ + } while(0) + +/* + * The BER decoder of any type. + */ +asn_dec_rval_t +ber_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, + const void *ptr, size_t size) { + asn_codec_ctx_t s_codec_ctx; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* + * Invoke type-specific decoder. + */ + return type_descriptor->op->ber_decoder(opt_codec_ctx, type_descriptor, + struct_ptr, /* Pointer to the destination structure */ + ptr, size, /* Buffer and its size */ + 0 /* Default tag mode is 0 */ + ); +} + +/* + * Check the set of >> tags matches the definition. + */ +asn_dec_rval_t +ber_check_tags(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, asn_struct_ctx_t *opt_ctx, + const void *ptr, size_t size, int tag_mode, int last_tag_form, + ber_tlv_len_t *last_length, int *opt_tlv_form) { + ssize_t consumed_myself = 0; + ssize_t tag_len; + ssize_t len_len; + ber_tlv_tag_t tlv_tag; + ber_tlv_len_t tlv_len; + ber_tlv_len_t limit_len = -1; + int expect_00_terminators = 0; + int tlv_constr = -1; /* If CHOICE, opt_tlv_form is not given */ + int step = opt_ctx ? opt_ctx->step : 0; /* Where we left previously */ + int tagno; + + /* + * Make sure we didn't exceed the maximum stack size. + */ + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + RETURN(RC_FAIL); + + /* + * So what does all this implicit skip stuff mean? + * Imagine two types, + * A ::= [5] IMPLICIT T + * B ::= [2] EXPLICIT T + * Where T is defined as + * T ::= [4] IMPLICIT SEQUENCE { ... } + * + * Let's say, we are starting to decode type A, given the + * following TLV stream: <5> <0>. What does this mean? + * It means that the type A contains type T which is, + * in turn, empty. + * Remember though, that we are still in A. We cannot + * just pass control to the type T decoder. Why? Because + * the type T decoder expects <4> <0>, not <5> <0>. + * So, we must make sure we are going to receive <5> while + * still in A, then pass control to the T decoder, indicating + * that the tag <4> was implicitly skipped. The decoder of T + * hence will be prepared to treat <4> as valid tag, and decode + * it appropriately. + */ + + tagno = step /* Continuing where left previously */ + + (tag_mode==1?-1:0) + ; + ASN_DEBUG("ber_check_tags(%s, size=%ld, tm=%d, step=%d, tagno=%d)", + td->name, (long)size, tag_mode, step, tagno); + /* assert(td->tags_count >= 1) May not be the case for CHOICE or ANY */ + + if(tag_mode == 0 && tagno == (int)td->tags_count) { + /* + * This must be the _untagged_ ANY type, + * which outermost tag isn't known in advance. + * Fetch the tag and length separately. + */ + tag_len = ber_fetch_tag(ptr, size, &tlv_tag); + switch(tag_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + tlv_constr = BER_TLV_CONSTRUCTED(ptr); + len_len = ber_fetch_length(tlv_constr, + (const char *)ptr + tag_len, size - tag_len, &tlv_len); + switch(len_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + ASN_DEBUG("Advancing %ld in ANY case", + (long)(tag_len + len_len)); + ADVANCE(tag_len + len_len); + } else { + assert(tagno < (int)td->tags_count); /* At least one loop */ + } + for((void)tagno; tagno < (int)td->tags_count; tagno++, step++) { + + /* + * Fetch and process T from TLV. + */ + tag_len = ber_fetch_tag(ptr, size, &tlv_tag); + ASN_DEBUG("Fetching tag from {%p,%ld}: " + "len %ld, step %d, tagno %d got %s", + ptr, (long)size, + (long)tag_len, step, tagno, + ber_tlv_tag_string(tlv_tag)); + switch(tag_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + tlv_constr = BER_TLV_CONSTRUCTED(ptr); + + /* + * If {I}, don't check anything. + * If {I,B,C}, check B and C unless we're at I. + */ + if(tag_mode != 0 && step == 0) { + /* + * We don't expect tag to match here. + * It's just because we don't know how the tag + * is supposed to look like. + */ + } else { + assert(tagno >= 0); /* Guaranteed by the code above */ + if(tlv_tag != td->tags[tagno]) { + /* + * Unexpected tag. Too bad. + */ + ASN_DEBUG("Expected: %s, " + "expectation failed (tn=%d, tm=%d)", + ber_tlv_tag_string(td->tags[tagno]), + tagno, tag_mode + ); + RETURN(RC_FAIL); + } + } + + /* + * Attention: if there are more tags expected, + * ensure that the current tag is presented + * in constructed form (it contains other tags!). + * If this one is the last one, check that the tag form + * matches the one given in descriptor. + */ + if(tagno < ((int)td->tags_count - 1)) { + if(tlv_constr == 0) { + ASN_DEBUG("tlv_constr = %d, expfail", + tlv_constr); + RETURN(RC_FAIL); + } + } else { + if(last_tag_form != tlv_constr + && last_tag_form != -1) { + ASN_DEBUG("last_tag_form %d != %d", + last_tag_form, tlv_constr); + RETURN(RC_FAIL); + } + } + + /* + * Fetch and process L from TLV. + */ + len_len = ber_fetch_length(tlv_constr, + (const char *)ptr + tag_len, size - tag_len, &tlv_len); + ASN_DEBUG("Fetching len = %ld", (long)len_len); + switch(len_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + /* + * FIXME + * As of today, the chain of tags + * must either contain several indefinite length TLVs, + * or several definite length ones. + * No mixing is allowed. + */ + if(tlv_len == -1) { + /* + * Indefinite length. + */ + if(limit_len == -1) { + expect_00_terminators++; + } else { + ASN_DEBUG("Unexpected indefinite length " + "in a chain of definite lengths"); + RETURN(RC_FAIL); + } + ADVANCE(tag_len + len_len); + continue; + } else { + if(expect_00_terminators) { + ASN_DEBUG("Unexpected definite length " + "in a chain of indefinite lengths"); + RETURN(RC_FAIL); + } + } + + /* + * Check that multiple TLVs specify ever decreasing length, + * which is consistent. + */ + if(limit_len == -1) { + limit_len = tlv_len + tag_len + len_len; + if(limit_len < 0) { + /* Too great tlv_len value? */ + RETURN(RC_FAIL); + } + } else if(limit_len != tlv_len + tag_len + len_len) { + /* + * Inner TLV specifies length which is inconsistent + * with the outer TLV's length value. + */ + ASN_DEBUG("Outer TLV is %ld and inner is %ld", + (long)limit_len, (long)tlv_len); + RETURN(RC_FAIL); + } + + ADVANCE(tag_len + len_len); + + limit_len -= (tag_len + len_len); + if((ssize_t)size > limit_len) { + /* + * Make sure that we won't consume more bytes + * from the parent frame than the inferred limit. + */ + size = limit_len; + } + } + + if(opt_tlv_form) + *opt_tlv_form = tlv_constr; + if(expect_00_terminators) + *last_length = -expect_00_terminators; + else + *last_length = tlv_len; + + RETURN(RC_OK); +} diff --git a/asn1c_defs/all-defs/ber_decoder.h b/asn1c_defs/all-defs/ber_decoder.h new file mode 100755 index 0000000..068084f --- /dev/null +++ b/asn1c_defs/all-defs/ber_decoder.h @@ -0,0 +1,66 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BER_DECODER_H_ +#define _BER_DECODER_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ +struct asn_codec_ctx_s; /* Forward declaration */ + +/* + * The BER decoder of any type. + * This function may be invoked directly from the application. + * Decodes BER, DER and CER data (DER and CER are different subsets of BER). + * + * NOTE: Use the der_encode() function (der_encoder.h) to produce encoding + * which is compliant with ber_decode(). + */ +asn_dec_rval_t ber_decode( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size /* Size of that buffer */ +); + +/* + * Type of generic function which decodes the byte stream into the structure. + */ +typedef asn_dec_rval_t(ber_type_decoder_f)( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, + const void *buf_ptr, size_t size, int tag_mode); + +/******************************* + * INTERNALLY USEFUL FUNCTIONS * + *******************************/ + +/* + * Check that all tags correspond to the type definition (as given in head). + * On return, last_length would contain either a non-negative length of the + * value part of the last TLV, or the negative number of expected + * "end of content" sequences. The number may only be negative if the + * head->last_tag_form is non-zero. + */ +asn_dec_rval_t ber_check_tags( + const struct asn_codec_ctx_s *opt_codec_ctx, /* codec options */ + const struct asn_TYPE_descriptor_s *type_descriptor, + asn_struct_ctx_t *opt_ctx, /* saved decoding context */ + const void *ptr, size_t size, + int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ + int last_tag_form, /* {-1,0:1}: any, primitive, constr */ + ber_tlv_len_t *last_length, int *opt_tlv_form /* optional tag form */ +); + +#ifdef __cplusplus +} +#endif + +#endif /* _BER_DECODER_H_ */ diff --git a/asn1c_defs/all-defs/ber_decoder.o b/asn1c_defs/all-defs/ber_decoder.o new file mode 100644 index 0000000000000000000000000000000000000000..2f70164646a572dc21045ae1daa5437ddbdd6967 GIT binary patch literal 3848 zcmbtXZ){Ul6u)onScTbFMNIvZ@H7u?6ZdSTW}67^b+6-AA8f(SVHBQS*HUC`WPMA9 zA^vM?xT!__VDyWLA0#p1i(f=zG;Tu${F4wcfv7QPG|+&ki2+2kp7VNNd3y{$=vm&q z_x$epch5QZHhU(a_q7NDu}L7S$Yst(389NFuY0Uz4-tu<(Bhfk2(5URg#e^XlYP-? zTCSU&wD1eWwj)hUTGmDQ9h)yvy;B= zPa3?|{j0dE<^exdO&*~KG+6?j#^DjlQ}(zVOhkW%os_i$i%=bC4f_gXqdMEKF~nNjcWr@*dU?(>>Kpw^)v0yw81%X?kpf`nbA5-KZLv|7uF!M$aFo;bW9tq%#*E zpwVMAe35n^7I*#rcfF1dyg9a|kW%*bL)BQj9{x;Y2Xx5EdJPlM zJhxcFdf=f;iy(n`#=KSm2_3Z8)8fUtSh@*a>T;@lNGyK{(hpYK7gAw{7I#3_#nKPx zYlSX{#PVX0ObRo47&u+fWr>2RkRJYgjqnBS-cQB;;{XgKi=PNpy;XoRL}EL{Sm z_<_YhlxO+=zmye%CpFo&Q=P2WCjLUB&jQ})MV)=Bvt!s=k`8GMQZ{Q{Nu8zU^b$1k zGO%N%buTFE5Mn@w(*$W%m-7j6-|ae^O;%$qG(4-$TxwN|KMEQ<=_t!j;2P5~t_!Es z?r}+j3P=t+;2zS34-3{ILQJ2PK8-=np@ztGQ5L8j<>#rGa!>i3xbtlYCs`Q^CNrM` zGy>MUW6z7FcfeikgcY;hj$j(vv9{RC0kp`WsZI(f57ll4v7G&0@GdC72_Tfd2o)2o z(nHCi@U?cd*}O_(c_;9-mtkOE)`p3%7+dCUx( zBOR*%C>WXX$uX1fty(EXEPJS!$!9ZL43r^cb#L!|QfP1(L?@+AC8k6=qLUUEeLC8u zL}E%b+`uh$azkSx!c*&rFclDPX>arGh7<<@zm@L|W%wDFScs_$O{Wpe^;?h_fHF+JB5Y*F4Z4V{h_#D0$I?BH_UNM z^G{f9FZr#JJeP=P-d`+2Jn%OkdBD%g7z-=iQ9PENn4IF4?x`nLUF95`IzCVtL=w>xnAO5pYq2j0e8({11Hz@7G&IBpNQ)Th@TjOQi?mMCswr@4l!!Vl@jX7_xCbFYx#mr8bL>Wn&X`&1l z3PhP0M+U{CO4nQ#ny9f$l+5_ntyy?(m9cR%tE^r-*kSbz2%yny-pEa)w`O@z|6`Is z7hA=BvwHwTTF&#-;I6!*x4;JGu*VkQGv!at0PjPrEiUaB0pE9|JK#gy{bCkeeo+>Q zn`@J+WY{L5tNyW{t9{hdyu zuy)6f_h`QUd5!-x+2_LkLCDs(`v>E3`v!>Y=KceG6YoCe(yfne>h2wY$QxX64>AsN UpC8}8`ScI+`0-yRC%N_i0re>bod5s; literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ber_tlv_length.c b/asn1c_defs/all-defs/ber_tlv_length.c new file mode 100755 index 0000000..11234c9 --- /dev/null +++ b/asn1c_defs/all-defs/ber_tlv_length.c @@ -0,0 +1,168 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +ssize_t +ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, + ber_tlv_len_t *len_r) { + const uint8_t *buf = (const uint8_t *)bufptr; + unsigned oct; + + if(size == 0) + return 0; /* Want more */ + + oct = *(const uint8_t *)buf; + if((oct & 0x80) == 0) { + /* + * Short definite length. + */ + *len_r = oct; /* & 0x7F */ + return 1; + } else { + ber_tlv_len_t len; + size_t skipped; + + if(_is_constructed && oct == 0x80) { + *len_r = -1; /* Indefinite length */ + return 1; + } + + if(oct == 0xff) { + /* Reserved in standard for future use. */ + return -1; + } + + oct &= 0x7F; /* Leave only the 7 LS bits */ + for(len = 0, buf++, skipped = 1; + oct && (++skipped <= size); buf++, oct--) { + + /* Verify that we won't overflow. */ + if(!(len >> ((8 * sizeof(len)) - (8+1)))) { + len = (len << 8) | *buf; + } else { + /* Too large length value. */ + return -1; + } + } + + if(oct == 0) { + if(len < 0 || len > RSSIZE_MAX) { + /* Length value out of sane range. */ + return -1; + } + + *len_r = len; + return skipped; + } + + return 0; /* Want more */ + } + +} + +ssize_t +ber_skip_length(const asn_codec_ctx_t *opt_codec_ctx, + int _is_constructed, const void *ptr, size_t size) { + ber_tlv_len_t vlen; /* Length of V in TLV */ + ssize_t tl; /* Length of L in TLV */ + ssize_t ll; /* Length of L in TLV */ + size_t skip; + + /* + * Make sure we didn't exceed the maximum stack size. + */ + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + return -1; + + /* + * Determine the size of L in TLV. + */ + ll = ber_fetch_length(_is_constructed, ptr, size, &vlen); + if(ll <= 0) return ll; + + /* + * Definite length. + */ + if(vlen >= 0) { + skip = ll + vlen; + if(skip > size) + return 0; /* Want more */ + return skip; + } + + /* + * Indefinite length! + */ + ASN_DEBUG("Skipping indefinite length"); + for(skip = ll, ptr = ((const char *)ptr) + ll, size -= ll;;) { + ber_tlv_tag_t tag; + + /* Fetch the tag */ + tl = ber_fetch_tag(ptr, size, &tag); + if(tl <= 0) return tl; + + ll = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + ((const char *)ptr) + tl, size - tl); + if(ll <= 0) return ll; + + skip += tl + ll; + + /* + * This may be the end of the indefinite length structure, + * two consecutive 0 octets. + * Check if it is true. + */ + if(((const uint8_t *)ptr)[0] == 0 + && ((const uint8_t *)ptr)[1] == 0) + return skip; + + ptr = ((const char *)ptr) + tl + ll; + size -= tl + ll; + } + + /* UNREACHABLE */ +} + +size_t +der_tlv_length_serialize(ber_tlv_len_t len, void *bufp, size_t size) { + size_t required_size; /* Size of len encoding */ + uint8_t *buf = (uint8_t *)bufp; + uint8_t *end; + int i; + + if(len <= 127) { + /* Encoded in 1 octet */ + if(size) *buf = (uint8_t)len; + return 1; + } + + /* + * Compute the size of the subsequent bytes. + */ + for(required_size = 1, i = 8; i < 8 * (int)sizeof(len); i += 8) { + if(len >> i) + required_size++; + else + break; + } + + if(size <= required_size) + return required_size + 1; + + *buf++ = (uint8_t)(0x80 | required_size); /* Length of the encoding */ + + /* + * Produce the len encoding, space permitting. + */ + end = buf + required_size; + for(i -= 8; buf < end; i -= 8, buf++) + *buf = (uint8_t)(len >> i); + + return required_size + 1; +} + diff --git a/asn1c_defs/all-defs/ber_tlv_length.h b/asn1c_defs/all-defs/ber_tlv_length.h new file mode 100755 index 0000000..ebae5e0 --- /dev/null +++ b/asn1c_defs/all-defs/ber_tlv_length.h @@ -0,0 +1,50 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BER_TLV_LENGTH_H_ +#define _BER_TLV_LENGTH_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef ssize_t ber_tlv_len_t; + +/* + * This function tries to fetch the length of the BER TLV value and place it + * in *len_r. + * RETURN VALUES: + * 0: More data expected than bufptr contains. + * -1: Fatal error deciphering length. + * >0: Number of bytes used from bufptr. + * On return with >0, len_r is constrained as -1..MAX, where -1 mean + * that the value is of indefinite length. + */ +ssize_t ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, + ber_tlv_len_t *len_r); + +/* + * This function expects bufptr to be positioned over L in TLV. + * It returns number of bytes occupied by L and V together, suitable + * for skipping. The function properly handles indefinite length. + * RETURN VALUES: + * Standard {-1,0,>0} convention. + */ +ssize_t ber_skip_length( + const struct asn_codec_ctx_s *opt_codec_ctx, /* optional context */ + int _is_constructed, const void *bufptr, size_t size); + +/* + * This function serializes the length (L from TLV) in DER format. + * It always returns number of bytes necessary to represent the length, + * it is a caller's responsibility to check the return value + * against the supplied buffer's size. + */ +size_t der_tlv_length_serialize(ber_tlv_len_t len, void *bufptr, size_t size); + +#ifdef __cplusplus +} +#endif + +#endif /* _BER_TLV_LENGTH_H_ */ diff --git a/asn1c_defs/all-defs/ber_tlv_length.o b/asn1c_defs/all-defs/ber_tlv_length.o new file mode 100644 index 0000000000000000000000000000000000000000..9f043cc2c2361d8c9dd304a20e28bae6d4be7812 GIT binary patch literal 2520 zcmbVNUrbwN6#p*ePZ`)&zF-{>KIof|8k1#D1bu2(mAYh+O%vxImOX7_xaqQo!J=Hxcl%v>t>tBh^gHMK zopXNQx#xWMGSew_Rd5_KghNMAac7_i-KZ|we%OI1Qu#+M7{_ro_}+GjkdH(x&nrR-bSaz3FaESgwF9uZGo3#YPjviE4%ueXH-c ziDXO6ZncF{-zN`t*_Whh4QKCIrP?1PUncnr{+hCb9L2t$XBsf^<%aCdL7>Xybd6Us z)Sc4{@M;@t_U2hyHcnkv>ejo!Wr{~byuEpjx{>gfa6;%4dPQ=z?>Hv^h~y{o7^{D{ z2k}DXJ~w3`L06MEgH!i0iMbq#2QT#Lv@hdy(B;770e<`|Zut(AhnW0@vs*{8H;-Gg z*muQ#Ap-=V)cvH}`x{=Eay1R&gB^_ZhCQ`H>D6!CCr=6Q2&aU11v!V)lFKTQdlI>Q zcX3iPq`{Za#Q4f7hBdO@t!)asJRx|nXPq=k_`v)fhbZO#aq-cLEXo5E~|3ni_>?39Z`%Dw{S#+P^{ zM_apo7?wpSX8lz#jQ&aF(fW(9*STPxSk-1=KB?>aAe0IJ{1F(C9|`(Ckgoq$uZ(Pl z(wM_PZbFU9Nm1RhhDbhnYq=J@U-@AXeb*8`oIb&IlDxWZ71aE!$XyH0S4+Mt31@MB zm~3P9GB9mJlz%?1L1OaWBRI1#Uy0;HB)f45bssx+$m#CuPmU=`XB*$jdk%P$`p!G; zZRb6$ytk!*(*jYWz9Ph(dlPY!4sLIKjdc-jyaVtTnC}awDdu7Jb4+8W9Wx(eCuqtTtoUaya?P`r=J6#dmV`~>|9>L~@2#AD?fXyn@>1Qr7 zu1}cWP0^z&(L=4A-%|EXN5}$y<-`I^rP2UEg^9=L0gbaD(?`RUXhAimUD33ls^W%O z`$0DV|0T9J`gxe)s|?qB3ij*pb1=-T!n@$(yWq2c({r8l`vkJn=l)1sR$>!!EHZXR ziSh%80z(mHAZkEo!*PZ8{14ZG#K`bj7Kh|+sV5*va!*&+@y=ekR|rU*vMEgopFy&m zP{IQv@<4P%9tsb~(BOZLmlKira5y%6E>frxq0i~SLFlCF;rBPZi&U;MoIcJT6aGAV zJ{tdw33q}`g}PaYzHimnB5uru-ft>KyfK%L3-Au^G|2eG2ct^3AMpt#UeHm)ibrB$ zUWrU9h#w3qVZ`?*5{MrdA03U10X8)ztB%C5N4FZzL_=U7=t6Vop-y!1`nH2TNl48_K4 zY|$%VQO>8$_d+h^^uW(7#`%=rEXMhUJ_Js~HpjV23u4aF*dCT&`nYbE|CyN-Y@>e$ z{2CbL`rpI`dYT2&{?o6Kk#F>$)>C>mP06$KqpV>1E>Vuse2SHOR1cf~r{FhB>GMAe R&T{#atp2yn$zYe}{|ijUzw-b9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ber_tlv_tag.c b/asn1c_defs/all-defs/ber_tlv_tag.c new file mode 100755 index 0000000..219b3e6 --- /dev/null +++ b/asn1c_defs/all-defs/ber_tlv_tag.c @@ -0,0 +1,144 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +ssize_t +ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) { + ber_tlv_tag_t val; + ber_tlv_tag_t tclass; + size_t skipped; + + if(size == 0) + return 0; + + val = *(const uint8_t *)ptr; + tclass = (val >> 6); + if((val &= 0x1F) != 0x1F) { + /* + * Simple form: everything encoded in a single octet. + * Tag Class is encoded using two least significant bits. + */ + *tag_r = (val << 2) | tclass; + return 1; + } + + /* + * Each octet contains 7 bits of useful information. + * The MSB is 0 if it is the last octet of the tag. + */ + for(val = 0, ptr = ((const char *)ptr) + 1, skipped = 2; + skipped <= size; + ptr = ((const char *)ptr) + 1, skipped++) { + unsigned int oct = *(const uint8_t *)ptr; + if(oct & 0x80) { + val = (val << 7) | (oct & 0x7F); + /* + * Make sure there are at least 9 bits spare + * at the MS side of a value. + */ + if(val >> ((8 * sizeof(val)) - 9)) { + /* + * We would not be able to accomodate + * any more tag bits. + */ + return -1; + } + } else { + val = (val << 7) | oct; + *tag_r = (val << 2) | tclass; + return skipped; + } + } + + return 0; /* Want more */ +} + + +ssize_t +ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) { + char buf[sizeof("[APPLICATION ]") + 32]; + ssize_t ret; + + ret = ber_tlv_tag_snprint(tag, buf, sizeof(buf)); + if(ret >= (ssize_t)sizeof(buf) || ret < 2) { + errno = EPERM; + return -1; + } + + return fwrite(buf, 1, ret, f); +} + +ssize_t +ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t size) { + const char *type = 0; + int ret; + + switch(tag & 0x3) { + case ASN_TAG_CLASS_UNIVERSAL: type = "UNIVERSAL "; break; + case ASN_TAG_CLASS_APPLICATION: type = "APPLICATION "; break; + case ASN_TAG_CLASS_CONTEXT: type = ""; break; + case ASN_TAG_CLASS_PRIVATE: type = "PRIVATE "; break; + } + + ret = snprintf(buf, size, "[%s%u]", type, ((unsigned)tag) >> 2); + if(ret <= 0 && size) buf[0] = '\0'; /* against broken libc's */ + + return ret; +} + +char * +ber_tlv_tag_string(ber_tlv_tag_t tag) { + static char buf[sizeof("[APPLICATION ]") + 32]; + + (void)ber_tlv_tag_snprint(tag, buf, sizeof(buf)); + + return buf; +} + + +size_t +ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufp, size_t size) { + int tclass = BER_TAG_CLASS(tag); + ber_tlv_tag_t tval = BER_TAG_VALUE(tag); + uint8_t *buf = (uint8_t *)bufp; + uint8_t *end; + size_t required_size; + size_t i; + + if(tval <= 30) { + /* Encoded in 1 octet */ + if(size) buf[0] = (tclass << 6) | tval; + return 1; + } else if(size) { + *buf++ = (tclass << 6) | 0x1F; + size--; + } + + /* + * Compute the size of the subsequent bytes. + */ + for(required_size = 1, i = 7; i < 8 * sizeof(tval); i += 7) { + if(tval >> i) + required_size++; + else + break; + } + + if(size < required_size) + return required_size + 1; + + /* + * Fill in the buffer, space permitting. + */ + end = buf + required_size - 1; + for(i -= 7; buf < end; i -= 7, buf++) + *buf = 0x80 | ((tval >> i) & 0x7F); + *buf = (tval & 0x7F); /* Last octet without high bit */ + + return required_size + 1; +} + diff --git a/asn1c_defs/all-defs/ber_tlv_tag.h b/asn1c_defs/all-defs/ber_tlv_tag.h new file mode 100755 index 0000000..4386c2c --- /dev/null +++ b/asn1c_defs/all-defs/ber_tlv_tag.h @@ -0,0 +1,60 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _BER_TLV_TAG_H_ +#define _BER_TLV_TAG_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +enum asn_tag_class { + ASN_TAG_CLASS_UNIVERSAL = 0, /* 0b00 */ + ASN_TAG_CLASS_APPLICATION = 1, /* 0b01 */ + ASN_TAG_CLASS_CONTEXT = 2, /* 0b10 */ + ASN_TAG_CLASS_PRIVATE = 3 /* 0b11 */ +}; +typedef unsigned ber_tlv_tag_t; /* BER TAG from Tag-Length-Value */ + +/* + * Tag class is encoded together with tag value for optimization purposes. + */ +#define BER_TAG_CLASS(tag) ((tag) & 0x3) +#define BER_TAG_VALUE(tag) ((tag) >> 2) +#define BER_TLV_CONSTRUCTED(tagptr) (((*(const uint8_t *)tagptr)&0x20)?1:0) + +#define BER_TAGS_EQUAL(tag1, tag2) ((tag1) == (tag2)) + +/* + * Several functions for printing the TAG in the canonical form + * (i.e. "[PRIVATE 0]"). + * Return values correspond to their libc counterparts (if any). + */ +ssize_t ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t buflen); +ssize_t ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *); +char *ber_tlv_tag_string(ber_tlv_tag_t tag); + + +/* + * This function tries to fetch the tag from the input stream. + * RETURN VALUES: + * 0: More data expected than bufptr contains. + * -1: Fatal error deciphering tag. + * >0: Number of bytes used from bufptr. tag_r will contain the tag. + */ +ssize_t ber_fetch_tag(const void *bufptr, size_t size, ber_tlv_tag_t *tag_r); + +/* + * This function serializes the tag (T from TLV) in BER format. + * It always returns number of bytes necessary to represent the tag, + * it is a caller's responsibility to check the return value + * against the supplied buffer's size. + */ +size_t ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufptr, size_t size); + +#ifdef __cplusplus +} +#endif + +#endif /* _BER_TLV_TAG_H_ */ diff --git a/asn1c_defs/all-defs/ber_tlv_tag.o b/asn1c_defs/all-defs/ber_tlv_tag.o new file mode 100644 index 0000000000000000000000000000000000000000..c99e082b7dac4bee8f4b56dcf81381661372a5cf GIT binary patch literal 3272 zcmbuAUu+ab7{F)mO8-&r3b9gxwpXPJ3Tuzn(E6aa^sb$gwQc&(KLpQfduK2754qa| zNG(bObgML$ z89AUYoSkt1U9R%Gr~L)1>4k#8SZd@shM4mfTuaP*Q?p>4 zW`5obSfv*nX1?h8sO+vB!!*RmQvFV0(D+@y<)p^EI=Ka@o^@zdde+HRtxV5Kd`u@d zp@r%WTu0CJU59Ft*Xdjumv99as2V?bQ;TRw^>51Q6fDck*VS?51*FEG;7zIV3pIY~ zqv!IfcQfkWRWJM|+g7Ol_udoxsIf$it6yVSYW!>lJ*V!f@1wOP%q>{~N$BAtkc6=5 zId)`xOP6mlCiZpmMTi4$b*GTMh#AgY0YoW;7=A+5_D3YR z?KiGsy6M$M$+NqwCpn}gJqP4Exn`d?$u#eK-g>#FPWJ9GIp%tdCzMXL6X|5Bw6mn3@I0)d z6!;T-?laz_Uc<-z*f+UKPr1quxjb*V3PIfstqnQI2tE{7=?4zQRjxZ#*E!#eGNfvwj^9gYhEQUwLNpP3eOF2^?jsGO)JJy?%r#QE7&9j_ixmjf|Q#Nrw>kRHg z{(1nK7uq(t1RXg@yc2--&@ zT5mskFpYbM5<|!0u_29wn$^~WiW+KdYU&7dhB}plY9K^HVm=z`?LWHCF?u2%(;{FI ziN}YALj%LTVJ$X1gf3dR_bA$jqT$%UI;VsN$!sqWiO0eNu~QLP>s4qdc=6yT^&k9% zfP9A#1bHzu!GA;uf_yVH!GA>vg1iKp;P(-NAjeOe;9L0q;y-Ddg$FoCd#np#-(#`I z|GwbwTR2{of?u%k$1VI*OMJ{N?7y^dYhL!L0XuvjtGx$w6y(^1)bWAfm$=?(jqBVrBe4@qjySsr}~g0YmxCx@n->?|_}aaKC-f zta6NBnf3g+B{yBN=J-q&lB!cX);?!RVXjxN|2#0`X>uzwo{$ZW?%rnvt_ zVaR*2{{p`WgIwo#ksIRuj)LchNcfBM%at4LeHawv4gO+y2jMr??vHm_uBA@#f}DqW XtJv4S6()1}doVCazu7%}+Wr3pW$`Nx literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/constr_CHOICE.c b/asn1c_defs/all-defs/constr_CHOICE.c new file mode 100755 index 0000000..25bb8cd --- /dev/null +++ b/asn1c_defs/all-defs/constr_CHOICE.c @@ -0,0 +1,1511 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num;\ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself;\ + return rval; \ + } while(0) + +/* + * See the definitions. + */ +static unsigned _fetch_present_idx(const void *struct_ptr, unsigned off, + unsigned size); +static void _set_present_idx(void *sptr, unsigned offset, unsigned size, + unsigned pres); +static const void *_get_member_ptr(const asn_TYPE_descriptor_t *, + const void *sptr, asn_TYPE_member_t **elm, + unsigned *present); + +/* + * Tags are canonically sorted in the tag to member table. + */ +static int +_search4tag(const void *ap, const void *bp) { + const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; + const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; + + int a_class = BER_TAG_CLASS(a->el_tag); + int b_class = BER_TAG_CLASS(b->el_tag); + + if(a_class == b_class) { + ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); + ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); + + if(a_value == b_value) + return 0; + else if(a_value < b_value) + return -1; + else + return 1; + } else if(a_class < b_class) { + return -1; + } else { + return 1; + } +} + +/* + * The decoder of the CHOICE type. + */ +asn_dec_rval_t +CHOICE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elements = td->elements; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + ssize_t tag_len; /* Length of TLV's T */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + ASN_DEBUG("Decoding %s as CHOICE", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + if(tag_mode || td->tags_count) { + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, -1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) { + /* ?Substracted below! */ + ctx->left += rval.consumed; + } + ADVANCE(rval.consumed); + } else { + ctx->left = -1; + } + + NEXT_PHASE(ctx); + + ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", + (long)ctx->left, (long)size); + + /* Fall through */ + case 1: + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + ASN_DEBUG("In %s CHOICE tag length %d", td->name, (int)tag_len); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + do { + const asn_TYPE_tag2member_t *t2m; + asn_TYPE_tag2member_t key; + + key.el_tag = tlv_tag; + t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, + specs->tag2el, specs->tag2el_count, + sizeof(specs->tag2el[0]), _search4tag); + if(t2m) { + /* + * Found the element corresponding to the tag. + */ + NEXT_PHASE(ctx); + ctx->step = t2m->el_no; + break; + } else if(specs->ext_start == -1) { + ASN_DEBUG("Unexpected tag %s " + "in non-extensible CHOICE %s", + ber_tlv_tag_string(tlv_tag), td->name); + RETURN(RC_FAIL); + } else { + /* Skip this tag */ + ssize_t skip; + + ASN_DEBUG("Skipping unknown tag %s", + ber_tlv_tag_string(tlv_tag)); + + skip = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tag_len, + LEFT - tag_len); + + switch(skip) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(skip + tag_len); + RETURN(RC_OK); + } + } while(0); + + case 2: + /* + * PHASE 2. + * Read in the element. + */ + do { + asn_TYPE_member_t *elm;/* CHOICE's element */ + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + elm = &elements[ctx->step]; + + /* + * Compute the position of the member inside a structure, + * and also a type of containment (it may be contained + * as pointer or using inline inclusion). + */ + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + /* + * A pointer to a pointer + * holding the start of the structure + */ + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + /* Set presence to be able to free it properly at any time */ + _set_present_idx(st, specs->pres_offset, + specs->pres_size, ctx->step + 1); + /* + * Invoke the member fetch routine according to member's type + */ + rval = elm->type->op->ber_decoder(opt_codec_ctx, elm->type, + memb_ptr2, ptr, LEFT, elm->tag_mode); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + RETURN(RC_FAIL); + case RC_FAIL: /* Fatal error */ + RETURN(rval.code); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } while(0); + + NEXT_PHASE(ctx); + + /* Fall through */ + case 3: + ASN_DEBUG("CHOICE %s Leftover: %ld, size = %ld, tm=%d, tc=%d", + td->name, (long)ctx->left, (long)size, + tag_mode, td->tags_count); + + if(ctx->left > 0) { + /* + * The type must be fully decoded + * by the CHOICE member-specific decoder. + */ + RETURN(RC_FAIL); + } + + if(ctx->left == -1 + && !(tag_mode || td->tags_count)) { + /* + * This is an untagged CHOICE. + * It doesn't contain nothing + * except for the member itself, including all its tags. + * The decoding is completed. + */ + NEXT_PHASE(ctx); + break; + } + + /* + * Read in the "end of data chunks"'s. + */ + while(ctx->left < 0) { + ssize_t tl; + + tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tl) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + /* + * Expected <0><0>... + */ + if(((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Correctly finished with <0><0>. + */ + ADVANCE(2); + ctx->left++; + continue; + } + } else { + ASN_DEBUG("Unexpected continuation in %s", + td->name); + RETURN(RC_FAIL); + } + + /* UNREACHABLE */ + } + + NEXT_PHASE(ctx); + case 4: + /* No meaningful work here */ + break; + } + + RETURN(RC_OK); +} + +asn_enc_rval_t +CHOICE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elm; /* CHOICE element */ + asn_enc_rval_t erval = {0,0,0}; + const void *memb_ptr; + size_t computed_size = 0; + unsigned present; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("%s %s as CHOICE", + cb?"Encoding":"Estimating", td->name); + + present = _fetch_present_idx(sptr, + specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present == 0 || present > td->elements_count) { + if(present == 0 && td->elements_count == 0) { + /* The CHOICE is empty?! */ + erval.encoded = 0; + ASN__ENCODED_OK(erval); + } + ASN__ENCODE_FAILED; + } + + /* + * Seek over the present member of the structure. + */ + elm = &td->elements[present-1]; + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(memb_ptr == 0) { + if(elm->optional) { + erval.encoded = 0; + ASN__ENCODED_OK(erval); + } + /* Mandatory element absent */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* + * If the CHOICE itself is tagged EXPLICIT: + * T ::= [2] EXPLICIT CHOICE { ... } + * Then emit the appropriate tags. + */ + if(tag_mode == 1 || td->tags_count) { + /* + * For this, we need to pre-compute the member. + */ + ssize_t ret; + + /* Encode member with its tag */ + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + elm->tag_mode, elm->tag, 0, 0); + if(erval.encoded == -1) + return erval; + + /* Encode CHOICE with parent or my own tag */ + ret = der_write_tags(td, erval.encoded, tag_mode, 1, tag, + cb, app_key); + if(ret == -1) + ASN__ENCODE_FAILED; + computed_size += ret; + } + + /* + * Encode the single underlying member. + */ + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + elm->tag_mode, elm->tag, cb, app_key); + if(erval.encoded == -1) + return erval; + + ASN_DEBUG("Encoded CHOICE member in %ld bytes (+%ld)", + (long)erval.encoded, (long)computed_size); + + erval.encoded += computed_size; + + return erval; +} + +ber_tlv_tag_t +CHOICE_outmost_tag(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, ber_tlv_tag_t tag) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + assert(tag_mode == 0); (void)tag_mode; + assert(tag == 0); (void)tag; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); + + if(present > 0 && present <= td->elements_count) { + const asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *) + ((const char *)ptr + elm->memb_offset); + } else { + memb_ptr = (const void *) + ((const char *)ptr + elm->memb_offset); + } + + return asn_TYPE_outmost_tag(elm->type, memb_ptr, + elm->tag_mode, elm->tag); + } else { + return (ber_tlv_tag_t)-1; + } +} + +int +CHOICE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) + return 0; + ASN__CTFAIL(app_key, td, sptr, + "%s: mandatory CHOICE element %s absent (%s:%d)", + td->name, elm->name, __FILE__, __LINE__); + return -1; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + if(elm->encoding_constraints.general_constraints) { + return elm->encoding_constraints.general_constraints(elm->type, memb_ptr, + ctfailcb, app_key); + } else { + return elm->type->encoding_constraints.general_constraints(elm->type, + memb_ptr, ctfailcb, app_key); + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: no CHOICE element given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + buf_ptr = (const void *)(((const char *)buf_ptr) + num); \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +CHOICE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval; /* Return value of a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* Element index */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + if(ctx->phase == 0 && !*xml_tag) + ctx->phase = 1; /* Skip the outer tag checking phase */ + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + * Phase 3: Only waiting for closing tag. + * Phase 4: Skipping unknown extensions. + * Phase 5: PHASED OUT + */ + for(edx = ctx->step; ctx->phase <= 4;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + asn_TYPE_member_t *elm; + + /* + * Go inside the member. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + unsigned old_present; + + elm = &td->elements[edx]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + /* Start/Continue decoding the inner member */ + tmprval = elm->type->op->xer_decoder(opt_codec_ctx, + elm->type, memb_ptr2, elm->name, + buf_ptr, size); + XER_ADVANCE(tmprval.consumed); + ASN_DEBUG("XER/CHOICE: itdf: [%s] code=%d", + elm->type->name, tmprval.code); + old_present = _fetch_present_idx(st, + specs->pres_offset, specs->pres_size); + assert(old_present == 0 || old_present == edx + 1); + /* Record what we've got */ + _set_present_idx(st, + specs->pres_offset, specs->pres_size, edx + 1); + if(tmprval.code != RC_OK) + RETURN(tmprval.code); + ctx->phase = 3; + /* Fall through */ + } + + /* No need to wait for closing tag; special mode. */ + if(ctx->phase == 3 && !*xml_tag) { + ctx->phase = 5; /* Phase out */ + RETURN(RC_OK); + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, buf_ptr, size, &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + ASN_DEBUG("XER/CHOICE checked [%c%c%c%c] vs [%s], tcv=%d", + ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', + ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', + ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', + ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', + xml_tag, tcv); + + /* Skip the extensions section */ + if(ctx->phase == 4) { + ASN_DEBUG("skip_unknown(%d, %ld)", + tcv, (long)ctx->left); + switch(xer_skip_unknown(tcv, &ctx->left)) { + case -1: + ctx->phase = 5; + RETURN(RC_FAIL); + case 1: + ctx->phase = 3; + /* Fall through */ + case 0: + XER_ADVANCE(ch_size); + continue; + case 2: + ctx->phase = 3; + break; + } + } + + switch(tcv) { + case XCT_BOTH: + break; /* No CHOICE? */ + case XCT_CLOSING: + if(ctx->phase != 3) + break; + XER_ADVANCE(ch_size); + ctx->phase = 5; /* Phase out */ + RETURN(RC_OK); + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + if(ctx->phase != 1) + break; /* Really unexpected */ + + /* + * Search which inner member corresponds to this tag. + */ + for(edx = 0; edx < td->elements_count; edx++) { + elm = &td->elements[edx]; + tcv = xer_check_tag(buf_ptr,ch_size,elm->name); + switch(tcv) { + case XCT_BOTH: + case XCT_OPENING: + /* + * Process this member. + */ + ctx->step = edx; + ctx->phase = 2; + break; + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + continue; + default: + edx = td->elements_count; + break; /* Phase out */ + } + break; + } + if(edx != td->elements_count) + continue; + + /* It is expected extension */ + if(specs->ext_start != -1) { + ASN_DEBUG("Got anticipated extension"); + /* + * Check for (XCT_BOTH or XCT_UNKNOWN_BO) + * By using a mask. Only record a pure + * tags. + */ + if(tcv & XCT_CLOSING) { + /* Found without body */ + ctx->phase = 3; /* Terminating */ + } else { + ctx->left = 1; + ctx->phase = 4; /* Skip ...'s */ + } + XER_ADVANCE(ch_size); + continue; + } + + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag [%c%c%c%c] in CHOICE [%s]" + " (ph=%d, tag=%s)", + ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', + ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', + ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', + ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', + td->name, ctx->phase, xml_tag); + break; + } + + ctx->phase = 5; /* Phase out, just in case */ + RETURN(RC_FAIL); +} + + +asn_enc_rval_t +CHOICE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + unsigned present = 0; + + if(!sptr) + ASN__ENCODE_FAILED; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + asn_enc_rval_t tmper = {0,0,0}; + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr = NULL; + const char *mname = elm->name; + unsigned int mlen = strlen(mname); + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + er.encoded = 0; + + if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, + ilevel + 1, flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("", 1); + } + + if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +asn_dec_rval_t +CHOICE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_dec_rval_t rv; + const asn_per_constraint_t *ct; + asn_TYPE_member_t *elm; /* CHOICE's element */ + void *memb_ptr; + void **memb_ptr2; + void *st = *sptr; + int value; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted */ + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + ASN_DEBUG("CHOICE %s got index %d in range %d", + td->name, value, ct->range_bits); + if(value > ct->upper_bound) + ASN__DECODE_FAILED; + } else { + if(specs->ext_start == -1) + ASN__DECODE_FAILED; + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->ext_start; + if((unsigned)value >= td->elements_count) + ASN__DECODE_FAILED; + } + + /* Adjust if canonical order is different from natural order */ + if(specs->from_canonical_order) { + ASN_DEBUG("CHOICE presence from wire %d", value); + value = specs->from_canonical_order[value]; + ASN_DEBUG("CHOICE presence index effective %d", value); + } + + /* Set presence to be able to free it later */ + _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); + + elm = &td->elements[value]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); + + if(ct && ct->range_bits >= 0) { + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } else { + rv = uper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } + + if(rv.code != RC_OK) + ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", + elm->name, td->name, rv.code); + return rv; +} + +asn_enc_rval_t +CHOICE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elm; /* CHOICE's element */ + const asn_per_constraint_t *ct; + const void *memb_ptr; + unsigned present; + int present_enc; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s as CHOICE", td->name); + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized properly, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present == 0 || present > td->elements_count) + ASN__ENCODE_FAILED; + else + present--; + + ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); + + /* Adjust if canonical order is different from natural order */ + if(specs->to_canonical_order) + present_enc = specs->to_canonical_order[present]; + else + present_enc = present; + + if(ct && ct->range_bits >= 0) { + if(present_enc < ct->lower_bound + || present_enc > ct->upper_bound) { + if(ct->flags & APC_EXTENSIBLE) { + ASN_DEBUG( + "CHOICE member %d (enc %d) is an extension (%ld..%ld)", + present, present_enc, ct->lower_bound, ct->upper_bound); + if(per_put_few_bits(po, 1, 1)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + ct = 0; + } + } + if(ct && ct->flags & APC_EXTENSIBLE) { + ASN_DEBUG("CHOICE member %d (enc %d) is not an extension (%ld..%ld)", + present, present_enc, ct->lower_bound, ct->upper_bound); + if(per_put_few_bits(po, 0, 1)) + ASN__ENCODE_FAILED; + } + + + elm = &td->elements[present]; + ASN_DEBUG("CHOICE member \"%s\" %d (as %d)", elm->name, present, + present_enc); + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, present_enc, ct->range_bits)) + ASN__ENCODE_FAILED; + + return elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, memb_ptr, po); + } else { + asn_enc_rval_t rval = {0,0,0}; + if(specs->ext_start == -1) ASN__ENCODE_FAILED; + if(uper_put_nsnnwn(po, present_enc - specs->ext_start)) + ASN__ENCODE_FAILED; + if(uper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, po)) + ASN__ENCODE_FAILED; + rval.encoded = 0; + ASN__ENCODED_OK(rval); + } +} + +asn_dec_rval_t +CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_dec_rval_t rv; + const asn_per_constraint_t *ct; + asn_TYPE_member_t *elm; /* CHOICE's element */ + void *memb_ptr; + void **memb_ptr2; + void *st = *sptr; + int value; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted */ + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + ASN_DEBUG("CHOICE %s got index %d in range %d", + td->name, value, ct->range_bits); + if(value > ct->upper_bound) + ASN__DECODE_FAILED; + } else { + if(specs->ext_start == -1) + ASN__DECODE_FAILED; + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->ext_start; + if((unsigned)value >= td->elements_count) + ASN__DECODE_FAILED; + } + + /* Adjust if canonical order is different from natural order */ + if(specs->from_canonical_order) + value = specs->from_canonical_order[value]; + + /* Set presence to be able to free it later */ + _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); + + elm = &td->elements[value]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); + + if(ct && ct->range_bits >= 0) { + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } else { + rv = uper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } + + if(rv.code != RC_OK) + ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", + elm->name, td->name, rv.code); + return rv; +} + +asn_enc_rval_t +CHOICE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm; /* CHOICE's element */ + const asn_per_constraint_t *ct; + const void *memb_ptr; + int present; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name); + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + present = _fetch_present_idx(sptr, + specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized properly, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present <= 0 || (unsigned)present > td->elements_count) + ASN__ENCODE_FAILED; + else + present--; + + /* Adjust if canonical order is different from natural order */ + if(specs->to_canonical_order) + present = specs->to_canonical_order[present]; + + ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); + + if(ct && ct->range_bits >= 0) { + if(present < ct->lower_bound + || present > ct->upper_bound) { + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, 1, 1)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + ct = 0; + } + } + if(ct && ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, 0, 1)) + ASN__ENCODE_FAILED; + } + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, present, ct->range_bits)) + ASN__ENCODE_FAILED; + + return elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints, + memb_ptr, po); + } else { + asn_enc_rval_t rval = {0,0,0}; + if(specs->ext_start == -1) + ASN__ENCODE_FAILED; + if (ct) { + if(aper_put_nsnnwn(po, ct->range_bits, present - specs->ext_start)) + ASN__ENCODE_FAILED; + } + if(aper_open_type_put(elm->type, elm->encoding_constraints.per_constraints, + memb_ptr, po)) + ASN__ENCODE_FAILED; + rval.encoded = 0; + ASN__ENCODED_OK(rval); + } +} + +int +CHOICE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + + /* + * Print that element. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* Print member's name and stuff */ + if(0) { + if(cb(elm->name, strlen(elm->name), app_key) < 0 + || cb(": ", 2, app_key) < 0) + return -1; + } + + return elm->type->op->print_struct(elm->type, memb_ptr, ilevel, + cb, app_key); + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} + +void +CHOICE_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!td || !ptr) + return; + + ASN_DEBUG("Freeing %s as CHOICE", td->name); + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); + + /* + * Free that element. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(void **)((char *)ptr + elm->memb_offset); + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } else { + memb_ptr = (void *)((char *)ptr + elm->memb_offset); + ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); + } + } + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, specs->struct_size); + break; + } +} + + +/* + * The following functions functions offer protection against -fshort-enums, + * compatible with little- and big-endian machines. + * If assertion is triggered, either disable -fshort-enums, or add an entry + * here with the ->pres_size of your target stracture. + * Unless the target structure is packed, the ".present" member + * is guaranteed to be aligned properly. ASN.1 compiler itself does not + * produce packed code. + */ +static unsigned +_fetch_present_idx(const void *struct_ptr, unsigned pres_offset, + unsigned pres_size) { + const void *present_ptr; + unsigned present; + + present_ptr = ((const char *)struct_ptr) + pres_offset; + + switch(pres_size) { + case sizeof(int): present = *(const unsigned int *)present_ptr; break; + case sizeof(short): present = *(const unsigned short *)present_ptr; break; + case sizeof(char): present = *(const unsigned char *)present_ptr; break; + default: + /* ANSI C mandates enum to be equivalent to integer */ + assert(pres_size != sizeof(int)); + return 0; /* If not aborted, pass back safe value */ + } + + return present; +} + +static void +_set_present_idx(void *struct_ptr, unsigned pres_offset, unsigned pres_size, + unsigned present) { + void *present_ptr; + present_ptr = ((char *)struct_ptr) + pres_offset; + + switch(pres_size) { + case sizeof(int): *(unsigned int *)present_ptr = present; break; + case sizeof(short): *(unsigned short *)present_ptr = present; break; + case sizeof(char): *(unsigned char *)present_ptr = present; break; + default: + /* ANSI C mandates enum to be equivalent to integer */ + assert(pres_size != sizeof(int)); + } +} + +static const void * +_get_member_ptr(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_TYPE_member_t **elm_ptr, unsigned *present_out) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) { + *elm_ptr = NULL; + *present_out = 0; + return NULL; + } + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + *present_out = present; + + /* + * The presence index is intentionally 1-based to avoid + * treating zeroed structure as a valid one. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *const elm = &td->elements[present - 1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + *elm_ptr = elm; + return memb_ptr; + } else { + *elm_ptr = NULL; + return NULL; + } + +} + +int +CHOICE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { + asn_TYPE_member_t *aelm; + asn_TYPE_member_t *belm; + unsigned apresent = 0; + unsigned bpresent = 0; + const void *amember = _get_member_ptr(td, aptr, &aelm, &apresent); + const void *bmember = _get_member_ptr(td, bptr, &belm, &bpresent); + + if(amember && bmember) { + if(apresent == bpresent) { + assert(aelm == belm); + return aelm->type->op->compare_struct(aelm->type, amember, bmember); + } else if(apresent < bpresent) { + return -1; + } else { + return 1; + } + } else if(!amember) { + return -1; + } else { + return 1; + } +} + +/* + * Return the 1-based choice variant presence index. + * Returns 0 in case of error. + */ +unsigned +CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, const void *sptr) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + return _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); +} + +/* + * Sets or resets the 1-based choice variant presence index. + * In case a previous index is not zero, the currently selected structure + * member is freed and zeroed-out first. + * Returns 0 on success and -1 on error. + */ +int +CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, void *sptr, + unsigned present) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned old_present; + + if(!sptr) { + return -1; + } + + if(present > td->elements_count) + return -1; + + old_present = + _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + if(present == old_present) + return 0; + + if(old_present != 0) { + assert(old_present <= td->elements_count); + ASN_STRUCT_RESET(*td, sptr); + } + + _set_present_idx(sptr, specs->pres_offset, specs->pres_size, present); + + return 0; +} + + +asn_random_fill_result_t +CHOICE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_random_fill_result_t res; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + const asn_TYPE_member_t *elm; + unsigned present; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *st = *sptr; + + if(max_length == 0) return result_skipped; + + (void)constr; + + if(st == NULL) { + st = CALLOC(1, specs->struct_size); + if(st == NULL) { + return result_failed; + } + } + + present = asn_random_between(1, td->elements_count); + elm = &td->elements[present - 1]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + res = elm->type->op->random_fill(elm->type, memb_ptr2, + &elm->encoding_constraints, max_length); + _set_present_idx(st, specs->pres_offset, specs->pres_size, present); + if(res.code == ARFILL_OK) { + *sptr = st; + } else { + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + } + + return res; +} + + +asn_TYPE_operation_t asn_OP_CHOICE = { + CHOICE_free, + CHOICE_print, + CHOICE_compare, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + CHOICE_decode_oer, + CHOICE_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + CHOICE_random_fill, + CHOICE_outmost_tag +}; diff --git a/asn1c_defs/all-defs/constr_CHOICE.h b/asn1c_defs/all-defs/constr_CHOICE.h new file mode 100755 index 0000000..8500927 --- /dev/null +++ b/asn1c_defs/all-defs/constr_CHOICE.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_CHOICE_H_ +#define _CONSTR_CHOICE_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct asn_CHOICE_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the target structure. */ + unsigned ctx_offset; /* Offset of the asn_codec_ctx_t member */ + unsigned pres_offset; /* Identifier of the present member */ + unsigned pres_size; /* Size of the identifier (enum) */ + + /* + * Tags to members mapping table. + */ + const asn_TYPE_tag2member_t *tag2el; + unsigned tag2el_count; + + /* Canonical ordering of CHOICE elements, for PER */ + const unsigned *to_canonical_order; + const unsigned *from_canonical_order; + + /* + * Extensions-related stuff. + */ + signed ext_start; /* First member of extensions, or -1 */ +} asn_CHOICE_specifics_t; + +/* + * A set specialized functions dealing with the CHOICE type. + */ +asn_struct_free_f CHOICE_free; +asn_struct_print_f CHOICE_print; +asn_struct_compare_f CHOICE_compare; +asn_constr_check_f CHOICE_constraint; +ber_type_decoder_f CHOICE_decode_ber; +der_type_encoder_f CHOICE_encode_der; +xer_type_decoder_f CHOICE_decode_xer; +xer_type_encoder_f CHOICE_encode_xer; +oer_type_decoder_f CHOICE_decode_oer; +oer_type_encoder_f CHOICE_encode_oer; +per_type_decoder_f CHOICE_decode_uper; +per_type_encoder_f CHOICE_encode_uper; +per_type_decoder_f CHOICE_decode_aper; +per_type_encoder_f CHOICE_encode_aper; +asn_outmost_tag_f CHOICE_outmost_tag; +asn_random_fill_f CHOICE_random_fill; +extern asn_TYPE_operation_t asn_OP_CHOICE; + +/* + * Return the 1-based choice variant presence index. + * Returns 0 in case of error. + */ +unsigned CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, + const void *structure_ptr); + +/* + * Sets or resets the 1-based choice variant presence index. + * In case a previous index is not zero, the currently selected structure + * member is freed and zeroed-out first. + * Returns 0 on success and -1 on error. + */ +int CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, + void *structure_ptr, unsigned present); + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_CHOICE_H_ */ diff --git a/asn1c_defs/all-defs/constr_CHOICE.o b/asn1c_defs/all-defs/constr_CHOICE.o new file mode 100644 index 0000000000000000000000000000000000000000..ad050816cacfd8cd55ef1fe71215f607fb635379 GIT binary patch literal 17416 zcmeHN4R9RAm7e{vC0okQ63ih8i5IdE8L+Gc|46Yg8fjOW!6UrHvMn&MmgN;TmL(yr zY#AJ5*j>k+VI9>KNl3yKT-{xY1n!Fb6d1w<$u^b^1|0Jff)g+lA=(Io2}H;yu=l;5 zp54*1o2$D^)zwv9SM5yq>+aX@y?*cYdp&!5NN;jF9FkQW(h@1xvY?W5@XB1ho>%Lo zGbFFXCRE3#@zc)OMe)<_*g5gjj#&8z`#P)S*$F;smuH_mJ19v^ygO0p9Ln`8tCW=? z_Pnw}Y1P=XE0$~Q!xnZxjla{T8W-!vjceAahWo-w;8I!8uLg!yqbaPiI=`AcK@hK; zxYj92im}?QI>zNkU7hhshn)B}c-Y>7x>HX4BkHKRob-T{kfHm1q2wVsDWRo~9^j})gZ>IyM`iuq_^=}s817`Q&LC@aYPAz;s?}eo zv-dQ)X+me$`+Z}4XnZoGv0*v!0L@Dd>jrw{#KoN5{t6@LuWK=ud%;L-D;tR)cd4w) zUpbO?1~Tj^1|r7GJBPL}R3XmVkNQ`tDfc4vS7R#MtB$3k#NTi!wdsLh zV_q%h$cdSdN#E0IYS1x0+Bp+&WE_G(%s{G^#ZGcxz&DsIF!+Od+su=a9s$)!5!p%Ti8imZff)r=SH0$O665D z%PXKKgr!tYyaKf#O-bIz^@Egv$WBiJmttK0B%s*0R=e0SE#Hu=Vi_DlFE({Ar;v3!LwAy$*o|D7&`zVn)U_@NZ-rXHruL!{^aoB z488WGyz@qELXjPEq-S8-kQ)CqGcbdcIq@4Tt*6%c>r__mZ(;AL#-)CJ&L_I#1lbN7 zrS4kj>ziD2nUbKu>PTlk&g!?(;3njigj#;`U?&VVeS=-T zY%+a>4=*I|`_YrX5R8b{_yL~;3HEyx`H=xhXYWHMOTkK=e`%_98UXNaBcD#w=ZwVP zcG!gbJyWCgYXV!6sbf#%of#`ZP3asCu% zUI}NO%#h0aV&$r_h?YqH77Ejnd`nLJfD}J@RAn#7i7lv4xZHBG3KgT@P3q?&wTa&j z=aV>uIXe4@Qv;>jRYP5_=4z!j)F$tIka|0YHDgsJ@Wo25?r`6!vth+p1;4SSG^ILp z_J^_gr!twPDfbS@s9rNdVR)S*@HB=B|DXb&?s!8@9#i32R3lt1Cv>8u(M`)KsNz&2 zKLZbx39Bj_fzQne@%)48jFaPYP5%g=i*awh_J zg8i$+`E#B)f8GNZa11s1=TDCB!63NQ7dKYOyS>0O{s>?1mmtn2oWa?0;uo~z$4uEJ z_oFdx?E!)gkqrn7bMus=edY1gLkOeAb1{RBFAgW`k#i~97|#NSMx z+Wudk{lI_5RAVnI#)|SF zJEgMMc^oqKlMgeQm`F;@DK8%)2HMI6gJ^t z7?`cIy}vA_wNh8$DP?{IF_ex>&L&it2hpz4*!v25L1U+N_Ph};H+oCQz7B$t!?C?e zZ9`k%6Y(*JwON|cz5k{%>0=1`7GkB?cT{7rBFJ8)%~C1m#5$Sd7C#t4OT{8s zOk+ne9V=;U5=)Me+f5ELN9;1Cw!W?J(v%9_a5F5aXhuDjD?ef=SnlA2!x3{~XEZhw zT<;)$v{4eIWQvCPvDy@7NfL&c@}v{>C5?Sd+DmBzeD52hZaU$1XxN>aMNx$L5|hOh-J$583l)V3DbG`w$;~>=^%D zZvQD#E>#x;?*L9lXgVnx;_PMK%r)Ne$G9@6sm~D|YHES`;v4vQ8!{^1Ezi!2AB26f zKdYQiq+vEItsyHt8idZeb>rv$9Y853wwp&VG~m}d%ZRimAxV-$&SFQYBMmdU$sZJ?1lO$>~ITv)>0y}cs+IA5yfc4 zwoWP&E;FTwoq^4TP`O>piAm6?#Q%b`a0#$$Mt_BxqR=0ztr$zap}?V#(OAv{A&Mhz zhB70@=ZRn@>{E@HzgoFYSxuoiYG7nC zqqHg4$_Zkd&qdC{2@q>zE?*nVDl7T2l$BKSWrO}|E+7Ke-$=M3&{_vFNMxEzp?J%^ z>Br#_O#2%xF(unys*W~$Y4!9!pcA5@ASrPtA6QR2z$qJTBx6Ri(Hwh=)ek-@RdzXI zSQsRcfLJ}f9KEKU8zJOIa`I6CDE;#xKZPn(q`!jIg*L%@Z2AdC5k#*Au%i?8)h;yDaw81g8H8KkUz#R1a_gDS z67YS6wf-=+$lRNPM)8c*ZP`1;KN_1LlW1XwS1i}rQ`qzMQ%s_b--_UjI%MXL$o;W9 z5RRPq1YSiqE^bMlkQ37(c@n8FXoTI%Qrpgw6#3B-O@4BV6So*D!)YKVxxF6m*I{sc z%*iu8elJ3PgFOdL1+_sH5A5{y{u+*f7I2dn0aPa&l@l-0{L{G2c@PzO=Kya`i_M6i zE|HVZgDBz!B*Mr>sAX(#!yOCVC~*CveD*xzpVpw*Q`Ol%jlIJc*4dw1Knjc*rWQmt z0FAE*b4uviDDeO$$~!-gXMB>DoWzn3fdDlQ><%~>HNFqmRdkxx{%OmjDtozwz0dY) z>|K)s_IvWC$bqn|%1)*;#DehW)Kj`+G4kUfs5C#tI~7*KE9tLuqu48hN(!M#{M#%$%M!vkAbN@ z7y<2IB|LoDQ3I}y!3pnyCPDJAQcqxbd;y*Jv|W0tyi9dGtIavAvuC){?fx!Ltzp4@ zj?SLu!T@RrAm(p_ubwX=q0M{)_OGAfsOu#zIIK1Pyy-8X{NTP624Fhl04vB| z>v)Z7Q*WV?UJdp|*EyIVu5%7y!uTE5e&K>sPDbEtxV{nN-vG%9_q--As^gi?5R=m{ zV;*igxveDU(u~JR4p7R}taC8p?DQM}wbT|b8`YuzM4zet@kwr1$TGX3%Ag9WgMNAU z>zGd}o|xbj+*qZti1G^(I|u_(q<4FvG-N5s$50vnrid?~kz5(MQgR#kJ=aIJS23E9 zVPIdmZo~&Equx$9-h{P13(UVH^w!oc$}*WAhua(iImMNI;Gg72fmq>^1a&3Y&1NTG zuom!GiiDVUVzF#Ih*L&Ro(ZnF0_1j|y_!A^K@VAUl<>+F4N5)@r9ITZ8fWM7Q=(}6ft)|b;hd%my&xOb+0pc7R83_m=)U`*l%@x>^u_ew8S_45 zf@d9{b>7LNtQ_}}|LngX^vH>N&<3SlgS!tT2O^sJ8P5*n#5jg1wM}jEoo}Fq!zzSZ z$XrNbx`y&2s)3`+JP2^nfD=-vxOFrj5Jl*ZK$LI2Jz&8h@C{%Nva$GaC+Vb|97P)r zp5G-{@%Kx(R9tJg{V;*uYr!@sdCatPTwK68C1-FXU37i;46JJWEHh4EufSWn_1bY9 zPT-T!(k|H0ZpAeVaG3V1nQ=u6+k%uS0v*-47clc7olVNg4@g?^JV$`Qg2y8o=2`K` z_+CVsbRtw^y@LGwJ)Mqpk|72{B+Da_0~v5C?}|Zr3Wz}7wHh7V-BCf{ zGUSn|;2kq`Hcq>Ertl{!`wi`*R{Oiy`Ghoo4_{Y}^Ze;0L=_v+m<*FEC9#v~(K~$^ z@8U5gHaiHR)TP%8Ce#)-Ph-tI01TtzO}nXwwhr==()DPWW;R6jWf~X1Y~*>-l;Ft9 z>ggH~iG#)tBY~0=KS#607+8bTUT1Ef(@BPEnjc5t7^kYedGO^Ngc|>u)Zf z=NZQ^#+uoc?aPv-zqs7a(_f>zKHUiA5c`1m^>LC3x6L3KJh8)tL*EeG{vhqDoFx6F zb2o@fNB&V|R@l7eEI$%7wwAUy{y<6T*?|)+#+5A;EzugpWAa~s9WEQ;S-GFQbApa7 z#0glLuBc1r9LTPQmTHvy<>YjlY}`_<8e5UaARiwQW8~yG-$^=Bz++w#@EZCo{aPHV zkiWGD04~Sgze=~9Y{G)Z3ODk+UEwTwLgTaIkdxiCI0=L#Ll-Z`Er^w_sn)T#JVpwq zuj4dG0esjnC0ksmiJP!gnl8{ecig|3{{AB?g)Od+rgwDeW3E& zNSpF4d53$$%P29PYfFrIbU_J7FWqob0@6(RFeicT%`)EPiI_kBiF4p=g?|TlJupFm zI!~6lUQr8|T1X3Cw{_Gb?%|hk!-S5$f)K9ppW5^_+I9Pw(ElI zxS%dbp%yLHW7&t4q1>PCGH(cJ=jO_06fBP3E0LZ)PnoBI!w7X;ly1PN*c zA?r`Vb^=Frqa?kNZ*9F~sP0hUE&4Y>6p$=Ca$+Sl1urh}(qcHTvG_su$1g;&rj+3NRh**EnSk-);oeKoDPsNttZ1gF$d;5Y=4sY&S`1y=CH=Cu+Ntivh_jmN+(b9v}fnm~!A%1@{ zo)(FDY1kM%_w)n!^^sH#Jfdb-v{di$b81z*LtZJRF-7F{>!yTlhDtP)>#Q+xNi_E=Bf zR-cK-7ww8}A_N!q`%H#%ln|NSJ^2GaL+%th>aOs`*3Dfau=YnfdIq{<=JMI6xpHK4 zd*6ok?pUNh8WU`EMEMxe-_f(Fx4jP_(OwtrfM6qo(Y`Duvm*L?24b6f`eP9YJ#WDO zRA}a0pFsk`Bl|(0|UGj*dC~}O^8$3P?#gqn5X;YbNuG4dmqrr2(quKKS-VZw>7!KC~w0Gl2B~01D zUtgoy)9cb4Mb;o($MK``x4?BN=%aEIy>oPdF~K_+6}$&MYn+c2B&)fM%XU!UvSdrL zzDvM%(IP>Q_qv&$(yPjxH+o9V{dh?94^lr$C4Lk|Q+a_NipRUtsdy^luB$xt&fb}x z3P2Q3X+xQ`4c+gEvC34r7NY+u&klz(R*-?FGUqDKF2_o2S1aBP7}! zf$v6&ymNb2NMD15Z)IU+3YIxoezv$IA;i2c7ck|QGXQYf@K|@7VjGcJS^I0iuV=)xBU3$1$;=rMKkOBsqF&(Ld7M)F%>8- zsqjv?B*Bzz&X0KgvvQyt2B`qQKNI8Wmd#$cPk}uBb|C8i&fC+ZzsrN~0eY-^G6tO)%3Md1G`@UIanZQ&ml@P~!y_}PzjUnqj- zZ3~Z3b!$KAwwCDc<$nnf=QZ#+;p+?W>jj*~hdrkB`I(LC1x3aO#Q6IKGSeOqMid!O ze;z0NYshh-@beb$jYY=aS_HnU2>g2jzwd00UgGC3s`MGN5Whba<9D2Ej_2nos!tUe z|8f!d+eP4~1b*)qP5k_fMYS9*z7Re1(X zPd)U5N~?wce6wwxiM;}TM8NsEh#?d+oMH3B+4CYlbF-y9vB-vXgHoh38tYhZC37a| zCZt81qMO!6`y#!uJ}D9je=XG7dTpd>#np|i+On%7k*fJMm(>*RSg^3VNJs6W!W}j9 z15%aVSWORJyNqh{>2Wzd7SLlMJr>cUh90%_2$)m&pa7p4;8O$h^Ab03B1M|@WetiR zS=Q9FJk%O#RT}hAL?Rwd2~h6VfsD7Og9AI(M>{rBLf6lm{Tny*M!KTiH^tV2iT+qS zIy=^HjC8hd=*nAcpckvrBSLcQ?(gp2(k&sY=FQINmdM%-v3_$vPj9q465HAvrM^5g z?Sw|;mwiZ`dp1QnH*|GzOrpIu8ru?$c3Y!*`!*oq%}Ze;k@o)nXkTm!rO|Gl&#uD? z_(it#ZHPrpUJE3&M0)GB;ZVe$<%)5(#2CqOq&qr@B)DfIXrg9ThP=f^IMBVZy9e?R z^93Q4SmS~L^3ChuvLpg}2f)D;*%3qtmkT>5OZ4QS;j*L$$75{?wF}Pb?2ASv7yzyZ zEJUUqwc7-2-67B>n^z$nQERl-H|2hT*jN@8mnf!LORI#vQzS_-3%>mF@&Wu56@p)g zp9OD*ol_zBMfh3pasr^x%a5N0-ylLNf`7#Z|I`Mrw88HZ=PHfA*alCC(2wAk*x)}Z z0-q_)Pa1Ehf0+$_sSVHdHn^Rh-`e1IdR`QPUp_sjiomZE=XO3l_u1ffdLFXD?ev_o z!6^o`AA!Pr?bq$zd*qA>8Z1g zCz37vjW)O)|5Y|P#rPKf)*|?2k?_#EHMa5B*x zP-xwA@U!smx4|hyv)~`u;9s!8ucpZ;gokw28o%8Jw~v3^2Dj5Ai+C`fo?8VxU!LD3 zq$mVmf}geSG+{UdztRSuV}sY*;6Jp%?RefP0xuD9Wj;NfUjkB;e0pB9!5h$T(diU% zC5>;i!E0=AJ3Zei0)Nm3x9i)_eL#vr^0e#Ku#cc7oLI5wX%O*d{&>v>CswTSJ8W<} z{vjKjNVCRYcL5qGgrDr)g16h?c0B8CaGz~_pMaCx?E3Gt`GJMD@$+ah3XKopXRWLH z&_E%06Mhz)U{oCV1$oVUl!`jRt8H*AcOZDc1{dbS@d%Q6uTPAj@t2D_y=d>K5PT7@ znGb6%g4^!~R56C&b3~n9VNoae6{1eBHc=!Ah>4^$yVvp12*nN7TDE+2?m6>_llE~yG%;pqFIRE1BK(W>UFSIp&kmlz#g zAL;CC-xM_o{vSSlm`__N!rv^mdQsbaK^DX-mR(y=I&Mg0^%g+9cL)W4Sj5TX+h`rj zUs!&CVtIm#?L*BhkL0au!D+0$P`p4m|GV?aHxW+qnf79>zse3o-CEyz*9%zweD9ad ziAT*>_G$5N&0i+wlYZLENin~}4n#d){?`LWxbpd5<2NS`ny>8Bm#vu<;;+#DRo9vQ zHG)vuKcd~D-`c+}z-UM{e)jT;Sl^20tUilx>pg%Dt8R^0wsU!H!+4_`SL3j z^N$d7wqnt5fs&{c;(xt3Bo2xNiGOmH)_jZqLTeN5SH$5{D)gVy3{vU*`INTh?;SwW faUsy}=XK`uPse-S5SlJkU&&wDZ^>rsv$FmVN|Jh& literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/constr_SEQUENCE.c b/asn1c_defs/all-defs/constr_SEQUENCE.c new file mode 100755 index 0000000..26137b0 --- /dev/null +++ b/asn1c_defs/all-defs/constr_SEQUENCE.c @@ -0,0 +1,2059 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#undef PHASE_OUT +#define NEXT_PHASE(ctx) do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#define PHASE_OUT(ctx) do { ctx->phase = 10; } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself;\ + return rval; \ + } while(0) + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +/* + * Tags are canonically sorted in the tag2element map. + */ +static int +_t2e_cmp(const void *ap, const void *bp) { + const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; + const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; + + int a_class = BER_TAG_CLASS(a->el_tag); + int b_class = BER_TAG_CLASS(b->el_tag); + + if(a_class == b_class) { + ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); + ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); + + if(a_value == b_value) { + if(a->el_no > b->el_no) + return 1; + /* + * Important: we do not check + * for a->el_no <= b->el_no! + */ + return 0; + } else if(a_value < b_value) + return -1; + else + return 1; + } else if(a_class < b_class) { + return -1; + } else { + return 1; + } +} + + +/* + * The decoder of the SEQUENCE type. + */ +asn_dec_rval_t +SEQUENCE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + const asn_TYPE_member_t *elements = td->elements; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* SEQUENCE element's index */ + + ASN_DEBUG("Decoding %s as SEQUENCE", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, 1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) + ctx->left += rval.consumed; /* ?Substracted below! */ + ADVANCE(rval.consumed); + + NEXT_PHASE(ctx); + + ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", + (long)ctx->left, (long)size); + + /* Fall through */ + case 1: + /* + * PHASE 1. + * From the place where we've left it previously, + * try to decode the next member from the list of + * this structure's elements. + * (ctx->step) stores the member being processed + * between invocations and the microphase {0,1} of parsing + * that member: + * step = ( * 2 + ). + */ + for(edx = ((size_t)ctx->step >> 1); edx < td->elements_count; + edx++, ctx->step = (ctx->step & ~1) + 2) { + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + ssize_t tag_len; /* Length of TLV's T */ + size_t opt_edx_end; /* Next non-optional element */ + size_t n; + int use_bsearch; + + if(ctx->step & 1) + goto microphase2; + + /* + * MICROPHASE 1: Synchronize decoding. + */ + ASN_DEBUG("In %s SEQUENCE left %d, edx=%" ASN_PRI_SIZE " flags=%d" + " opt=%d ec=%d", + td->name, (int)ctx->left, edx, + elements[edx].flags, elements[edx].optional, + td->elements_count); + + if(ctx->left == 0 /* No more stuff is expected */ + && ( + /* Explicit OPTIONAL specification reaches the end */ + (edx + elements[edx].optional == td->elements_count) || + /* All extensions are optional */ + IN_EXTENSION_GROUP(specs, edx))) { + ASN_DEBUG("End of SEQUENCE %s", td->name); + /* + * Found the legitimate end of the structure. + */ + PHASE_OUT(ctx); + RETURN(RC_OK); + } + + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + ASN_DEBUG("Current tag in %s SEQUENCE for element %" ASN_PRI_SIZE " " + "(%s) is %s encoded in %d bytes, of frame %ld", + td->name, edx, elements[edx].name, + ber_tlv_tag_string(tlv_tag), (int)tag_len, (long)LEFT); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) { + RETURN(RC_FAIL); + } else { + RETURN(RC_WMORE); + } + } else if(((const uint8_t *)ptr)[1] == 0) { + ASN_DEBUG("edx = %" ASN_PRI_SIZE ", opt = %d, ec=%d", edx, + elements[edx].optional, td->elements_count); + if((edx + elements[edx].optional == td->elements_count) + || IN_EXTENSION_GROUP(specs, edx)) { + /* + * Yeah, baby! Found the terminator + * of the indefinite length structure. + */ + /* + * Proceed to the canonical + * finalization function. + * No advancing is necessary. + */ + goto phase3; + } + } + } + + /* + * Find the next available type with this tag. + */ + use_bsearch = 0; + opt_edx_end = edx + elements[edx].optional + 1; + if(opt_edx_end > td->elements_count) + opt_edx_end = td->elements_count; /* Cap */ + else if(opt_edx_end - edx > 8) { + /* Limit the scope of linear search... */ + opt_edx_end = edx + 8; + use_bsearch = 1; + /* ... and resort to bsearch() */ + } + for(n = edx; n < opt_edx_end; n++) { + if(BER_TAGS_EQUAL(tlv_tag, elements[n].tag)) { + /* + * Found element corresponding to the tag + * being looked at. + * Reposition over the right element. + */ + edx = n; + ctx->step = 1 + 2 * edx; /* Remember! */ + goto microphase2; + } else if(elements[n].flags & ATF_ANY_TYPE) { + /* + * This is the ANY type, which may bear + * any flag whatsoever. + */ + edx = n; + ctx->step = 1 + 2 * edx; /* Remember! */ + goto microphase2; + } else if(elements[n].tag == (ber_tlv_tag_t)-1) { + use_bsearch = 1; + break; + } + } + if(use_bsearch) { + /* + * Resort to a binary search over + * sorted array of tags. + */ + const asn_TYPE_tag2member_t *t2m; + asn_TYPE_tag2member_t key = {0, 0, 0, 0}; + key.el_tag = tlv_tag; + key.el_no = edx; + t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, + specs->tag2el, specs->tag2el_count, + sizeof(specs->tag2el[0]), _t2e_cmp); + if(t2m) { + const asn_TYPE_tag2member_t *best = 0; + const asn_TYPE_tag2member_t *t2m_f, *t2m_l; + size_t edx_max = edx + elements[edx].optional; + /* + * Rewind to the first element with that tag, + * `cause bsearch() does not guarantee order. + */ + t2m_f = t2m + t2m->toff_first; + t2m_l = t2m + t2m->toff_last; + for(t2m = t2m_f; t2m <= t2m_l; t2m++) { + if(t2m->el_no > edx_max) break; + if(t2m->el_no < edx) continue; + best = t2m; + } + if(best) { + edx = best->el_no; + ctx->step = 1 + 2 * edx; + goto microphase2; + } + } + n = opt_edx_end; + } + if(n == opt_edx_end) { + /* + * If tag is unknown, it may be either + * an unknown (thus, incorrect) tag, + * or an extension (...), + * or an end of the indefinite-length structure. + */ + if(!IN_EXTENSION_GROUP(specs, + edx + elements[edx].optional)) { + ASN_DEBUG("Unexpected tag %s (at %" ASN_PRI_SIZE ")", + ber_tlv_tag_string(tlv_tag), edx); + ASN_DEBUG("Expected tag %s (%s)%s", + ber_tlv_tag_string(elements[edx].tag), + elements[edx].name, + elements[edx].optional + ?" or alternatives":""); + RETURN(RC_FAIL); + } else { + /* Skip this tag */ + ssize_t skip; + edx += elements[edx].optional; + + ASN_DEBUG("Skipping unexpected %s (at %" ASN_PRI_SIZE ")", + ber_tlv_tag_string(tlv_tag), edx); + skip = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tag_len, + LEFT - tag_len); + ASN_DEBUG("Skip length %d in %s", + (int)skip, td->name); + switch(skip) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(skip + tag_len); + ctx->step -= 2; + edx--; + continue; /* Try again with the next tag */ + } + } + + /* + * MICROPHASE 2: Invoke the member-specific decoder. + */ + ctx->step |= 1; /* Confirm entering next microphase */ + microphase2: + ASN_DEBUG("Inside SEQUENCE %s MF2", td->name); + + /* + * Compute the position of the member inside a structure, + * and also a type of containment (it may be contained + * as pointer or using inline inclusion). + */ + if(elements[edx].flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elements[edx].memb_offset); + } else { + /* + * A pointer to a pointer + * holding the start of the structure + */ + memb_ptr = (char *)st + elements[edx].memb_offset; + memb_ptr2 = &memb_ptr; + } + /* + * Invoke the member fetch routine according to member's type + */ + if(elements[edx].flags & ATF_OPEN_TYPE) { + rval = OPEN_TYPE_ber_get(opt_codec_ctx, td, st, &elements[edx], ptr, LEFT); + } else { + rval = elements[edx].type->op->ber_decoder(opt_codec_ctx, + elements[edx].type, + memb_ptr2, ptr, LEFT, + elements[edx].tag_mode); + } + ASN_DEBUG("In %s SEQUENCE decoded %" ASN_PRI_SIZE " %s of %d " + "in %d bytes rval.code %d, size=%d", + td->name, edx, elements[edx].type->name, + (int)LEFT, (int)rval.consumed, rval.code, (int)size); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + ASN_DEBUG("Size violation (c->l=%ld <= s=%ld)", + (long)ctx->left, (long)size); + /* Fall through */ + case RC_FAIL: /* Fatal error */ + RETURN(RC_FAIL); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } /* for(all structure members) */ + + phase3: + ctx->phase = 3; + /* Fall through */ + case 3: /* 00 and other tags expected */ + case 4: /* only 00's expected */ + + ASN_DEBUG("SEQUENCE %s Leftover: %ld, size = %ld", + td->name, (long)ctx->left, (long)size); + + /* + * Skip everything until the end of the SEQUENCE. + */ + while(ctx->left) { + ssize_t tl, ll; + + tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tl) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + /* + * If expected <0><0>... + */ + if(ctx->left < 0 + && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Correctly finished with <0><0>. + */ + ADVANCE(2); + ctx->left++; + ctx->phase = 4; + continue; + } + } + + if(!IN_EXTENSION_GROUP(specs, td->elements_count) + || ctx->phase == 4) { + ASN_DEBUG("Unexpected continuation " + "of a non-extensible type " + "%s (SEQUENCE): %s", + td->name, + ber_tlv_tag_string(tlv_tag)); + RETURN(RC_FAIL); + } + + ll = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tl, LEFT - tl); + switch(ll) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(tl + ll); + } + + PHASE_OUT(ctx); + } + + RETURN(RC_OK); +} + + +/* + * The DER encoder of the SEQUENCE type. + */ +asn_enc_rval_t +SEQUENCE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + size_t computed_size = 0; + asn_enc_rval_t erval = {0,0,0}; + ssize_t ret; + size_t edx; + + ASN_DEBUG("%s %s as SEQUENCE", + cb?"Encoding":"Estimating", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + erval = elm->type->op->der_encoder(elm->type, *memb_ptr2, + elm->tag_mode, elm->tag, + 0, 0); + if(erval.encoded == -1) + return erval; + computed_size += erval.encoded; + ASN_DEBUG("Member %" ASN_PRI_SIZE " %s estimated %ld bytes", + edx, elm->name, (long)erval.encoded); + } + + /* + * Encode the TLV for the sequence itself. + */ + ret = der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); + ASN_DEBUG("Wrote tags: %ld (+%ld)", (long)ret, (long)computed_size); + if(ret == -1) + ASN__ENCODE_FAILED; + erval.encoded = computed_size + ret; + + if(!cb) ASN__ENCODED_OK(erval); + + /* + * Encode all members. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + asn_enc_rval_t tmperval = {0,0,0}; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) continue; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + tmperval = elm->type->op->der_encoder(elm->type, *memb_ptr2, + elm->tag_mode, elm->tag, cb, app_key); + if(tmperval.encoded == -1) + return tmperval; + computed_size -= tmperval.encoded; + ASN_DEBUG("Member %" ASN_PRI_SIZE " %s of SEQUENCE %s encoded in %ld bytes", + edx, elm->name, td->name, (long)tmperval.encoded); + } + + if(computed_size != 0) + /* + * Encoded size is not equal to the computed size. + */ + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(erval); +} + + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) \ + do { \ + size_t num = (num_bytes); \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +SEQUENCE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_TYPE_member_t *elements = td->elements; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * ... and parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval; /* Return value from a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* Element index */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + * Phase 3: Skipping unknown extensions. + * Phase 4: PHASED OUT + */ + for(edx = ctx->step; ctx->phase <= 3;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + asn_TYPE_member_t *elm; + + /* + * Go inside the inner member of a sequence. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval; + void *memb_ptr_dontuse; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + elm = &td->elements[edx]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr_dontuse = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ + } + + if(elm->flags & ATF_OPEN_TYPE) { + tmprval = OPEN_TYPE_xer_get(opt_codec_ctx, td, st, elm, ptr, size); + } else { + /* Invoke the inner type decoder, m.b. multiple times */ + tmprval = elm->type->op->xer_decoder(opt_codec_ctx, + elm->type, memb_ptr2, elm->name, + ptr, size); + } + XER_ADVANCE(tmprval.consumed); + if(tmprval.code != RC_OK) + RETURN(tmprval.code); + ctx->phase = 1; /* Back to body processing */ + ctx->step = ++edx; + ASN_DEBUG("XER/SEQUENCE phase => %d, step => %d", + ctx->phase, ctx->step); + /* Fall through */ + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, ptr, size, + &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(ptr, ch_size, xml_tag); + ASN_DEBUG("XER/SEQUENCE: tcv = %d, ph=%d [%s]", + tcv, ctx->phase, xml_tag); + + /* Skip the extensions section */ + if(ctx->phase == 3) { + switch(xer_skip_unknown(tcv, &ctx->left)) { + case -1: + ctx->phase = 4; + RETURN(RC_FAIL); + case 0: + XER_ADVANCE(ch_size); + continue; + case 1: + XER_ADVANCE(ch_size); + ctx->phase = 1; + continue; + case 2: + ctx->phase = 1; + break; + } + } + + switch(tcv) { + case XCT_CLOSING: + if(ctx->phase == 0) break; + ctx->phase = 0; + /* Fall through */ + case XCT_BOTH: + if(ctx->phase == 0) { + if(edx >= td->elements_count || + /* Explicit OPTIONAL specs reaches the end */ + (edx + elements[edx].optional == td->elements_count) || + /* All extensions are optional */ + IN_EXTENSION_GROUP(specs, edx)) { + XER_ADVANCE(ch_size); + ctx->phase = 4; /* Phase out */ + RETURN(RC_OK); + } else { + ASN_DEBUG("Premature end of XER SEQUENCE"); + RETURN(RC_FAIL); + } + } + /* Fall through */ + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + ASN_DEBUG("XER/SEQUENCE: tcv=%d, ph=%d, edx=%" ASN_PRI_SIZE "", + tcv, ctx->phase, edx); + if(ctx->phase != 1) { + break; /* Really unexpected */ + } + + if(edx < td->elements_count) { + /* + * Search which member corresponds to this tag. + */ + size_t n; + size_t edx_end = edx + elements[edx].optional + 1; + if(edx_end > td->elements_count) + edx_end = td->elements_count; + for(n = edx; n < edx_end; n++) { + elm = &td->elements[n]; + tcv = xer_check_tag(ptr, ch_size, elm->name); + switch(tcv) { + case XCT_BOTH: + case XCT_OPENING: + /* + * Process this member. + */ + ctx->step = edx = n; + ctx->phase = 2; + break; + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + continue; + default: + n = edx_end; + break; /* Phase out */ + } + break; + } + if(n != edx_end) + continue; + } else { + ASN_DEBUG("Out of defined members: %" ASN_PRI_SIZE "/%u", + edx, td->elements_count); + } + + /* It is expected extension */ + if(IN_EXTENSION_GROUP(specs, + edx + (edx < td->elements_count + ? elements[edx].optional : 0))) { + ASN_DEBUG("Got anticipated extension at %" ASN_PRI_SIZE "", + edx); + /* + * Check for (XCT_BOTH or XCT_UNKNOWN_BO) + * By using a mask. Only record a pure + * tags. + */ + if(tcv & XCT_CLOSING) { + /* Found without body */ + } else { + ctx->left = 1; + ctx->phase = 3; /* Skip ...'s */ + } + XER_ADVANCE(ch_size); + continue; + } + + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag in SEQUENCE [%c%c%c%c%c%c]", + size>0?((const char *)ptr)[0]:'.', + size>1?((const char *)ptr)[1]:'.', + size>2?((const char *)ptr)[2]:'.', + size>3?((const char *)ptr)[3]:'.', + size>4?((const char *)ptr)[4]:'.', + size>5?((const char *)ptr)[5]:'.'); + break; + } + + ctx->phase = 4; /* "Phase out" on hard failure */ + RETURN(RC_FAIL); +} + +asn_enc_rval_t +SEQUENCE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + int xcan = (flags & XER_F_CANONICAL); + asn_TYPE_descriptor_t *tmp_def_val_td = 0; + void *tmp_def_val = 0; + size_t edx; + + if(!sptr) ASN__ENCODE_FAILED; + + er.encoded = 0; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_enc_rval_t tmper = {0,0,0}; + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + const char *mname = elm->name; + unsigned int mlen = strlen(mname); + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + assert(tmp_def_val == 0); + if(elm->default_value_set) { + if(elm->default_value_set(&tmp_def_val)) { + ASN__ENCODE_FAILED; + } else { + memb_ptr = tmp_def_val; + tmp_def_val_td = elm->type; + } + } else if(elm->optional) { + continue; + } else { + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + /* Print the member itself */ + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, + flags, cb, app_key); + if(tmp_def_val) { + ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); + tmp_def_val = 0; + } + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("", 1); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + if(tmp_def_val) ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); + ASN__ENCODE_FAILED; +} + +int +SEQUENCE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + size_t edx; + int ret; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb(td->name, strlen(td->name), app_key) < 0 + || cb(" ::= {", 6, app_key) < 0) + return -1; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) continue; + /* Print line */ + /* Fall through */ + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* Indentation */ + _i_INDENT(1); + + /* Print the member's name and stuff */ + if(cb(elm->name, strlen(elm->name), app_key) < 0 + || cb(": ", 2, app_key) < 0) + return -1; + + /* Print the member itself */ + ret = elm->type->op->print_struct(elm->type, memb_ptr, ilevel + 1, + cb, app_key); + if(ret) return ret; + } + + ilevel--; + _i_INDENT(1); + + return (cb("}", 1, app_key) < 0) ? -1 : 0; +} + +void +SEQUENCE_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + size_t edx; + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_struct_ctx_t *ctx; /* Decoder context */ + + if(!td || !sptr) + return; + + ASN_DEBUG("Freeing %s as SEQUENCE", td->name); + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; + if(elm->flags & ATF_POINTER) { + memb_ptr = *(void **)((char *)sptr + elm->memb_offset); + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } else { + memb_ptr = (void *)((char *)sptr + elm->memb_offset); + ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); + } + } + + /* Clean parsing context */ + ctx = (asn_struct_ctx_t *)((char *)sptr + specs->ctx_offset); + FREEMEM(ctx->ptr); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset( + sptr, 0, + ((const asn_SEQUENCE_specifics_t *)(td->specifics))->struct_size); + break; + } +} + +int +SEQUENCE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t edx; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* + * Iterate over structure members and check their validity. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) + continue; + ASN__CTFAIL(app_key, td, sptr, + "%s: mandatory element %s absent (%s:%d)", + td->name, elm->name, __FILE__, __LINE__); + return -1; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + if(elm->encoding_constraints.general_constraints) { + int ret = elm->encoding_constraints.general_constraints(elm->type, memb_ptr, + ctfailcb, app_key); + if(ret) return ret; + } else { + return elm->type->encoding_constraints.general_constraints(elm->type, + memb_ptr, ctfailcb, app_key); + } + } + + return 0; +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +SEQUENCE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + void *st = *sptr; /* Target structure. */ + int extpresent; /* Extension additions are present */ + uint8_t *opres; /* Presence of optional root members */ + asn_per_data_t opmd; + asn_dec_rval_t rv; + size_t edx; + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as SEQUENCE (UPER)", td->name); + + /* Handle extensions */ + if(specs->first_extension < 0) { + extpresent = 0; + } else { + extpresent = per_get_few_bits(pd, 1); + if(extpresent < 0) ASN__DECODE_STARVED; + } + + /* Prepare a place and read-in the presence bitmap */ + memset(&opmd, 0, sizeof(opmd)); + if(specs->roms_count) { + opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); + if(!opres) ASN__DECODE_FAILED; + /* Get the presence map */ + if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { + FREEMEM(opres); + ASN__DECODE_STARVED; + } + opmd.buffer = opres; + opmd.nbits = specs->roms_count; + ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", + td->name, specs->roms_count, *opres); + } else { + opres = 0; + } + + /* + * Get the sequence ROOT elements. + */ + for(edx = 0; + edx < (specs->first_extension < 0 ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + assert(!IN_EXTENSION_GROUP(specs, edx)); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + /* Deal with optionality */ + if(elm->optional) { + int present = per_get_few_bits(&opmd, 1); + ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", + td->name, elm->name, present, + (int)opmd.nboff, (int)opmd.nbits); + if(present == 0) { + /* This element is not present */ + if(elm->default_value_set) { + /* Fill-in DEFAULT */ + if(elm->default_value_set(memb_ptr2)) { + FREEMEM(opres); + ASN__DECODE_FAILED; + } + ASN_DEBUG("Filled-in default"); + } + /* The member is just not present */ + continue; + } + /* Fall through */ + } + + /* Fetch the member from the stream */ + ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); + + if(elm->flags & ATF_OPEN_TYPE) { + rv = OPEN_TYPE_uper_get(opt_codec_ctx, td, st, elm, pd); + } else { + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } + if(rv.code != RC_OK) { + ASN_DEBUG("Failed decode %s in %s", + elm->name, td->name); + FREEMEM(opres); + return rv; + } + } + + /* Optionality map is not needed anymore */ + FREEMEM(opres); + + /* + * Deal with extensions. + */ + if(extpresent) { + ssize_t bmlength; + uint8_t *epres; /* Presence of extension members */ + asn_per_data_t epmd; + + bmlength = uper_get_nslength(pd); + if(bmlength < 0) ASN__DECODE_STARVED; + + ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); + + epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); + if(!epres) ASN__DECODE_STARVED; + + /* Get the extensions map */ + if(per_get_many_bits(pd, epres, 0, bmlength)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + + memset(&epmd, 0, sizeof(epmd)); + epmd.buffer = epres; + epmd.nbits = bmlength; + ASN_DEBUG("Read in extensions bitmap for %s of %ld bits (%x..)", + td->name, (long)bmlength, *epres); + + /* Go over extensions and read them in */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + int present; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (void *)((char *)st + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + present = per_get_few_bits(&epmd, 1); + if(present <= 0) { + if(present < 0) break; /* No more extensions */ + continue; + } + + ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, + *memb_ptr2); + rv = uper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + if(rv.code != RC_OK) { + FREEMEM(epres); + return rv; + } + } + + /* Skip over overflow extensions which aren't present + * in this system's version of the protocol */ + for(;;) { + ASN_DEBUG("Getting overflow extensions"); + switch(per_get_few_bits(&epmd, 1)) { + case -1: break; + case 0: continue; + default: + if(uper_open_type_skip(opt_codec_ctx, pd)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + ASN_DEBUG("Skipped overflow extension"); + continue; + } + break; + } + + FREEMEM(epres); + } + + if(specs->first_extension >= 0) { + unsigned i; + /* Fill DEFAULT members in extensions */ + for(i = specs->roms_count; i < specs->roms_count + specs->aoms_count; + i++) { + asn_TYPE_member_t *elm; + void **memb_ptr2; /* Pointer to member pointer */ + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + if(!elm->default_value_set) continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + if(*memb_ptr2) continue; + } else { + continue; /* Extensions are all optionals */ + } + + /* Set default value */ + if(elm->default_value_set(memb_ptr2)) { + ASN__DECODE_FAILED; + } + } + } + + rv.consumed = 0; + rv.code = RC_OK; + return rv; +} + +static int +SEQUENCE__handle_extensions(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_per_outp_t *po1, asn_per_outp_t *po2) { + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + int exts_present = 0; + int exts_count = 0; + size_t edx; + + if(specs->first_extension < 0) { + return 0; + } + + /* Find out which extensions are present */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + int present; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + ASN_DEBUG("checking %s:%s (@%" ASN_PRI_SIZE ") present => %d", elm->name, + elm->type->name, edx, present); + exts_count++; + exts_present += present; + + /* Encode as presence marker */ + if(po1 && per_put_few_bits(po1, present, 1)) { + return -1; + } + /* Encode as open type field */ + if(po2 && present + && uper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, + *memb_ptr2, po2)) + return -1; + } + + return exts_present ? exts_count : 0; +} + +asn_enc_rval_t +SEQUENCE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + int n_extensions; + size_t edx; + size_t i; + + (void)constraints; + + if(!sptr) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE (UPER)", td->name); + + /* + * X.691#18.1 Whether structure is extensible + * and whether to encode extensions + */ + if(specs->first_extension < 0) { + n_extensions = 0; /* There are no extensions to encode */ + } else { + n_extensions = SEQUENCE__handle_extensions(td, sptr, 0, 0); + if(n_extensions < 0) ASN__ENCODE_FAILED; + if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { + ASN__ENCODE_FAILED; + } + } + + /* Encode a presence bitmap */ + for(i = 0; i < specs->roms_count; i++) { + asn_TYPE_member_t *elm; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + int present; + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + /* Eliminate default values */ + if(present && elm->default_value_cmp + && elm->default_value_cmp(*memb_ptr2) == 0) + present = 0; + + ASN_DEBUG("Element %s %s %s->%s is %s", + elm->flags & ATF_POINTER ? "ptr" : "inline", + elm->default_value_cmp ? "def" : "wtv", + td->name, elm->name, present ? "present" : "absent"); + if(per_put_few_bits(po, present, 1)) + ASN__ENCODE_FAILED; + } + + /* + * Encode the sequence ROOT elements. + */ + ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, + td->elements_count); + for(edx = 0; + edx < ((specs->first_extension < 0) ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + ASN_DEBUG("About to encode %s", elm->type->name); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + ASN_DEBUG("Encoding %s->%s:%s", td->name, elm->name, elm->type->name); + er = elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, *memb_ptr2, + po); + if(er.encoded == -1) return er; + } + + /* No extensions to encode */ + if(!n_extensions) ASN__ENCODED_OK(er); + + ASN_DEBUG("Length of extensions %d bit-map", n_extensions); + /* #18.8. Write down the presence bit-map length. */ + if(uper_put_nslength(po, n_extensions)) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Bit-map of %d elements", n_extensions); + /* #18.7. Encoding the extensions presence bit-map. */ + /* TODO: act upon NOTE in #18.7 for canonical PER */ + if(SEQUENCE__handle_extensions(td, sptr, po, 0) != n_extensions) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Writing %d extensions", n_extensions); + /* #18.9. Encode extensions as open type fields. */ + if(SEQUENCE__handle_extensions(td, sptr, 0, po) != n_extensions) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +SEQUENCE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + void *st = *sptr; /* Target structure. */ + int extpresent; /* Extension additions are present */ + uint8_t *opres; /* Presence of optional root members */ + asn_per_data_t opmd; + asn_dec_rval_t rv; + size_t edx; + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as SEQUENCE (APER)", td->name); + + /* Handle extensions */ + if(specs->first_extension < 0) { + extpresent = 0; + } else { + extpresent = per_get_few_bits(pd, 1); + if(extpresent < 0) ASN__DECODE_STARVED; + } + + /* Prepare a place and read-in the presence bitmap */ + memset(&opmd, 0, sizeof(opmd)); + if(specs->roms_count) { + opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); + if(!opres) ASN__DECODE_FAILED; + /* Get the presence map */ + if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { + FREEMEM(opres); + ASN__DECODE_STARVED; + } + opmd.buffer = opres; + opmd.nbits = specs->roms_count; + ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", + td->name, specs->roms_count, *opres); + } else { + opres = 0; + } + + /* + * Get the sequence ROOT elements. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ +#if 0 + int padding; +#endif + + if(IN_EXTENSION_GROUP(specs, edx)) + continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } +#if 0 + /* Get Padding */ + padding = (8 - (pd->moved % 8)) % 8; + if(padding > 0) + ASN_DEBUG("For element %s,offset= %ld Padding bits = %d", td->name, pd->moved, padding); +#if 0 /* old way of removing padding */ + per_get_few_bits(pd, padding); +#else /* Experimental fix proposed by @mhanna123 */ + if(edx != (td->elements_count-1)) + per_get_few_bits(pd, padding); + else { + if(specs->roms_count && (padding > 0)) + ASN_DEBUG(">>>>> not skipping padding of %d bits for element:%ld out of %d", padding, edx, td->elements_count); + else + per_get_few_bits(pd, padding); + } +#endif /* dealing with padding */ +#endif + /* Deal with optionality */ + if(elm->optional) { + int present = per_get_few_bits(&opmd, 1); + ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", + td->name, elm->name, present, + (int)opmd.nboff, (int)opmd.nbits); + if(present == 0) { + /* This element is not present */ + if(elm->default_value_set) { + /* Fill-in DEFAULT */ + if(elm->default_value_set(memb_ptr2)) { + FREEMEM(opres); + ASN__DECODE_FAILED; + } + ASN_DEBUG("Filled-in default"); + } + /* The member is just not present */ + continue; + } + /* Fall through */ + } + + /* Fetch the member from the stream */ + ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); + + if(elm->flags & ATF_OPEN_TYPE) { + rv = OPEN_TYPE_aper_get(opt_codec_ctx, td, st, elm, pd); + } else { + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } + if(rv.code != RC_OK) { + ASN_DEBUG("Failed decode %s in %s", + elm->name, td->name); + FREEMEM(opres); + return rv; + } + } + + /* Optionality map is not needed anymore */ + FREEMEM(opres); + + /* + * Deal with extensions. + */ + if(extpresent) { + ssize_t bmlength; + uint8_t *epres; /* Presence of extension members */ + asn_per_data_t epmd; + + bmlength = aper_get_nslength(pd); + if(bmlength < 0) ASN__DECODE_STARVED; + + ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); + + epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); + if(!epres) ASN__DECODE_STARVED; + + /* Get the extensions map */ + if(per_get_many_bits(pd, epres, 0, bmlength)) + ASN__DECODE_STARVED; + + memset(&epmd, 0, sizeof(epmd)); + epmd.buffer = epres; + epmd.nbits = bmlength; + ASN_DEBUG("Read in extensions bitmap for %s of %ld bits (%x..)", + td->name, bmlength, *epres); + + /* Go over extensions and read them in */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + int present; + + if(!IN_EXTENSION_GROUP(specs, edx)) { + ASN_DEBUG("%ld is not extension", edx); + continue; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (void *)((char *)st + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + present = per_get_few_bits(&epmd, 1); + if(present <= 0) { + if(present < 0) break; /* No more extensions */ + continue; + } + + ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, *memb_ptr2); + rv = aper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + if(rv.code != RC_OK) { + FREEMEM(epres); + return rv; + } + } + + /* Skip over overflow extensions which aren't present + * in this system's version of the protocol */ + for(;;) { + ASN_DEBUG("Getting overflow extensions"); + switch(per_get_few_bits(&epmd, 1)) { + case -1: + break; + case 0: + continue; + default: + if(aper_open_type_skip(opt_codec_ctx, pd)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + } + break; + } + + FREEMEM(epres); + } + + /* Fill DEFAULT members in extensions */ + for(edx = specs->roms_count; edx < specs->roms_count + + specs->aoms_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void **memb_ptr2; /* Pointer to member pointer */ + + if(!elm->default_value_set) continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + + elm->memb_offset); + if(*memb_ptr2) continue; + } else { + continue; /* Extensions are all optionals */ + } + + /* Set default value */ + if(elm->default_value_set(memb_ptr2)) { + ASN__DECODE_FAILED; + } + } + + rv.consumed = 0; + rv.code = RC_OK; + return rv; +} + +static int +SEQUENCE_handle_extensions_aper(const asn_TYPE_descriptor_t *td, + const void *sptr, + asn_per_outp_t *po1, asn_per_outp_t *po2) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + int exts_present = 0; + int exts_count = 0; + size_t edx; + + if(specs->first_extension < 0) { + return 0; + } + + /* Find out which extensions are present */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + int present; + + if(!IN_EXTENSION_GROUP(specs, edx)) { + ASN_DEBUG("%s (@%ld) is not extension", elm->type->name, edx); + continue; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + ASN_DEBUG("checking %s (@%ld) present => %d", + elm->type->name, edx, present); + exts_count++; + exts_present += present; + + /* Encode as presence marker */ + if(po1 && per_put_few_bits(po1, present, 1)) + return -1; + /* Encode as open type field */ + if(po2 && present && aper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, *memb_ptr2, po2)) + return -1; + + } + + return exts_present ? exts_count : 0; +} + +asn_enc_rval_t +SEQUENCE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + int n_extensions; + size_t edx; + size_t i; + + (void)constraints; + + if(!sptr) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE (APER)", td->name); + + /* + * X.691#18.1 Whether structure is extensible + * and whether to encode extensions + */ + if(specs->first_extension < 0) { + n_extensions = 0; /* There are no extensions to encode */ + } else { + n_extensions = SEQUENCE_handle_extensions_aper(td, sptr, 0, 0); + if(n_extensions < 0) ASN__ENCODE_FAILED; + if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { + ASN__ENCODE_FAILED; + } + } + + /* Encode a presence bitmap */ + for(i = 0; i < specs->roms_count; i++) { + asn_TYPE_member_t *elm; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + int present; + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + /* Eliminate default values */ + if(present && elm->default_value_cmp + && elm->default_value_cmp(memb_ptr2) == 1) + present = 0; + + ASN_DEBUG("Element %s %s %s->%s is %s", + elm->flags & ATF_POINTER ? "ptr" : "inline", + elm->default_value_cmp ? "def" : "wtv", + td->name, elm->name, present ? "present" : "absent"); + if(per_put_few_bits(po, present, 1)) + ASN__ENCODE_FAILED; + } + + /* + * Encode the sequence ROOT elements. + */ + ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, + td->elements_count); + for(edx = 0; + edx < ((specs->first_extension < 0) ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + + if(IN_EXTENSION_GROUP(specs, edx)) + continue; + + ASN_DEBUG("About to encode %s", elm->type->name); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %ld not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(memb_ptr2) == 1) + continue; + + ASN_DEBUG("Encoding %s->%s", td->name, elm->name); + er = elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints, + *memb_ptr2, po); + if(er.encoded == -1) + return er; + } + + /* No extensions to encode */ + if(!n_extensions) ASN__ENCODED_OK(er); + + ASN_DEBUG("Length of %d bit-map", n_extensions); + /* #18.8. Write down the presence bit-map length. */ + if(aper_put_nslength(po, n_extensions)) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Bit-map of %d elements", n_extensions); + /* #18.7. Encoding the extensions presence bit-map. */ + /* TODO: act upon NOTE in #18.7 for canonical PER */ + if(SEQUENCE_handle_extensions_aper(td, sptr, po, 0) != n_extensions) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Writing %d extensions", n_extensions); + /* #18.9. Encode extensions as open type fields. */ + if(SEQUENCE_handle_extensions_aper(td, sptr, 0, po) != n_extensions) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +int +SEQUENCE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + size_t edx; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *amemb; + const void *bmemb; + int ret; + + if(elm->flags & ATF_POINTER) { + amemb = + *(const void *const *)((const char *)aptr + elm->memb_offset); + bmemb = + *(const void *const *)((const char *)bptr + elm->memb_offset); + if(!amemb) { + if(!bmemb) continue; + if(elm->default_value_cmp + && elm->default_value_cmp(bmemb) == 0) { + /* A is absent, but B is present and equal to DEFAULT */ + continue; + } + return -1; + } else if(!bmemb) { + if(elm->default_value_cmp + && elm->default_value_cmp(amemb) == 0) { + /* B is absent, but A is present and equal to DEFAULT */ + continue; + } + return 1; + } + } else { + amemb = (const void *)((const char *)aptr + elm->memb_offset); + bmemb = (const void *)((const char *)bptr + elm->memb_offset); + } + + ret = elm->type->op->compare_struct(elm->type, amemb, bmemb); + if(ret != 0) return ret; + } + + return 0; +} + +asn_TYPE_operation_t asn_OP_SEQUENCE = { + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_compare, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + SEQUENCE_decode_oer, + SEQUENCE_encode_oer, +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + SEQUENCE_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; + + +asn_random_fill_result_t +SEQUENCE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 0}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + void *st = *sptr; + size_t edx; + + if(max_length == 0) return result_skipped; + + (void)constr; + + if(st == NULL) { + st = CALLOC(1, specs->struct_size); + if(st == NULL) { + return result_failed; + } + } + + for(edx = 0; edx < td->elements_count; edx++) { + const asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + asn_random_fill_result_t tmpres; + + if(elm->optional && asn_random_between(0, 4) == 2) { + /* Sometimes decide not to fill the optional value */ + continue; + } + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + tmpres = elm->type->op->random_fill( + elm->type, memb_ptr2, &elm->encoding_constraints, + max_length > result_ok.length ? max_length - result_ok.length : 0); + switch(tmpres.code) { + case ARFILL_OK: + result_ok.length += tmpres.length; + continue; + case ARFILL_SKIPPED: + assert(!(elm->flags & ATF_POINTER) || *memb_ptr2 == NULL); + continue; + case ARFILL_FAILED: + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + return tmpres; + } + } + + *sptr = st; + + return result_ok; +} + diff --git a/asn1c_defs/all-defs/constr_SEQUENCE.h b/asn1c_defs/all-defs/constr_SEQUENCE.h new file mode 100755 index 0000000..90d8dfb --- /dev/null +++ b/asn1c_defs/all-defs/constr_SEQUENCE.h @@ -0,0 +1,68 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_SEQUENCE_H_ +#define _CONSTR_SEQUENCE_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct asn_SEQUENCE_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the target structure. */ + unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ + + /* + * Tags to members mapping table (sorted). + */ + const asn_TYPE_tag2member_t *tag2el; + unsigned tag2el_count; + + /* + * Optional members of the extensions root (roms) or additions (aoms). + * Meaningful for PER. + */ + const int *oms; /* Optional MemberS */ + unsigned roms_count; /* Root optional members count */ + unsigned aoms_count; /* Additions optional members count */ + + /* + * Description of an extensions group. + * Root components are clustered at the beginning of the structure, + * whereas extensions are clustered at the end. -1 means not extensible. + */ + signed first_extension; /* First extension addition */ +} asn_SEQUENCE_specifics_t; + + +/* + * A set specialized functions dealing with the SEQUENCE type. + */ +asn_struct_free_f SEQUENCE_free; +asn_struct_print_f SEQUENCE_print; +asn_struct_compare_f SEQUENCE_compare; +asn_constr_check_f SEQUENCE_constraint; +ber_type_decoder_f SEQUENCE_decode_ber; +der_type_encoder_f SEQUENCE_encode_der; +xer_type_decoder_f SEQUENCE_decode_xer; +xer_type_encoder_f SEQUENCE_encode_xer; +oer_type_decoder_f SEQUENCE_decode_oer; +oer_type_encoder_f SEQUENCE_encode_oer; +per_type_decoder_f SEQUENCE_decode_uper; +per_type_encoder_f SEQUENCE_encode_uper; +per_type_decoder_f SEQUENCE_decode_aper; +per_type_encoder_f SEQUENCE_encode_aper; +asn_random_fill_f SEQUENCE_random_fill; +extern asn_TYPE_operation_t asn_OP_SEQUENCE; + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_SEQUENCE_H_ */ diff --git a/asn1c_defs/all-defs/constr_SEQUENCE.o b/asn1c_defs/all-defs/constr_SEQUENCE.o new file mode 100644 index 0000000000000000000000000000000000000000..ae614eee3056fb9cc0658ae66fe8c880b8be4af7 GIT binary patch literal 22920 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 ObXt8|Zj9^v_WuW4. + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * The DER encoder of the SEQUENCE OF type. + */ +asn_enc_rval_t +SEQUENCE_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(ptr); + size_t computed_size = 0; + ssize_t encoding_size = 0; + asn_enc_rval_t erval = {0,0,0}; + int edx; + + ASN_DEBUG("Estimating size of SEQUENCE OF %s", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) continue; + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + 0, elm->tag, + 0, 0); + if(erval.encoded == -1) + return erval; + computed_size += erval.encoded; + } + + /* + * Encode the TLV for the sequence itself. + */ + encoding_size = der_write_tags(td, computed_size, tag_mode, 1, tag, + cb, app_key); + if(encoding_size == -1) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = ptr; + return erval; + } + + computed_size += encoding_size; + if(!cb) { + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } + + ASN_DEBUG("Encoding members of SEQUENCE OF %s", td->name); + + /* + * Encode all members. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) continue; + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + 0, elm->tag, + cb, app_key); + if(erval.encoded == -1) + return erval; + encoding_size += erval.encoded; + } + + if(computed_size != (size_t)encoding_size) { + /* + * Encoded size is not equal to the computed size. + */ + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = ptr; + } else { + erval.encoded = computed_size; + erval.structure_ptr = 0; + erval.failed_type = 0; + } + + return erval; +} + +asn_enc_rval_t +SEQUENCE_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(sptr); + const char *mname = specs->as_XMLValueList + ? 0 + : ((*elm->name) ? elm->name : elm->type->xml_tag); + size_t mlen = mname ? strlen(mname) : 0; + int xcan = (flags & XER_F_CANONICAL); + int i; + + if(!sptr) ASN__ENCODE_FAILED; + + er.encoded = 0; + + for(i = 0; i < list->count; i++) { + asn_enc_rval_t tmper = {0,0,0}; + void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + if(mname) { + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + } + + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, + flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + if(tmper.encoded == 0 && specs->as_XMLValueList) { + const char *name = elm->type->xml_tag; + size_t len = strlen(name); + if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1); + ASN__CALLBACK3("<", 1, name, len, "/>", 2); + } + + if(mname) { + ASN__CALLBACK3("", 1); + } + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_enc_rval_t +SEQUENCE_OF_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_anonymous_sequence_ *list; + const asn_per_constraint_t *ct; + asn_enc_rval_t er = {0,0,0}; + const asn_TYPE_member_t *elm = td->elements; + size_t encoded_edx; + + if(!sptr) ASN__ENCODE_FAILED; + list = _A_CSEQUENCE_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = + (list->count < ct->lower_bound || list->count > ct->upper_bound); + ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) { + ASN__ENCODE_FAILED; + } + + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; + } else if(list->count == 0) { + /* When the list is empty add only the length determinant + * X.691, #20.6 and #11.9.4.1 + */ + if (uper_put_length(po, 0, 0)) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } + + for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { + ssize_t may_encode; + size_t edx; + int need_eom = 0; + + if(ct && ct->effective_bits >= 0) { + may_encode = list->count; + } else { + may_encode = + uper_put_length(po, list->count - encoded_edx, &need_eom); + if(may_encode < 0) ASN__ENCODE_FAILED; + } + + for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) ASN__ENCODE_FAILED; + er = elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, memb_ptr, + po); + if(er.encoded == -1) ASN__ENCODE_FAILED; + } + + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + + encoded_edx += may_encode; + } + + ASN__ENCODED_OK(er); +} + +asn_enc_rval_t +SEQUENCE_OF_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_anonymous_sequence_ *list; + const asn_per_constraint_t *ct; + asn_enc_rval_t er = {0,0,0}; + asn_TYPE_member_t *elm = td->elements; + int seq; + + if(!sptr) ASN__ENCODE_FAILED; + list = _A_CSEQUENCE_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF size (%d) using ALIGNED PER", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = (list->count < ct->lower_bound + || list->count > ct->upper_bound); + ASN_DEBUG("lb %ld ub %ld %s", + ct->lower_bound, ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) + ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) + ASN__ENCODE_FAILED; + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ +/* if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; +*/ + if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound) < 0) + ASN__ENCODE_FAILED; + } + + for(seq = -1; seq < list->count;) { + ssize_t mayEncode; + if(seq < 0) seq = 0; + if(ct && ct->effective_bits >= 0) { + mayEncode = list->count; + } else { + mayEncode = aper_put_length(po, -1, list->count - seq); + if(mayEncode < 0) ASN__ENCODE_FAILED; + } + + while(mayEncode--) { + void *memb_ptr = list->array[seq++]; + if(!memb_ptr) ASN__ENCODE_FAILED; + er = elm->type->op->aper_encoder(elm->type, + elm->encoding_constraints.per_constraints, memb_ptr, po); + if(er.encoded == -1) + ASN__ENCODE_FAILED; + } + } + + ASN__ENCODED_OK(er); +} +#endif /* ASN_DISABLE_PER_SUPPORT */ + +int +SEQUENCE_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_anonymous_sequence_ *a = _A_CSEQUENCE_FROM_VOID(aptr); + const asn_anonymous_sequence_ *b = _A_CSEQUENCE_FROM_VOID(bptr); + ssize_t idx; + + if(a && b) { + ssize_t common_length = (a->count < b->count ? a->count : b->count); + for(idx = 0; idx < common_length; idx++) { + int ret = td->elements->type->op->compare_struct( + td->elements->type, a->array[idx], b->array[idx]); + if(ret) return ret; + } + + if(idx < b->count) /* more elements in b */ + return -1; /* a is shorter, so put it first */ + if(idx < a->count) return 1; + + } else if(!a) { + return -1; + } else if(!b) { + return 1; + } + + return 0; +} + + +asn_TYPE_operation_t asn_OP_SEQUENCE_OF = { + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_compare, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + SEQUENCE_OF_decode_oer, /* Same as SET OF decoder. */ + SEQUENCE_OF_encode_oer, /* Same as SET OF encoder */ +#endif /* ASN_DISABLE_OER_SUPPORT */ +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + SEQUENCE_OF_decode_uper, /* Same as SET OF decoder */ + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, +#endif /* ASN_DISABLE_PER_SUPPORT */ + SEQUENCE_OF_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; + diff --git a/asn1c_defs/all-defs/constr_SEQUENCE_OF.h b/asn1c_defs/all-defs/constr_SEQUENCE_OF.h new file mode 100755 index 0000000..2446ec3 --- /dev/null +++ b/asn1c_defs/all-defs/constr_SEQUENCE_OF.h @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _CONSTR_SEQUENCE_OF_H_ +#define _CONSTR_SEQUENCE_OF_H_ + +#include +#include /* Implemented using SET OF */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * A set specialized functions dealing with the SEQUENCE OF type. + * Generally implemented using SET OF. + */ +asn_struct_compare_f SEQUENCE_OF_compare; +der_type_encoder_f SEQUENCE_OF_encode_der; +xer_type_encoder_f SEQUENCE_OF_encode_xer; +per_type_encoder_f SEQUENCE_OF_encode_uper; +per_type_encoder_f SEQUENCE_OF_encode_aper; +extern asn_TYPE_operation_t asn_OP_SEQUENCE_OF; + +#define SEQUENCE_OF_free SET_OF_free +#define SEQUENCE_OF_print SET_OF_print +#define SEQUENCE_OF_constraint SET_OF_constraint +#define SEQUENCE_OF_decode_ber SET_OF_decode_ber +#define SEQUENCE_OF_decode_xer SET_OF_decode_xer +#define SEQUENCE_OF_decode_oer SET_OF_decode_oer +#define SEQUENCE_OF_encode_oer SET_OF_encode_oer +#define SEQUENCE_OF_decode_uper SET_OF_decode_uper +#define SEQUENCE_OF_decode_aper SET_OF_decode_aper +#define SEQUENCE_OF_random_fill SET_OF_random_fill + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_SET_OF_H_ */ diff --git a/asn1c_defs/all-defs/constr_SEQUENCE_OF.o b/asn1c_defs/all-defs/constr_SEQUENCE_OF.o new file mode 100644 index 0000000000000000000000000000000000000000..cde5aced57eac4451067dac86dbcace56f2f9f5a GIT binary patch literal 7904 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 OE%aYU%p9X||GxpOoNFim literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/constr_SET_OF.c b/asn1c_defs/all-defs/constr_SET_OF.c new file mode 100755 index 0000000..1c60b0d --- /dev/null +++ b/asn1c_defs/all-defs/constr_SET_OF.c @@ -0,0 +1,1441 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num;\ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#undef PHASE_OUT +#define NEXT_PHASE(ctx) do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#define PHASE_OUT(ctx) do { ctx->phase = 10; } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself;\ + return rval; \ + } while(0) + +/* + * The decoder of the SET OF type. + */ +asn_dec_rval_t +SET_OF_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + ASN_DEBUG("Decoding %s as SET OF", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, 1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) + ctx->left += rval.consumed; /* ?Substracted below! */ + ADVANCE(rval.consumed); + + ASN_DEBUG("Structure consumes %ld bytes, " + "buffer %ld", (long)ctx->left, (long)size); + + NEXT_PHASE(ctx); + /* Fall through */ + case 1: + /* + * PHASE 1. + * From the place where we've left it previously, + * try to decode the next item. + */ + for(;; ctx->step = 0) { + ssize_t tag_len; /* Length of TLV's T */ + + if(ctx->step & 1) + goto microphase2; + + /* + * MICROPHASE 1: Synchronize decoding. + */ + + if(ctx->left == 0) { + ASN_DEBUG("End of SET OF %s", td->name); + /* + * No more things to decode. + * Exit out of here. + */ + PHASE_OUT(ctx); + RETURN(RC_OK); + } + + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Found the terminator of the + * indefinite length structure. + */ + break; + } + } + + /* Outmost tag may be unknown and cannot be fetched/compared */ + if(elm->tag != (ber_tlv_tag_t)-1) { + if(BER_TAGS_EQUAL(tlv_tag, elm->tag)) { + /* + * The new list member of expected type has arrived. + */ + } else { + ASN_DEBUG("Unexpected tag %s fixed SET OF %s", + ber_tlv_tag_string(tlv_tag), td->name); + ASN_DEBUG("%s SET OF has tag %s", + td->name, ber_tlv_tag_string(elm->tag)); + RETURN(RC_FAIL); + } + } + + /* + * MICROPHASE 2: Invoke the member-specific decoder. + */ + ctx->step |= 1; /* Confirm entering next microphase */ + microphase2: + + /* + * Invoke the member fetch routine according to member's type + */ + rval = elm->type->op->ber_decoder(opt_codec_ctx, + elm->type, &ctx->ptr, ptr, LEFT, 0); + ASN_DEBUG("In %s SET OF %s code %d consumed %d", + td->name, elm->type->name, + rval.code, (int)rval.consumed); + switch(rval.code) { + case RC_OK: + { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + if(ASN_SET_ADD(list, ctx->ptr) != 0) + RETURN(RC_FAIL); + else + ctx->ptr = 0; + } + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + /* Fall through */ + case RC_FAIL: /* Fatal error */ + ASN_STRUCT_FREE(*elm->type, ctx->ptr); + ctx->ptr = 0; + RETURN(RC_FAIL); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } /* for(all list members) */ + + NEXT_PHASE(ctx); + case 2: + /* + * Read in all "end of content" TLVs. + */ + while(ctx->left < 0) { + if(LEFT < 2) { + if(LEFT > 0 && ((const char *)ptr)[0] != 0) { + /* Unexpected tag */ + RETURN(RC_FAIL); + } else { + RETURN(RC_WMORE); + } + } + if(((const char *)ptr)[0] == 0 + && ((const char *)ptr)[1] == 0) { + ADVANCE(2); + ctx->left++; + } else { + RETURN(RC_FAIL); + } + } + + PHASE_OUT(ctx); + } + + RETURN(RC_OK); +} + +/* + * Internally visible buffer holding a single encoded element. + */ +struct _el_buffer { + uint8_t *buf; + size_t length; + size_t allocated_size; + unsigned bits_unused; +}; +/* Append bytes to the above structure */ +static int _el_addbytes(const void *buffer, size_t size, void *el_buf_ptr) { + struct _el_buffer *el_buf = (struct _el_buffer *)el_buf_ptr; + + if(el_buf->length + size > el_buf->allocated_size) { + size_t new_size = el_buf->allocated_size ? el_buf->allocated_size : 8; + void *p; + + do { + new_size <<= 2; + } while(el_buf->length + size > new_size); + + p = REALLOC(el_buf->buf, new_size); + if(p) { + el_buf->buf = p; + el_buf->allocated_size = new_size; + } else { + return -1; + } + } + + memcpy(el_buf->buf + el_buf->length, buffer, size); + + el_buf->length += size; + return 0; +} + +static void assert_unused_bits(const struct _el_buffer* p) { + if(p->length) { + assert((p->buf[p->length-1] & ~(0xff << p->bits_unused)) == 0); + } else { + assert(p->bits_unused == 0); + } +} + +static int _el_buf_cmp(const void *ap, const void *bp) { + const struct _el_buffer *a = (const struct _el_buffer *)ap; + const struct _el_buffer *b = (const struct _el_buffer *)bp; + size_t common_len; + int ret = 0; + + if(a->length < b->length) + common_len = a->length; + else + common_len = b->length; + + if (a->buf && b->buf) { + ret = memcmp(a->buf, b->buf, common_len); + } + if(ret == 0) { + if(a->length < b->length) + ret = -1; + else if(a->length > b->length) + ret = 1; + /* Ignore unused bits. */ + assert_unused_bits(a); + assert_unused_bits(b); + } + + return ret; +} + +static void +SET_OF__encode_sorted_free(struct _el_buffer *el_buf, size_t count) { + size_t i; + + for(i = 0; i < count; i++) { + FREEMEM(el_buf[i].buf); + } + + FREEMEM(el_buf); +} + +enum SET_OF__encode_method { + SOES_DER, /* Distinguished Encoding Rules */ + SOES_CUPER /* Canonical Unaligned Packed Encoding Rules */ +}; + +static struct _el_buffer * +SET_OF__encode_sorted(const asn_TYPE_member_t *elm, + const asn_anonymous_set_ *list, + enum SET_OF__encode_method method) { + struct _el_buffer *encoded_els; + int edx; + + encoded_els = + (struct _el_buffer *)CALLOC(list->count, sizeof(encoded_els[0])); + if(encoded_els == NULL) { + return NULL; + } + + /* + * Encode all members. + */ + for(edx = 0; edx < list->count; edx++) { + const void *memb_ptr = list->array[edx]; + struct _el_buffer *encoding_el = &encoded_els[edx]; + asn_enc_rval_t erval = {0,0,0}; + + if(!memb_ptr) break; + + /* + * Encode the member into the prepared space. + */ + switch(method) { + case SOES_DER: + erval = elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, + _el_addbytes, encoding_el); + break; + case SOES_CUPER: + erval = uper_encode(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, _el_addbytes, encoding_el); + if(erval.encoded != -1) { + size_t extra_bits = erval.encoded % 8; + assert(encoding_el->length == (size_t)(erval.encoded + 7) / 8); + encoding_el->bits_unused = (8 - extra_bits) & 0x7; + } + break; + default: + assert(!"Unreachable"); + break; + } + if(erval.encoded < 0) break; + } + + if(edx == list->count) { + /* + * Sort the encoded elements according to their encoding. + */ + qsort(encoded_els, list->count, sizeof(encoded_els[0]), _el_buf_cmp); + + return encoded_els; + } else { + SET_OF__encode_sorted_free(encoded_els, edx); + return NULL; + } +} + + +/* + * The DER encoder of the SET OF type. + */ +asn_enc_rval_t +SET_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + size_t computed_size = 0; + ssize_t encoding_size = 0; + struct _el_buffer *encoded_els; + int edx; + + ASN_DEBUG("Estimating size for SET OF %s", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + asn_enc_rval_t erval = {0,0,0}; + + if(!memb_ptr) ASN__ENCODE_FAILED; + + erval = + elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, 0, 0); + if(erval.encoded == -1) return erval; + computed_size += erval.encoded; + } + + + /* + * Encode the TLV for the sequence itself. + */ + encoding_size = + der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); + if(encoding_size < 0) { + ASN__ENCODE_FAILED; + } + computed_size += encoding_size; + + if(!cb || list->count == 0) { + asn_enc_rval_t erval = {0,0,0}; + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } + + ASN_DEBUG("Encoding members of %s SET OF", td->name); + + /* + * DER mandates dynamic sorting of the SET OF elements + * according to their encodings. Build an array of the + * encoded elements. + */ + encoded_els = SET_OF__encode_sorted(elm, list, SOES_DER); + + /* + * Report encoded elements to the application. + * Dispose of temporary sorted members table. + */ + for(edx = 0; edx < list->count; edx++) { + struct _el_buffer *encoded_el = &encoded_els[edx]; + /* Report encoded chunks to the application */ + if(cb(encoded_el->buf, encoded_el->length, app_key) < 0) { + break; + } else { + encoding_size += encoded_el->length; + } + } + + SET_OF__encode_sorted_free(encoded_els, list->count); + + if(edx == list->count) { + asn_enc_rval_t erval = {0,0,0}; + assert(computed_size == (size_t)encoding_size); + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } else { + ASN__ENCODE_FAILED; + } +} + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + buf_ptr = ((const char *)buf_ptr) + num;\ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +SET_OF_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *element = td->elements; + const char *elm_tag; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * ... and parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval = {RC_OK, 0};/* Return value from a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* Which tag is expected for the downstream */ + if(specs->as_XMLValueList) { + elm_tag = (specs->as_XMLValueList == 1) ? 0 : ""; + } else { + elm_tag = (*element->name) + ? element->name : element->type->xml_tag; + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + */ + for(; ctx->phase <= 2;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + + /* + * Go inside the inner member of a set. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval = {RC_OK, 0}; + + /* Invoke the inner type decoder, m.b. multiple times */ + ASN_DEBUG("XER/SET OF element [%s]", elm_tag); + tmprval = element->type->op->xer_decoder(opt_codec_ctx, + element->type, &ctx->ptr, elm_tag, + buf_ptr, size); + if(tmprval.code == RC_OK) { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + if(ASN_SET_ADD(list, ctx->ptr) != 0) + RETURN(RC_FAIL); + ctx->ptr = 0; + XER_ADVANCE(tmprval.consumed); + } else { + XER_ADVANCE(tmprval.consumed); + RETURN(tmprval.code); + } + ctx->phase = 1; /* Back to body processing */ + ASN_DEBUG("XER/SET OF phase => %d", ctx->phase); + /* Fall through */ + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, + buf_ptr, size, &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + ASN_DEBUG("XER/SET OF: tcv = %d, ph=%d t=%s", + tcv, ctx->phase, xml_tag); + switch(tcv) { + case XCT_CLOSING: + if(ctx->phase == 0) break; + ctx->phase = 0; + /* Fall through */ + case XCT_BOTH: + if(ctx->phase == 0) { + /* No more things to decode */ + XER_ADVANCE(ch_size); + ctx->phase = 3; /* Phase out */ + RETURN(RC_OK); + } + /* Fall through */ + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + ASN_DEBUG("XER/SET OF: tcv=%d, ph=%d", tcv, ctx->phase); + if(ctx->phase == 1) { + /* + * Process a single possible member. + */ + ctx->phase = 2; + continue; + } + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag in SET OF"); + break; + } + + ctx->phase = 3; /* "Phase out" on hard failure */ + RETURN(RC_FAIL); +} + + + +typedef struct xer_tmp_enc_s { + void *buffer; + size_t offset; + size_t size; +} xer_tmp_enc_t; +static int +SET_OF_encode_xer_callback(const void *buffer, size_t size, void *key) { + xer_tmp_enc_t *t = (xer_tmp_enc_t *)key; + if(t->offset + size >= t->size) { + size_t newsize = (t->size << 2) + size; + void *p = REALLOC(t->buffer, newsize); + if(!p) return -1; + t->buffer = p; + t->size = newsize; + } + memcpy((char *)t->buffer + t->offset, buffer, size); + t->offset += size; + return 0; +} +static int +SET_OF_xer_order(const void *aptr, const void *bptr) { + const xer_tmp_enc_t *a = (const xer_tmp_enc_t *)aptr; + const xer_tmp_enc_t *b = (const xer_tmp_enc_t *)bptr; + size_t minlen = a->offset; + int ret; + if(b->offset < minlen) minlen = b->offset; + /* Well-formed UTF-8 has this nice lexicographical property... */ + ret = memcmp(a->buffer, b->buffer, minlen); + if(ret != 0) return ret; + if(a->offset == b->offset) + return 0; + if(a->offset == minlen) + return -1; + return 1; +} + + +asn_enc_rval_t +SET_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0,0,0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + const char *mname = specs->as_XMLValueList + ? 0 : ((*elm->name) ? elm->name : elm->type->xml_tag); + size_t mlen = mname ? strlen(mname) : 0; + int xcan = (flags & XER_F_CANONICAL); + xer_tmp_enc_t *encs = 0; + size_t encs_count = 0; + void *original_app_key = app_key; + asn_app_consume_bytes_f *original_cb = cb; + int i; + + if(!sptr) ASN__ENCODE_FAILED; + + if(xcan) { + encs = (xer_tmp_enc_t *)MALLOC(list->count * sizeof(encs[0])); + if(!encs) ASN__ENCODE_FAILED; + cb = SET_OF_encode_xer_callback; + } + + er.encoded = 0; + + for(i = 0; i < list->count; i++) { + asn_enc_rval_t tmper = {0,0,0}; + + void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + if(encs) { + memset(&encs[encs_count], 0, sizeof(encs[0])); + app_key = &encs[encs_count]; + encs_count++; + } + + if(mname) { + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + } + + if(!xcan && specs->as_XMLValueList == 1) + ASN__TEXT_INDENT(1, ilevel + 1); + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, + ilevel + (specs->as_XMLValueList != 2), + flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + if(tmper.encoded == 0 && specs->as_XMLValueList) { + const char *name = elm->type->xml_tag; + size_t len = strlen(name); + ASN__CALLBACK3("<", 1, name, len, "/>", 2); + } + + if(mname) { + ASN__CALLBACK3("", 1); + } + + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + if(encs) { + xer_tmp_enc_t *enc = encs; + xer_tmp_enc_t *end = encs + encs_count; + ssize_t control_size = 0; + + er.encoded = 0; + cb = original_cb; + app_key = original_app_key; + qsort(encs, encs_count, sizeof(encs[0]), SET_OF_xer_order); + + for(; enc < end; enc++) { + ASN__CALLBACK(enc->buffer, enc->offset); + FREEMEM(enc->buffer); + enc->buffer = 0; + control_size += enc->offset; + } + assert(control_size == er.encoded); + } + + goto cleanup; +cb_failed: + ASN__ENCODE_FAILED; +cleanup: + if(encs) { + size_t n; + for(n = 0; n < encs_count; n++) { + FREEMEM(encs[n].buffer); + } + FREEMEM(encs); + } + ASN__ENCODED_OK(er); +} + +int +SET_OF_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + int ret; + int i; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb(td->name, strlen(td->name), app_key) < 0 + || cb(" ::= {", 6, app_key) < 0) + return -1; + + for(i = 0; i < list->count; i++) { + const void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + _i_INDENT(1); + + ret = elm->type->op->print_struct(elm->type, memb_ptr, + ilevel + 1, cb, app_key); + if(ret) return ret; + } + + ilevel--; + _i_INDENT(1); + + return (cb("}", 1, app_key) < 0) ? -1 : 0; +} + +void +SET_OF_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(td && ptr) { + const asn_SET_OF_specifics_t *specs; + asn_TYPE_member_t *elm = td->elements; + asn_anonymous_set_ *list = _A_SET_FROM_VOID(ptr); + asn_struct_ctx_t *ctx; /* Decoder context */ + int i; + + /* + * Could not use set_of_empty() because of (*free) + * incompatibility. + */ + for(i = 0; i < list->count; i++) { + void *memb_ptr = list->array[i]; + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } + list->count = 0; /* No meaningful elements left */ + + asn_set_empty(list); /* Remove (list->array) */ + + specs = (const asn_SET_OF_specifics_t *)td->specifics; + ctx = (asn_struct_ctx_t *)((char *)ptr + specs->ctx_offset); + if(ctx->ptr) { + ASN_STRUCT_FREE(*elm->type, ctx->ptr); + ctx->ptr = 0; + } + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, specs->struct_size); + break; + } + } +} + +int +SET_OF_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const asn_TYPE_member_t *elm = td->elements; + asn_constr_check_f *constr; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + int i; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + constr = elm->encoding_constraints.general_constraints; + if(!constr) constr = elm->type->encoding_constraints.general_constraints; + + /* + * Iterate over the members of an array. + * Validate each in turn, until one fails. + */ + for(i = 0; i < list->count; i++) { + const void *memb_ptr = list->array[i]; + int ret; + + if(!memb_ptr) continue; + + ret = constr(elm->type, memb_ptr, ctfailcb, app_key); + if(ret) return ret; + } + + return 0; +} + +#ifndef ASN_DISABLE_PER_SUPPORT + +asn_dec_rval_t +SET_OF_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + void *st = *sptr; + asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + int repeat = 0; + ssize_t nelems; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + list = _A_SET_FROM_VOID(st); + + /* Figure out which constraints to use */ + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted! */ + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + nelems = per_get_few_bits(pd, ct->effective_bits); + ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", + (long)nelems, ct->lower_bound, td->name); + if(nelems < 0) ASN__DECODE_STARVED; + nelems += ct->lower_bound; + } else { + nelems = -1; + } + + do { + int i; + if(nelems < 0) { + nelems = uper_get_length(pd, -1, 0, &repeat); + ASN_DEBUG("Got to decode %" ASN_PRI_SSIZE " elements (eff %d)", + nelems, (int)(ct ? ct->effective_bits : -1)); + if(nelems < 0) ASN__DECODE_STARVED; + } + + for(i = 0; i < nelems; i++) { + void *ptr = 0; + ASN_DEBUG("SET OF %s decoding", elm->type->name); + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, &ptr, pd); + ASN_DEBUG("%s SET OF %s decoded %d, %p", + td->name, elm->type->name, rv.code, ptr); + if(rv.code == RC_OK) { + if(ASN_SET_ADD(list, ptr) == 0) { + if(rv.consumed == 0 && nelems > 200) { + /* Protect from SET OF NULL compression bombs. */ + ASN__DECODE_FAILED; + } + continue; + } + ASN_DEBUG("Failed to add element into %s", + td->name); + /* Fall through */ + rv.code = RC_FAIL; + } else { + ASN_DEBUG("Failed decoding %s of %s (SET OF)", + elm->type->name, td->name); + } + if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); + return rv; + } + + nelems = -1; /* Allow uper_get_length() */ + } while(repeat); + + ASN_DEBUG("Decoded %s as SET OF", td->name); + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + +asn_enc_rval_t +SET_OF_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + const asn_TYPE_member_t *elm = td->elements; + struct _el_buffer *encoded_els; + asn_enc_rval_t er = {0,0,0}; + size_t encoded_edx; + + if(!sptr) ASN__ENCODE_FAILED; + + list = _A_CSET_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = + (list->count < ct->lower_bound || list->count > ct->upper_bound); + ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) { + ASN__ENCODE_FAILED; + } + + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; + } else if(list->count == 0) { + /* When the list is empty add only the length determinant + * X.691, #20.6 and #11.9.4.1 + */ + if (uper_put_length(po, 0, 0)) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } + + + /* + * Canonical UPER #22.1 mandates dynamic sorting of the SET OF elements + * according to their encodings. Build an array of the encoded elements. + */ + encoded_els = SET_OF__encode_sorted(elm, list, SOES_CUPER); + + for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { + ssize_t may_encode; + size_t edx; + int need_eom = 0; + + if(ct && ct->effective_bits >= 0) { + may_encode = list->count; + } else { + may_encode = + uper_put_length(po, list->count - encoded_edx, &need_eom); + if(may_encode < 0) ASN__ENCODE_FAILED; + } + + for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { + const struct _el_buffer *el = &encoded_els[edx]; + if(asn_put_many_bits(po, el->buf, + (8 * el->length) - el->bits_unused) < 0) { + break; + } + } + + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + + encoded_edx += may_encode; + } + + SET_OF__encode_sorted_free(encoded_els, list->count); + + if((ssize_t)encoded_edx == list->count) { + ASN__ENCODED_OK(er); + } else { + ASN__ENCODE_FAILED; + } +} + +asn_dec_rval_t +SET_OF_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + void *st = *sptr; + asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + int repeat = 0; + ssize_t nelems; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + list = _A_SET_FROM_VOID(st); + + /* Figure out which constraints to use */ + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted! */ + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + nelems = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound + 1); + ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", + (long)nelems, ct->lower_bound, td->name); + if(nelems < 0) ASN__DECODE_STARVED; + nelems += ct->lower_bound; + } else { + nelems = -1; + } + + do { + int i; + if(nelems < 0) { + nelems = aper_get_length(pd, ct ? ct->upper_bound - ct->lower_bound + 1 : -1, + ct ? ct->effective_bits : -1, &repeat); + ASN_DEBUG("Got to decode %d elements (eff %d)", + (int)nelems, (int)(ct ? ct->effective_bits : -1)); + if(nelems < 0) ASN__DECODE_STARVED; + } + + for(i = 0; i < nelems; i++) { + void *ptr = 0; + ASN_DEBUG("SET OF %s decoding", elm->type->name); + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, &ptr, pd); + ASN_DEBUG("%s SET OF %s decoded %d, %p", + td->name, elm->type->name, rv.code, ptr); + if(rv.code == RC_OK) { + if(ASN_SET_ADD(list, ptr) == 0) + continue; + ASN_DEBUG("Failed to add element into %s", + td->name); + /* Fall through */ + rv.code = RC_FAIL; + } else { + ASN_DEBUG("Failed decoding %s of %s (SET OF)", + elm->type->name, td->name); + } + if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); + return rv; + } + + nelems = -1; /* Allow uper_get_length() */ + } while(repeat); + + ASN_DEBUG("Decoded %s as SET OF", td->name); + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + +#endif /* ASN_DISABLE_PER_SUPPORT */ + +struct comparable_ptr { + const asn_TYPE_descriptor_t *td; + const void *sptr; +}; + +static int +SET_OF__compare_cb(const void *aptr, const void *bptr) { + const struct comparable_ptr *a = aptr; + const struct comparable_ptr *b = bptr; + assert(a->td == b->td); + return a->td->op->compare_struct(a->td, a->sptr, b->sptr); +} + +int +SET_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_anonymous_set_ *a = _A_CSET_FROM_VOID(aptr); + const asn_anonymous_set_ *b = _A_CSET_FROM_VOID(bptr); + + if(a && b) { + struct comparable_ptr *asorted; + struct comparable_ptr *bsorted; + ssize_t common_length; + ssize_t idx; + + if(a->count == 0) { + if(b->count) return -1; + return 0; + } else if(b->count == 0) { + return 1; + } + + asorted = MALLOC(a->count * sizeof(asorted[0])); + bsorted = MALLOC(b->count * sizeof(bsorted[0])); + if(!asorted || !bsorted) { + FREEMEM(asorted); + FREEMEM(bsorted); + return -1; + } + + for(idx = 0; idx < a->count; idx++) { + asorted[idx].td = td->elements->type; + asorted[idx].sptr = a->array[idx]; + } + + for(idx = 0; idx < b->count; idx++) { + bsorted[idx].td = td->elements->type; + bsorted[idx].sptr = b->array[idx]; + } + + qsort(asorted, a->count, sizeof(asorted[0]), SET_OF__compare_cb); + qsort(bsorted, b->count, sizeof(bsorted[0]), SET_OF__compare_cb); + + common_length = (a->count < b->count ? a->count : b->count); + for(idx = 0; idx < common_length; idx++) { + int ret = td->elements->type->op->compare_struct( + td->elements->type, asorted[idx].sptr, bsorted[idx].sptr); + if(ret) { + FREEMEM(asorted); + FREEMEM(bsorted); + return ret; + } + } + + FREEMEM(asorted); + FREEMEM(bsorted); + + if(idx < b->count) /* more elements in b */ + return -1; /* a is shorter, so put it first */ + if(idx < a->count) return 1; + } else if(!a) { + return -1; + } else if(!b) { + return 1; + } + + return 0; +} + + +asn_TYPE_operation_t asn_OP_SET_OF = { + SET_OF_free, + SET_OF_print, + SET_OF_compare, + SET_OF_decode_ber, + SET_OF_encode_der, + SET_OF_decode_xer, + SET_OF_encode_xer, +#ifdef ASN_DISABLE_OER_SUPPORT + 0, + 0, +#else + SET_OF_decode_oer, + SET_OF_encode_oer, +#endif +#ifdef ASN_DISABLE_PER_SUPPORT + 0, + 0, + 0, + 0, +#else + SET_OF_decode_uper, + SET_OF_encode_uper, + SET_OF_decode_aper, + 0, /* SET_OF_encode_aper */ +#endif /* ASN_DISABLE_PER_SUPPORT */ + SET_OF_random_fill, + 0 /* Use generic outmost tag fetcher */ +}; + + +asn_random_fill_result_t +SET_OF_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_SET_OF_specifics_t *specs = + (const asn_SET_OF_specifics_t *)td->specifics; + asn_random_fill_result_t res_ok = {ARFILL_OK, 0}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + const asn_TYPE_member_t *elm = td->elements; + void *st = *sptr; + long max_elements = 5; + long slb = 0; /* Lower size bound */ + long sub = 0; /* Upper size bound */ + size_t rnd_len; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (*sptr = CALLOC(1, specs->struct_size)); + if(st == NULL) { + return result_failed; + } + } + + switch(asn_random_between(0, 6)) { + case 0: max_elements = 0; break; + case 1: max_elements = 1; break; + case 2: max_elements = 5; break; + case 3: max_elements = max_length; break; + case 4: max_elements = max_length / 2; break; + case 5: max_elements = max_length / 4; break; + default: break; + } + sub = slb + max_elements; + + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_SEMI_CONSTRAINED) { + slb = pc->lower_bound; + sub = pc->lower_bound + max_elements; + } else if(pc->flags & APC_CONSTRAINED) { + slb = pc->lower_bound; + sub = pc->upper_bound; + if(sub - slb > max_elements) sub = slb + max_elements; + } + } + + /* Bias towards edges of allowed space */ + switch(asn_random_between(-1, 4)) { + default: + case -1: + /* Prepare lengths somewhat outside of constrained range. */ + if(constraints->per_constraints + && (constraints->per_constraints->size.flags & APC_EXTENSIBLE)) { + switch(asn_random_between(0, 5)) { + default: + case 0: + rnd_len = 0; + break; + case 1: + if(slb > 0) { + rnd_len = slb - 1; + } else { + rnd_len = 0; + } + break; + case 2: + rnd_len = asn_random_between(0, slb); + break; + case 3: + if(sub < (ssize_t)max_length) { + rnd_len = sub + 1; + } else { + rnd_len = max_length; + } + break; + case 4: + if(sub < (ssize_t)max_length) { + rnd_len = asn_random_between(sub + 1, max_length); + } else { + rnd_len = max_length; + } + break; + case 5: + rnd_len = max_length; + break; + } + break; + } + /* Fall through */ + case 0: + rnd_len = asn_random_between(slb, sub); + break; + case 1: + if(slb < sub) { + rnd_len = asn_random_between(slb + 1, sub); + break; + } + /* Fall through */ + case 2: + rnd_len = asn_random_between(slb, slb); + break; + case 3: + if(slb < sub) { + rnd_len = asn_random_between(slb, sub - 1); + break; + } + /* Fall through */ + case 4: + rnd_len = asn_random_between(sub, sub); + break; + } + + for(; rnd_len > 0; rnd_len--) { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + void *ptr = 0; + asn_random_fill_result_t tmpres = elm->type->op->random_fill( + elm->type, &ptr, &elm->encoding_constraints, + (max_length > res_ok.length ? max_length - res_ok.length : 0) + / rnd_len); + switch(tmpres.code) { + case ARFILL_OK: + ASN_SET_ADD(list, ptr); + res_ok.length += tmpres.length; + break; + case ARFILL_SKIPPED: + break; + case ARFILL_FAILED: + assert(ptr == 0); + return tmpres; + } + } + + return res_ok; +} + diff --git a/asn1c_defs/all-defs/constr_SET_OF.h b/asn1c_defs/all-defs/constr_SET_OF.h new file mode 100755 index 0000000..ff8d6e7 --- /dev/null +++ b/asn1c_defs/all-defs/constr_SET_OF.h @@ -0,0 +1,49 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef CONSTR_SET_OF_H +#define CONSTR_SET_OF_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct asn_SET_OF_specifics_s { + /* + * Target structure description. + */ + unsigned struct_size; /* Size of the target structure. */ + unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ + + /* XER-specific stuff */ + int as_XMLValueList; /* The member type must be encoded like this */ +} asn_SET_OF_specifics_t; + +/* + * A set specialized functions dealing with the SET OF type. + */ +asn_struct_free_f SET_OF_free; +asn_struct_print_f SET_OF_print; +asn_struct_compare_f SET_OF_compare; +asn_constr_check_f SET_OF_constraint; +ber_type_decoder_f SET_OF_decode_ber; +der_type_encoder_f SET_OF_encode_der; +xer_type_decoder_f SET_OF_decode_xer; +xer_type_encoder_f SET_OF_encode_xer; +oer_type_decoder_f SET_OF_decode_oer; +oer_type_encoder_f SET_OF_encode_oer; +per_type_decoder_f SET_OF_decode_uper; +per_type_encoder_f SET_OF_encode_uper; +per_type_decoder_f SET_OF_decode_aper; +per_type_encoder_f SET_OF_encode_aper; +asn_random_fill_f SET_OF_random_fill; +extern asn_TYPE_operation_t asn_OP_SET_OF; + +#ifdef __cplusplus +} +#endif + +#endif /* CONSTR_SET_OF_H */ diff --git a/asn1c_defs/all-defs/constr_SET_OF.o b/asn1c_defs/all-defs/constr_SET_OF.o new file mode 100644 index 0000000000000000000000000000000000000000..0d3a1c8cd6875776fc700e61b890a5e6a7632ce2 GIT binary patch literal 21600 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 O-?Se)x6F5T|NjDQ$f1J( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/constr_TYPE.c b/asn1c_defs/all-defs/constr_TYPE.c new file mode 100755 index 0000000..cece6ce --- /dev/null +++ b/asn1c_defs/all-defs/constr_TYPE.c @@ -0,0 +1,80 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Version of the ASN.1 infrastructure shipped with compiler. + */ +int get_asn1c_environment_version() { return ASN1C_ENVIRONMENT_VERSION; } + +static asn_app_consume_bytes_f _print2fp; + +/* + * Return the outmost tag of the type. + */ +ber_tlv_tag_t +asn_TYPE_outmost_tag(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag) { + + if(tag_mode) + return tag; + + if(type_descriptor->tags_count) + return type_descriptor->tags[0]; + + return type_descriptor->op->outmost_tag(type_descriptor, struct_ptr, 0, 0); +} + +/* + * Print the target language's structure in human readable form. + */ +int +asn_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, + const void *struct_ptr) { + if(!stream) stream = stdout; + if(!td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + /* Invoke type-specific printer */ + if(td->op->print_struct(td, struct_ptr, 1, _print2fp, stream)) { + return -1; + } + + /* Terminate the output */ + if(_print2fp("\n", 1, stream)) { + return -1; + } + + return fflush(stream); +} + +/* Dump the data into the specified stdio stream */ +static int +_print2fp(const void *buffer, size_t size, void *app_key) { + FILE *stream = (FILE *)app_key; + + if(fwrite(buffer, 1, size, stream) != size) + return -1; + + return 0; +} + + +/* + * Some compilers do not support variable args macros. + * This function is a replacement of ASN_DEBUG() macro. + */ +void ASN_DEBUG_f(const char *fmt, ...); +void ASN_DEBUG_f(const char *fmt, ...) { + va_list ap; + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); +} diff --git a/asn1c_defs/all-defs/constr_TYPE.h b/asn1c_defs/all-defs/constr_TYPE.h new file mode 100755 index 0000000..607bb27 --- /dev/null +++ b/asn1c_defs/all-defs/constr_TYPE.h @@ -0,0 +1,262 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * This file contains the declaration structure called "ASN.1 Type Definition", + * which holds all information necessary for encoding and decoding routines. + * This structure even contains pointer to these encoding and decoding routines + * for each defined ASN.1 type. + */ +#ifndef _CONSTR_TYPE_H_ +#define _CONSTR_TYPE_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ +struct asn_TYPE_member_s; /* Forward declaration */ + +/* + * This type provides the context information for various ASN.1 routines, + * primarily ones doing decoding. A member _asn_ctx of this type must be + * included into certain target language's structures, such as compound types. + */ +typedef struct asn_struct_ctx_s { + short phase; /* Decoding phase */ + short step; /* Elementary step of a phase */ + int context; /* Other context information */ + void *ptr; /* Decoder-specific stuff (stack elements) */ + ber_tlv_len_t left; /* Number of bytes left, -1 for indefinite */ +} asn_struct_ctx_t; + +#include /* Basic Encoding Rules decoder */ +#include /* Distinguished Encoding Rules encoder */ +#include /* Decoder of XER (XML, text) */ +#include /* Encoder into XER (XML, text) */ +#include /* Packet Encoding Rules decoder */ +#include /* Packet Encoding Rules encoder */ +#include /* Subtype constraints support */ +#include /* Random structures support */ + +#ifdef ASN_DISABLE_OER_SUPPORT +typedef void (oer_type_decoder_f)(void); +typedef void (oer_type_encoder_f)(void); +typedef void asn_oer_constraints_t; +#else +#include /* Octet Encoding Rules encoder */ +#include /* Octet Encoding Rules encoder */ +#endif + +/* + * Free the structure according to its specification. + * Use one of ASN_STRUCT_{FREE,RESET,CONTENTS_ONLY} macros instead. + * Do not use directly. + */ +enum asn_struct_free_method { + ASFM_FREE_EVERYTHING, /* free(struct_ptr) and underlying members */ + ASFM_FREE_UNDERLYING, /* free underlying members */ + ASFM_FREE_UNDERLYING_AND_RESET /* FREE_UNDERLYING + memset(0) */ +}; +typedef void (asn_struct_free_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + void *struct_ptr, enum asn_struct_free_method); + +/* + * Free the structure including freeing the memory pointed to by ptr itself. + */ +#define ASN_STRUCT_FREE(asn_DEF, ptr) \ + (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_EVERYTHING) + +/* + * Free the memory used by the members of the structure without freeing the + * the structure pointer itself. + * ZERO-OUT the structure to the safe clean state. + * (Retaining the pointer may be useful in case the structure is allocated + * statically or arranged on the stack, yet its elements are dynamic.) + */ +#define ASN_STRUCT_RESET(asn_DEF, ptr) \ + (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING_AND_RESET) + +/* + * Free memory used by the members of the structure without freeing + * the structure pointer itself. + * (Retaining the pointer may be useful in case the structure is allocated + * statically or arranged on the stack, yet its elements are dynamic.) + * AVOID using it in the application code; + * Use a safer ASN_STRUCT_RESET() instead. + */ +#define ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF, ptr) \ + (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING) + +/* + * Print the structure according to its specification. + */ +typedef int(asn_struct_print_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, + int level, /* Indentation level */ + asn_app_consume_bytes_f *callback, void *app_key); + +/* + * Compare two structs between each other. + * Returns <0 if struct_A is "smaller" than struct_B, >0 if "greater", + * and =0 if "equal to", for some type-specific, stable definition of + * "smaller", "greater" and "equal to". + */ +typedef int (asn_struct_compare_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_A, + const void *struct_B); + +/* + * Return the outmost tag of the type. + * If the type is untagged CHOICE, the dynamic operation is performed. + * NOTE: This function pointer type is only useful internally. + * Do not use it in your application. + */ +typedef ber_tlv_tag_t (asn_outmost_tag_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag); +/* The instance of the above function type; used internally. */ +asn_outmost_tag_f asn_TYPE_outmost_tag; + +/* + * Fetch the desired type of the Open Type based on the + * Information Object Set driven constraints. + */ +typedef struct asn_type_selector_result_s { + const struct asn_TYPE_descriptor_s *type_descriptor; /* Type encoded. */ + unsigned presence_index; /* Associated choice variant. */ +} asn_type_selector_result_t; +typedef asn_type_selector_result_t(asn_type_selector_f)( + const struct asn_TYPE_descriptor_s *parent_type_descriptor, + const void *parent_structure_ptr); + +/* + * Generalized functions for dealing with the speciic type. + * May be directly invoked by applications. + */ +typedef struct asn_TYPE_operation_s { + asn_struct_free_f *free_struct; /* Free the structure */ + asn_struct_print_f *print_struct; /* Human readable output */ + asn_struct_compare_f *compare_struct; /* Compare two structures */ + ber_type_decoder_f *ber_decoder; /* Generic BER decoder */ + der_type_encoder_f *der_encoder; /* Canonical DER encoder */ + xer_type_decoder_f *xer_decoder; /* Generic XER decoder */ + xer_type_encoder_f *xer_encoder; /* [Canonical] XER encoder */ + oer_type_decoder_f *oer_decoder; /* Generic OER decoder */ + oer_type_encoder_f *oer_encoder; /* Canonical OER encoder */ + per_type_decoder_f *uper_decoder; /* Unaligned PER decoder */ + per_type_encoder_f *uper_encoder; /* Unaligned PER encoder */ + per_type_decoder_f *aper_decoder; /* Aligned PER decoder */ + per_type_encoder_f *aper_encoder; /* Aligned PER encoder */ + asn_random_fill_f *random_fill; /* Initialize with a random value */ + asn_outmost_tag_f *outmost_tag; /* */ +} asn_TYPE_operation_t; + +/* + * A constraints tuple specifying both the OER and PER constraints. + */ +typedef struct asn_encoding_constraints_s { + const struct asn_oer_constraints_s *oer_constraints; + const struct asn_per_constraints_s *per_constraints; + asn_constr_check_f *general_constraints; +} asn_encoding_constraints_t; + +/* + * The definitive description of the destination language's structure. + */ +typedef struct asn_TYPE_descriptor_s { + const char *name; /* A name of the ASN.1 type. "" in some cases. */ + const char *xml_tag; /* Name used in XML tag */ + + /* + * Generalized functions for dealing with the specific type. + * May be directly invoked by applications. + */ + asn_TYPE_operation_t *op; + + /*********************************************************************** + * Internally useful members. Not to be used by applications directly. * + **********************************************************************/ + + /* + * Tags that are expected to occur. + */ + const ber_tlv_tag_t *tags; /* Effective tags sequence for this type */ + unsigned tags_count; /* Number of tags which are expected */ + const ber_tlv_tag_t *all_tags; /* Every tag for BER/containment */ + unsigned all_tags_count; /* Number of tags */ + + /* OER, PER, and general constraints */ + asn_encoding_constraints_t encoding_constraints; + + /* + * An ASN.1 production type members (members of SEQUENCE, SET, CHOICE). + */ + struct asn_TYPE_member_s *elements; + unsigned elements_count; + + /* + * Additional information describing the type, used by appropriate + * functions above. + */ + const void *specifics; +} asn_TYPE_descriptor_t; + +/* + * This type describes an element of the constructed type, + * i.e. SEQUENCE, SET, CHOICE, etc. + */ + enum asn_TYPE_flags_e { + ATF_NOFLAGS, + ATF_POINTER = 0x01, /* Represented by the pointer */ + ATF_OPEN_TYPE = 0x02, /* Open Type */ + ATF_ANY_TYPE = 0x04 /* ANY type (deprecated!) */ + }; +typedef struct asn_TYPE_member_s { + enum asn_TYPE_flags_e flags; /* Element's presentation flags */ + unsigned optional; /* Following optional members, including current */ + unsigned memb_offset; /* Offset of the element */ + ber_tlv_tag_t tag; /* Outmost (most immediate) tag */ + int tag_mode; /* IMPLICIT/no/EXPLICIT tag at current level */ + asn_TYPE_descriptor_t *type; /* Member type descriptor */ + asn_type_selector_f *type_selector; /* IoS runtime type selector */ + asn_encoding_constraints_t encoding_constraints; + int (*default_value_cmp)(const void *sptr); /* Compare DEFAULT */ + int (*default_value_set)(void **sptr); /* Set DEFAULT */ + const char *name; /* ASN.1 identifier of the element */ +} asn_TYPE_member_t; + +/* + * BER tag to element number mapping. + */ +typedef struct asn_TYPE_tag2member_s { + ber_tlv_tag_t el_tag; /* Outmost tag of the member */ + unsigned el_no; /* Index of the associated member, base 0 */ + int toff_first; /* First occurence of the el_tag, relative */ + int toff_last; /* Last occurence of the el_tag, relative */ +} asn_TYPE_tag2member_t; + +/* + * This function prints out the contents of the target language's structure + * (struct_ptr) into the file pointer (stream) in human readable form. + * RETURN VALUES: + * 0: The structure is printed. + * -1: Problem dumping the structure. + * (See also xer_fprint() in xer_encoder.h) + */ +int asn_fprint(FILE *stream, /* Destination stream descriptor */ + const asn_TYPE_descriptor_t *td, /* ASN.1 type descriptor */ + const void *struct_ptr); /* Structure to be printed */ + +#ifdef __cplusplus +} +#endif + +#endif /* _CONSTR_TYPE_H_ */ diff --git a/asn1c_defs/all-defs/constr_TYPE.o b/asn1c_defs/all-defs/constr_TYPE.o new file mode 100644 index 0000000000000000000000000000000000000000..6fe413d6c085797a9cf535bf4ac899420cd32617 GIT binary patch literal 2856 zcmbVNO>7%Q6n>5aHBFi|6_lX1#7GN@CA#&NpoU*Li4#wyRU1emQAJ|wINl~|vbNUa zka8%Ang~`VQZ7hHaOk18_P_y9RiR=jNTCM~%^?cnK)3~o3m{PhNanrqjIwO)OP@S` z?|t*WZ+<;~f7lvni$p+K1m1xCOrZdK2lnH%2-9!~I$@0Y_n7|&^MAiXv_0x#FYjm{ z*R-!{_je{Yw4MxrV`x1qf_3ZDD8R;kzPeR8R?Q|>Yn9`ynvI)x%`H|=HF+lKQb+IoGRGrpZsmMy2bo$K1v#A{2jJ-C||GFZ_||OqcK!J z$<|&M)&36x4b1lHUy(|j`9DqmLIrZ%TS%`@Ziw}4!V&C{NN7E5`PUunT&Xdi>%Gh$ z*Hg^5^nT0F=xGZh#!qX>j6SL*E&YO)9M?-)@-ux2Ia>0%zApSt{hIJ!=${M!wO&I% z&8qFs^9x!3^Uol zNf(|F-vE*K-h#+tJaV-2Kx`eizZ>ymvhP{)16}c}ZFU#UGLEgEFtkS-PGFXdPfD+& zzaZmf@KMWAfsQvxkjDB@)@_r|cI`&m?ur5lKj3hR&xw32K?Si{7>lNMkg3IlNf>)j`x_~`G)Gk)|e6h@Jp1UYOM+^aF zK8-!#ICGWq4A^$T^W366SIp-)(FexP+L__OiLC8VDfVK`LWAqr`I$@Llqwu2Y?pa1 ze~A#=$<5B;GKHx;~||f%;{6exy%t zhtj_;angA*fZu3Q|7D<_UTLMX6~Lbg;NN3RM*5FqQ}qdq$!I>*l)WYcg{Ndb8p6{u zpAO+AnST_*)%^vde0iSdrqFY*;b&Cj73OjVFD!B}rgJ<8##FfshF7G7%1y%rBVU}S z`vittA(w!ljg(nP2`g1DQrPg%1=D-q?EGT#uWC^i z()kfr@zwd!e8OWBWlw@>={pdk7Ut7i6FxhHpjZC&-J>L6;q}vRy%~Q=&VMGrr7+C@ E4?D_=+5i9m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/constraints.c b/asn1c_defs/all-defs/constraints.c new file mode 100755 index 0000000..984d330 --- /dev/null +++ b/asn1c_defs/all-defs/constraints.c @@ -0,0 +1,93 @@ +#include +#include + +int +asn_generic_no_constraint(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, + asn_app_constraint_failed_f *cb, void *key) { + (void)type_descriptor; /* Unused argument */ + (void)struct_ptr; /* Unused argument */ + (void)cb; /* Unused argument */ + (void)key; /* Unused argument */ + + /* Nothing to check */ + return 0; +} + +int +asn_generic_unknown_constraint(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, + asn_app_constraint_failed_f *cb, void *key) { + (void)type_descriptor; /* Unused argument */ + (void)struct_ptr; /* Unused argument */ + (void)cb; /* Unused argument */ + (void)key; /* Unused argument */ + + /* Unknown how to check */ + return 0; +} + +struct errbufDesc { + const asn_TYPE_descriptor_t *failed_type; + const void *failed_struct_ptr; + char *errbuf; + size_t errlen; +}; + +static void +_asn_i_ctfailcb(void *key, const asn_TYPE_descriptor_t *td, const void *sptr, + const char *fmt, ...) { + struct errbufDesc *arg = key; + va_list ap; + ssize_t vlen; + ssize_t maxlen; + + arg->failed_type = td; + arg->failed_struct_ptr = sptr; + + maxlen = arg->errlen; + if(maxlen <= 0) + return; + + va_start(ap, fmt); + vlen = vsnprintf(arg->errbuf, maxlen, fmt, ap); + va_end(ap); + if(vlen >= maxlen) { + arg->errbuf[maxlen-1] = '\0'; /* Ensuring libc correctness */ + arg->errlen = maxlen - 1; /* Not counting termination */ + return; + } else if(vlen >= 0) { + arg->errbuf[vlen] = '\0'; /* Ensuring libc correctness */ + arg->errlen = vlen; /* Not counting termination */ + } else { + /* + * The libc on this system is broken. + */ + vlen = sizeof("") - 1; + maxlen--; + arg->errlen = vlen < maxlen ? vlen : maxlen; + memcpy(arg->errbuf, "", arg->errlen); + arg->errbuf[arg->errlen] = 0; + } + + return; +} + +int +asn_check_constraints(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, char *errbuf, size_t *errlen) { + struct errbufDesc arg; + int ret; + + arg.failed_type = 0; + arg.failed_struct_ptr = 0; + arg.errbuf = errbuf; + arg.errlen = errlen ? *errlen : 0; + + ret = type_descriptor->encoding_constraints.general_constraints( + type_descriptor, struct_ptr, _asn_i_ctfailcb, &arg); + if(ret == -1 && errlen) *errlen = arg.errlen; + + return ret; +} + diff --git a/asn1c_defs/all-defs/constraints.h b/asn1c_defs/all-defs/constraints.h new file mode 100755 index 0000000..37b89b1 --- /dev/null +++ b/asn1c_defs/all-defs/constraints.h @@ -0,0 +1,62 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef ASN1_CONSTRAINTS_VALIDATOR_H +#define ASN1_CONSTRAINTS_VALIDATOR_H + +#include /* Platform-dependent types */ + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * Validate the structure according to the ASN.1 constraints. + * If errbuf and errlen are given, they shall be pointing to the appropriate + * buffer space and its length before calling this function. Alternatively, + * they could be passed as NULL's. If constraints validation fails, + * errlen will contain the actual number of bytes taken from the errbuf + * to encode an error message (properly 0-terminated). + * + * RETURN VALUES: + * This function returns 0 in case all ASN.1 constraints are met + * and -1 if one or more constraints were failed. + */ +int asn_check_constraints( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Target language's structure */ + char *errbuf, /* Returned error description */ + size_t *errlen /* Length of the error description */ +); + + +/* + * Generic type for constraint checking callback, + * associated with every type descriptor. + */ +typedef int(asn_constr_check_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct_ptr, + asn_app_constraint_failed_f *optional_callback, /* Log the error */ + void *optional_app_key /* Opaque key passed to a callback */ +); + +/******************************* + * INTERNALLY USEFUL FUNCTIONS * + *******************************/ + +asn_constr_check_f asn_generic_no_constraint; /* No constraint whatsoever */ +asn_constr_check_f asn_generic_unknown_constraint; /* Not fully supported */ + +/* + * Invoke the callback with a complete error message. + */ +#define ASN__CTFAIL if(ctfailcb) ctfailcb + +#ifdef __cplusplus +} +#endif + +#endif /* ASN1_CONSTRAINTS_VALIDATOR_H */ diff --git a/asn1c_defs/all-defs/constraints.o b/asn1c_defs/all-defs/constraints.o new file mode 100644 index 0000000000000000000000000000000000000000..f082f1f2ff995528120376c6d89ee883e478821c GIT binary patch literal 2696 zcmbVNO>7%g5Pn`8YSPr}rmbYDmEyyKVnkMU8Wd7hkyAU#OSPg1CkK?k#&PT>aC@3uiPL`T9%sjs(n{^_g zj^xbDH@|P@z0G@lO26Ro5Su)thiq#$N(kMzEytM{CkIF~8BS625xwx>E?^5wikXz+ zim6Cc?-C_VoSG>=U3@qJ-W{Irsk!qoh8*(Zeo zTTV*8D7OVyK_K)Z?f!nQlP*H`RB$$N(gsZanmS+k*a;1MrtnW3z>dXI70(KQ;3qbG6iN-1n7d7MJuE z@#`1S<+2d}prfp_j8-CqP5f~l4#Mj^#nPC9xk@eFQ=_IX)M%yXr^fF!8u_P^JVI#X zjYTSs9T+dZ0rD%_+tz>jg;ExcL1f#CZ>Zy;oNPY2dL!f#E15J0^FfB*g< zm?`)5a*o)j3k!oj!?6#MLjprc2I9imCYCC(pIaLlw%{XwZ#7y7@$UL!5x2Y98Rdmc zyOEc$JGa9mf+jffvsrKtFL8Vn98q4vZh!+Jq?Kun`4RS#r+4_Gf|m(r=%y0@?1rD- z10Mmr1^T~@0|c@sQU)3E6&L;y$JaT|_Jo0%f>zRtX}D%3IYZQRNmHlPjGjwRoy&|9 zSxH2RI-s06)vKsy`ukITL+ViPDWy*(s`}skR5O!#&`WwclSf&_Xo9KEX0>c_Dx+!z zb-U0GOIgcng|{@fIWw8XT-(iIuRvec8QXL-$Q$^H1Uk&mB>?t}1Mk`cAK3%HvEImy+7TB+xsJO>FsGf4I6^()%m0?6|?8k zvYwsQi9C_k(?lLGm55v{pn~o(IY#76VR|~Nfs0nqv+}^p!|iN+;D^!KNi|nYPiJ}c zCud;@#nHK6LL4xpclrG4TH_ly3I?2Q+;-snE`M^Dx!wdE>)0=peOp0)j^pi#a>s=OnxSAtwm3UEk($jzwL5KlA>vKPTC7HXj6|Ej#@l z{m=8i!Q&g;`9P}9q#)b#x8c`7*lmCF{6dUzN8BIA+VS@Ou=j@AfK_?@i~Ml-9|nK! jc>ET)cLxw@>>ABORTED<<< \ No newline at end of file diff --git a/asn1c_defs/all-defs/der_encoder.c b/asn1c_defs/all-defs/der_encoder.c new file mode 100755 index 0000000..8d9e82c --- /dev/null +++ b/asn1c_defs/all-defs/der_encoder.c @@ -0,0 +1,194 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static ssize_t der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, + asn_app_consume_bytes_f *cb, void *app_key, int constructed); + +/* + * The DER encoder of any type. + */ +asn_enc_rval_t +der_encode(const asn_TYPE_descriptor_t *type_descriptor, const void *struct_ptr, + asn_app_consume_bytes_f *consume_bytes, void *app_key) { + ASN_DEBUG("DER encoder invoked for %s", + type_descriptor->name); + + /* + * Invoke type-specific encoder. + */ + return type_descriptor->op->der_encoder( + type_descriptor, struct_ptr, /* Pointer to the destination structure */ + 0, 0, consume_bytes, app_key); +} + +/* + * Argument type and callback necessary for der_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) + return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +/* + * A variant of the der_encode() which encodes the data into the provided buffer + */ +asn_enc_rval_t +der_encode_to_buffer(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg arg; + asn_enc_rval_t ec; + + arg.buffer = buffer; + arg.left = buffer_size; + + ec = type_descriptor->op->der_encoder(type_descriptor, + struct_ptr, /* Pointer to the destination structure */ + 0, 0, encode_to_buffer_cb, &arg); + if(ec.encoded != -1) { + assert(ec.encoded == (ssize_t)(buffer_size - arg.left)); + /* Return the encoded contents size */ + } + return ec; +} + + +/* + * Write out leading TL[v] sequence according to the type definition. + */ +ssize_t +der_write_tags(const asn_TYPE_descriptor_t *sd, size_t struct_length, + int tag_mode, int last_tag_form, + ber_tlv_tag_t tag, /* EXPLICIT or IMPLICIT tag */ + asn_app_consume_bytes_f *cb, void *app_key) { +#define ASN1_DER_MAX_TAGS_COUNT 4 + ber_tlv_tag_t + tags_buf_scratch[ASN1_DER_MAX_TAGS_COUNT * sizeof(ber_tlv_tag_t)]; + ssize_t lens[ASN1_DER_MAX_TAGS_COUNT * sizeof(ssize_t)]; + const ber_tlv_tag_t *tags; /* Copy of tags stream */ + int tags_count; /* Number of tags */ + size_t overall_length; + int i; + + ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)", + sd->name, tag_mode, sd->tags_count, + ber_tlv_tag_string(tag), + tag_mode + ?(sd->tags_count+1 + -((tag_mode == -1) && sd->tags_count)) + :sd->tags_count + ); + + if(sd->tags_count + 1 > ASN1_DER_MAX_TAGS_COUNT) { + ASN_DEBUG("System limit %d on tags count", ASN1_DER_MAX_TAGS_COUNT); + return -1; + } + + if(tag_mode) { + /* + * Instead of doing shaman dance like we do in ber_check_tags(), + * allocate a small array on the stack + * and initialize it appropriately. + */ + int stag_offset; + ber_tlv_tag_t *tags_buf = tags_buf_scratch; + tags_count = sd->tags_count + + 1 /* EXPLICIT or IMPLICIT tag is given */ + - ((tag_mode == -1) && sd->tags_count); + /* Copy tags over */ + tags_buf[0] = tag; + stag_offset = -1 + ((tag_mode == -1) && sd->tags_count); + for(i = 1; i < tags_count; i++) + tags_buf[i] = sd->tags[i + stag_offset]; + tags = tags_buf; + } else { + tags = sd->tags; + tags_count = sd->tags_count; + } + + /* No tags to write */ + if(tags_count == 0) + return 0; + + /* + * Array of tags is initialized. + * Now, compute the size of the TLV pairs, from right to left. + */ + overall_length = struct_length; + for(i = tags_count - 1; i >= 0; --i) { + lens[i] = der_write_TL(tags[i], overall_length, 0, 0, 0); + if(lens[i] == -1) return -1; + overall_length += lens[i]; + lens[i] = overall_length - lens[i]; + } + + if(!cb) return overall_length - struct_length; + + ASN_DEBUG("Encoding %s TL sequence (%d elements)", sd->name, + tags_count); + + /* + * Encode the TL sequence for real. + */ + for(i = 0; i < tags_count; i++) { + ssize_t len; + int _constr; + + /* Check if this tag happens to be constructed */ + _constr = (last_tag_form || i < (tags_count - 1)); + + len = der_write_TL(tags[i], lens[i], cb, app_key, _constr); + if(len == -1) return -1; + } + + return overall_length - struct_length; +} + +static ssize_t +der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, + asn_app_consume_bytes_f *cb, void *app_key, + int constructed) { + uint8_t buf[32]; + size_t size = 0; + int buf_size = cb?sizeof(buf):0; + ssize_t tmp; + + /* Serialize tag (T from TLV) into possibly zero-length buffer */ + tmp = ber_tlv_tag_serialize(tag, buf, buf_size); + if(tmp == -1 || tmp > (ssize_t)sizeof(buf)) return -1; + size += tmp; + + /* Serialize length (L from TLV) into possibly zero-length buffer */ + tmp = der_tlv_length_serialize(len, buf+size, buf_size?buf_size-size:0); + if(tmp == -1) return -1; + size += tmp; + + if(size > sizeof(buf)) + return -1; + + /* + * If callback is specified, invoke it, and check its return value. + */ + if(cb) { + if(constructed) *buf |= 0x20; + if(cb(buf, size, app_key) < 0) + return -1; + } + + return size; +} diff --git a/asn1c_defs/all-defs/der_encoder.h b/asn1c_defs/all-defs/der_encoder.h new file mode 100755 index 0000000..f8b07e1 --- /dev/null +++ b/asn1c_defs/all-defs/der_encoder.h @@ -0,0 +1,68 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _DER_ENCODER_H_ +#define _DER_ENCODER_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * The DER encoder of any type. May be invoked by the application. + * Produces DER- and BER-compliant encoding. (DER is a subset of BER). + * + * NOTE: Use the ber_decode() function (ber_decoder.h) to decode data + * produced by der_encode(). + */ +asn_enc_rval_t der_encode(const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Structure to be encoded */ + asn_app_consume_bytes_f *consume_bytes_cb, + void *app_key /* Arbitrary callback argument */ +); + +/* A variant of der_encode() which encodes data into the pre-allocated buffer */ +asn_enc_rval_t der_encode_to_buffer( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Structure to be encoded */ + void *buffer, /* Pre-allocated buffer */ + size_t buffer_size /* Initial buffer size (maximum) */ +); + +/* + * Type of the generic DER encoder. + */ +typedef asn_enc_rval_t(der_type_encoder_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Structure to be encoded */ + int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ + ber_tlv_tag_t tag, asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ + void *app_key /* Arbitrary callback argument */ +); + + +/******************************* + * INTERNALLY USEFUL FUNCTIONS * + *******************************/ + +/* + * Write out leading TL[v] sequence according to the type definition. + */ +ssize_t der_write_tags(const struct asn_TYPE_descriptor_s *type_descriptor, + size_t struct_length, + int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ + int last_tag_form, /* {0,!0}: prim, constructed */ + ber_tlv_tag_t tag, + asn_app_consume_bytes_f *consume_bytes_cb, + void *app_key); + +#ifdef __cplusplus +} +#endif + +#endif /* _DER_ENCODER_H_ */ diff --git a/asn1c_defs/all-defs/der_encoder.o b/asn1c_defs/all-defs/der_encoder.o new file mode 100644 index 0000000000000000000000000000000000000000..63c269d09988e9e9cd731dd2199166bbe032df74 GIT binary patch literal 3832 zcmbVOU2Gdw7QPdw)THT*fdEEym62+YL+RitSxA5)PZB5BW!k31X#%A?bsW2i>ioza z(@>%Q;JEC_82Yd)@q&1Ow_UMaX&(@)l`LF9-Cd+rsCLm-LaWsxC8PoM0f;EA_nbR- z;^{Pz5J#Fh=YIG6-E+=d`&3NtZxRIJkU*X$jg^BEGPk86N0}HUBH2o4cg~-CXn2TP z-%{%awLYW8D}Gvjf?8iKq8b%;(2iq%TD;&_tA`HP-me4IGK$nb&%9_O+QGQ>y*8{R z;?}3bLvia;%=#FdbdA$;^8;aYVfBT=YL%82r1`hl`pXYw#=o{h6j$ris+p#Zc6>;S ztMaJ~t(daA(F^8y7qs43T@jZJ>|1DE`&`hr^DX!T2_>Rg0cpVP7) z3XjuATUqqNAmrY4=&<&Jc3AtBX4EoLdmkaETSM~lhnaKqlPaEQ`L9y@X~+qZ{Zd_^ z*3Fsyn`LxKU06B_x-22*{BYol)Vii#gd+!UI&uJxT<#BOgE6&QACyO*$GrTFyl#iQ z0+8;Z8h6OzV<)cbR!y&LP2Q;2*DItB_4HG#HAE{fhXNP_dj?Tx1p*vUFG4h0?hDD! zKL>f&%@(@j1u*EY6?QQ=BhB=oU4m7qjrS-9xhzU|#7JSYT`)T>TG`6VQu(FLb|d>B z3NM!RIqW|+AM!qPWez5Tz04HCYhxyP1Y^&8uuTWfVmR@}q z+?5vgT7Q@3e-C2uhkC(Zx-6AOK+CH2fwj#0RJpxBw(Y``pWwN5WBDC zwlkX5_6jXlh3?v^t9z|~TAvpe1#l6Re*G$_>8VA%40T(+ht0trD|_WgytpF7g->Fo zmARST@>B0YE!B(af^OZ=t?P^TUB^DG)(f9G!_wB6f4zJ>s8&mt3vbf$pV+aW!=0?A zQt6KnkDj@JWpNE4i_3D5+F`&~=?-WIPV`?&mrssBNpDyCT0mJV{zq7x{E_GTx20!bTaO z`EjLFiR@GhY^9!5yOc<$qITFg#zbnf84*rAON69V&H6( zCI*YXy`p?j4EBlvP4sKEkD)cNjStc)zIw#K8%;f8@O58Ilq=0WV)(U9ePZP7ZJO9s z+`LDeZK|}0U78rt#Bh%&gC0$@*EF{gBfu&E*^PC9M#0Z6D?v8HZftizXw5;IP#5rAse1A zWXJOz5YPL3_X_J~-0%8107thHx^E^|>$mO@;#>C@265kd>VP)if=hrjx%{wR0k)mv zQQ%0i-03Y%Ep9bJd} z$Yw`e<3k_?)>aK+aszyJ1N`g;_}d%c=K;SHDip#wlt zzW|*1X#xR=%^wPl4;pU-`z~mF+D2-OX&lc@nrS1U6T=vMHkL>{XY>#6>rKS>?=uXg zv-8miQS@H+Qi(C3@9)ucV}F1DP%L32v>rWXkg4=kYW5{E2A7JNebF$JM~!?sH<`@B z4Z}hpnoUn1H78sfhLJausbfZJ;+T<1PG(){y2M7lkY6$ne$9rqojSzJ<8ht41t%Ko z1a~c?Q@9C)_#N;#_&W#!A$})34t^i6yH~%{h2Q1UFKvKtUz{4NB5ym4iQ;5m>f%JU;i z{-r51IR@O!*?hv0a_MYRG1GG2j7tNzF`6rKdr4dd5sE z1N(+|vIznO^pc)1GP&ebnrHFznGB|QRPPNH1q|t4USE54>o<8nY@kZiQQ&+Qn++uM zI^sQ#qI2T~aTDl4co6sA*dv~}sEfqi*$a3-3=jJJx%Mj9qR(CMxM`HfA9aHuJNY|# zL;*wDX+MaJ&U1VB?*MLi?=%V++DCBHMIUi{JfEAKxDG!6n~v<(yZRIBm*Mu_{8za> z^*DFV@5D-ifT~dk;QU;REzI#X_8&*Wv3L59?!B?mB+3Ue$~W aE3V+eMV{lZJ90gHKmTJg>#{}BYyW@JgWi+? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/per_decoder.c b/asn1c_defs/all-defs/per_decoder.c new file mode 100755 index 0000000..9739aa2 --- /dev/null +++ b/asn1c_defs/all-defs/per_decoder.c @@ -0,0 +1,185 @@ +#include +#include +#include + +/* + * Decode a "Production of a complete encoding", X.691#10.1. + * The complete encoding contains at least one byte, and is an integral + * multiple of 8 bytes. + */ +asn_dec_rval_t +uper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buffer, size_t size) { + asn_dec_rval_t rval; + + rval = uper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); + if(rval.consumed) { + /* + * We've always given 8-aligned data, + * so convert bits to integral bytes. + */ + rval.consumed += 7; + rval.consumed >>= 3; + } else if(rval.code == RC_OK) { + if(size) { + if(((const uint8_t *)buffer)[0] == 0) { + rval.consumed = 1; /* 1 byte */ + } else { + ASN_DEBUG("Expecting single zeroed byte"); + rval.code = RC_FAIL; + } + } else { + /* Must contain at least 8 bits. */ + rval.code = RC_WMORE; + } + } + + return rval; +} + +asn_dec_rval_t +uper_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, + size_t size, int skip_bits, int unused_bits) { + asn_codec_ctx_t s_codec_ctx; + asn_dec_rval_t rval; + asn_per_data_t pd; + + if(skip_bits < 0 || skip_bits > 7 + || unused_bits < 0 || unused_bits > 7 + || (unused_bits > 0 && !size)) + ASN__DECODE_FAILED; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* Fill in the position indicator */ + memset(&pd, 0, sizeof(pd)); + pd.buffer = (const uint8_t *)buffer; + pd.nboff = skip_bits; + pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ + if(pd.nboff > pd.nbits) + ASN__DECODE_FAILED; + + /* + * Invoke type-specific decoder. + */ + if(!td->op->uper_decoder) + ASN__DECODE_FAILED; /* PER is not compiled in */ + rval = td->op->uper_decoder(opt_codec_ctx, td, 0, sptr, &pd); + if(rval.code == RC_OK) { + /* Return the number of consumed bits */ + rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) + + pd.nboff - skip_bits; + ASN_DEBUG("PER decoding consumed %ld, counted %ld", + (long)rval.consumed, (long)pd.moved); + assert(rval.consumed == pd.moved); + } else { + /* PER codec is not a restartable */ + rval.consumed = 0; + } + return rval; +} + +asn_dec_rval_t +aper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buffer, size_t size) { + asn_dec_rval_t rval; + + rval = aper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); + if(rval.consumed) { + /* + * We've always given 8-aligned data, + * so convert bits to integral bytes. + */ + rval.consumed += 7; + rval.consumed >>= 3; + } else if(rval.code == RC_OK) { + if(size) { + if(((const uint8_t *)buffer)[0] == 0) { + rval.consumed = 1; /* 1 byte */ + } else { + ASN_DEBUG("Expecting single zeroed byte"); + rval.code = RC_FAIL; + } + } else { + /* Must contain at least 8 bits. */ + rval.code = RC_WMORE; + } + } + + return rval; +} + +asn_dec_rval_t +aper_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, + size_t size, int skip_bits, int unused_bits) { + asn_codec_ctx_t s_codec_ctx; + asn_dec_rval_t rval; + asn_per_data_t pd; + + if(skip_bits < 0 || skip_bits > 7 + || unused_bits < 0 || unused_bits > 7 + || (unused_bits > 0 && !size)) + ASN__DECODE_FAILED; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* Fill in the position indicator */ + memset(&pd, 0, sizeof(pd)); + pd.buffer = (const uint8_t *)buffer; + pd.nboff = skip_bits; + pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ + if(pd.nboff > pd.nbits) + ASN__DECODE_FAILED; + + /* + * Invoke type-specific decoder. + */ + if(!td->op->aper_decoder) + ASN__DECODE_FAILED; /* PER is not compiled in */ + rval = td->op->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd); + if(rval.code == RC_OK) { + /* Return the number of consumed bits */ + rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) + + pd.nboff - skip_bits; + ASN_DEBUG("PER decoding consumed %zu, counted %zu", + rval.consumed, pd.moved); + assert(rval.consumed == pd.moved); + } else { + /* PER codec is not a restartable */ + rval.consumed = 0; + } + return rval; +} + diff --git a/asn1c_defs/all-defs/per_decoder.h b/asn1c_defs/all-defs/per_decoder.h new file mode 100755 index 0000000..bbf589e --- /dev/null +++ b/asn1c_defs/all-defs/per_decoder.h @@ -0,0 +1,82 @@ +/*- + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PER_DECODER_H_ +#define _PER_DECODER_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * Unaligned PER decoder of a "complete encoding" as per X.691 (08/2015) #11.1. + * On success, this call always returns (.consumed >= 1), as per #11.1.3. + */ +asn_dec_rval_t uper_decode_complete( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size /* Size of data buffer */ +); + +/* + * Unaligned PER decoder of any ASN.1 type. May be invoked by the application. + * WARNING: This call returns the number of BITS read from the stream. Beware. + */ +asn_dec_rval_t uper_decode( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size, /* Size of the input data buffer, in bytes */ + int skip_bits, /* Number of unused leading bits, 0..7 */ + int unused_bits /* Number of unused tailing bits, 0..7 */ +); + +/* + * Aligned PER decoder of a "complete encoding" as per X.691#10.1. + * On success, this call always returns (.consumed >= 1), in BITS, as per X.691#10.1.3. + */ +asn_dec_rval_t aper_decode_complete( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size /* Size of data buffer */ + ); + +/* + * Aligned PER decoder of any ASN.1 type. May be invoked by the application. + * WARNING: This call returns the number of BITS read from the stream. Beware. + */ +asn_dec_rval_t aper_decode( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size, /* Size of data buffer */ + int skip_bits, /* Number of unused leading bits, 0..7 */ + int unused_bits /* Number of unused tailing bits, 0..7 */ + ); + +/* + * Type of the type-specific PER decoder function. + */ +typedef asn_dec_rval_t(per_type_decoder_f)( + const asn_codec_ctx_t *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, void **struct_ptr, + asn_per_data_t *per_data); + +#ifdef __cplusplus +} +#endif + +#endif /* _PER_DECODER_H_ */ diff --git a/asn1c_defs/all-defs/per_decoder.o b/asn1c_defs/all-defs/per_decoder.o new file mode 100644 index 0000000000000000000000000000000000000000..55b53a600dcbaa6847a4503edd4f8e918f87884b GIT binary patch literal 3728 zcmd57%Q6duPZHc9b11tCL=Vu1^e)NH*W6)jc4PV8g?Zc;UlNFlJ<*lS8_$Hrcl zf>0aDHI-{w>H$t1kq{EM9#B;{xGhyc2q{<`K;n!NehUXE64bo6I}=YgE~?Z6ebLT) z@0<5CKW}E7ld$u>6v=>6?Ba!qk;TH^4qlZYlGI~0WYm)u$c?^;sXu3=Q4)y zOMTHmkS<3sCXr6R3oWgUd1)<7X{8~ZIs?E&^)p)iN@=!MDh*n_XzWp%6rkE%fTrl< z+syGul`^`PKb?Ky#mi@D%|+{P2Hcp!y>_J4YNe(AD26s*2(@UyM{5blJMaq~_=eWI zuhKm$#)q_i55yp}zRP0!kX?8lnpKpfesaDGxYGQwEcGuTM3*6csDwU{ZOs9ROw<2k zy=L!_^*RUZVq34ZC0H1#Kl~r-6;nQ^)i2`JD^O+LBV_f=Kdlz6G!MO0dZf}Q-A^k& z8$(Nb$pzd1DRxPE`;zog6Smu3ZNP@3K+Bh0)ds!zgA)M0KY*XdLN~3_veb_iN=T&q zmkX-E{o1DTHP^8|rD<;LWhfG>ztT9dX@8|*d~epz^}nsrxBX|P?c?pae&>w$1gxDo zO(M%Xwc?_ZR8xAoxKqny22CNa7XV4-QhGs7lEN`9BPVl<#Zp#J`S}=ML_F@1UelJ|qAeVCVldk@@^;+) zp5TZlG~o$GJpOrzKWfI0^hQB`)|6>))Z?S3=mpnLSezloG4=|RZ#TA&UBWyz3%h}# zSvUEO?dpx)&W<-ZAx`+~L{5m*iJW9pCm5pKwE>p^=@Rmqdk5IV@HvQ!;JP7gwiww9 z9PPOs=aYb=JtuCDx>LY;zlGl|s_U|o2#*&-UpD#1d1Xv|j(J9@FBj!a9$6~4EM6FBEWMLg=3t#T9F;axdluycv{y#oFK+aI2n$MFlenD;RO z7xO9%x96P`a51kR#(;#~%*52=X4}U3xjJsc=b2N(hVy#++J^Ib+s4*`=jHWAk{+u z8^ygI`1v@((9_BP zAzT!o2Q9YVazD}fm8K&&5p)wn;e9}I6_J9PPgJ#}H$ piT}^^!Dsi!H1^s7h^(@wcoh|aY|}AgcJe>Kp5T*$FN${me*vu$bQ}Nx literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/per_encoder.c b/asn1c_defs/all-defs/per_encoder.c new file mode 100755 index 0000000..346b382 --- /dev/null +++ b/asn1c_defs/all-defs/per_encoder.c @@ -0,0 +1,265 @@ +#include +#include +#include + +static int _uper_encode_flush_outp(asn_per_outp_t *po); + +static int +ignore_output(const void *data, size_t size, void *app_key) { + (void)data; + (void)size; + (void)app_key; + return 0; +} + +asn_enc_rval_t +uper_encode(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_per_outp_t po; + asn_enc_rval_t er = {0,0,0}; + + /* + * Invoke type-specific encoder. + */ + if(!td || !td->op->uper_encoder) + ASN__ENCODE_FAILED; /* PER is not compiled in */ + + po.buffer = po.tmpspace; + po.nboff = 0; + po.nbits = 8 * sizeof(po.tmpspace); + po.output = cb ? cb : ignore_output; + po.op_key = app_key; + po.flushed_bytes = 0; + + er = td->op->uper_encoder(td, constraints, sptr, &po); + if(er.encoded != -1) { + size_t bits_to_flush; + + bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; + + /* Set number of bits encoded to a firm value */ + er.encoded = (po.flushed_bytes << 3) + bits_to_flush; + + if(_uper_encode_flush_outp(&po)) ASN__ENCODE_FAILED; + } + + return er; +} + +/* + * Argument type and callback necessary for uper_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) + return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +asn_enc_rval_t +uper_encode_to_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg key; + + key.buffer = buffer; + key.left = buffer_size; + + if(td) ASN_DEBUG("Encoding \"%s\" using UNALIGNED PER", td->name); + + return uper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); +} + +typedef struct enc_dyn_arg { + void *buffer; + size_t length; + size_t allocated; +} enc_dyn_arg; +static int +encode_dyn_cb(const void *buffer, size_t size, void *key) { + enc_dyn_arg *arg = key; + if(arg->length + size >= arg->allocated) { + size_t new_size = arg->allocated ? arg->allocated : 8; + void *p; + + do { + new_size <<= 2; + } while(arg->length + size >= new_size); + + p = REALLOC(arg->buffer, new_size); + if(!p) { + FREEMEM(arg->buffer); + memset(arg, 0, sizeof(*arg)); + return -1; + } + arg->buffer = p; + arg->allocated = new_size; + } + memcpy(((char *)arg->buffer) + arg->length, buffer, size); + arg->length += size; + return 0; +} +ssize_t +uper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void **buffer_r) { + asn_enc_rval_t er = {0,0,0}; + enc_dyn_arg key; + + memset(&key, 0, sizeof(key)); + + er = uper_encode(td, constraints, sptr, encode_dyn_cb, &key); + switch(er.encoded) { + case -1: + FREEMEM(key.buffer); + return -1; + case 0: + FREEMEM(key.buffer); + key.buffer = MALLOC(1); + if(key.buffer) { + *(char *)key.buffer = '\0'; + *buffer_r = key.buffer; + return 1; + } else { + return -1; + } + default: + *buffer_r = key.buffer; + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + return ((er.encoded + 7) >> 3); + } +} + +/* + * Internally useful functions. + */ + +/* Flush partially filled buffer */ +static int +_uper_encode_flush_outp(asn_per_outp_t *po) { + uint8_t *buf; + + if(po->nboff == 0 && po->buffer == po->tmpspace) + return 0; + + buf = po->buffer + (po->nboff >> 3); + /* Make sure we account for the last, partially filled */ + if(po->nboff & 0x07) { + buf[0] &= 0xff << (8 - (po->nboff & 0x07)); + buf++; + } + + return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); +} + +asn_enc_rval_t +aper_encode_to_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg key; + + key.buffer = buffer; + key.left = buffer_size; + + if(td) ASN_DEBUG("Encoding \"%s\" using ALIGNED PER", td->name); + + return aper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); +} + +ssize_t +aper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void **buffer_r) { + asn_enc_rval_t er = {0,0,0}; + enc_dyn_arg key; + + memset(&key, 0, sizeof(key)); + + er = aper_encode(td, constraints, sptr, encode_dyn_cb, &key); + switch(er.encoded) { + case -1: + FREEMEM(key.buffer); + return -1; + case 0: + FREEMEM(key.buffer); + key.buffer = MALLOC(1); + if(key.buffer) { + *(char *)key.buffer = '\0'; + *buffer_r = key.buffer; + return 1; + } else { + return -1; + } + default: + *buffer_r = key.buffer; + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + return ((er.encoded + 7) >> 3); + } +} + +static int +_aper_encode_flush_outp(asn_per_outp_t *po) { + uint8_t *buf; + + if(po->nboff == 0 && po->buffer == po->tmpspace) + return 0; + + buf = po->buffer + (po->nboff >> 3); + /* Make sure we account for the last, partially filled */ + if(po->nboff & 0x07) { + buf[0] &= 0xff << (8 - (po->nboff & 0x07)); + buf++; + } + + if (po->output) { + return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); + } + return 0; +} + +asn_enc_rval_t +aper_encode(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { + asn_per_outp_t po; + asn_enc_rval_t er = {0,0,0}; + + /* + * Invoke type-specific encoder. + */ + if(!td || !td->op->aper_encoder) + ASN__ENCODE_FAILED; /* PER is not compiled in */ + + po.buffer = po.tmpspace; + po.nboff = 0; + po.nbits = 8 * sizeof(po.tmpspace); + po.output = cb; + po.op_key = app_key; + po.flushed_bytes = 0; + + er = td->op->aper_encoder(td, constraints, sptr, &po); + if(er.encoded != -1) { + size_t bits_to_flush; + + bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; + + /* Set number of bits encoded to a firm value */ + er.encoded = (po.flushed_bytes << 3) + bits_to_flush; + + if(_aper_encode_flush_outp(&po)) + ASN__ENCODE_FAILED; + } + + return er; +} diff --git a/asn1c_defs/all-defs/per_encoder.h b/asn1c_defs/all-defs/per_encoder.h new file mode 100755 index 0000000..9834e1b --- /dev/null +++ b/asn1c_defs/all-defs/per_encoder.h @@ -0,0 +1,93 @@ +/*- + * Copyright (c) 2006-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PER_ENCODER_H_ +#define _PER_ENCODER_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * Unaligned PER encoder of any ASN.1 type. May be invoked by the application. + * WARNING: This function returns the number of encoded bits in the .encoded + * field of the return value. Use the following formula to convert to bytes: + * bytes = ((.encoded + 7) / 8) + */ +asn_enc_rval_t uper_encode( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ + void *app_key /* Arbitrary callback argument */ +); + +asn_enc_rval_t aper_encode( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ + void *app_key /* Arbitrary callback argument */ +); + +/* + * A variant of uper_encode() which encodes data into the existing buffer + * WARNING: This function returns the number of encoded bits in the .encoded + * field of the return value. + */ +asn_enc_rval_t uper_encode_to_buffer( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + void *buffer, /* Pre-allocated buffer */ + size_t buffer_size /* Initial buffer size (max) */ +); + +asn_enc_rval_t aper_encode_to_buffer( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + void *buffer, /* Pre-allocated buffer */ + size_t buffer_size /* Initial buffer size (max) */ +); +/* + * A variant of uper_encode_to_buffer() which allocates buffer itself. + * Returns the number of bytes in the buffer or -1 in case of failure. + * WARNING: This function produces a "Production of the complete encoding", + * with length of at least one octet. Contrast this to precise bit-packing + * encoding of uper_encode() and uper_encode_to_buffer(). + */ +ssize_t uper_encode_to_new_buffer( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + void **buffer_r /* Buffer allocated and returned */ +); + +ssize_t +aper_encode_to_new_buffer( + const struct asn_TYPE_descriptor_s *td, + const asn_per_constraints_t *constraints, + const void *sptr, + void **buffer_r +); + +/* + * Type of the generic PER encoder function. + */ +typedef asn_enc_rval_t(per_type_encoder_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const asn_per_constraints_t *constraints, const void *struct_ptr, + asn_per_outp_t *per_output); + +#ifdef __cplusplus +} +#endif + +#endif /* _PER_ENCODER_H_ */ diff --git a/asn1c_defs/all-defs/per_encoder.o b/asn1c_defs/all-defs/per_encoder.o new file mode 100644 index 0000000000000000000000000000000000000000..d79e642c4da71c6017d1e0c49ab1599b56b00f9b GIT binary patch literal 4528 zcmdT`U2I&%6`tL7;>C9ET}p~91(Gegt?Y)Zc7+R0l!C9b8;`>{vB0K)ao1~mw~qX) z^qk(5IG%BKlC35EZeOQB076;vkUKO063nz}QWp;wL1;%Q1*W)3odC1*l?M}uy%k>Kri{;?h13JkpgTKE;A#jRnw`|s(W(ELA6`jJnMF6cX22%UM?3j>p% zQT|VRqI`++Icq27F+vM5KjpySnPdC{;}?Yo^CTe$%%rE+e8lXX#RN~cU=UG=8o~DLYB}?L#_wSKUO(ge0!zPz2z^HsGwFhf!Ks;o z`xNExu*OyD`3N#&#irNwTmci{r|HZ^AN9PGU97gYzU&9Aapq(h%v+1W%`|)315ua{ zu-6&wm?{!al)H=}AS%=un1^4_O~LNcIUjB^<-_1T40ZUMD9<3hW3Q~&LgqI5_-j~1 zdne4FoAKF{$d~QDoOyOB0`X#Jra>21Komj7s|;4$RJ>X)WAXg${NIiZh#K{gk_ey$ z$gMI}<_6gAAms}^vtl$gjhlE0_Z!H517yHWDL>1K%mBalu-swD3wO6pX3LD`$QjD# zDgPf7N^gXM%c*WLX!c6k>H%?DAuMu`W@oE~0{H@+x#Yu|H$yfyRptO>L*Wp>3Bo*W znpg4o*@XF$wf!`1M~s|AbotfkH9uIz@{4q?gtcA%g9rc~)MqJhd9MG1PmTF(5G@tvSW(7?T* zfxjpXG${?}`BSjOjdXzW0?Aq^UZLC1XtC}M)>x+b^Q?IL=hmaRBQr}N+BdToDx#e~ zB}986cr%I?Lx*VojGmi-q6ysy9W|~xBs`A-262He2)GR#uMzNMVCina)P2WxuV$WK z`T-zf2i*Gn&*kq>pNl~Df2~i_wr}5_U_*C*X3WY2?+P`A!n-0F@fP`Yq&XCB3Pl=i z9Hb!HR%tzt-A6oA0nfI&YX39{6z}F+5FQ?<5i~Ckll1Z3w!%(v<6cP0tagN-7I_88Xu{?7O41d`U-vzAZkwMVD|<% zYIQyT!42@kfPW9x`yp6tLI+?o@LP}PIN<0%;e`$~vDaX6-H4YYF0=>OU*WeN&nwb@ zS{7K%dq&~`SqjDfFNya_T=A2MWICQ48yFuiGktxz|e3!l{h@&99)~tjgBRMDf1wsHgUqi>F7HsT&RNr>VfTc+XyAsLH`T* z!eD#Gfp2l(FFA0h|GWd&9R9;{Kk=mCJ}Um_B#s8pjKWWC;9o8G+3kN&;>hou_dy4K zlY{?J2k!Le4&0e%t<;M<|Gg5&eDK?$@_%>(|37Zvf6?LZ%;%B=cjkYyyb|2&ZFJzy z{DY7iHq29&R=hWf=NhigSf2~;l<(?ZQam3@e8uIj&UHZE)5^ajC*SMB)%ktGg{$-X zCl{{HF9}T^8MPAqV6C)mhg2_}97%+%C~&Z7m)Lt#^ZMlIl~o3yQAh;_l_D?^DDat z22@}9p#9x-=6^`WOW9Q@elO$CxyV)hl;Z*DtXKajybPf&*oI*J@oTK&RsE6PJvW9- wNXG^_SOXYtsXHEd-L(gZoWKBRpWCMLbS;P62qWvocj6@j?IGJ#p6>WB0e-v4ssI20 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/per_opentype.c b/asn1c_defs/all-defs/per_opentype.c new file mode 100755 index 0000000..f9644c9 --- /dev/null +++ b/asn1c_defs/all-defs/per_opentype.c @@ -0,0 +1,533 @@ +/* + * Copyright (c) 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +typedef struct uper_ugot_key { + asn_per_data_t oldpd; /* Old per data source */ + size_t unclaimed; + size_t ot_moved; /* Number of bits moved by OT processing */ + int repeat; +} uper_ugot_key; + +static int uper_ugot_refill(asn_per_data_t *pd); +static int per_skip_bits(asn_per_data_t *pd, int skip_nbits); +static asn_dec_rval_t uper_sot_suck(const asn_codec_ctx_t *, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd); + +/* + * Encode an "open type field". + * #10.1, #10.2 + */ +int +uper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + void *buf; + void *bptr; + ssize_t size; + + ASN_DEBUG("Open type put %s ...", td->name); + + size = uper_encode_to_new_buffer(td, constraints, sptr, &buf); + if(size <= 0) return -1; + + ASN_DEBUG("Open type put %s of length %" ASN_PRI_SSIZE " + overhead (1byte?)", td->name, + size); + + bptr = buf; + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size, &need_eom); + ASN_DEBUG("Prepending length %" ASN_PRI_SSIZE + " to %s and allowing to save %" ASN_PRI_SSIZE, + size, td->name, may_save); + if(may_save < 0) break; + if(per_put_many_bits(po, bptr, may_save * 8)) break; + bptr = (char *)bptr + may_save; + size -= may_save; + if(need_eom && uper_put_length(po, 0, 0)) { + FREEMEM(buf); + return -1; + } + } while(size); + + FREEMEM(buf); + if(size) return -1; + + return 0; +} + +static asn_dec_rval_t +uper_open_type_get_simple(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + ssize_t chunk_bytes; + int repeat; + uint8_t *buf = 0; + size_t bufLen = 0; + size_t bufSize = 0; + asn_per_data_t spd; + size_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s...", td->name); + + do { + chunk_bytes = uper_get_length(pd, -1, 0, &repeat); + if(chunk_bytes < 0) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + if(bufLen + chunk_bytes > bufSize) { + void *ptr; + bufSize = chunk_bytes + (bufSize << 2); + ptr = REALLOC(buf, bufSize); + if(!ptr) { + FREEMEM(buf); + ASN__DECODE_FAILED; + } + buf = ptr; + } + if(per_get_many_bits(pd, buf + bufLen, 0, chunk_bytes << 3)) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + bufLen += chunk_bytes; + } while(repeat); + + ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, + (long)bufLen); + + memset(&spd, 0, sizeof(spd)); + spd.buffer = buf; + spd.nbits = bufLen << 3; + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->uper_decoder(ctx, td, constraints, sptr, &spd); + ASN_DEBUG_INDENT_ADD(-4); + + if(rv.code == RC_OK) { + /* Check padding validity */ + padding = spd.nbits - spd.nboff; + if (((padding > 0 && padding < 8) || + /* X.691#10.1.3 */ + (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && + per_get_few_bits(&spd, padding) == 0) { + /* Everything is cool */ + FREEMEM(buf); + return rv; + } + FREEMEM(buf); + if(padding >= 8) { + ASN_DEBUG("Too large padding %d in open type", (int)padding); + ASN__DECODE_FAILED; + } else { + ASN_DEBUG("No padding"); + } + } else { + FREEMEM(buf); + /* rv.code could be RC_WMORE, nonsense in this context */ + rv.code = RC_FAIL; /* Noone would give us more */ + } + + return rv; +} + +static asn_dec_rval_t CC_NOTUSED +uper_open_type_get_complex(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + uper_ugot_key arg; + asn_dec_rval_t rv; + ssize_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s from %s", td->name, + asn_bit_data_string(pd)); + arg.oldpd = *pd; + arg.unclaimed = 0; + arg.ot_moved = 0; + arg.repeat = 1; + pd->refill = uper_ugot_refill; + pd->refill_key = &arg; + pd->nbits = pd->nboff; /* 0 good bits at this point, will refill */ + pd->moved = 0; /* This now counts the open type size in bits */ + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->uper_decoder(ctx, td, constraints, sptr, pd); + ASN_DEBUG_INDENT_ADD(-4); + +#define UPDRESTOREPD do { \ + /* buffer and nboff are valid, preserve them. */ \ + pd->nbits = arg.oldpd.nbits - (pd->moved - arg.ot_moved); \ + pd->moved = arg.oldpd.moved + (pd->moved - arg.ot_moved); \ + pd->refill = arg.oldpd.refill; \ + pd->refill_key = arg.oldpd.refill_key; \ + } while(0) + + if(rv.code != RC_OK) { + UPDRESTOREPD; + return rv; + } + + ASN_DEBUG("OpenType %s pd%s old%s unclaimed=%d, repeat=%d", td->name, + asn_bit_data_string(pd), + asn_bit_data_string(&arg.oldpd), + (int)arg.unclaimed, (int)arg.repeat); + + padding = pd->moved % 8; + if(padding) { + int32_t pvalue; + if(padding > 7) { + ASN_DEBUG("Too large padding %d in open type", + (int)padding); + rv.code = RC_FAIL; + UPDRESTOREPD; + return rv; + } + padding = 8 - padding; + ASN_DEBUG("Getting padding of %d bits", (int)padding); + pvalue = per_get_few_bits(pd, padding); + switch(pvalue) { + case -1: + ASN_DEBUG("Padding skip failed"); + UPDRESTOREPD; + ASN__DECODE_STARVED; + case 0: break; + default: + ASN_DEBUG("Non-blank padding (%d bits 0x%02x)", + (int)padding, (int)pvalue); + UPDRESTOREPD; + ASN__DECODE_FAILED; + } + } + if(pd->nboff != pd->nbits) { + ASN_DEBUG("Open type %s overhead pd%s old%s", td->name, + asn_bit_data_string(pd), asn_bit_data_string(&arg.oldpd)); + if(1) { + UPDRESTOREPD; + ASN__DECODE_FAILED; + } else { + arg.unclaimed += pd->nbits - pd->nboff; + } + } + + /* Adjust pd back so it points to original data */ + UPDRESTOREPD; + + /* Skip data not consumed by the decoder */ + if(arg.unclaimed) { + ASN_DEBUG("Getting unclaimed %d", (int)arg.unclaimed); + switch(per_skip_bits(pd, arg.unclaimed)) { + case -1: + ASN_DEBUG("Claim of %d failed", (int)arg.unclaimed); + ASN__DECODE_STARVED; + case 0: + ASN_DEBUG("Got claim of %d", (int)arg.unclaimed); + break; + default: + /* Padding must be blank */ + ASN_DEBUG("Non-blank unconsumed padding"); + ASN__DECODE_FAILED; + } + arg.unclaimed = 0; + } + + if(arg.repeat) { + ASN_DEBUG("Not consumed the whole thing"); + rv.code = RC_FAIL; + return rv; + } + + return rv; +} + + +asn_dec_rval_t +uper_open_type_get(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + return uper_open_type_get_simple(ctx, td, constraints, sptr, pd); +} + +int +uper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { + asn_TYPE_descriptor_t s_td; + asn_TYPE_operation_t s_op; + asn_dec_rval_t rv; + + s_td.name = ""; + s_td.op = &s_op; + s_op.uper_decoder = uper_sot_suck; + + rv = uper_open_type_get(ctx, &s_td, 0, 0, pd); + if(rv.code != RC_OK) + return -1; + else + return 0; +} + +/* + * Internal functions. + */ + +static asn_dec_rval_t +uper_sot_suck(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + + (void)ctx; + (void)td; + (void)constraints; + (void)sptr; + + while(per_get_few_bits(pd, 1) >= 0); + + rv.code = RC_OK; + rv.consumed = pd->moved; + + return rv; +} + +static int +uper_ugot_refill(asn_per_data_t *pd) { + uper_ugot_key *arg = pd->refill_key; + ssize_t next_chunk_bytes, next_chunk_bits; + ssize_t avail; + + asn_per_data_t *oldpd = &arg->oldpd; + + ASN_DEBUG("REFILLING pd->moved=%ld, oldpd->moved=%ld", + (long)pd->moved, (long)oldpd->moved); + + /* Advance our position to where pd is */ + oldpd->buffer = pd->buffer; + oldpd->nboff = pd->nboff; + oldpd->nbits -= pd->moved - arg->ot_moved; + oldpd->moved += pd->moved - arg->ot_moved; + arg->ot_moved = pd->moved; + + if(arg->unclaimed) { + /* Refill the container */ + if(per_get_few_bits(oldpd, 1)) + return -1; + if(oldpd->nboff == 0) { + assert(0); + return -1; + } + pd->buffer = oldpd->buffer; + pd->nboff = oldpd->nboff - 1; + pd->nbits = oldpd->nbits; + ASN_DEBUG("UNCLAIMED <- return from (pd->moved=%ld)", + (long)pd->moved); + return 0; + } + + if(!arg->repeat) { + ASN_DEBUG("Want more but refill doesn't have it"); + return -1; + } + + next_chunk_bytes = uper_get_length(oldpd, -1, 0, &arg->repeat); + ASN_DEBUG("Open type LENGTH %ld bytes at off %ld, repeat %ld", + (long)next_chunk_bytes, (long)oldpd->moved, (long)arg->repeat); + if(next_chunk_bytes < 0) return -1; + if(next_chunk_bytes == 0) { + pd->refill = 0; /* No more refills, naturally */ + assert(!arg->repeat); /* Implementation guarantee */ + } + next_chunk_bits = next_chunk_bytes << 3; + avail = oldpd->nbits - oldpd->nboff; + if(avail >= next_chunk_bits) { + pd->nbits = oldpd->nboff + next_chunk_bits; + arg->unclaimed = 0; + ASN_DEBUG("!+Parent frame %ld bits, alloting %ld [%ld..%ld] (%ld)", + (long)next_chunk_bits, (long)oldpd->moved, + (long)oldpd->nboff, (long)oldpd->nbits, + (long)(oldpd->nbits - oldpd->nboff)); + } else { + pd->nbits = oldpd->nbits; + arg->unclaimed = next_chunk_bits - avail; + ASN_DEBUG("!-Parent frame %ld, require %ld, will claim %ld", + (long)avail, (long)next_chunk_bits, + (long)arg->unclaimed); + } + pd->buffer = oldpd->buffer; + pd->nboff = oldpd->nboff; + ASN_DEBUG("Refilled pd%s old%s", + asn_bit_data_string(pd), asn_bit_data_string(oldpd)); + return 0; +} + +static int +per_skip_bits(asn_per_data_t *pd, int skip_nbits) { + int hasNonZeroBits = 0; + while(skip_nbits > 0) { + int skip; + + /* per_get_few_bits() is more efficient when nbits <= 24 */ + if(skip_nbits < 24) + skip = skip_nbits; + else + skip = 24; + skip_nbits -= skip; + + switch(per_get_few_bits(pd, skip)) { + case -1: return -1; /* Starving */ + case 0: continue; /* Skipped empty space */ + default: hasNonZeroBits = 1; continue; + } + } + return hasNonZeroBits; +} + +static asn_dec_rval_t +aper_open_type_get_simple(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv; + ssize_t chunk_bytes; + int repeat; + uint8_t *buf = 0; + size_t bufLen = 0; + size_t bufSize = 0; + asn_per_data_t spd; + size_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s...", td->name); + + do { + chunk_bytes = aper_get_length(pd, -1, -1, &repeat); + if(chunk_bytes < 0) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + if(bufLen + chunk_bytes > bufSize) { + void *ptr; + bufSize = chunk_bytes + (bufSize << 2); + ptr = REALLOC(buf, bufSize); + if(!ptr) { + FREEMEM(buf); + ASN__DECODE_FAILED; + } + buf = ptr; + } + if(per_get_many_bits(pd, buf + bufLen, 0, chunk_bytes << 3)) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + bufLen += chunk_bytes; + } while(repeat); + + ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, + (long)bufLen); + + memset(&spd, 0, sizeof(spd)); + spd.buffer = buf; + spd.nbits = bufLen << 3; + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->aper_decoder(ctx, td, constraints, sptr, &spd); + ASN_DEBUG_INDENT_ADD(-4); + + if(rv.code == RC_OK) { + /* Check padding validity */ + padding = spd.nbits - spd.nboff; + if (((padding > 0 && padding < 8) || + /* X.691#10.1.3 */ + (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && + per_get_few_bits(&spd, padding) == 0) { + /* Everything is cool */ + FREEMEM(buf); + return rv; + } + FREEMEM(buf); + if(padding >= 8) { + ASN_DEBUG("Too large padding %d in open type", (int)padding); + ASN__DECODE_FAILED; + } else { + ASN_DEBUG("No padding"); + } + } else { + FREEMEM(buf); + /* rv.code could be RC_WMORE, nonsense in this context */ + rv.code = RC_FAIL; /* Noone would give us more */ + } + + return rv; +} + +int +aper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + void *buf; + void *bptr; + ssize_t size; + size_t toGo; + + ASN_DEBUG("Open type put %s ...", td->name); + + size = aper_encode_to_new_buffer(td, constraints, sptr, &buf); + if(size <= 0) return -1; + + for(bptr = buf, toGo = size; toGo;) { + ssize_t maySave = aper_put_length(po, -1, toGo); + if(maySave < 0) break; + if(per_put_many_bits(po, bptr, maySave * 8)) break; + bptr = (char *)bptr + maySave; + toGo -= maySave; + } + + FREEMEM(buf); + if(toGo) return -1; + + ASN_DEBUG("Open type put %s of length %ld + overhead (1byte?)", + td->name, size); + + return 0; +} + +asn_dec_rval_t +aper_open_type_get(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + + return aper_open_type_get_simple(ctx, td, constraints, sptr, pd); +} + +int +aper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { + asn_TYPE_descriptor_t s_td; + asn_dec_rval_t rv; + asn_TYPE_operation_t op_t; + + memset(&op_t, 0, sizeof(op_t)); + s_td.name = ""; + s_td.op = &op_t; + s_td.op->aper_decoder = uper_sot_suck; + + rv = aper_open_type_get(ctx, &s_td, 0, 0, pd); + if(rv.code != RC_OK) + return -1; + else + return 0; +} + + diff --git a/asn1c_defs/all-defs/per_opentype.h b/asn1c_defs/all-defs/per_opentype.h new file mode 100755 index 0000000..3d0a62e --- /dev/null +++ b/asn1c_defs/all-defs/per_opentype.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2007-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PER_OPENTYPE_H_ +#define _PER_OPENTYPE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +asn_dec_rval_t uper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd); + +int uper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, + asn_per_data_t *pd); + +/* + * X.691 (2015/08), #11.2 + * Returns -1 if error is encountered. 0 if all OK. + */ +int uper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po); + +asn_dec_rval_t aper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd); + + +int aper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, asn_per_data_t *pd); + +int aper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po); + +#ifdef __cplusplus +} +#endif + +#endif /* _PER_OPENTYPE_H_ */ diff --git a/asn1c_defs/all-defs/per_opentype.o b/asn1c_defs/all-defs/per_opentype.o new file mode 100644 index 0000000000000000000000000000000000000000..b8b66d2942431e02380b4579441d63ac22484fd1 GIT binary patch literal 5728 zcmcIoeQX>@6(65Ja*dt6YpJM35^|9?a6#?irIARZP`u9Bo{P4LiS4AQq}Q{(R~y@R z#x`A)0V7O1KslB&r4q%@N#A(2m&#?5@#OjeNw(rK}| z(7I+agF=-3Kz6BX^UO4*ahwaohpVVzY0zz*y-(shL6#BqTsA0#=OPe7hbxb&vOe4Q$=St&0BiV zn4eh$k}RMl!Oo691&X=IH15)vr}+c=SRcK2EB7`u^#y?G;ZsLp@u9uuH_W}}!)DUk zIn9IT>Cly;Rp`^3>Fk@;G!NUb*bvOXVwC3F!Vj?Xs4^V7J+4yb75ZQOX`@$HDmr#6-dbO-)}&q?t_iE zPsG^`i~W_$P8HoFQp#`h(l0=Sb4mSPJ)B)$4<=8-tye{jzOW~>?htsoR2LgWUGS1o zii2l6H2D>;LU?7++1IPFIy?tq8yia1@gU7N=yCRLoL!R)P#cuZjz1~)TA?;#WorY1 z?wyDKRee18f2ofz-g13>3<;L?@y@N+$4t5Uz~V@--*k70zsIKyO&kczx5Uw?mWPgGGydNZH>YX>h_CVD1$>Pv+d1S-A5wVo)eD zty4vatQ&<=Xh>B3nQnXydc}{8c?0Ue>j@z0Jfq|j&aqd&o>Oqf8=+M+@KzCLSKW=6W;mb=buX~yyS^5oZ?eo|Gf0G4;L3tl=>+glI!5G@v8*8szhZ{M`3KCwYVQ> zS?mI3H9EG`5j+cFSZM}Tluhc`7%uk01OoU(G4zw-`{!u>7}v1mxf_HAhnD8JS4;af zcbnai8?%dNC-N_|b8v{K1=8c~koRwPnV+epSVD&z+fptKuI|O(eTl~k_Rzpx!OSe& zRXR@)e~wQ>?JnXmFNNP-1+kCF*n2zi$9M3fa`8>D4_*wx?rEV*AAwLqILk$wy^5Dq z*qDEh{y>D@V!!hOU;F#(UbugW;jRHQpFG@K-OOMnyFU}L#~eG88^~tvC!~Gbwk?rp zcaNKK+{l+>n_^A(7%ra~2aV0KrcE(pqlbgRJK;g9`t~kTH5RT~-LN8f0$NieU~Bja zA?xvNYT=1MQVYV6!m}AMpdj}D7A^c(phasuUfrri3Nd$E!v_*fE7eqv|w93>hd}s*!=gpcA>6cm({hM>v|cT0^*-8CBMMvO@76- zM*?Tcs%oz%VbHM#;()}D3cN8UO#<7G3+>vWK;WAzwV+ww3{y+2&Egu^K8`UdU`&qH zz{Zc%LI5V};#x=Gxs^N=rVg zBcvMsm7{9VvWuZsf zeO%z@1&(p&G-8h?vmN+Nq(TZ12*-a4IwIt#Cik z-jJPn)afVbQQIcTWX?(T4kmm12b1a4z>w#K!o{UZ{*Jhgw*@=Xo9(lcPBxiA({4I# zk9sS>B2A!oIQ2PEQU`|o5y=e>jQC@LR(W{JTIDOM)tdt8*T-$#F4BeNs=@OQyoG@t zS8%*YCH{hfWBo|{j|z@DC4O1K?@;ikp>B}Su8PlBz~88VYoc%Y{r`-DtNJ%7IR1$& z{rr)FtNVRL!PWg0q_fY+b`AitiNf~)!3qTuR&yA)jA?{^ja z(_lyXKd0b#Dfnv&j`ywPzoFnN{~FOCa9Qyyhk?qaCwh(_;7iTVBbfQdgQ%u(ud1?fy8p-!%nIP-p;7^ z?w6xcdngri;8U5z`ch7c#Cmc$5*y9p1lf(4L1Mkx;bFK{$Db?t6I820oOw z`;+O>)UfS2^`GjOTTaQ{FhZUGsk{NQsPjwks3h&nzf0trv@hSyuz+J(pOWvV z!hiHnB`GK030Rb4mG8nQ-2cNuUOhXg=c14=`jpG~OIu%uLAm^$7Z>F@!HD@oSt&2` zhwA;dQRL)p_zNTwgS~7OJbrm(^XCpAa+3ew2fTg$`=$ilEGIvWO$?~tdoBI?<^Kr+ C%_3$1 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/per_support.c b/asn1c_defs/all-defs/per_support.c new file mode 100755 index 0000000..d61046f --- /dev/null +++ b/asn1c_defs/all-defs/per_support.c @@ -0,0 +1,489 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * X.691-201508 #10.9 General rules for encoding a length determinant. + * Get the optionally constrained length "n" from the stream. + */ +ssize_t +uper_get_length(asn_per_data_t *pd, int ebits, size_t lower_bound, + int *repeat) { + ssize_t value; + + *repeat = 0; + + /* #11.9.4.1 Encoding if constrained (according to effective bits) */ + if(ebits >= 0 && ebits <= 16) { + value = per_get_few_bits(pd, ebits); + if(value >= 0) value += lower_bound; + return value; + } + + value = per_get_few_bits(pd, 8); + if((value & 0x80) == 0) { /* #11.9.3.6 */ + return (value & 0x7F); + } else if((value & 0x40) == 0) { /* #11.9.3.7 */ + /* bit 8 ... set to 1 and bit 7 ... set to zero */ + value = ((value & 0x3f) << 8) | per_get_few_bits(pd, 8); + return value; /* potential -1 from per_get_few_bits passes through. */ + } else if(value < 0) { + ASN_DEBUG("END of stream reached for PER"); + return -1; + } + value &= 0x3f; /* this is "m" from X.691, #11.9.3.8 */ + if(value < 1 || value > 4) { + return -1; /* Prohibited by #11.9.3.8 */ + } + *repeat = 1; + return (16384 * value); +} + +/* + * Get the normally small length "n". + * This procedure used to decode length of extensions bit-maps + * for SET and SEQUENCE types. + */ +ssize_t +uper_get_nslength(asn_per_data_t *pd) { + ssize_t length; + + ASN_DEBUG("Getting normally small length"); + + if(per_get_few_bits(pd, 1) == 0) { + length = per_get_few_bits(pd, 6) + 1; + if(length <= 0) return -1; + ASN_DEBUG("l=%d", (int)length); + return length; + } else { + int repeat; + length = uper_get_length(pd, -1, 0, &repeat); + if(length >= 0 && !repeat) return length; + return -1; /* Error, or do not support >16K extensions */ + } +} + +/* + * Get the normally small non-negative whole number. + * X.691, #10.6 + */ +ssize_t +uper_get_nsnnwn(asn_per_data_t *pd) { + ssize_t value; + + value = per_get_few_bits(pd, 7); + if(value & 64) { /* implicit (value < 0) */ + value &= 63; + value <<= 2; + value |= per_get_few_bits(pd, 2); + if(value & 128) /* implicit (value < 0) */ + return -1; + if(value == 0) + return 0; + if(value >= 3) + return -1; + value = per_get_few_bits(pd, 8 * value); + return value; + } + + return value; +} + +/* + * X.691-11/2008, #11.6 + * Encoding of a normally small non-negative whole number + */ +int +uper_put_nsnnwn(asn_per_outp_t *po, int n) { + int bytes; + + if(n <= 63) { + if(n < 0) return -1; + return per_put_few_bits(po, n, 7); + } + if(n < 256) + bytes = 1; + else if(n < 65536) + bytes = 2; + else if(n < 256 * 65536) + bytes = 3; + else + return -1; /* This is not a "normally small" value */ + if(per_put_few_bits(po, bytes, 8)) + return -1; + + return per_put_few_bits(po, n, 8 * bytes); +} + + +/* X.691-2008/11, #11.5.6 -> #11.3 */ +int uper_get_constrained_whole_number(asn_per_data_t *pd, unsigned long *out_value, int nbits) { + unsigned long lhalf; /* Lower half of the number*/ + long half; + + if(nbits <= 31) { + half = per_get_few_bits(pd, nbits); + if(half < 0) return -1; + *out_value = half; + return 0; + } + + if((size_t)nbits > 8 * sizeof(*out_value)) + return -1; /* RANGE */ + + half = per_get_few_bits(pd, 31); + if(half < 0) return -1; + + if(uper_get_constrained_whole_number(pd, &lhalf, nbits - 31)) + return -1; + + *out_value = ((unsigned long)half << (nbits - 31)) | lhalf; + return 0; +} + + +/* X.691-2008/11, #11.5.6 -> #11.3 */ +int +uper_put_constrained_whole_number_u(asn_per_outp_t *po, unsigned long v, + int nbits) { + if(nbits <= 31) { + return per_put_few_bits(po, v, nbits); + } else { + /* Put higher portion first, followed by lower 31-bit */ + if(uper_put_constrained_whole_number_u(po, v >> 31, nbits - 31)) + return -1; + return per_put_few_bits(po, v, 31); + } +} + +/* + * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" + * Put the length "n" (or part of it) into the stream. + */ +ssize_t +uper_put_length(asn_per_outp_t *po, size_t length, int *need_eom) { + int dummy = 0; + if(!need_eom) need_eom = &dummy; + + if(length <= 127) { /* #11.9.3.6 */ + *need_eom = 0; + return per_put_few_bits(po, length, 8) + ? -1 : (ssize_t)length; + } else if(length < 16384) { /* #10.9.3.7 */ + *need_eom = 0; + return per_put_few_bits(po, length|0x8000, 16) + ? -1 : (ssize_t)length; + } + + *need_eom = 0 == (length & 16383); + length >>= 14; + if(length > 4) { + *need_eom = 0; + length = 4; + } + + return per_put_few_bits(po, 0xC0 | length, 8) + ? -1 : (ssize_t)(length << 14); + +} + + +/* + * Put the normally small length "n" into the stream. + * This procedure used to encode length of extensions bit-maps + * for SET and SEQUENCE types. + */ +int +uper_put_nslength(asn_per_outp_t *po, size_t length) { + if(length <= 64) { + /* #11.9.3.4 */ + if(length == 0) return -1; + return per_put_few_bits(po, length - 1, 7) ? -1 : 0; + } else { + int need_eom = 0; + if(uper_put_length(po, length, &need_eom) != (ssize_t)length + || need_eom) { + /* This might happen in case of >16K extensions */ + return -1; + } + } + + return 0; +} + +static int +per__long_range(long lb, long ub, unsigned long *range_r) { + unsigned long bounds_range; + if((ub < 0) == (lb < 0)) { + bounds_range = ub - lb; + } else if(lb < 0) { + assert(ub >= 0); + bounds_range = 1 + ((unsigned long)ub + (unsigned long)-(lb + 1)); + } else { + assert(!"Unreachable"); + return -1; + } + *range_r = bounds_range; + return 0; +} + +int +per_long_range_rebase(long v, long lb, long ub, unsigned long *output) { + unsigned long range; + + assert(lb <= ub); + + if(v < lb || v > ub || per__long_range(lb, ub, &range) < 0) { + /* Range error. */ + return -1; + } + + /* + * Fundamentally what we're doing is returning (v-lb). + * However, this triggers undefined behavior when the word width + * of signed (v) is the same as the size of unsigned (*output). + * In practice, it triggers the UndefinedSanitizer. Therefore we shall + * compute the ranges accurately to avoid C's undefined behavior. + */ + if((v < 0) == (lb < 0)) { + *output = v-lb; + return 0; + } else if(v < 0) { + unsigned long rebased = 1 + (unsigned long)-(v+1) + (unsigned long)lb; + assert(rebased <= range); /* By construction */ + *output = rebased; + return 0; + } else if(lb < 0) { + unsigned long rebased = 1 + (unsigned long)-(lb+1) + (unsigned long)v; + assert(rebased <= range); /* By construction */ + *output = rebased; + return 0; + } else { + assert(!"Unreachable"); + return -1; + } +} + +int +per_long_range_unrebase(unsigned long inp, long lb, long ub, long *outp) { + unsigned long range; + + if(per__long_range(lb, ub, &range) != 0) { + return -1; + } + + if(inp > range) { + /* + * We can encode something in the given number of bits that technically + * exceeds the range. This is an avenue for security errors, + * so we don't allow that. + */ + return -1; + } + + if(inp <= LONG_MAX) { + *outp = (long)inp + lb; + } else { + *outp = (lb + LONG_MAX + 1) + (long)((inp - LONG_MAX) - 1); + } + + return 0; +} + +int32_t +aper_get_align(asn_per_data_t *pd) { + + if(pd->nboff & 0x7) { + ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)pd->nboff & 0x7)); + return per_get_few_bits(pd, 8 - (pd->nboff & 0x7)); + } + return 0; +} + +ssize_t +aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) { + ssize_t value; + + *repeat = 0; + + if (range <= 65536 && range >= 0) + return aper_get_nsnnwn(pd, range); + + if (aper_get_align(pd) < 0) + return -1; + + if(ebits >= 0) return per_get_few_bits(pd, ebits); + + value = per_get_few_bits(pd, 8); + if(value < 0) return -1; + if((value & 128) == 0) /* #10.9.3.6 */ + return (value & 0x7F); + if((value & 64) == 0) { /* #10.9.3.7 */ + value = ((value & 63) << 8) | per_get_few_bits(pd, 8); + if(value < 0) return -1; + return value; + } + value &= 63; /* this is "m" from X.691, #10.9.3.8 */ + if(value < 1 || value > 4) + return -1; + *repeat = 1; + return (16384 * value); +} + +ssize_t +aper_get_nslength(asn_per_data_t *pd) { + ssize_t length; + + ASN_DEBUG("Getting normally small length"); + + if(per_get_few_bits(pd, 1) == 0) { + length = per_get_few_bits(pd, 6) + 1; + if(length <= 0) return -1; + ASN_DEBUG("l=%ld", length); + return length; + } else { + int repeat; + length = aper_get_length(pd, -1, -1, &repeat); + if(length >= 0 && !repeat) return length; + return -1; /* Error, or do not support >16K extensions */ + } +} + +ssize_t +aper_get_nsnnwn(asn_per_data_t *pd, int range) { + ssize_t value; + int bytes = 0; + + ASN_DEBUG("getting nsnnwn with range %d", range); + + if(range <= 255) { + int i; + + if (range < 0) return -1; + /* 1 -> 8 bits */ + for (i = 1; i <= 8; i++) { + int upper = 1 << i; + if (upper >= range) + break; + } + value = per_get_few_bits(pd, i); + return value; + } else if (range == 256){ + /* 1 byte */ + bytes = 1; + } else if (range <= 65536) { + /* 2 bytes */ + bytes = 2; + } else { + return -1; + } + if (aper_get_align(pd) < 0) + return -1; + value = per_get_few_bits(pd, 8 * bytes); + return value; +} + +int aper_put_align(asn_per_outp_t *po) { + + if(po->nboff & 0x7) { + ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)po->nboff & 0x7)); + if(per_put_few_bits(po, 0x00, (8 - (po->nboff & 0x7)))) + return -1; + } + return 0; +} + +ssize_t +aper_put_length(asn_per_outp_t *po, int range, size_t length) { + + ASN_DEBUG("APER put length %zu with range %d", length, range); + + /* 10.9 X.691 Note 2 */ + if (range <= 65536 && range >= 0) + return aper_put_nsnnwn(po, range, length); + + if (aper_put_align(po) < 0) + return -1; + + if(length <= 127) /* #10.9.3.6 */{ + return per_put_few_bits(po, length, 8) + ? -1 : (ssize_t)length; + } + else if(length < 16384) /* #10.9.3.7 */ + return per_put_few_bits(po, length|0x8000, 16) + ? -1 : (ssize_t)length; + + length >>= 14; + if(length > 4) length = 4; + + return per_put_few_bits(po, 0xC0 | length, 8) + ? -1 : (ssize_t)(length << 14); +} + + +int +aper_put_nslength(asn_per_outp_t *po, size_t length) { + + if(length <= 64) { + /* #10.9.3.4 */ + if(length == 0) return -1; + return per_put_few_bits(po, length-1, 7) ? -1 : 0; + } else { + if(aper_put_length(po, -1, length) != (ssize_t)length) { + /* This might happen in case of >16K extensions */ + return -1; + } + } + + return 0; +} + +int +aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) { + int bytes; + + ASN_DEBUG("aper put nsnnwn %d with range %d", number, range); + /* 10.5.7.1 X.691 */ + if(range < 0) { + int i; + for (i = 1; ; i++) { + int bits = 1 << (8 * i); + if (number <= bits) + break; + } + bytes = i; + assert(i <= 4); + } + if(range <= 255) { + int i; + for (i = 1; i <= 8; i++) { + int bits = 1 << i; + if (range <= bits) + break; + } + return per_put_few_bits(po, number, i); + } else if(range == 256) { + bytes = 1; + } else if(range <= 65536) { + bytes = 2; + } else { /* Ranges > 64K */ + int i; + for (i = 1; ; i++) { + int bits = 1 << (8 * i); + if (range <= bits) + break; + } + assert(i <= 4); + bytes = i; + } + if(aper_put_align(po) < 0) /* Aligning on octet */ + return -1; +/* if(per_put_few_bits(po, bytes, 8)) + return -1; +*/ + return per_put_few_bits(po, number, 8 * bytes); +} diff --git a/asn1c_defs/all-defs/per_support.h b/asn1c_defs/all-defs/per_support.h new file mode 100755 index 0000000..7125908 --- /dev/null +++ b/asn1c_defs/all-defs/per_support.h @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _PER_SUPPORT_H_ +#define _PER_SUPPORT_H_ + +#include /* Platform-specific types */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Pre-computed PER constraints. + */ +typedef struct asn_per_constraint_s { + enum asn_per_constraint_flags { + APC_UNCONSTRAINED = 0x0, /* No PER visible constraints */ + APC_SEMI_CONSTRAINED = 0x1, /* Constrained at "lb" */ + APC_CONSTRAINED = 0x2, /* Fully constrained */ + APC_EXTENSIBLE = 0x4 /* May have extension */ + } flags; + int range_bits; /* Full number of bits in the range */ + int effective_bits; /* Effective bits */ + long lower_bound; /* "lb" value */ + long upper_bound; /* "ub" value */ +} asn_per_constraint_t; +typedef struct asn_per_constraints_s { + asn_per_constraint_t value; + asn_per_constraint_t size; + int (*value2code)(unsigned int value); + int (*code2value)(unsigned int code); +} asn_per_constraints_t; + +/* Temporary compatibility layer. Will get removed. */ +typedef struct asn_bit_data_s asn_per_data_t; +#define per_get_few_bits(data, bits) asn_get_few_bits(data, bits) +#define per_get_undo(data, bits) asn_get_undo(data, bits) +#define per_get_many_bits(data, dst, align, bits) \ + asn_get_many_bits(data, dst, align, bits) + +/* + * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" + * Get the length "n" from the Unaligned PER stream. + */ +ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits, + size_t lower_bound, int *repeat); + +ssize_t aper_get_length(asn_per_data_t *pd, int range, + int effective_bound_bits, int *repeat); + +/* + * Get the normally small length "n". + */ +ssize_t uper_get_nslength(asn_per_data_t *pd); +ssize_t aper_get_nslength(asn_per_data_t *pd); + +/* + * Get the normally small non-negative whole number. + */ +ssize_t uper_get_nsnnwn(asn_per_data_t *pd); +ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range); + +/* X.691-2008/11, #11.5.6 */ +int uper_get_constrained_whole_number(asn_per_data_t *pd, unsigned long *v, int nbits); + + +/* Temporary compatibility layer. Will get removed. */ +typedef struct asn_bit_outp_s asn_per_outp_t; +#define per_put_few_bits(out, bits, obits) asn_put_few_bits(out, bits, obits) +#define per_put_many_bits(out, src, nbits) asn_put_many_bits(out, src, nbits) +#define per_put_aligned_flush(out) asn_put_aligned_flush(out) + + +/* + * Rebase the given value as an offset into the range specified by the + * lower bound (lb) and upper bound (ub). + * RETURN VALUES: + * -1: Conversion failed due to range problems. + * 0: Conversion was successful. + */ +int per_long_range_rebase(long v, long lb, long ub, unsigned long *output); +/* The inverse operation: restores the value by the offset and its bounds. */ +int per_long_range_unrebase(unsigned long inp, long lb, long ub, long *outp); + +/* X.691-2008/11, #11.5 */ +int uper_put_constrained_whole_number_u(asn_per_outp_t *po, unsigned long v, int nbits); + +/* + * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" + * Put the length "whole_length" to the Unaligned PER stream. + * If (opt_need_eom) is given, it will be set to 1 if final 0-length is needed. + * In that case, invoke uper_put_length(po, 0, 0) after encoding the last block. + * This function returns the number of units which may be flushed + * in the next units saving iteration. + */ +ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length, + int *opt_need_eom); + +ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length); + +/* Align the current bit position to octet bundary */ +int aper_put_align(asn_per_outp_t *po); +int32_t aper_get_align(asn_per_data_t *pd); + +/* + * Put the normally small length "n" to the Unaligned PER stream. + * Returns 0 or -1. + */ +int uper_put_nslength(asn_per_outp_t *po, size_t length); + +int aper_put_nslength(asn_per_outp_t *po, size_t length); + +/* + * Put the normally small non-negative whole number. + */ +int uper_put_nsnnwn(asn_per_outp_t *po, int n); + +int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number); + +#ifdef __cplusplus +} +#endif + +#endif /* _PER_SUPPORT_H_ */ diff --git a/asn1c_defs/all-defs/per_support.o b/asn1c_defs/all-defs/per_support.o new file mode 100644 index 0000000000000000000000000000000000000000..7b1ee764594fac771d674bae116bc3f1d51d48a4 GIT binary patch literal 9248 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/xer_decoder.c b/asn1c_defs/all-defs/xer_decoder.c new file mode 100755 index 0000000..c34a6c6 --- /dev/null +++ b/asn1c_defs/all-defs/xer_decoder.c @@ -0,0 +1,369 @@ +/* + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* XER/XML parsing support */ + + +/* + * Decode the XER encoding of a given type. + */ +asn_dec_rval_t +xer_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *buffer, size_t size) { + asn_codec_ctx_t s_codec_ctx; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* + * Invoke type-specific decoder. + */ + return td->op->xer_decoder(opt_codec_ctx, td, struct_ptr, 0, buffer, size); +} + + + +struct xer__cb_arg { + pxml_chunk_type_e chunk_type; + size_t chunk_size; + const void *chunk_buf; + int callback_not_invoked; +}; + +static int +xer__token_cb(pxml_chunk_type_e type, const void *_chunk_data, size_t _chunk_size, void *key) { + struct xer__cb_arg *arg = (struct xer__cb_arg *)key; + arg->chunk_type = type; + arg->chunk_size = _chunk_size; + arg->chunk_buf = _chunk_data; + arg->callback_not_invoked = 0; + return -1; /* Terminate the XML parsing */ +} + +/* + * Fetch the next token from the XER/XML stream. + */ +ssize_t +xer_next_token(int *stateContext, const void *buffer, size_t size, pxer_chunk_type_e *ch_type) { + struct xer__cb_arg arg; + int new_stateContext = *stateContext; + ssize_t ret; + + arg.callback_not_invoked = 1; + ret = pxml_parse(&new_stateContext, buffer, size, xer__token_cb, &arg); + if(ret < 0) return -1; + if(arg.callback_not_invoked) { + assert(ret == 0); /* No data was consumed */ + *ch_type = PXER_WMORE; + return 0; /* Try again with more data */ + } else { + assert(arg.chunk_size); + assert(arg.chunk_buf == buffer); + } + + /* + * Translate the XML chunk types into more convenient ones. + */ + switch(arg.chunk_type) { + case PXML_TEXT: + *ch_type = PXER_TEXT; + break; + case PXML_TAG: + *ch_type = PXER_WMORE; + return 0; /* Want more */ + case PXML_TAG_END: + *ch_type = PXER_TAG; + break; + case PXML_COMMENT: + case PXML_COMMENT_END: + *ch_type = PXER_COMMENT; + break; + } + + *stateContext = new_stateContext; + return arg.chunk_size; +} + +#define CSLASH 0x2f /* '/' */ +#define LANGLE 0x3c /* '<' */ +#define RANGLE 0x3e /* '>' */ + +xer_check_tag_e +xer_check_tag(const void *buf_ptr, int size, const char *need_tag) { + const char *buf = (const char *)buf_ptr; + const char *end; + xer_check_tag_e ct = XCT_OPENING; + + if(size < 2 || buf[0] != LANGLE || buf[size-1] != RANGLE) { + if(size >= 2) + ASN_DEBUG("Broken XML tag: \"%c...%c\"", + buf[0], buf[size - 1]); + return XCT_BROKEN; + } + + /* + * Determine the tag class. + */ + if(buf[1] == CSLASH) { + buf += 2; /* advance past "" */ + ct = XCT_CLOSING; + if(size > 0 && buf[size-1] == CSLASH) + return XCT_BROKEN; /* */ + } else { + buf++; /* advance past "<" */ + size -= 2; /* strip "<" and ">" */ + if(size > 0 && buf[size-1] == CSLASH) { + ct = XCT_BOTH; + size--; /* One more, for "/" */ + } + } + + /* Sometimes we don't care about the tag */ + if(!need_tag || !*need_tag) + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + + /* + * Determine the tag name. + */ + for(end = buf + size; buf < end; buf++, need_tag++) { + int b = *buf, n = *need_tag; + if(b != n) { + if(n == 0) { + switch(b) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* "": whitespace is normal */ + return ct; + } + } + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + } + if(b == 0) + return XCT_BROKEN; /* Embedded 0 in buf?! */ + } + if(*need_tag) + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + + return ct; +} + + +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = (num_bytes); \ + buf_ptr = ((const char *)buf_ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + if(rval.code != RC_OK) \ + ASN_DEBUG("Failed with %d", rval.code); \ + return rval; \ + } while(0) + +#define XER_GOT_BODY(chunk_buf, chunk_size, size) do { \ + ssize_t converted_size = body_receiver \ + (struct_key, chunk_buf, chunk_size, \ + (size_t)chunk_size < size); \ + if(converted_size == -1) RETURN(RC_FAIL); \ + if(converted_size == 0 \ + && size == (size_t)chunk_size) \ + RETURN(RC_WMORE); \ + chunk_size = converted_size; \ + } while(0) +#define XER_GOT_EMPTY() do { \ + if(body_receiver(struct_key, 0, 0, size > 0) == -1) \ + RETURN(RC_FAIL); \ + } while(0) + +/* + * Generalized function for decoding the primitive values. + */ +asn_dec_rval_t +xer_decode_general(const asn_codec_ctx_t *opt_codec_ctx, + asn_struct_ctx_t *ctx, /* Type decoder context */ + void *struct_key, + const char *xml_tag, /* Expected XML tag */ + const void *buf_ptr, size_t size, + int (*opt_unexpected_tag_decoder) + (void *struct_key, const void *chunk_buf, size_t chunk_size), + ssize_t (*body_receiver) + (void *struct_key, const void *chunk_buf, size_t chunk_size, + int have_more) + ) { + + asn_dec_rval_t rval; + ssize_t consumed_myself = 0; + + (void)opt_codec_ctx; + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + */ + if(ctx->phase > 1) RETURN(RC_FAIL); + for(;;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, buf_ptr, size, + &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TEXT: + if(ctx->phase == 0) { + /* + * We have to ignore whitespace here, + * but in order to be forward compatible + * with EXTENDED-XER (EMBED-VALUES, #25) + * any text is just ignored here. + */ + } else { + XER_GOT_BODY(buf_ptr, ch_size, size); + } + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + assert(ch_type == PXER_TAG && size); + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + /* + * Phase 0: + * Expecting the opening tag + * for the type being processed. + * Phase 1: + * Waiting for the closing XML tag. + */ + switch(tcv) { + case XCT_BOTH: + if(ctx->phase) break; + /* Finished decoding of an empty element */ + XER_GOT_EMPTY(); + ADVANCE(ch_size); + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + case XCT_OPENING: + if(ctx->phase) break; + ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + case XCT_CLOSING: + if(!ctx->phase) break; + ADVANCE(ch_size); + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + case XCT_UNKNOWN_BO: + /* + * Certain tags in the body may be expected. + */ + if(opt_unexpected_tag_decoder + && opt_unexpected_tag_decoder(struct_key, + buf_ptr, ch_size) >= 0) { + /* Tag's processed fine */ + ADVANCE(ch_size); + if(!ctx->phase) { + /* We are not expecting + * the closing tag anymore. */ + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + } + continue; + } + /* Fall through */ + default: + break; /* Unexpected tag */ + } + + ASN_DEBUG("Unexpected XML tag (expected \"%s\")", xml_tag); + break; /* Dark and mysterious things have just happened */ + } + + RETURN(RC_FAIL); +} + + +size_t +xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { + const char *p = (const char *)chunk_buf; + const char *pend = p + chunk_size; + + for(; p < pend; p++) { + switch(*p) { + /* X.693, #8.1.4 + * HORISONTAL TAB (9) + * LINE FEED (10) + * CARRIAGE RETURN (13) + * SPACE (32) + */ + case 0x09: case 0x0a: case 0x0d: case 0x20: + continue; + default: + break; + } + break; + } + return (p - (const char *)chunk_buf); +} + +/* + * This is a vastly simplified, non-validating XML tree skipper. + */ +int +xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth) { + assert(*depth > 0); + switch(tcv) { + case XCT_BOTH: + case XCT_UNKNOWN_BO: + /* These negate each other. */ + return 0; + case XCT_OPENING: + case XCT_UNKNOWN_OP: + ++(*depth); + return 0; + case XCT_CLOSING: + case XCT_UNKNOWN_CL: + if(--(*depth) == 0) + return (tcv == XCT_CLOSING) ? 2 : 1; + return 0; + default: + return -1; + } +} diff --git a/asn1c_defs/all-defs/xer_decoder.h b/asn1c_defs/all-defs/xer_decoder.h new file mode 100755 index 0000000..143a21f --- /dev/null +++ b/asn1c_defs/all-defs/xer_decoder.h @@ -0,0 +1,106 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _XER_DECODER_H_ +#define _XER_DECODER_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* + * The XER decoder of any ASN.1 type. May be invoked by the application. + * Decodes CANONICAL-XER and BASIC-XER. + */ +asn_dec_rval_t xer_decode( + const struct asn_codec_ctx_s *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, + void **struct_ptr, /* Pointer to a target structure's pointer */ + const void *buffer, /* Data to be decoded */ + size_t size /* Size of data buffer */ +); + +/* + * Type of the type-specific XER decoder function. + */ +typedef asn_dec_rval_t(xer_type_decoder_f)( + const asn_codec_ctx_t *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, + const char *opt_mname, /* Member name */ + const void *buf_ptr, size_t size); + +/******************************* + * INTERNALLY USEFUL FUNCTIONS * + *******************************/ + +/* + * Generalized function for decoding the primitive values. + * Used by more specialized functions, such as OCTET_STRING_decode_xer_utf8 + * and others. This function should not be used by applications, as its API + * is subject to changes. + */ +asn_dec_rval_t xer_decode_general( + const asn_codec_ctx_t *opt_codec_ctx, + asn_struct_ctx_t *ctx, /* Type decoder context */ + void *struct_key, /* Treated as opaque pointer */ + const char *xml_tag, /* Expected XML tag name */ + const void *buf_ptr, size_t size, + int (*opt_unexpected_tag_decoder)(void *struct_key, const void *chunk_buf, + size_t chunk_size), + ssize_t (*body_receiver)(void *struct_key, const void *chunk_buf, + size_t chunk_size, int have_more)); + + +/* + * Fetch the next XER (XML) token from the stream. + * The function returns the number of bytes occupied by the chunk type, + * returned in the _ch_type. The _ch_type is only set (and valid) when + * the return value is >= 0. + */ + typedef enum pxer_chunk_type { + PXER_WMORE, /* Chunk type is not clear, more data expected. */ + PXER_TAG, /* Complete XER tag */ + PXER_TEXT, /* Plain text between XER tags */ + PXER_COMMENT /* A comment, may be part of */ + } pxer_chunk_type_e; +ssize_t xer_next_token(int *stateContext, + const void *buffer, size_t size, pxer_chunk_type_e *_ch_type); + +/* + * This function checks the buffer against the tag name is expected to occur. + */ + typedef enum xer_check_tag { + XCT_BROKEN = 0, /* The tag is broken */ + XCT_OPENING = 1, /* This is the tag */ + XCT_CLOSING = 2, /* This is the tag */ + XCT_BOTH = 3, /* This is the tag */ + XCT__UNK__MASK = 4, /* Mask of everything unexpected */ + XCT_UNKNOWN_OP = 5, /* Unexpected tag */ + XCT_UNKNOWN_CL = 6, /* Unexpected tag */ + XCT_UNKNOWN_BO = 7 /* Unexpected tag */ + } xer_check_tag_e; +xer_check_tag_e xer_check_tag(const void *buf_ptr, int size, + const char *need_tag); + +/* + * Get the number of bytes consisting entirely of XER whitespace characters. + * RETURN VALUES: + * >=0: Number of whitespace characters in the string. + */ +size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size); + +/* + * Skip the series of anticipated extensions. + */ +int xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth); + +#ifdef __cplusplus +} +#endif + +#endif /* _XER_DECODER_H_ */ diff --git a/asn1c_defs/all-defs/xer_decoder.o b/asn1c_defs/all-defs/xer_decoder.o new file mode 100644 index 0000000000000000000000000000000000000000..c2563cbc744e160f6c7b148f5eab97e1ffbdc192 GIT binary patch literal 5520 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/xer_encoder.c b/asn1c_defs/all-defs/xer_encoder.c new file mode 100755 index 0000000..23e0311 --- /dev/null +++ b/asn1c_defs/all-defs/xer_encoder.c @@ -0,0 +1,237 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * The XER encoder of any type. May be invoked by the application. + */ +asn_enc_rval_t +xer_encode(const asn_TYPE_descriptor_t *td, const void *sptr, + enum xer_encoder_flags_e xer_flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0, 0, 0}; + asn_enc_rval_t tmper; + const char *mname; + size_t mlen; + int xcan = (xer_flags & XER_F_CANONICAL) ? 1 : 2; + + if(!td || !sptr) goto cb_failed; + + mname = td->xml_tag; + mlen = strlen(mname); + + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + tmper = td->op->xer_encoder(td, sptr, 1, xer_flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("\n", xcan); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +/* + * This is a helper function for xer_fprint, which directs all incoming data + * into the provided file descriptor. + */ +static int +xer__print2fp(const void *buffer, size_t size, void *app_key) { + FILE *stream = (FILE *)app_key; + + if(fwrite(buffer, 1, size, stream) != size) + return -1; + + return 0; +} + +int +xer_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, const void *sptr) { + asn_enc_rval_t er = {0,0,0}; + + if(!stream) stream = stdout; + if(!td || !sptr) + return -1; + + er = xer_encode(td, sptr, XER_F_BASIC, xer__print2fp, stream); + if(er.encoded == -1) + return -1; + + return fflush(stream); +} + +struct xer_buffer { + char *buffer; + size_t buffer_size; + size_t allocated_size; +}; + +static int +xer__buffer_append(const void *buffer, size_t size, void *app_key) { + struct xer_buffer *xb = app_key; + + while(xb->buffer_size + size + 1 > xb->allocated_size) { + size_t new_size = 2 * (xb->allocated_size ? xb->allocated_size : 64); + char *new_buf = MALLOC(new_size); + if(!new_buf) return -1; + if (xb->buffer) { + memcpy(new_buf, xb->buffer, xb->buffer_size); + } + FREEMEM(xb->buffer); + xb->buffer = new_buf; + xb->allocated_size = new_size; + } + + memcpy(xb->buffer + xb->buffer_size, buffer, size); + xb->buffer_size += size; + xb->buffer[xb->buffer_size] = '\0'; + return 0; +} + +enum xer_equivalence_e +xer_equivalent(const struct asn_TYPE_descriptor_s *td, const void *struct1, + const void *struct2, FILE *opt_debug_stream) { + struct xer_buffer xb1 = {0, 0, 0}; + struct xer_buffer xb2 = {0, 0, 0}; + asn_enc_rval_t e1, e2; + asn_dec_rval_t rval; + void *sptr = NULL; + + if(!td || !struct1 || !struct2) { + if(opt_debug_stream) { + if(!td) fprintf(opt_debug_stream, "Type descriptor missing\n"); + if(!struct1) fprintf(opt_debug_stream, "Structure 1 missing\n"); + if(!struct2) fprintf(opt_debug_stream, "Structure 2 missing\n"); + } + return XEQ_FAILURE; + } + + e1 = xer_encode(td, struct1, XER_F_BASIC, xer__buffer_append, &xb1); + if(e1.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of %s failed\n", td->name); + } + FREEMEM(xb1.buffer); + return XEQ_ENCODE1_FAILED; + } + + e2 = xer_encode(td, struct2, XER_F_BASIC, xer__buffer_append, &xb2); + if(e2.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of %s failed\n", td->name); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ENCODE1_FAILED; + } + + if(xb1.buffer_size != xb2.buffer_size + || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structures XER-encoded into different byte streams:\n=== " + "Structure 1 ===\n%s\n=== Structure 2 ===\n%s\n", + xb1.buffer, xb2.buffer); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_DIFFERENT; + } else { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Both structures encoded into the same XER byte stream " + "of size %" ASN_PRI_SIZE ":\n%s", + xb1.buffer_size, xb1.buffer); + } + } + + rval = xer_decode(NULL, td, (void **)&sptr, xb1.buffer, + xb1.buffer_size); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structure %s XER decode unexpectedly requires " + "more data:\n%s\n", + td->name, xb1.buffer); + } + /* Fall through */ + case RC_FAIL: + default: + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structure %s XER decoding resulted in failure.\n", + td->name); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_DECODE_FAILED; + } + + if(rval.consumed != xb1.buffer_size + && ((rval.consumed > xb1.buffer_size) + || xer_whitespace_span(xb1.buffer + rval.consumed, + xb1.buffer_size - rval.consumed) + != (xb1.buffer_size - rval.consumed))) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Round-trip decode of %s required less bytes (%" ASN_PRI_SIZE ") than " + "encoded (%" ASN_PRI_SIZE ")\n", + td->name, rval.consumed, xb1.buffer_size); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + /* + * Reuse xb2 to encode newly decoded structure. + */ + FREEMEM(xb2.buffer); + memset(&xb2, 0, sizeof(xb2)); + + e2 = xer_encode(td, sptr, XER_F_BASIC, xer__buffer_append, &xb2); + if(e2.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of round-trip decode of %s failed\n", + td->name); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + ASN_STRUCT_FREE(*td, sptr); + sptr = 0; + + if(xb1.buffer_size != xb2.buffer_size + || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "XER Encoding of round-trip decode of %s resulted in " + "different byte stream:\n" + "=== Original ===\n%s\n" + "=== Round-tripped ===\n%s\n", + xb1.buffer, xb2.buffer, td->name); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_SUCCESS; +} + diff --git a/asn1c_defs/all-defs/xer_encoder.h b/asn1c_defs/all-defs/xer_encoder.h new file mode 100755 index 0000000..8a5fc58 --- /dev/null +++ b/asn1c_defs/all-defs/xer_encoder.h @@ -0,0 +1,83 @@ +/*- + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _XER_ENCODER_H_ +#define _XER_ENCODER_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct asn_TYPE_descriptor_s; /* Forward declaration */ + +/* Flags used by the xer_encode() and (*xer_type_encoder_f), defined below */ +enum xer_encoder_flags_e { + /* Mode of encoding */ + XER_F_BASIC = 0x01, /* BASIC-XER (pretty-printing) */ + XER_F_CANONICAL = 0x02 /* Canonical XER (strict rules) */ +}; + +/* + * The XER encoder of any type. May be invoked by the application. + * Produces CANONICAL-XER and BASIC-XER depending on the (xer_flags). + */ +asn_enc_rval_t xer_encode(const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Structure to be encoded */ + enum xer_encoder_flags_e xer_flags, + asn_app_consume_bytes_f *consume_bytes_cb, + void *app_key /* Arbitrary callback argument */ +); + +/* + * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC) + * output into the chosen file pointer. + * RETURN VALUES: + * 0: The structure is printed. + * -1: Problem printing the structure. + * WARNING: No sensible errno value is returned. + */ +int xer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td, + const void *struct_ptr); + +/* + * A helper function that uses XER encoding/decoding to verify that: + * - Both structures encode into the same BASIC XER. + * - Both resulting XER byte streams can be decoded back. + * - Both decoded structures encode into the same BASIC XER (round-trip). + * All of this verifies equivalence between structures and a round-trip. + * ARGUMENTS: + * (opt_debug_stream) - If specified, prints ongoing details. + */ +enum xer_equivalence_e { + XEQ_SUCCESS, /* The only completely positive return value */ + XEQ_FAILURE, /* General failure */ + XEQ_ENCODE1_FAILED, /* First sructure XER encoding failed */ + XEQ_ENCODE2_FAILED, /* Second structure XER encoding failed */ + XEQ_DIFFERENT, /* Structures encoded into different XER */ + XEQ_DECODE_FAILED, /* Decode of the XER data failed */ + XEQ_ROUND_TRIP_FAILED /* Bad round-trip */ +}; +enum xer_equivalence_e xer_equivalent( + const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct1, + const void *struct2, FILE *opt_debug_stream); + +/* + * Type of the generic XER encoder. + */ +typedef asn_enc_rval_t(xer_type_encoder_f)( + const struct asn_TYPE_descriptor_s *type_descriptor, + const void *struct_ptr, /* Structure to be encoded */ + int ilevel, /* Level of indentation */ + enum xer_encoder_flags_e xer_flags, + asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ + void *app_key /* Arbitrary callback argument */ +); + +#ifdef __cplusplus +} +#endif + +#endif /* _XER_ENCODER_H_ */ diff --git a/asn1c_defs/all-defs/xer_encoder.o b/asn1c_defs/all-defs/xer_encoder.o new file mode 100644 index 0000000000000000000000000000000000000000..ab8adb5f9e8698372266603e2d28d29eb7479c46 GIT binary patch literal 7328 zcmbtYZEzdK8D9A#5l+x4^aC>qx5lwNtI6E zgtQIV>Tnfm^8;FbwEfZPbm)}MFwB%m%ajob12gSF`Dh`~4uO`on9l-3fI@MfcW>8P zpCzUr>$$t#=ic|(_iJ}g{zlv!YVrA)Y(91wtB)kgn0`jR-^aUsEWl1>yA0!Uvy~dVfg>A3qw6%vw(X33d;qvQtz;ym;I&T=xBYY~;dDDGX zzUDWb5;L5AK`5UG6K>dSRNGb?-hsI;x`B0HSHP*1cLt(|6 zN<3&(4~BGD>E9i9-iN~p=hF6_xGQHkj~R~X8Z{j;DsaK5V4QdaJ}g9lZJ}3B=W$Iu z(iWmr4Lg$||1fGKNXk8F3rnGP;#lQ?L!;~Ly?S@8w}|Q3SmrJ1Z5kHjo&5z^t~f{MY=v;rv~O$j!)1Z)o0LPg8Zm zAUDya2&~aja(m~9MAko9O+v2Ky!uMZNOG@hlUyGO=l8Tc-i3Jy=TYP4*X{&~V&rV- zRsdw@Nn;^y=ydYQZa+F)eu;419oDEHp+0qbsN+9M-9GA4hi9PF4!28_w9YnR;b^lz z@qsK=;GhJspoFS&$DjhGJ9+}#6>~!^FRioR0`b0kH6O>&AB2c>x4Ugv-yt z9FrCi&W^;EC+v;dEuB222$YE}X2a8l?-`LONSV%Wj18|CTOQZSZ-Ku)T}FGeW>kH%%ij=+Y5XnOsYv+)XH^S!2CZm8%b+3>p3pyHNMYSw|4%sSVstoYwD z%xV6Fb;|=vTsMDWDb6LaccGtnH<5%kO>{u=hJw2Dv*BA9nYGTq#cfdnx3sglNvKuXuwbJ@T*3Rka ziA=^SSXo;i-EUiZ(Jol2sp8g-ZQHi#3wkgC%TMD{q? zQ&Se1pw2}W7bgx_`uYQ5VorAZK!;D5gm3lUA|FZ7%9vFmr=$ zkEgN=?s14F_9mjxgjZ(gKb2RlZkR7OT{{XB*G*(olQJok!n$jDcrB91*!F>et$Nq) z(Nfkf>6^ow!jX;95+6ms9_kkCK)6yU4{B~=9K(Ds-2fA)+j|U>(Tow!T%q-s? z*x7PZN1$gY5Qzo4AOT5e^auR06;pwpSRgX67$$x?d#T+GTNM8I0{@`Gf5_MJlfbRM zSm3a44}Su<3p0Y+Gh=)O=(=#dkBi!2x^dsO2O=$3bp(Qg0srudYtV_2fhJyu$Og32 z=pbw4Yu%QefyaF<#~MyOL{m3yG({VGYrc^{Yr|hSjJ4vgQELU0w`l-c6ds;aVD!aE zIRDr}pXU=#YORbMUfNn2ZH!A>E2HXI+FIEuOF(zNrTiCj$#&SZxNQ}<*R#(HeEDK= zh9e2BovriW2|ixN#y$8I0>8(Dj|lu99()fUw==m9%hySP4@*Ei(*l?4M!uflou%>2 z3S1YpC*^H{-|4{*2z=aw6Wq$Y(P8Wm@F2bPwC`fv2>(G7{Krl3pEkiMzNewy=rj1Q5lGo86gYC@ILs;LQ)5;VcUmhl_HF3XxrJ{(-flvl z8sW6pNqmMtG{VoqCGmR*L?e7HE{VTHAexsai#$sFY;>eN{VJnI&p8TyLXi(CxI8N8wXWc%sCzHZ8v-YJIyCmT*BcakoxsVSRSMp%$g4cPiu`Gc z{N+vLEd^KWC)Wg@QTRWl@ZX`xtMR;Fkw0INKdRvL?Iz>!n8Ks_bzH$!JKs@w=zj;2 zr(GOH6i?NjGX+lZ{H!8>p(3x&+pFN}yhBa!2?ba4_&o*xoHFk(6kO&1o4~zwxKSK| z;n6FBj!dHITht9iLW;ZfsrNWs;4ztsf)nZkd%5{F+a@+$u`3a;|M z*aV+f_&XK;RelW6C~hkMSqiT5cQwH`EBHC!lJzzuaBn<^6`cN+FXgXMc)Aokr0iqs z6PMkVoZYz8Cg&elLGGJj#i;LdX8Sy?1UvtVSP8XgZOj(U5A*t52NX+yi1Sh(f)@W4~v}zZDwk-z5yZ Kk;s(h)&Do?*sMMP literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/xer_support.c b/asn1c_defs/all-defs/xer_support.c new file mode 100755 index 0000000..e767e9f --- /dev/null +++ b/asn1c_defs/all-defs/xer_support.c @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. + * Copyright (c) 2003, 2004, 2005 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* Parser states */ +typedef enum { + ST_TEXT, + ST_TAG_START, + ST_TAG_BODY, + ST_TAG_QUOTE_WAIT, + ST_TAG_QUOTED_STRING, + ST_TAG_UNQUOTED_STRING, + ST_COMMENT_WAIT_DASH1, /* ""[0] */ + ST_COMMENT_CLO_RT /* "-->"[1] */ +} pstate_e; + +static const int +_charclass[256] = { + 0,0,0,0,0,0,0,0, 0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,2, 2,2,0,0,0,0,0,0, /* 01234567 89 */ + 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* ABCDEFG HIJKLMNO */ + 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0, /* PQRSTUVW XYZ */ + 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* abcdefg hijklmno */ + 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0 /* pqrstuvw xyz */ +}; +#define WHITESPACE(c) (_charclass[(unsigned char)(c)] == 1) +#define ALNUM(c) (_charclass[(unsigned char)(c)] >= 2) +#define ALPHA(c) (_charclass[(unsigned char)(c)] == 3) + +/* Aliases for characters, ASCII/UTF-8 */ +#define EXCLAM 0x21 /* '!' */ +#define CQUOTE 0x22 /* '"' */ +#define CDASH 0x2d /* '-' */ +#define CSLASH 0x2f /* '/' */ +#define LANGLE 0x3c /* '<' */ +#define CEQUAL 0x3d /* '=' */ +#define RANGLE 0x3e /* '>' */ +#define CQUEST 0x3f /* '?' */ + +/* Invoke token callback */ +#define TOKEN_CB_CALL(type, _ns, _current_too, _final) do { \ + int _ret; \ + pstate_e ns = _ns; \ + ssize_t _sz = (p - chunk_start) + _current_too; \ + if (!_sz) { \ + /* Shortcut */ \ + state = _ns; \ + break; \ + } \ + _ret = cb(type, chunk_start, _sz, key); \ + if(_ret < _sz) { \ + if(_current_too && _ret == -1) \ + state = ns; \ + goto finish; \ + } \ + chunk_start = p + _current_too; \ + state = ns; \ + } while(0) + +#define TOKEN_CB(_type, _ns, _current_too) \ + TOKEN_CB_CALL(_type, _ns, _current_too, 0) + +#define PXML_TAG_FINAL_CHUNK_TYPE PXML_TAG_END +#define PXML_COMMENT_FINAL_CHUNK_TYPE PXML_COMMENT_END + +#define TOKEN_CB_FINAL(_type, _ns, _current_too) \ + TOKEN_CB_CALL( _type ## _FINAL_CHUNK_TYPE , _ns, _current_too, 1) + +/* + * Parser itself + */ +ssize_t pxml_parse(int *stateContext, const void *xmlbuf, size_t size, pxml_callback_f *cb, void *key) { + pstate_e state = (pstate_e)*stateContext; + const char *chunk_start = (const char *)xmlbuf; + const char *p = chunk_start; + const char *end = p + size; + + for(; p < end; p++) { + int C = *(const unsigned char *)p; + switch(state) { + case ST_TEXT: + /* + * Initial state: we're in the middle of some text, + * or just have started. + */ + if (C == LANGLE) + /* We're now in the tag, probably */ + TOKEN_CB(PXML_TEXT, ST_TAG_START, 0); + break; + case ST_TAG_START: + if (ALPHA(C) || (C == CSLASH)) + state = ST_TAG_BODY; + else if (C == EXCLAM) + state = ST_COMMENT_WAIT_DASH1; + else + /* + * Not characters and not whitespace. + * Must be something like "3 < 4". + */ + TOKEN_CB(PXML_TEXT, ST_TEXT, 1);/* Flush as data */ + break; + case ST_TAG_BODY: + switch(C) { + case RANGLE: + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + break; + case LANGLE: + /* + * The previous tag wasn't completed, but still + * recognized as valid. (Mozilla-compatible) + */ + TOKEN_CB_FINAL(PXML_TAG, ST_TAG_START, 0); + break; + case CEQUAL: + state = ST_TAG_QUOTE_WAIT; + break; + } + break; + case ST_TAG_QUOTE_WAIT: + /* + * State after the equal sign ("=") in the tag. + */ + switch(C) { + case CQUOTE: + state = ST_TAG_QUOTED_STRING; + break; + case RANGLE: + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + break; + default: + if(!WHITESPACE(C)) + /* Unquoted string value */ + state = ST_TAG_UNQUOTED_STRING; + } + break; + case ST_TAG_QUOTED_STRING: + /* + * Tag attribute's string value in quotes. + */ + if(C == CQUOTE) { + /* Return back to the tag state */ + state = ST_TAG_BODY; + } + break; + case ST_TAG_UNQUOTED_STRING: + if(C == RANGLE) { + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + } else if(WHITESPACE(C)) { + /* Return back to the tag state */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT_WAIT_DASH1: + if(C == CDASH) { + state = ST_COMMENT_WAIT_DASH2; + } else { + /* Some ordinary tag. */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT_WAIT_DASH2: + if(C == CDASH) { + /* Seen "<--" */ + state = ST_COMMENT; + } else { + /* Some ordinary tag */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT: + if(C == CDASH) { + state = ST_COMMENT_CLO_DASH2; + } + break; + case ST_COMMENT_CLO_DASH2: + if(C == CDASH) { + state = ST_COMMENT_CLO_RT; + } else { + /* This is not an end of a comment */ + state = ST_COMMENT; + } + break; + case ST_COMMENT_CLO_RT: + if(C == RANGLE) { + TOKEN_CB_FINAL(PXML_COMMENT, ST_TEXT, 1); + } else if(C == CDASH) { + /* Maintain current state, still waiting for '>' */ + } else { + state = ST_COMMENT; + } + break; + } /* switch(*ptr) */ + } /* for() */ + + /* + * Flush the partially processed chunk, state permitting. + */ + if(p - chunk_start) { + switch (state) { + case ST_COMMENT: + TOKEN_CB(PXML_COMMENT, state, 0); + break; + case ST_TEXT: + TOKEN_CB(PXML_TEXT, state, 0); + break; + default: break; /* a no-op */ + } + } + +finish: + *stateContext = (int)state; + return chunk_start - (const char *)xmlbuf; +} + diff --git a/asn1c_defs/all-defs/xer_support.h b/asn1c_defs/all-defs/xer_support.h new file mode 100755 index 0000000..9cc5f59 --- /dev/null +++ b/asn1c_defs/all-defs/xer_support.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _XER_SUPPORT_H_ +#define _XER_SUPPORT_H_ + +#include /* Platform-specific types */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Types of data transferred to the application. + */ +typedef enum { + PXML_TEXT, /* Plain text between XML tags. */ + PXML_TAG, /* A tag, starting with '<'. */ + PXML_COMMENT, /* An XML comment, including "". */ + /* + * The following chunk types are reported if the chunk + * terminates the specified XML element. + */ + PXML_TAG_END, /* Tag ended */ + PXML_COMMENT_END /* Comment ended */ +} pxml_chunk_type_e; + +/* + * Callback function that is called by the parser when parsed data is + * available. The _opaque is the pointer to a field containing opaque user + * data specified in pxml_create() call. The chunk type is _type and the text + * data is the piece of buffer identified by _bufid (as supplied to + * pxml_feed() call) starting at offset _offset and of _size bytes size. + * The chunk is NOT '\0'-terminated. + */ +typedef int (pxml_callback_f)(pxml_chunk_type_e _type, + const void *_chunk_data, size_t _chunk_size, void *_key); + +/* + * Parse the given buffer as it were a chunk of XML data. + * Invoke the specified callback each time the meaninful data is found. + * This function returns number of bytes consumed from the bufer. + * It will always be lesser than or equal to the specified _size. + * The next invocation of this function must account the difference. + */ +ssize_t pxml_parse(int *_stateContext, const void *_buf, size_t _size, + pxml_callback_f *cb, void *_key); + +#ifdef __cplusplus +} +#endif + +#endif /* _XER_SUPPORT_H_ */ diff --git a/asn1c_defs/all-defs/xer_support.o b/asn1c_defs/all-defs/xer_support.o new file mode 100644 index 0000000000000000000000000000000000000000..7e0e662e96fbc67882a95c9f6e6a0e3aa3701351 GIT binary patch literal 5072 zcmeHLe{7Uz9e>_lH%{#C>DbUJDz!Oh>+IQ6rkvKM*A{rsyxk_FEGk{O9@jL|0=9Qq z5p{L%wd4`ri7_+8#AssF_@724HvBP#;b=0niJN0&tQd6T0iq+@@F?Q>`943c$5D;J zgunJA@4ese_xb+*^%fpm=dG`C9A=NhI@ls+sf;~XzX*3Ku#-jD9W429aM`Vg?Mp+yz$8`ciaKDQJlTD>ksk%N>TmMxmsl0ClE2ThH zZo89vmrDHaG!?15K*hji{#A8xNnLbn_I@XSSSfkNC~?JUzu1v`uW5t)_tfoA)on;$ z=Fe7D?2;;Cxnkh0s9116{Pc^Z87ls-m*a=8J1##3ks-dihmxiHPL3c*z8dXxOm)uG zXReh>sH7)eqe2%Jpmu7OPo2RVIWb~ycr7Pw9gk7hm{O`L&Y%{kdVE$si^<}vC&>jj z=!1S#bq{WJ+M3+p^G>e8OT5ngtfC^)Q$+NOP5E<*K1CW1ZFJ=2f0CP>dNi&W9Y~DK zAWriCpa%1jUC_s^jXydYEV z`WL`W+k%?DRqG?asR#GEx<6(h0tb7d^&;$vqI+*oH0=6MH-Di&xh2`3d?Yz=RQDCC z`S{(Cxo|?^so;xxBTYbonk;$e)r$COJy0vA#Cf?ArY$aez=gV6obK;Ksmp!zD^--U z)JnbLYDzpO$02b*)qM}{V5`Ox&x<3{skE00HtIg43?W|Sl2PzcFxt7mev+S~Q850= zew~-a_4IRX1na3+%%d1`Gud}hCe`OFaZNdeZkQqe{G2SYr2V(UtIz3X2PJzK{W-K>y-GrraY+U0vs5`ZXkN@ zXE4W1ehheT0)2jlPsI_K^i*_8ejfaH;oeJJ!@}WHyHQN7@*46%3zNy$0WD_gf-EAm z8Co*(MdCq+GWiFB-bT{HV7+N4V&_7i2zYs&xkYxUl&7V6Lc z<@s;=seNw6^PhaU6}HL7Tj#9|+>n6{-QAyTZ0;M(@5tpFKM`9KYio_?6&C+md~K|4 zO)TD`=}Po&qrmy{M&?Y^JFDuJg%4neJ<#7{?%qeAh^|QeH*2~g4NrvDM;e3Lu1NF# z+j=5x)3+xhYyD*#B3nbn+U1e8$w*r=(%cnk1S>?kBH{IKH)@uA(Y~l9f_?@3akV=#A!WUvU6S#edwyA2tqC z{M4#8EE|6ZXvETnr}F&33`3EnM+RvrJGksq#-xBgr5 z!vL0we~uO;j*XMzr|oCuEuDO?wha9m4|4@Z2fz|T=20n?=>;M1& literal 0 HcmV?d00001 diff --git a/container-tag.yaml b/container-tag.yaml new file mode 100755 index 0000000..a01685d --- /dev/null +++ b/container-tag.yaml @@ -0,0 +1,2 @@ +--- +tag: '0.0.1' diff --git a/src/E2AP-c/e2ap_indication.cc b/src/E2AP-c/e2ap_indication.cc new file mode 100755 index 0000000..a7aef0e --- /dev/null +++ b/src/E2AP-c/e2ap_indication.cc @@ -0,0 +1,131 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include + +// Set up the initiating message and also allocate protocolIEs in container +// Note : this bypasses requirement to use ASN_SEQUENCE_ADD. We can directly +// assign pointers to the array in ProtocolIE. However, this also leaves us on the +// hook to manually clear the memory + +ric_indication::ric_indication(void){ + + e2ap_pdu_obj = 0; + e2ap_pdu_obj = (E2AP_PDU_t * )calloc(1, sizeof(E2AP_PDU_t)); + assert(e2ap_pdu_obj != 0); + + initMsg = 0; + initMsg = (InitiatingMessage_t * )calloc(1, sizeof(InitiatingMessage_t)); + assert(initMsg != 0); + + IE_array = 0; + IE_array = (RICindication_IEs_t *)calloc(NUM_INDICATION_IES, sizeof(RICindication_IEs_t)); + assert(IE_array != 0); + + e2ap_pdu_obj->present = E2AP_PDU_PR_initiatingMessage; + e2ap_pdu_obj->choice.initiatingMessage = initMsg; + + RICindication_t * ric_indication = &(initMsg->value.choice.RICindication); + for(int i = 0; i < NUM_INDICATION_IES; i++){ + ASN_SEQUENCE_ADD(&(ric_indication->protocolIEs), &(IE_array[i])); + } + + + +}; + + + +// Clear assigned protocolIE list from RIC indication IE container +ric_indication::~ric_indication(void){ + + mdclog_write(MDCLOG_INFO, "Freeing E2AP Indication object memory"); + RICindication_t *ricIndication = &(initMsg->value.choice.RICindication); + for(int i = 0; i < ricIndication->protocolIEs.list.size; i++){ + ricIndication->protocolIEs.list.array[i] = 0; + } + if (ricIndication->protocolIEs.list.size > 0){ + free(ricIndication->protocolIEs.list.array); + ricIndication->protocolIEs.list.array = 0; + ricIndication->protocolIEs.list.count = 0; + ricIndication->protocolIEs.list.size = 0; + } + + free(IE_array); + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_pdu_obj); + mdclog_write(MDCLOG_INFO, "Freed E2AP Indication object mempory"); +} + +bool ric_indication:: get_fields(InitiatingMessage_t * init_msg, E2APRicIndication &dout) +{ + if (init_msg == 0){ + error_string = "Invalid reference for E2AP Indication message in get_fields"; + return false; + } + + + for(int edx = 0; edx < init_msg->value.choice.RICindication.protocolIEs.list.count; edx++) { + RICindication_IEs_t *memb_ptr = init_msg->value.choice.RICindication.protocolIEs.list.array[edx]; + + switch(memb_ptr->id) + { + case (ProtocolIE_ID_id_RICindicationHeader): + dout.indication_header = memb_ptr->value.choice.RICindicationHeader.buf; + dout.indication_header_size = memb_ptr->value.choice.RICindicationHeader.size; + break; + + case (ProtocolIE_ID_id_RICindicationMessage): + dout.indication_msg = memb_ptr->value.choice.RICindicationMessage.buf; + dout.indication_msg_size = memb_ptr->value.choice.RICindicationMessage.size; + break; + + case (ProtocolIE_ID_id_RICrequestID): + dout.req_id = memb_ptr->value.choice.RICrequestID.ricRequestorID; + dout.req_seq_no = memb_ptr->value.choice.RICrequestID.ricRequestSequenceNumber; + break; + + case (ProtocolIE_ID_id_RANfunctionID): + dout.func_id = memb_ptr->value.choice.RANfunctionID; + break; + + case (ProtocolIE_ID_id_RICindicationSN): + dout.indication_sn = memb_ptr->value.choice.RICindicationSN; + break; + + case (ProtocolIE_ID_id_RICindicationType): + dout.indication_type = memb_ptr->value.choice.RICindicationType; + break; + + case (ProtocolIE_ID_id_RICactionID): + dout.action_id = memb_ptr->value.choice.RICactionID; + break; + + default: + break; + } + + } + + return true; + +} + +InitiatingMessage_t * ric_indication::get_message(void) { + return initMsg; +} diff --git a/src/E2AP-c/e2ap_indication.hpp b/src/E2AP-c/e2ap_indication.hpp new file mode 100755 index 0000000..b052835 --- /dev/null +++ b/src/E2AP-c/e2ap_indication.hpp @@ -0,0 +1,73 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#ifndef E2AP_RIC_INDICATION_H_ +#define E2AP_RIC_INDICATION_H_ + + +#include +#include +#include +#include +#include +#include +#include +#include + +#define NUM_INDICATION_IES 7 + + typedef struct E2APRicIndication E2APRicIndication; + + struct E2APRicIndication{ + E2APRicIndication(void) : req_id(1), req_seq_no(1), func_id(0), action_id(1), indication_type(0), indication_sn(0), indication_msg(0), indication_msg_size(0), indication_header(0), indication_header_size(0), call_process_id(0), call_process_id_size(0) {}; + long int req_id, req_seq_no, func_id, action_id, indication_type, indication_sn; + + unsigned char* indication_msg; + size_t indication_msg_size; + + unsigned char* indication_header; + size_t indication_header_size; + + unsigned char *call_process_id; + size_t call_process_id_size; + + }; + + + class ric_indication{ + + public: + ric_indication(void); + ~ric_indication(void); + + InitiatingMessage_t * get_message (void) ; + bool get_fields(InitiatingMessage_t *, E2APRicIndication &); + std::string get_error(void) const {return error_string ; }; + private: + + E2AP_PDU_t * e2ap_pdu_obj; + InitiatingMessage_t *initMsg; + RICindication_IEs_t *IE_array; + std::string error_string; + char errbuf[128]; + size_t errbuf_len = 128; + }; + + +#endif /* E2AP_RIC_INDICATION_H_ */ diff --git a/src/E2AP-c/subscription/generic_helpers.hpp b/src/E2AP-c/subscription/generic_helpers.hpp new file mode 100755 index 0000000..8de073b --- /dev/null +++ b/src/E2AP-c/subscription/generic_helpers.hpp @@ -0,0 +1,49 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#pragma once +#ifndef GENERIC_HELPERS +#define GENERIC_HELPERS + +#include + +/* Utilities */ + +class octet_helper { + +public: + octet_helper(void):_ref(NULL), _size(0){}; + octet_helper(const void *ref, int size):_ref(ref), _size(size){}; + void set_ref(const void *ref){ + _ref = ref; + } + + void set_size(size_t size){ + _size = size; + } + + const void * get_ref(void){return _ref ; }; + size_t get_size(void) const {return _size ; } ; + +private: + const void *_ref; + size_t _size; +}; + +#endif diff --git a/src/E2AP-c/subscription/response_helper.hpp b/src/E2AP-c/subscription/response_helper.hpp new file mode 100755 index 0000000..2626cdc --- /dev/null +++ b/src/E2AP-c/subscription/response_helper.hpp @@ -0,0 +1,181 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#pragma once + +#ifndef S_RESPONSE_HELPER_ +#define S_RESPONSE_HELPER_ + +#include +#include + +/* Simple structure to store action for RICaction of the Subscription response based on E2 v0.22 */ +struct ActionResponse { +public: + ActionResponse(int id): _is_admit(true), _id(id), _cause(-1), _sub_cause(-1){}; + ActionResponse(int id, int cause, int sub_cause): _is_admit(false), _id(id), _cause(cause), _sub_cause(sub_cause){}; + + int get_id() const{ + return _id; + }; + + int get_cause() const{ + return _cause; + }; + + int get_sub_cause() const{ + return _sub_cause; + }; + + bool is_admitted(void){ + return _is_admit; + }; + +private: + + bool _is_admit; + int _id, _cause, _sub_cause; + +}; + + +struct subscription_response_helper { + +public: + + using action_t = std::vector; + + subscription_response_helper(void){ + _action_admitted_ref = std::make_unique(); + _action_not_admitted_ref = std::make_unique(); + + }; + + // copy operator + subscription_response_helper(const subscription_response_helper &he ){ + _action_admitted_ref = std::make_unique(); + _action_not_admitted_ref = std::make_unique(); + + _req_id = he.get_request_id(); + _req_seq_no = he.get_req_seq(); + _func_id = he.get_function_id(); + + // Take care of the actions + for (auto const & e: *(he.get_admitted_list())){ + add_action(e.get_id()); + } + + for(auto const & e: *(he.get_not_admitted_list())){ + add_action(e.get_id(), e.get_cause(), e.get_sub_cause()); + }; + } + + + // assignment operator + void operator=(const subscription_response_helper & he){ + _action_admitted_ref = std::make_unique(); + _action_not_admitted_ref = std::make_unique(); + + _req_id = he.get_request_id(); + _req_seq_no = he.get_req_seq(); + _func_id = he.get_function_id(); + + + // Take care of the actions + for (auto const & e: *(he.get_admitted_list())){ + add_action(e.get_id()); + } + + for(auto const & e: *(he.get_not_admitted_list())){ + add_action(e.get_id(), e.get_cause(), e.get_sub_cause()); + }; + + } + + action_t * get_admitted_list (void ) const {return _action_admitted_ref.get();}; + action_t * get_not_admitted_list (void ) const{return _action_not_admitted_ref.get();}; + + void set_request(int id, int seq_no){ + _req_id = id; + _req_seq_no = seq_no; + + }; + + void clear(void){ + _action_admitted_ref.get()->clear(); + _action_not_admitted_ref.get()->clear(); + } + + + void set_function_id(int id){ + _func_id = id; + }; + + void add_action(int id){ + ActionResponse a(id) ; + _action_admitted_ref.get()->push_back(a); + }; + + void add_action(int id, int cause, int sub_cause){ + ActionResponse a (id, cause, sub_cause); + _action_not_admitted_ref.get()->push_back(a); + }; + + + int get_request_id(void) const{ + return _req_id; + } + + int get_req_seq(void) const{ + return _req_seq_no; + } + + int get_function_id(void) const{ + return _func_id; + } + + std::string to_string(void){ + std::string Info; + Info += "Request ID = " + std::to_string(_req_id) + "\n"; + Info += "Request Sequence No = " + std::to_string(_req_seq_no) + "\n"; + Info += "RAN Function ID = " + std::to_string(_func_id) + "\n"; + Info += "Actions Admitted =\n"; + int i = 0; + for(auto & e: *(_action_admitted_ref)){ + Info += std::to_string(i) + ": ID=" + std::to_string(e.get_id()) + "\n"; + i++; + } + Info += "Actions Not Admitted =\n"; + i = 0; + for(auto & e: *(_action_not_admitted_ref)){ + Info += std::to_string(i) + ": ID=" + std::to_string(e.get_id()) + ": Cause =" + std::to_string(e.get_cause()) + ": Sub-Cause=" + std::to_string(e.get_sub_cause()) + "\n"; + i++; + } + + return Info; + } + +private: + int _req_id, _req_seq_no, _func_id; + std::unique_ptr _action_admitted_ref; + std::unique_ptr _action_not_admitted_ref; + +}; + + +#endif diff --git a/src/E2AP-c/subscription/subscription_handler.cc b/src/E2AP-c/subscription/subscription_handler.cc new file mode 100755 index 0000000..f61072e --- /dev/null +++ b/src/E2AP-c/subscription/subscription_handler.cc @@ -0,0 +1,332 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include +#include + +SubscriptionHandler::SubscriptionHandler(void){ + + init(); + _time_out = std::chrono::seconds(5); + _num_retries = 2; + + // bool res; + // unsigned char buffer[128]; + // size_t buf_len = 128; + + // E2AP_PDU_t e2ap_pdu; + // subscription_request e2ap_sub_req; + + // int request_id = 2; + // int req_seq = 1; + // int function_id = 0; + // int action_id = 0; + // int action_type = 0; + // int message_type = 1; + + // subscription_helper sgnb_add_subscr_req; + + // //sgnb_add_subscr_req.clear(); + // sgnb_add_subscr_req.set_request(request_id, req_seq); + // sgnb_add_subscr_req.set_function_id(function_id); + // sgnb_add_subscr_req.add_action(action_id, action_type); + // std::string test = "This is a test"; + // sgnb_add_subscr_req.set_event_def(test.c_str(), test.length()); + // std::cout <<"Constructor ........" << std::endl; + // // generate the request pdu + // res = e2ap_sub_req.encode_e2ap_subscription(&buffer[0], &buf_len, &e2ap_pdu, sgnb_add_subscr_req); + // if(! res){ + // mdclog_write(MDCLOG_ERR, "%s, %d: Error encoding subscription pdu. Reason = ", __FILE__, __LINE__); + + // } + // std::cout <<"Encoded subscription request pdu " << std::endl; + + +} + +SubscriptionHandler::SubscriptionHandler(unsigned int timeout_seconds, unsigned int num_tries):_time_out(std::chrono::seconds(timeout_seconds)), _num_retries(num_tries){ + init(); + + +}; + +void SubscriptionHandler::init(void){ + + _data_lock = std::make_unique(); + _cv = std::make_unique(); + +} + +void SubscriptionHandler::clear(void){ + { + std::lock_guard lock(*(_data_lock).get()); + requests_table.clear(); + subscription_responses.clear(); + } + +}; + +size_t SubscriptionHandler::num_pending(void) const { + return requests_table.size(); +} + +size_t SubscriptionHandler::num_complete(void) const { + return subscription_responses.size(); +} + + +void SubscriptionHandler::set_timeout(unsigned int timeout_seconds){ + _time_out = std::chrono::seconds(timeout_seconds); +} + +void SubscriptionHandler::set_timeout_flag(bool val){ + _time_out_flag = val; +} + +void SubscriptionHandler::set_num_retries(unsigned int num_tries){ + _num_retries = num_tries; +}; + + +unsigned int SubscriptionHandler::get_next_id(void){ + std::lock_guard lock(*(_data_lock).get()); + unique_request_id ++; + return unique_request_id; +} + +bool SubscriptionHandler::add_request_entry(int id, int status){ + + // add entry in hash table if it does not exist + auto search = requests_table.find(id); + if(search != requests_table.end()){ + return false; + } + + requests_table[id] = status; + return true; + +}; + +bool SubscriptionHandler::set_request_status(int id, int status){ + + // change status of a request only if it exists. + + auto search = requests_table.find(id); + if(search != requests_table.end()){ + requests_table[id] = status; + return true; + } + + return false; + +}; + + +bool SubscriptionHandler::delete_request_entry(int id){ + + auto search = requests_table.find(id); + if (search != requests_table.end()){ + requests_table.erase(search); + return true; + } + + return false; +}; + +bool SubscriptionHandler::add_subscription_entry(int id, subscription_response_helper &he){ + + auto search = subscription_responses.find(id); + if (search == subscription_responses.end()){ + subscription_responses[id] = he; + return true; + } + + return false; +} + + +bool SubscriptionHandler::delete_subscription_entry(int id){ + + auto search = subscription_responses.find(id); + if(search == subscription_responses.end()){ + return false; + } + else{ + subscription_responses.erase(search); + return true; + } + +} + +subscription_response_helper * const SubscriptionHandler::get_subscription(int id){ + auto search = subscription_responses.find(id); + if(search == subscription_responses.end()){ + return NULL; + } + else{ + return &(subscription_responses[id]); + } +}; + + +// Handles responses from RMR +void SubscriptionHandler::Response(int message_type, unsigned char *payload, int payload_length){ + + bool res; + int id; + int type; + int procedureCode; + bool valid_response =false; + + E2AP_PDU_t * e2ap_recv; + asn_dec_rval_t retval; + + subscription_response sub_resp; + + subscription_response_helper he_response; + + char buf[512]; + size_t buf_size = 512; + + e2ap_recv = 0; + retval = asn_decode(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2AP_PDU, (void**)&(e2ap_recv), payload, payload_length); + + if(retval.code != RC_OK){ + mdclog_write(MDCLOG_ERR, "%s, %d: Error decoding E2AP PDU of RMR type %d. Bytes decoded = %lu out of %d\n", __FILE__, __LINE__, message_type, retval.consumed, payload_length); + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_recv); + return ; + } + + type = e2ap_recv->present; + mdclog_write(MDCLOG_INFO, "Received RMR message of type = %d", type); + + if(type == E2AP_PDU_PR_successfulOutcome){ + + procedureCode = e2ap_recv->choice.successfulOutcome->procedureCode; + mdclog_write(MDCLOG_INFO, "Received E2AP PDU successful outcome message with procedureCode = %d", procedureCode); + + if( procedureCode == ProcedureCode_id_ricSubscription){ + // subscription response + // decode the message + sub_resp.get_fields(e2ap_recv->choice.successfulOutcome, he_response); + + { + std::lock_guard lock(*(_data_lock.get())); + // get the id + id = he_response.get_request_id(); + // get status of id + int req_status = get_request_status(id); + if (req_status == request_pending ){ + res = add_subscription_entry(id, he_response); + if(res) + set_request_status(id, request_success); + + else{ + set_request_status(id, request_duplicate); + mdclog_write(MDCLOG_ERR, "Error:: %s, %d: Request %d seems to be a duplicate\n", __FILE__, __LINE__, id); + } + + valid_response = true; + } + else if (req_status > 0){ + // we don't change status of response since it was not in pending + // we simply fail + mdclog_write(MDCLOG_ERR, "Error:: %s, %d: Request %d is not in request_pending state, is in State = %d\n", __FILE__, __LINE__, id, req_status); + + } + else{ + mdclog_write(MDCLOG_ERR, "%s, %d: Could not find id %d in request queue for subscription", __FILE__, __LINE__, id); + } + + } + + } + + else{ + mdclog_write(MDCLOG_ERR, "%s, %d: Subscription Handler Response received E2AP PDU success response with an non-subscription response related type %d", __FILE__, __LINE__, procedureCode); + } + + } + + else if(type == E2AP_PDU_PR_unsuccessfulOutcome){ + + procedureCode = e2ap_recv->choice.unsuccessfulOutcome->procedureCode; + mdclog_write(MDCLOG_INFO, "Received E2AP PDU unsuccessful outcome message with procedureCode = %d", procedureCode); + + if(procedureCode == ProcedureCode_id_ricSubscription){ + + sub_resp.get_fields(e2ap_recv->choice.unsuccessfulOutcome, he_response); + { + std::lock_guard lock(*(_data_lock.get())); + id = he_response.get_request_id(); + int req_status = get_request_status(id); + if(req_status == request_pending){ + set_request_status(id, request_failed); + valid_response = true; + mdclog_write(MDCLOG_ERR, "Subscription request %d failed", id); + } + else if (req_status > 0){ + // we don't changet status since it was not in pending + // we simply fail + mdclog_write(MDCLOG_ERR, "Error:: %s, %d: Request %d is not in request_pending state, is in State = %d\n", __FILE__, __LINE__, id, req_status); + } + else{ + mdclog_write(MDCLOG_ERR, "%s, %d: Could not find id %d in request queue for subscription ", __FILE__, __LINE__, id); + } + } + } + } + else{ + mdclog_write(MDCLOG_ERR, "%s, %d: Susbcription Handler Response received E2AP PDU with non response type %d", __FILE__, __LINE__, type); + } + + + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_recv); + + // wake up all waiting users ... + if(valid_response){ + _cv.get()->notify_all(); + } + +} + + +int const SubscriptionHandler::get_request_status(int id){ + auto search = requests_table.find(id); + if (search == requests_table.end()){ + return -1; + } + + return search->second; +} + + bool SubscriptionHandler::is_subscription_entry(int id){ + auto search = subscription_responses.find(id); + if (search != subscription_responses.end()) + return true; + else + return false; +} + +bool SubscriptionHandler::is_request_entry(int id){ + auto search = requests_table.find(id); + if (search != requests_table.end()) + return true; + else + return false; +} diff --git a/src/E2AP-c/subscription/subscription_handler.hpp b/src/E2AP-c/subscription/subscription_handler.hpp new file mode 100755 index 0000000..6d05f0e --- /dev/null +++ b/src/E2AP-c/subscription/subscription_handler.hpp @@ -0,0 +1,213 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#pragma once + +#ifndef SUBSCRIPTION_HANDLER +#define SUBSCRIPTION_HANDLER + +#include +#include +#include +#include +#include + +#include +#include + +using namespace std; + +typedef enum { + request_pending = 1, + request_success, + request_failed, + request_duplicate +}Subscription_Status_Types; + + +/* Class to process subscription related messages + each subscription request is assigned a unique internally +generated request id for tracking purposes. this is because +the e2 subscription request does not carry any gnodeb id information + +*/ + +class SubscriptionHandler { + +public: + SubscriptionHandler(void); + SubscriptionHandler(unsigned int, unsigned int); + + void init(void); + template + bool RequestSubscription(subscription_helper &, subscription_response_helper &, int , Transmitter &&); + + + void Response(int, unsigned char *, int); + int const get_request_status(int); + subscription_response_helper * const get_subscription(int); + + unsigned int get_next_id(void); + void set_timeout(unsigned int); + void set_timeout_flag(bool); + void set_num_retries(unsigned int); + + bool is_subscription_entry(int); + bool is_request_entry(int); + + void clear(void); + size_t num_pending(void) const; + size_t num_complete(void) const ; + + + +private: + + void ProcessSubscriptionResponse(unsigned char *, int len); + void ProcessSubscriptionFailure(unsigned char *, int len); + + bool add_request_entry(int, int); + bool set_request_status(int, int); + bool delete_request_entry(int); + + bool get_subscription_entry(int, int); + bool add_subscription_entry(int, subscription_response_helper &he); + bool delete_subscription_entry(int); + + std::unordered_map requests_table; + std::unordered_map subscription_responses; // stores list of successful subscriptions + + std::unique_ptr _data_lock; + std::unique_ptr _cv; + + std::chrono::seconds _time_out; + unsigned int _num_retries = 2; + bool _time_out_flag = true; + unsigned int unique_request_id = 0; + +}; + +template +bool SubscriptionHandler::RequestSubscription(subscription_helper &he, subscription_response_helper &response, int TxCode, Transmitter && tx){ + + bool res; + unsigned char buffer[512]; + size_t buf_len = 512; + + // get a new unique request id ... + unsigned int new_req_id = get_next_id(); + mdclog_write(MDCLOG_INFO, "%s, %d:: Generated new request id %d\n", __FILE__, __LINE__, new_req_id); + he.set_request(new_req_id, he.get_req_seq()); + + E2AP_PDU_t *e2ap_pdu = 0; + subscription_request e2ap_sub_req; + + // generate the request pdu + res = e2ap_sub_req.encode_e2ap_subscription(&buffer[0], &buf_len, e2ap_pdu, he); + if(! res){ + mdclog_write(MDCLOG_ERR, "%s, %d: Error encoding subscription pdu. Reason = ", __FILE__, __LINE__); + return false; + } + + // put entry in request table + { + std::lock_guard lock(*(_data_lock.get())); + res = add_request_entry(he.get_request_id(), request_pending); + if(! res){ + mdclog_write(MDCLOG_ERR, "Error adding new subscription request %d to queue", he.get_request_id()); + return false; + } + } + + // acquire lock ... + std::unique_lock _local_lock(*(_data_lock.get())); + + + // Send the message + res = tx(TxCode, buf_len, buffer); + if (!res){ + // clear state + delete_request_entry(he.get_request_id()); + mdclog_write(MDCLOG_ERR, "Error transmitting subscription request %d", he.get_request_id()); + return false; + }; + + + // record time stamp .. + auto start = std::chrono::system_clock::now(); + + while(1){ + + + // release lock and wait to be woken up + _cv.get()->wait_for(_local_lock, _time_out); + + // we have woken and acquired data_lock + // check status and return appropriate object + + int status = get_request_status(he.get_request_id()); + + if (status == request_success){ + // retreive the subscription response and clear queue + response = subscription_responses[he.get_request_id()]; + + // clear state + delete_request_entry(he.get_request_id()); + + // release data lock + _local_lock.unlock(); + mdclog_write(MDCLOG_INFO, "Successfully subscribed for request %d", he.get_request_id()); + + break; + } + + if (status == request_pending){ + // woken up spuriously or timed out + auto end = std::chrono::system_clock::now(); + std::chrono::duration f = end - start; + + if (_time_out_flag && f > _num_retries * _time_out){ + delete_request_entry(he.get_request_id()); + mdclog_write(MDCLOG_ERR, "%s, %d:: Subscription request %d timed out waiting for response ", __FILE__, __LINE__, he.get_request_id()); + + // Release data lock + _local_lock.unlock(); + return false; + } + else{ + mdclog_write(MDCLOG_INFO, "Subscription request %d Waiting for response ....", he.get_request_id()); + continue; + } + } + + // if we are here, some spurious + // status obtained or request failed . we return false + mdclog_write(MDCLOG_ERR, "Error :: %s, %d : Spurious time out caused by invalid state of request %d -- state = %d. Deleting request entry and failing .. \n", __FILE__, __LINE__, he.get_request_id(), status); + delete_request_entry(he.get_request_id()); + + // release data lock + _local_lock.unlock(); + + return false; + + }; + + return true; +}; + +#endif diff --git a/src/E2AP-c/subscription/subscription_helper.hpp b/src/E2AP-c/subscription/subscription_helper.hpp new file mode 100755 index 0000000..cc35816 --- /dev/null +++ b/src/E2AP-c/subscription/subscription_helper.hpp @@ -0,0 +1,192 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#ifndef SUB_HELPER_ +#define SUB_HELPER_ + +/* + Simple structure to store action related information based on E2 v0.22 + Used for subscription request, response etc + + ricActionID RICactionID, + ricActionType RICactionType, + ricActionDefinition RICactionDefinition OPTIONAL, + ricSubsequentAction RICsubsequentAction OPTIONAL, + ricCause +*/ + +#include +#include +#include +#include + +struct Action { + +public: + + Action(int id, int type): _is_def(false), _is_subs_act(false), _id(id), _type(type){}; + Action(int id, int type, const void *def, size_t def_size, int next, int wait): _is_def(false), _is_subs_act(false), _id(id), _type(type){ + + if (def_size > 0){ + _is_def = true; + _action_definition.set_ref(def); + _action_definition.set_size(def_size); + } + + if(next >= 0 && wait >= 0){ + _is_subs_act = true; + _next_action = next; + _wait = wait; + } + }; + + + int get_id() const{ + return _id; + } + + int get_type() const { + return _type; + } + + + const void * get_definition(void ) { + return _action_definition.get_ref(); + } + + int get_definition_size(void) const { + return _action_definition.get_size(); + }; + + + int get_subsequent_action() const { + return _next_action; + }; + + int get_wait() const { + return _wait; + } + + bool is_definition() const{ + + return _is_def; + } + + bool is_subsequent_action() const{ + return _is_subs_act; + } + +private: + + bool _is_def; + bool _is_subs_act; + int _id, _type, _next_action, _wait, _cause, _sub_cause; + bool _is_admit; + octet_helper _action_definition; + +}; + + +/* + Helper class that stores subscription data +*/ + + +struct subscription_helper { + +public: + + using action_t = std::vector; + + subscription_helper(){ + _action_ref = std::make_unique(); + curr_index = 0; + }; + + action_t * get_list() const {return _action_ref.get();}; + + void clear(void){ + _action_ref.get()->clear(); + } + + void set_request(int id, int seq_no){ + _req_id = id; + _req_seq_no = seq_no; + + }; + + void set_function_id(int id){ + _func_id = id; + }; + + void set_event_def(const void *ref, size_t size){ + _event_def.set_ref(ref); + _event_def.set_size(size); + }; + + + void add_action(int id, int type){ + Action a(id, type) ; + _action_ref.get()->push_back(a); + }; + + void add_action(int id, int type, std::string action_def, int next_action, int wait_time){ + Action a (id, type, action_def.c_str(), action_def.length(), next_action, wait_time); + _action_ref.get()->push_back(a); + }; + + + int get_request_id(void) const{ + return _req_id; + } + + int get_req_seq(void) const { + return _req_seq_no; + } + + int get_function_id(void) const{ + return _func_id; + } + + const void * get_event_def(void) { + return _event_def.get_ref(); + } + + int get_event_def_size(void) const { + return _event_def.get_size(); + } + + void print_sub_info(void){ + std::cout <<"Request ID = " << _req_id << std::endl; + std::cout <<"Request Sequence Number = " << _req_seq_no << std::endl; + std::cout <<"RAN Function ID = " << _func_id << std::endl; + for(auto const & e: *(_action_ref.get())){ + std::cout <<"Action ID = " << e.get_id() << " Action Type = " << e.get_type() << std::endl; + } + }; + +private: + + std::unique_ptr _action_ref; + int curr_index; + int _req_id, _req_seq_no, _func_id; + octet_helper _event_def; +}; + +#endif diff --git a/src/E2AP-c/subscription/subscription_request.cc b/src/E2AP-c/subscription/subscription_request.cc new file mode 100755 index 0000000..1f780ee --- /dev/null +++ b/src/E2AP-c/subscription/subscription_request.cc @@ -0,0 +1,278 @@ + + +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#include "subscription_request.hpp" + +subscription_request::subscription_request(void){ + + _name = "default"; + + e2ap_pdu_obj = 0; + e2ap_pdu_obj = (E2AP_PDU_t * )calloc(1, sizeof(E2AP_PDU_t)); + assert(e2ap_pdu_obj != 0); + + initMsg = 0; + initMsg = (InitiatingMessage_t * )calloc(1, sizeof(InitiatingMessage_t)); + assert(initMsg != 0); + + IE_array = 0; + IE_array = (RICsubscriptionRequest_IEs_t *)calloc(NUM_SUBSCRIPTION_REQUEST_IES, sizeof(RICsubscriptionRequest_IEs_t)); + assert(IE_array != 0); + + action_array = 0; + action_array = (RICaction_ToBeSetup_ItemIEs_t *)calloc(INITIAL_LIST_SIZE, sizeof(RICaction_ToBeSetup_ItemIEs_t)); + assert(action_array != 0); + action_array_size = INITIAL_LIST_SIZE; + +}; + + + +// Clear assigned protocolIE list from RIC indication IE container +subscription_request::~subscription_request(void){ + + mdclog_write(MDCLOG_INFO, "Freeing subscription request memory for");; + + // Sequence of actions to be admitted causes special heart-ache. Free ric subscription element manually and reset the ie pointer + RICsubscription_t * ricsubscription_ie = &(IE_array[2].value.choice.RICsubscription); + + for(int i = 0; i < ricsubscription_ie->ricAction_ToBeSetup_List.list.size; i++){ + ricsubscription_ie->ricAction_ToBeSetup_List.list.array[i] = 0; + } + + if (ricsubscription_ie->ricAction_ToBeSetup_List.list.size > 0){ + free(ricsubscription_ie->ricAction_ToBeSetup_List.list.array); + ricsubscription_ie->ricAction_ToBeSetup_List.list.size = 0; + ricsubscription_ie->ricAction_ToBeSetup_List.list.count = 0; + ricsubscription_ie->ricAction_ToBeSetup_List.list.array = 0; + } + + free(action_array); + RICsubscriptionRequest_t * subscription_request = &(initMsg->value.choice.RICsubscriptionRequest); + + for(int i = 0; i < subscription_request->protocolIEs.list.size; i++){ + subscription_request->protocolIEs.list.array[i] = 0; + } + + if( subscription_request->protocolIEs.list.size > 0){ + free( subscription_request->protocolIEs.list.array); + subscription_request->protocolIEs.list.array = 0; + subscription_request->protocolIEs.list.size = 0; + subscription_request->protocolIEs.list.count = 0; + } + + free(IE_array); + free(initMsg); + e2ap_pdu_obj->choice.initiatingMessage = 0; + + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_pdu_obj); + mdclog_write(MDCLOG_INFO, "Freed subscription request memory "); +}; + + +bool subscription_request::encode_e2ap_subscription(unsigned char *buf, size_t *size, E2AP_PDU_t *e2ap_pdu, subscription_helper &dinput){ + + bool res; + + e2ap_pdu_obj->choice.initiatingMessage = initMsg; + e2ap_pdu_obj->present = E2AP_PDU_PR_initiatingMessage; + + res = set_fields(e2ap_pdu_obj->choice.initiatingMessage, dinput); + if (!res){ + return false; + } + + //xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2ap_pdu_obj); + int ret_constr = asn_check_constraints(&asn_DEF_E2AP_PDU, (void *) e2ap_pdu_obj, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(errbuf, errbuf_len); + error_string = "Constraints failed for encoding subscription request. Reason = " + error_string; + return false; + } + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2AP_PDU, e2ap_pdu_obj, buf, *size); + + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + error_string = "Error encoding Subscription Delete Request. Reason = " + error_string; + return false; + } + else { + if(*size < retval.encoded){ + std::stringstream ss; + ss <<"Error encoding Subscription Delete Request . Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + retval.encoded = -1; + return false; + } + } + + *size = retval.encoded; + return true; + +} + + +bool subscription_request::set_fields(InitiatingMessage_t *ref_initMsg, subscription_helper &helper){ + + if (ref_initMsg == 0){ + error_string = "Error : Invalid reference when setting fields for subscription request"; + return false; + } + + int ie_index; + int result = 0; + + ref_initMsg->procedureCode = ProcedureCode_id_ricSubscription; + ref_initMsg->criticality = Criticality_reject; + ref_initMsg->value.present = InitiatingMessage__value_PR_RICsubscriptionRequest; + + RICsubscriptionRequest_t * subscription_request = &(ref_initMsg->value.choice.RICsubscriptionRequest); + + // Reset field count for protocolIEs + subscription_request->protocolIEs.list.count = 0; + + ie_index = 0; + RICsubscriptionRequest_IEs_t *ies_ricreq = &IE_array[ie_index]; + ies_ricreq->criticality = Criticality_reject; + ies_ricreq->id = ProtocolIE_ID_id_RICrequestID; + ies_ricreq->value.present = RICsubscriptionRequest_IEs__value_PR_RICrequestID; + RICrequestID_t *ricrequest_ie = &ies_ricreq->value.choice.RICrequestID; + ricrequest_ie->ricRequestorID = helper.get_request_id(); + ricrequest_ie->ricRequestSequenceNumber = helper.get_req_seq(); + result = ASN_SEQUENCE_ADD(&subscription_request->protocolIEs, ies_ricreq); + if (result == -1){ + error_string = "Erorr : Unable to assign memory to add RIC request id to subscription request"; + return false; + } + + ie_index = 1; + RICsubscriptionRequest_IEs_t *ies_ranfunc = &IE_array[ie_index]; + ies_ranfunc->criticality = Criticality_reject; + ies_ranfunc->id = ProtocolIE_ID_id_RANfunctionID; + ies_ranfunc->value.present = RICsubscriptionRequest_IEs__value_PR_RANfunctionID; + RANfunctionID_t *ranfunction_ie = &ies_ranfunc->value.choice.RANfunctionID; + *ranfunction_ie = helper.get_function_id(); + ASN_SEQUENCE_ADD(&subscription_request->protocolIEs, ies_ranfunc); + if (result == -1){ + error_string = "Erorr : Unable to assign memory to add RAN function id to subscription request"; + return false; + } + + + ie_index = 2; + RICsubscriptionRequest_IEs_t *ies_actid = &IE_array[ie_index]; + ies_actid->criticality = Criticality_reject; + ies_actid->id = ProtocolIE_ID_id_RICsubscription; + ies_actid->value.present = RICsubscriptionRequest_IEs__value_PR_RICsubscription; + RICsubscription_t *ricsubscription_ie = &ies_actid->value.choice.RICsubscription; + + ricsubscription_ie->ricEventTriggerDefinition.buf = (uint8_t *) helper.get_event_def(); + ricsubscription_ie->ricEventTriggerDefinition.size = helper.get_event_def_size(); + + std::vector * ref_action_array = helper.get_list(); + + // do we need to reallocate ? + if(action_array_size < ref_action_array->size()){ + action_array_size = 2 * ref_action_array->size(); + RICaction_ToBeSetup_ItemIEs_t * new_ref = 0; + new_ref = (RICaction_ToBeSetup_ItemIEs_t * )realloc(action_array, action_array_size); + assert(new_ref != 0); + action_array = new_ref; + } + + // reset the list count on ricAction_ToBeSetup_List; + ricsubscription_ie->ricAction_ToBeSetup_List.list.count = 0; + + for(int i = 0; i < ref_action_array->size(); i ++){ + action_array[i].criticality = Criticality_ignore; + action_array[i].id = ProtocolIE_ID_id_RICaction_ToBeSetup_Item ; + action_array[i].value.present = RICaction_ToBeSetup_ItemIEs__value_PR_RICaction_ToBeSetup_Item; + action_array[i].value.choice.RICaction_ToBeSetup_Item.ricActionID = (*ref_action_array)[i].get_id(); + action_array[i].value.choice.RICaction_ToBeSetup_Item.ricActionType = (*ref_action_array)[i].get_type(); + + result = ASN_SEQUENCE_ADD(&ricsubscription_ie->ricAction_ToBeSetup_List, &(action_array[i])); + if (result == -1){ + error_string = "Erorr : Unable to assign memory to add Action item to set up list"; + return false; + } + + + } + + result = ASN_SEQUENCE_ADD(&subscription_request->protocolIEs, ies_actid); + if (result == -1){ + error_string = "Erorr : Unable to assign memory to action item to be setup list subscription request"; + return false; + } + + return true; +}; + + + +bool subscription_request:: get_fields(InitiatingMessage_t * init_msg, subscription_helper & dout) +{ + + if (init_msg == 0){ + error_string = "Error. Invalid reference when getting fields from subscription request"; + return false; + } + + RICrequestID_t *requestid; + RANfunctionID_t * ranfunctionid; + RICsubscription_t * ricsubscription; + + for(int edx = 0; edx < init_msg->value.choice.RICsubscriptionRequest.protocolIEs.list.count; edx++) { + RICsubscriptionRequest_IEs_t *memb_ptr = init_msg->value.choice.RICsubscriptionRequest.protocolIEs.list.array[edx]; + + switch(memb_ptr->id) + { + case (ProtocolIE_ID_id_RICrequestID): + requestid = &memb_ptr->value.choice.RICrequestID; + dout.set_request(requestid->ricRequestorID, requestid->ricRequestSequenceNumber); + break; + + case (ProtocolIE_ID_id_RANfunctionID): + ranfunctionid = &memb_ptr->value.choice.RANfunctionID; + dout.set_function_id(*ranfunctionid); + break; + + case (ProtocolIE_ID_id_RICsubscription): + ricsubscription = &memb_ptr->value.choice.RICsubscription; + dout.set_event_def(ricsubscription->ricEventTriggerDefinition.buf, ricsubscription->ricEventTriggerDefinition.size); + + for(int index = 0; index < ricsubscription->ricAction_ToBeSetup_List.list.count; index ++){ + RICaction_ToBeSetup_ItemIEs_t * item = (RICaction_ToBeSetup_ItemIEs_t *)ricsubscription->ricAction_ToBeSetup_List.list.array[index]; + dout.add_action(item->value.choice.RICaction_ToBeSetup_Item.ricActionID, item->value.choice.RICaction_ToBeSetup_Item.ricActionType); + }; + + break; + } + + } + + //asn_fprint(stdout, &asn_DEF_E2AP_PDU, e2pdu); + return true; +}; + + + diff --git a/src/E2AP-c/subscription/subscription_request.hpp b/src/E2AP-c/subscription/subscription_request.hpp new file mode 100755 index 0000000..2223ebc --- /dev/null +++ b/src/E2AP-c/subscription/subscription_request.hpp @@ -0,0 +1,72 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#pragma once + +#ifndef S_REQUEST +#define S_REQUEST + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define NUM_SUBSCRIPTION_REQUEST_IES 3 +#define INITIAL_LIST_SIZE 4 + +class subscription_request{ +public: + + subscription_request(std::string name); + subscription_request(void); + ~subscription_request(void); + + bool encode_e2ap_subscription(unsigned char *, size_t *, E2AP_PDU_t *, subscription_helper &); + bool set_fields(InitiatingMessage_t *, subscription_helper &); + bool get_fields(InitiatingMessage_t *, subscription_helper &); + + std::string get_error_string(void) const{ + return error_string; + } + +private: + + InitiatingMessage_t *initMsg; + E2AP_PDU_t * e2ap_pdu_obj; + + RICsubscriptionRequest_IEs_t * IE_array; + RICaction_ToBeSetup_ItemIEs_t * action_array; + unsigned int action_array_size; + char errbuf[128]; + size_t errbuf_len = 128; + std::string _name; + std::string error_string; +}; + + + +#endif diff --git a/src/E2AP-c/subscription/subscription_response.cc b/src/E2AP-c/subscription/subscription_response.cc new file mode 100755 index 0000000..1509bc0 --- /dev/null +++ b/src/E2AP-c/subscription/subscription_response.cc @@ -0,0 +1,562 @@ + + +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#include "subscription_response.hpp" + +/* The xAPP need only worry about the get_fields from a response, since it does +not generate a response. Generating response however is included to support testing. +*/ + + +// Primarly for generation +subscription_response::subscription_response(void){ + + e2ap_pdu_obj = 0; + e2ap_pdu_obj = (E2AP_PDU_t *)calloc(1, sizeof(E2AP_PDU_t)); + assert(e2ap_pdu_obj != 0); + + successMsg = 0; + successMsg = (SuccessfulOutcome_t *)calloc(1, sizeof(SuccessfulOutcome_t)); + assert(successMsg != 0); + + unsuccessMsg = 0; + unsuccessMsg = (UnsuccessfulOutcome_t *)calloc(1, sizeof(UnsuccessfulOutcome_t)); + assert(unsuccessMsg != 0); + + IE_array = 0; + IE_array = (RICsubscriptionResponse_IEs_t *)calloc(NUM_SUBSCRIPTION_RESPONSE_IES, sizeof(RICsubscriptionResponse_IEs_t)); + assert(IE_array != 0); + + IE_Failure_array = 0; + IE_Failure_array = (RICsubscriptionFailure_IEs_t *)calloc(NUM_SUBSCRIPTION_FAILURE_IES, sizeof(RICsubscriptionFailure_IEs_t)); + assert(IE_Failure_array != 0); + + ie_admitted_list = 0; + ie_admitted_list = (RICaction_Admitted_ItemIEs_t *)calloc(INITIAL_LIST_SIZE, sizeof(RICaction_Admitted_ItemIEs_t)); + assert(ie_admitted_list != 0); + ie_admitted_list_size = INITIAL_LIST_SIZE; + + ie_not_admitted_list = 0; + ie_not_admitted_list = (RICaction_NotAdmitted_ItemIEs_t *)calloc(INITIAL_LIST_SIZE, sizeof(RICaction_NotAdmitted_ItemIEs_t)); + assert(ie_not_admitted_list != 0); + ie_not_admitted_list_size = INITIAL_LIST_SIZE; + + +}; + + + +// Clear assigned protocolIE list from RIC indication IE container +subscription_response::~subscription_response(void){ + + mdclog_write(MDCLOG_INFO, "Freeing subscription response memory for"); + RICaction_Admitted_List_t * response_admitted_list = (RICaction_Admitted_List_t *) &(IE_array[2].value.choice.RICaction_Admitted_List); + + for(int i = 0; i < response_admitted_list->list.size; i++){ + response_admitted_list->list.array[i] = 0; + } + + + if (response_admitted_list->list.size > 0){ + free(response_admitted_list->list.array); + response_admitted_list->list.array = 0; + response_admitted_list->list.size = 0; + response_admitted_list->list.count = 0; + } + + + RICaction_NotAdmitted_List_t * response_not_admitted_list = &(IE_array[3].value.choice.RICaction_NotAdmitted_List); + for(int i = 0; i < response_not_admitted_list->list.size; i++){ + response_not_admitted_list->list.array[i] = 0; + } + + if (response_not_admitted_list->list.size > 0){ + free(response_not_admitted_list->list.array); + response_not_admitted_list->list.array = 0; + response_not_admitted_list->list.size = 0; + response_not_admitted_list->list.count = 0; + } + + RICsubscriptionResponse_t * ric_subscription_response = &(successMsg->value.choice.RICsubscriptionResponse); + for(int i = 0; i < ric_subscription_response->protocolIEs.list.size ; i++){ + ric_subscription_response->protocolIEs.list.array[i] = 0; + } + + if (ric_subscription_response->protocolIEs.list.size > 0){ + free(ric_subscription_response->protocolIEs.list.array); + ric_subscription_response->protocolIEs.list.array = 0; + ric_subscription_response->protocolIEs.list.size = 0; + ric_subscription_response->protocolIEs.list.count = 0; + } + + + RICaction_NotAdmitted_List_t * failure_not_admitted_list = &(IE_Failure_array[2].value.choice.RICaction_NotAdmitted_List); + for(int i = 0; i < failure_not_admitted_list->list.size; i++){ + failure_not_admitted_list->list.array[i] = 0; + } + + if ( failure_not_admitted_list->list.size > 0){ + free( failure_not_admitted_list->list.array); + failure_not_admitted_list->list.array = 0; + failure_not_admitted_list->list.size = 0; + failure_not_admitted_list->list.count = 0; + } + + + RICsubscriptionFailure_t * ric_subscription_failure = &(unsuccessMsg->value.choice.RICsubscriptionFailure); + for(int i = 0; i < ric_subscription_failure->protocolIEs.list.size; i++){ + ric_subscription_failure->protocolIEs.list.array[i] = 0; + } + + if ( ric_subscription_failure->protocolIEs.list.size > 0){ + free(ric_subscription_failure->protocolIEs.list.array); + ric_subscription_failure->protocolIEs.list.array = 0; + ric_subscription_failure->protocolIEs.list.size = 0; + ric_subscription_failure->protocolIEs.list.count = 0; + } + + + + free(ie_admitted_list); + free(ie_not_admitted_list); + free(IE_Failure_array); + free(IE_array); + + + ASN_STRUCT_FREE(asn_DEF_SuccessfulOutcome, successMsg); + ASN_STRUCT_FREE(asn_DEF_UnsuccessfulOutcome, unsuccessMsg); + + + e2ap_pdu_obj->choice.initiatingMessage = NULL; + e2ap_pdu_obj->present = E2AP_PDU_PR_NOTHING; + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_pdu_obj); + + mdclog_write(MDCLOG_INFO, "Freed subscription response memory "); + + +}; + + +bool subscription_response::encode_e2ap_subscription_response(unsigned char *buf, size_t *size, E2AP_PDU_t *e2ap_pdu, subscription_response_helper &dinput, bool is_success){ + + //memset(e2ap_pdu, 0, sizeof(E2AP_PDU_t)); + + if(is_success){ + set_fields(successMsg, dinput); + e2ap_pdu_obj->present = E2AP_PDU_PR_successfulOutcome; + e2ap_pdu_obj->choice.successfulOutcome = successMsg; + } + else{ + set_fields(unsuccessMsg, dinput); + e2ap_pdu_obj->present = E2AP_PDU_PR_unsuccessfulOutcome; + e2ap_pdu_obj->choice.unsuccessfulOutcome = unsuccessMsg; + } + + //xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2ap_pdu_obj); + + int ret_constr = asn_check_constraints(&asn_DEF_E2AP_PDU, (void *) e2ap_pdu_obj, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(errbuf, errbuf_len); + error_string = "Constraints failed for encoding subscription response. Reason = " + error_string; + return false; + } + + asn_enc_rval_t res = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2AP_PDU, e2ap_pdu_obj, buf, *size); + + if(res.encoded == -1){ + std::cout <<"Error encoding PDU. Reason =" << strerror(errno) << std::endl; + return false; + } + else { + if(*size < res.encoded){ + fprintf(stderr, "Buffer assigned too small to encode: %s",(char *)(asn_DEF_E2AP_PDU.name)); + res.encoded = -1; + return false; + } + } + + *size = res.encoded; + return true; + +} + +void subscription_response::set_fields(SuccessfulOutcome_t *success, subscription_response_helper &helper){ + + int ie_index; + + success->procedureCode = ProcedureCode_id_ricSubscription; + success->criticality = Criticality_reject; + success->value.present = SuccessfulOutcome__value_PR_RICsubscriptionResponse; + + RICsubscriptionResponse_t * subscription_response = &(success->value.choice.RICsubscriptionResponse); + subscription_response->protocolIEs.list.count = 0; + + ie_index = 0; + RICsubscriptionResponse_IEs_t *ies_ricreq = &IE_array[ie_index]; + + ies_ricreq->criticality = Criticality_reject; + ies_ricreq->id = ProtocolIE_ID_id_RICrequestID; + ies_ricreq->value.present = RICsubscriptionResponse_IEs__value_PR_RICrequestID; + RICrequestID_t *ricrequest_ie = &ies_ricreq->value.choice.RICrequestID; + ricrequest_ie->ricRequestorID = helper.get_request_id(); + ricrequest_ie->ricRequestSequenceNumber = helper.get_req_seq(); + ASN_SEQUENCE_ADD(&subscription_response->protocolIEs, ies_ricreq); + + + ie_index = 1; + RICsubscriptionResponse_IEs_t *ies_ranfunc = &IE_array[ie_index]; + ies_ranfunc->criticality = Criticality_reject; + ies_ranfunc->id = ProtocolIE_ID_id_RANfunctionID; + ies_ranfunc->value.present = RICsubscriptionResponse_IEs__value_PR_RANfunctionID; + RANfunctionID_t *ranfunction_ie = &ies_ranfunc->value.choice.RANfunctionID; + *ranfunction_ie = helper.get_function_id(); + ASN_SEQUENCE_ADD(&subscription_response->protocolIEs, ies_ranfunc); + + ie_index = 2; + RICsubscriptionResponse_IEs_t *ies_admitted_actid = &IE_array[ie_index]; + ies_admitted_actid->criticality = Criticality_reject; + ies_admitted_actid->id = ProtocolIE_ID_id_RICactions_Admitted; + ies_admitted_actid->value.present = RICsubscriptionResponse_IEs__value_PR_RICaction_Admitted_List; + RICaction_Admitted_List_t *ric_admitted_actions_ie = &ies_admitted_actid->value.choice.RICaction_Admitted_List; + + std::vector * ref_admitted_action_array = helper.get_admitted_list(); + // realloc ? + if (ref_admitted_action_array->size() >= ie_admitted_list_size){ + RICaction_Admitted_ItemIEs_t * new_ref = 0; + ie_admitted_list_size = 2 * ref_admitted_action_array->size(); + new_ref = (RICaction_Admitted_ItemIEs_t *) realloc(ie_admitted_list, ie_admitted_list_size * sizeof(RICaction_Admitted_ItemIEs_t)); + assert(new_ref != 0); + ie_admitted_list = new_ref; + }; + + ric_admitted_actions_ie->list.count = 0; + for(int i = 0; i < ref_admitted_action_array->size(); i ++){ + ie_admitted_list[i].criticality = Criticality_ignore; + ie_admitted_list[i].id = ProtocolIE_ID_id_RICaction_Admitted_Item ; + ie_admitted_list[i].value.present = RICaction_Admitted_ItemIEs__value_PR_RICaction_Admitted_Item; + ie_admitted_list[i].value.choice.RICaction_Admitted_Item.ricActionID = (*ref_admitted_action_array)[i].get_id(); + ASN_SEQUENCE_ADD(ric_admitted_actions_ie, &(ie_admitted_list[i])); + } + + ASN_SEQUENCE_ADD(&subscription_response->protocolIEs, ies_admitted_actid); + + ie_index = 3; + RICsubscriptionResponse_IEs_t *ies_notadmitted_actid = &IE_array[ie_index]; + ies_notadmitted_actid->criticality = Criticality_reject; + ies_notadmitted_actid->id = ProtocolIE_ID_id_RICactions_NotAdmitted; + ies_notadmitted_actid->value.present = RICsubscriptionResponse_IEs__value_PR_RICaction_NotAdmitted_List; + RICaction_NotAdmitted_List_t *ric_not_admitted_actions_ie = &ies_notadmitted_actid->value.choice.RICaction_NotAdmitted_List; + + std::vector * ref_notadmitted_action_array = helper.get_not_admitted_list(); + //realloc ? + if (ref_notadmitted_action_array->size() >= ie_not_admitted_list_size){ + RICaction_NotAdmitted_ItemIEs_t * new_ref = 0; + ie_not_admitted_list_size = 2 * ref_notadmitted_action_array->size(); + new_ref = (RICaction_NotAdmitted_ItemIEs_t *) realloc(ie_not_admitted_list, ie_not_admitted_list_size * sizeof(RICaction_NotAdmitted_ItemIEs_t)); + assert(new_ref != 0); + ie_not_admitted_list = new_ref; + }; + + + // reset the list count + ric_not_admitted_actions_ie->list.count = 0; + for(int i = 0; i < ref_notadmitted_action_array->size(); i ++){ + ie_not_admitted_list[i].criticality = Criticality_ignore; + ie_not_admitted_list[i].id = ProtocolIE_ID_id_RICaction_NotAdmitted_Item ; + ie_not_admitted_list[i].value.present = RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item;; + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricActionID = (*ref_notadmitted_action_array)[i].get_id(); + + int cause = (*ref_notadmitted_action_array)[i].get_cause(); + switch(cause){ + case RICcause_PR_radioNetwork: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.radioNetwork = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_transport: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.transport = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_protocol: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.protocol= (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_misc: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.misc = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_ric: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.ric = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + default: + std::cout <<"Error ! Illegal cause enum" << cause << std::endl; + return; + } + + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.present = (RICcause_PR)cause; + ASN_SEQUENCE_ADD(ric_not_admitted_actions_ie, &(ie_not_admitted_list[i])); + } + + ASN_SEQUENCE_ADD(&subscription_response->protocolIEs, ies_notadmitted_actid); + + +} + +void subscription_response:: get_fields(SuccessfulOutcome_t * success_msg, subscription_response_helper & dout) +{ + RICrequestID_t *requestid; + RANfunctionID_t * ranfunctionid; + RICaction_Admitted_List_t * ric_admitted_action_list; + RICaction_NotAdmitted_List_t * ric_not_admitted_action_list; + + for(int edx = 0; edx < success_msg->value.choice.RICsubscriptionResponse.protocolIEs.list.count; edx++) { + RICsubscriptionResponse_IEs_t *memb_ptr = success_msg->value.choice.RICsubscriptionResponse.protocolIEs.list.array[edx]; + + switch(memb_ptr->id) + { + case (ProtocolIE_ID_id_RICrequestID): + requestid = &memb_ptr->value.choice.RICrequestID; + dout.set_request(requestid->ricRequestorID, requestid->ricRequestSequenceNumber); + break; + + case (ProtocolIE_ID_id_RANfunctionID): + ranfunctionid = &memb_ptr->value.choice.RANfunctionID; + dout.set_function_id(*ranfunctionid); + break; + + case (ProtocolIE_ID_id_RICactions_Admitted): + ric_admitted_action_list = &memb_ptr->value.choice.RICaction_Admitted_List; + + // admitted actions + for(int index = 0; index < ric_admitted_action_list->list.count; index ++){ + RICaction_Admitted_ItemIEs_t * item = (RICaction_Admitted_ItemIEs_t *)ric_admitted_action_list->list.array[index]; + long int id = item->value.choice.RICaction_Admitted_Item.ricActionID; + dout.get_admitted_list()->push_back(ActionResponse(id)); + }; + + break; + + case (ProtocolIE_ID_id_RICactions_NotAdmitted): + ric_not_admitted_action_list = &memb_ptr->value.choice.RICaction_NotAdmitted_List; + + for(int index = 0; index < ric_not_admitted_action_list->list.count; index ++){ + RICaction_NotAdmitted_ItemIEs_t * item = (RICaction_NotAdmitted_ItemIEs_t *)ric_not_admitted_action_list->list.array[index]; + long int id = item->value.choice.RICaction_NotAdmitted_Item.ricActionID; + int cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.present; + int sub_cause; + switch(cause){ + + case RICcause_PR_radioNetwork : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.radioNetwork; + break; + + case RICcause_PR_transport : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.transport; + break; + + case RICcause_PR_protocol : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.protocol; + break; + + case RICcause_PR_misc : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.misc; + break; + + case RICcause_PR_ric : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.ric; + break; + + default: + std::cout <<"Error ! Illegal cause enum" << cause << std::endl; + return; + } + dout.get_not_admitted_list()->push_back(ActionResponse(id, cause, sub_cause)); + } + break; + } + + } + + //asn_fprint(stdout, &asn_DEF_E2AP_PDU, e2pdu); +} + + +void subscription_response::set_fields(UnsuccessfulOutcome_t *unsuccess, subscription_response_helper &helper){ + + int ie_index; + + unsuccess->procedureCode = ProcedureCode_id_ricSubscription; + unsuccess->criticality = Criticality_reject; + unsuccess->value.present = UnsuccessfulOutcome__value_PR_RICsubscriptionFailure; + + RICsubscriptionFailure_t * ric_subscription_failure = &(unsuccess->value.choice.RICsubscriptionFailure); + ric_subscription_failure->protocolIEs.list.count = 0; + + ie_index = 0; + RICsubscriptionFailure_IEs_t *ies_ricreq = &IE_Failure_array[ie_index]; + ies_ricreq->criticality = Criticality_reject; + ies_ricreq->id = ProtocolIE_ID_id_RICrequestID; + ies_ricreq->value.present = RICsubscriptionFailure_IEs__value_PR_RICrequestID; + RICrequestID_t *ricrequest_ie = &ies_ricreq->value.choice.RICrequestID; + ricrequest_ie->ricRequestorID = helper.get_request_id(); + ricrequest_ie->ricRequestSequenceNumber = helper.get_req_seq(); + ASN_SEQUENCE_ADD(&ric_subscription_failure->protocolIEs, ies_ricreq); + + ie_index = 1; + RICsubscriptionFailure_IEs_t *ies_ranfunc = &IE_Failure_array[ie_index]; + ies_ranfunc->criticality = Criticality_reject; + ies_ranfunc->id = ProtocolIE_ID_id_RANfunctionID; + ies_ranfunc->value.present = RICsubscriptionFailure_IEs__value_PR_RANfunctionID; + RANfunctionID_t *ranfunction_ie = &ies_ranfunc->value.choice.RANfunctionID; + *ranfunction_ie = helper.get_function_id(); + ASN_SEQUENCE_ADD(&ric_subscription_failure->protocolIEs, ies_ranfunc); + + + ie_index = 2; + RICsubscriptionFailure_IEs_t *ies_notadmitted_actid = &IE_Failure_array[ie_index]; + ies_notadmitted_actid->criticality = Criticality_reject; + ies_notadmitted_actid->id = ProtocolIE_ID_id_RICactions_NotAdmitted; + std::vector * ref_notadmitted_action_array = helper.get_not_admitted_list(); + + //realloc ? + if (ref_notadmitted_action_array->size() >= ie_not_admitted_list_size){ + RICaction_NotAdmitted_ItemIEs_t * new_ref = 0; + ie_not_admitted_list_size = 2 * ref_notadmitted_action_array->size(); + new_ref = (RICaction_NotAdmitted_ItemIEs_t *) realloc(ie_not_admitted_list, ie_not_admitted_list_size * sizeof(RICaction_NotAdmitted_ItemIEs_t)); + assert(new_ref != 0); + ie_not_admitted_list = new_ref; + }; + + ies_notadmitted_actid->value.present = RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List; + RICaction_NotAdmitted_List_t *ric_not_admitted_actions_ie = &ies_notadmitted_actid->value.choice.RICaction_NotAdmitted_List; + + + // reset the list count on ricAction_ToBeSetup_List; + ric_not_admitted_actions_ie->list.count = 0; + for(int i = 0; i < ref_notadmitted_action_array->size(); i ++){ + ie_not_admitted_list[i].criticality = Criticality_ignore; + ie_not_admitted_list[i].id = ProtocolIE_ID_id_RICaction_NotAdmitted_Item ; + ie_not_admitted_list[i].value.present = RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item;; + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricActionID = (*ref_notadmitted_action_array)[i].get_id(); + + int cause = (*ref_notadmitted_action_array)[i].get_cause(); + switch(cause){ + case RICcause_PR_radioNetwork: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.radioNetwork = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_transport: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.transport = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_protocol: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.protocol= (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_misc: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.misc = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + case RICcause_PR_ric: + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.choice.ric = (*ref_notadmitted_action_array)[i].get_sub_cause(); + break; + default: + std::cout <<"Error ! Illegal cause enum" << cause << std::endl; + return; + } + + ie_not_admitted_list[i].value.choice.RICaction_NotAdmitted_Item.ricCause.present = (RICcause_PR)cause; + + ASN_SEQUENCE_ADD(ric_not_admitted_actions_ie, &(ie_not_admitted_list[i])); + } + + ASN_SEQUENCE_ADD(&ric_subscription_failure->protocolIEs, ies_notadmitted_actid); + + + // // criticality diagnostics is not generated/parsed currently since optional + // i = 3; + // RICsubscriptionFailure_IEs_t *ies_criticality_diagnostics= &IE_Failure_array[i]; + // ies_criticality_diagnostics->criticality = Criticality_ignore; + // ies_criticality_diagnostics->id = ProtocolIE_ID_id_CriticalityDiagnostics ; + // ies_criticality_diagnostics->value.present = RICsubscriptionFailure_IEs__value_PR_NOTHING; + + +} + +void subscription_response:: get_fields(UnsuccessfulOutcome_t * unsuccess_msg, subscription_response_helper & dout) +{ + RICrequestID_t *requestid; + RANfunctionID_t * ranfunctionid; + RICaction_NotAdmitted_List_t * ric_not_admitted_action_list; + + for(int edx = 0; edx < unsuccess_msg->value.choice.RICsubscriptionFailure.protocolIEs.list.count; edx++) { + RICsubscriptionFailure_IEs_t *memb_ptr = unsuccess_msg->value.choice.RICsubscriptionFailure.protocolIEs.list.array[edx]; + + switch(memb_ptr->id) + { + case (ProtocolIE_ID_id_RICrequestID): + requestid = &memb_ptr->value.choice.RICrequestID; + dout.set_request(requestid->ricRequestorID, requestid->ricRequestSequenceNumber); + break; + + case (ProtocolIE_ID_id_RANfunctionID): + ranfunctionid = &memb_ptr->value.choice.RANfunctionID; + dout.set_function_id(*ranfunctionid); + break; + + + case (ProtocolIE_ID_id_RICactions_NotAdmitted): + ric_not_admitted_action_list = &memb_ptr->value.choice.RICaction_NotAdmitted_List; + + for(int index = 0; index < ric_not_admitted_action_list->list.count; index ++){ + RICaction_NotAdmitted_ItemIEs_t * item = (RICaction_NotAdmitted_ItemIEs_t *)ric_not_admitted_action_list->list.array[index]; + long int id = item->value.choice.RICaction_NotAdmitted_Item.ricActionID; + int cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.present; + int sub_cause; + switch(cause){ + + case RICcause_PR_radioNetwork : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.radioNetwork; + break; + + case RICcause_PR_transport : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.transport; + break; + + case RICcause_PR_protocol : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.protocol; + break; + + case RICcause_PR_misc : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.misc; + break; + + case RICcause_PR_ric : + sub_cause = item->value.choice.RICaction_NotAdmitted_Item.ricCause.choice.ric; + break; + + default: + std::cout <<"Error ! Illegal cause enum" << cause << std::endl; + return; + } + dout.get_not_admitted_list()->push_back(ActionResponse(id, cause, sub_cause)); + } + break; + } + + } + + //asn_fprint(stdout, &asn_DEF_E2AP_PDU, e2pdu); +} + + + diff --git a/src/E2AP-c/subscription/subscription_response.hpp b/src/E2AP-c/subscription/subscription_response.hpp new file mode 100755 index 0000000..6af149c --- /dev/null +++ b/src/E2AP-c/subscription/subscription_response.hpp @@ -0,0 +1,82 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#pragma once + +#ifndef S_RESPONSE_ +#define S_RESPONSE_ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define NUM_SUBSCRIPTION_RESPONSE_IES 4 +#define NUM_SUBSCRIPTION_FAILURE_IES 3 +#define INITIAL_LIST_SIZE 4 + +class subscription_response{ +public: + + subscription_response(void); + ~subscription_response(void); + + bool encode_e2ap_subscription_response(unsigned char *, size_t *, E2AP_PDU_t *, subscription_response_helper &, bool); + void set_fields(SuccessfulOutcome_t *, subscription_response_helper &); + void get_fields(SuccessfulOutcome_t *, subscription_response_helper &); + + void set_fields(UnsuccessfulOutcome_t *, subscription_response_helper &); + void get_fields(UnsuccessfulOutcome_t *, subscription_response_helper &); + + std::string get_error_string(void) const{ + return error_string; + } + +private: + + E2AP_PDU_t * e2ap_pdu_obj; + SuccessfulOutcome_t * successMsg; + UnsuccessfulOutcome_t * unsuccessMsg; + + + RICsubscriptionResponse_IEs_t *IE_array; + RICsubscriptionFailure_IEs_t *IE_Failure_array; + + + RICaction_Admitted_ItemIEs_t * ie_admitted_list; + RICaction_NotAdmitted_ItemIEs_t * ie_not_admitted_list; + unsigned int ie_admitted_list_size, ie_not_admitted_list_size; + + char errbuf[128]; + size_t errbuf_len = 128; + std::string error_string; +}; + + + + +#endif diff --git a/src/E2SM/e2sm.cc b/src/E2SM/e2sm.cc new file mode 100755 index 0000000..c6a3159 --- /dev/null +++ b/src/E2SM/e2sm.cc @@ -0,0 +1,632 @@ +/* + ================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, softwares + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ================================================================================== +*/ + +/* Classes to handle E2 service model based on e2sm-gNB-X2-release-1-v040.asn */ + +#include "e2sm.hpp" + + + + //initialize + e2sm_event_trigger::e2sm_event_trigger(void){ + + memset(&gNodeB_ID, 0, sizeof(GlobalGNB_ID_t)); + + event_trigger = 0; + event_trigger = ( E2SM_gNB_X2_eventTriggerDefinition_t *)calloc(1, sizeof( E2SM_gNB_X2_eventTriggerDefinition_t)); + assert(event_trigger != 0); + + // allocate space for gNodeB id (used for encoding) + gNodeB_ID.gNB_ID.choice.gNB_ID.buf = 0; + gNodeB_ID.gNB_ID.choice.gNB_ID.buf = (uint8_t *)calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.gNB_ID.choice.gNB_ID.buf != 0); + + // allocate space for plmn identity (used for encoding) + gNodeB_ID.pLMN_Identity.buf = 0; + gNodeB_ID.pLMN_Identity.buf = (uint8_t *) calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.pLMN_Identity.buf != 0); + + ie_list = 0; + ie_list = ( struct InterfaceProtocolIE_Item *) calloc(INITIAL_LIST_SIZE, sizeof( struct InterfaceProtocolIE_Item)); + assert(ie_list != 0); + ie_list_size = INITIAL_LIST_SIZE; + + condition_list = 0; + condition_list = (E2SM_gNB_X2_eventTriggerDefinition::E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List *) calloc(1, sizeof(E2SM_gNB_X2_eventTriggerDefinition::E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List )); + assert(condition_list != 0); + + + + }; + +e2sm_event_trigger::~e2sm_event_trigger(void){ + + mdclog_write(MDCLOG_INFO, "Freeing event trigger object memory"); + for(int i = 0; i < condition_list->list.size; i++){ + condition_list->list.array[i] = 0; + } + + if (condition_list->list.size > 0){ + free(condition_list->list.array); + condition_list->list.array = 0; + condition_list->list.size = 0; + condition_list->list.count = 0; + } + + free(condition_list); + condition_list = 0; + + free(gNodeB_ID.gNB_ID.choice.gNB_ID.buf); + gNodeB_ID.gNB_ID.choice.gNB_ID.buf = 0; + + free(gNodeB_ID.pLMN_Identity.buf); + gNodeB_ID.pLMN_Identity.buf = 0; + + free(ie_list); + ie_list = 0; + + event_trigger->interface_ID.choice.global_gNB_ID = 0; + event_trigger->interfaceProtocolIE_List = 0; + + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_eventTriggerDefinition, event_trigger); + mdclog_write(MDCLOG_INFO, "Freed event trigger object memory"); + + +}; + +bool e2sm_event_trigger::encode_event_trigger(unsigned char *buf, size_t *size, e2sm_event_trigger_helper &helper){ + + bool res; + res = set_fields(event_trigger, helper); + if (!res){ + return false; + } + + int ret_constr = asn_check_constraints(&asn_DEF_E2SM_gNB_X2_eventTriggerDefinition, event_trigger, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(&errbuf[0], errbuf_len); + return false; + } + + //xer_fprint(stdout, &asn_DEF_E2SM_gNB_X2_eventTriggerDefinition, event_trigger); + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_eventTriggerDefinition, event_trigger, buf, *size); + + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + return false; + } + else if (retval.encoded > *size){ + std::stringstream ss; + ss <<"Error encoding event trigger definition. Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + return false; + } + else{ + *size = retval.encoded; + } + + return true; +} + + +bool e2sm_event_trigger::set_fields(E2SM_gNB_X2_eventTriggerDefinition_t * ref_event_trigger, e2sm_event_trigger_helper & helper){ + if(ref_event_trigger == 0){ + error_string = "Invalid reference for Event Trigger Definition set fields"; + return false; + } + + // set the message type + ref_event_trigger->interfaceMessageType.procedureCode = helper.procedure_code; + ref_event_trigger->interfaceMessageType.typeOfMessage = helper.message_type; + + ref_event_trigger->interfaceDirection = helper.interface_direction; + ref_event_trigger->interface_ID.present = Interface_ID_PR_global_gNB_ID; + + ref_event_trigger->interface_ID.choice.global_gNB_ID = &gNodeB_ID; + + // to do : need to put correct code here for upding plmn id and gNodeB + // for now just place holders : + //================================================================ + memcpy(gNodeB_ID.pLMN_Identity.buf, helper.plmn_id.c_str(), 3); + gNodeB_ID.pLMN_Identity.size = 3; + + memcpy(gNodeB_ID.gNB_ID.choice.gNB_ID.buf, helper.egNB_id.c_str(), 3); + gNodeB_ID.gNB_ID.choice.gNB_ID.size = 3; + + // we only do global gNodeB id for now, not eNodeB + gNodeB_ID.gNB_ID.present = GNB_ID_PR_gNB_ID; + //================================================================ + + + // Add in any requested IE items + std::vector * ref_ie_array = helper.get_list(); + + if (ref_ie_array->size() == 0){ + event_trigger->interfaceProtocolIE_List = 0; + + } + else{ + event_trigger->interfaceProtocolIE_List = condition_list; + + //reallocate ? + if(ref_ie_array->size() > ie_list_size){ + struct InterfaceProtocolIE_Item *new_ref = 0; + ie_list_size = 2 * ref_ie_array->size(); + new_ref = (struct InterfaceProtocolIE_Item *)realloc(ie_list, ie_list_size); + assert(new_ref != 0); + ie_list = new_ref; + } + + // reset the count so that adds start from the beginning + ref_event_trigger->interfaceProtocolIE_List->list.count = 0; + + for(unsigned int i = 0; i < ref_ie_array->size(); i++){ + + ie_list[i].interfaceProtocolIE_ID = (*ref_ie_array)[i].interface_id; + ie_list[i].interfaceProtocolIE_Test = (*ref_ie_array)[i].test; + + //switch(ie_list[i].interfaceProtocolIE_Value.present){ + switch((*ref_ie_array)[i].val_type){ + + case (InterfaceProtocolIE_Value_PR_valueInt): + ie_list[i].interfaceProtocolIE_Value.present = InterfaceProtocolIE_Value_PR_valueInt; + ie_list[i].interfaceProtocolIE_Value.choice.valueInt = (*ref_ie_array)[i].value_n; + break; + + case (InterfaceProtocolIE_Value_PR_valueEnum): + ie_list[i].interfaceProtocolIE_Value.present = InterfaceProtocolIE_Value_PR_valueEnum; + ie_list[i].interfaceProtocolIE_Value.choice.valueEnum = (*ref_ie_array)[i].value_n; + break; + + case (InterfaceProtocolIE_Value_PR_valueBool): + ie_list[i].interfaceProtocolIE_Value.present = InterfaceProtocolIE_Value_PR_valueBool; + ie_list[i].interfaceProtocolIE_Value.choice.valueBool = (*ref_ie_array)[i].value_n; + break; + + case (InterfaceProtocolIE_Value_PR_valueBitS): + ie_list[i].interfaceProtocolIE_Value.present = InterfaceProtocolIE_Value_PR_valueBitS; + ie_list[i].interfaceProtocolIE_Value.choice.valueBitS.buf = (uint8_t *)(*ref_ie_array)[i].value_s.c_str(); + ie_list[i].interfaceProtocolIE_Value.choice.valueBitS.size = (*ref_ie_array)[i].value_s.length(); + break; + + default: + { + std::stringstream ss; + ss <<"Error ! " << __FILE__ << "," << __LINE__ << " illegal enum " << (*ref_ie_array)[i].val_type << " for interface Protocol IE value" << std::endl; + std::string error_string = ss.str(); + return false; + } + } + + ASN_SEQUENCE_ADD(ref_event_trigger->interfaceProtocolIE_List, &ie_list[i]); + } + } + + return true; +}; + + +bool e2sm_event_trigger::get_fields(E2SM_gNB_X2_eventTriggerDefinition_t * ref_event_trigger, e2sm_event_trigger_helper & helper){ + + if (ref_event_trigger == 0){ + error_string = "Invalid reference for Event Trigger definition get fields"; + return false; + } + + helper.procedure_code = ref_event_trigger->interfaceMessageType.procedureCode; + helper.message_type = ref_event_trigger->interfaceMessageType.typeOfMessage; + helper.interface_direction = ref_event_trigger->interfaceDirection; + + helper.plmn_id.assign((const char *)ref_event_trigger->interface_ID.choice.global_gNB_ID->pLMN_Identity.buf, ref_event_trigger->interface_ID.choice.global_gNB_ID->pLMN_Identity.size); + helper.egNB_id.assign((const char *)ref_event_trigger->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.buf, ref_event_trigger->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.size); + + return true; +}; + + + + +// initialize +e2sm_indication::e2sm_indication(void) { + + memset(&gNodeB_ID, 0, sizeof(GlobalGNB_ID_t)); + + // allocate space for gNodeB id (used for encoding) + gNodeB_ID.gNB_ID.choice.gNB_ID.buf = (uint8_t *)calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.gNB_ID.choice.gNB_ID.buf != 0); + + // allocate space for plmn identity (used for encoding) + gNodeB_ID.pLMN_Identity.buf = (uint8_t *) calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.pLMN_Identity.buf != 0); + + header = 0; + header = (E2SM_gNB_X2_indicationHeader_t *)calloc(1, sizeof(E2SM_gNB_X2_indicationHeader_t)); + assert(header != 0); + + message = 0; + message = (E2SM_gNB_X2_indicationMessage_t *)calloc(1, sizeof(E2SM_gNB_X2_indicationMessage_t)); + assert(message != 0); +} + +e2sm_indication::~e2sm_indication(void){ + mdclog_write(MDCLOG_INFO, "Freeing E2SM Indication object memory"); + + free(gNodeB_ID.gNB_ID.choice.gNB_ID.buf); + free(gNodeB_ID.pLMN_Identity.buf); + + header->interface_ID.choice.global_gNB_ID = 0; + + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_indicationHeader, header); + + message->interfaceMessage.buf = 0; + message->interfaceMessage.size = 0; + + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_indicationMessage, message); + mdclog_write(MDCLOG_INFO, "Freed E2SM Indication object memory"); + +} + + + +bool e2sm_indication::encode_indication_header(unsigned char *buf, size_t *size, e2sm_header_helper &helper){ + + bool res; + res = set_header_fields(header, helper); + if (!res){ + return false; + } + + int ret_constr = asn_check_constraints(&asn_DEF_E2SM_gNB_X2_indicationHeader, header, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(&errbuf[0], errbuf_len); + error_string = "E2SM Indication Header Constraint failed : " + error_string; + + return false; + } + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_indicationHeader, header, buf, *size); + + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + error_string = "Error encoding E2SM Indication Header. Reason = " + error_string; + return false; + } + else if (retval.encoded > *size){ + std::stringstream ss; + ss <<"Error encoding E2SM Indication Header . Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + return false; + } + else{ + *size = retval.encoded; + } + + return true; +} + + +bool e2sm_indication::encode_indication_message(unsigned char *buf, size_t *size, e2sm_message_helper &helper){ + + set_message_fields(message, helper); + + int ret_constr = asn_check_constraints(&asn_DEF_E2SM_gNB_X2_indicationMessage, message, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(&errbuf[0], errbuf_len); + error_string = "E2SM Indication Message Constraint failed : " + error_string; + return false; + } + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_indicationMessage, message, buf, *size); + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + error_string = "Error encoding E2SM Indication Header. Reason = " + error_string; + return false; + } + else if (retval.encoded > *size){ + std::stringstream ss; + ss <<"Error encoding E2SM Indication Message . Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + + return false; + } + else{ + *size = retval.encoded; + } + + return true; +} + + + +// Used when generating an indication header +bool e2sm_indication::set_header_fields(E2SM_gNB_X2_indicationHeader_t *header, e2sm_header_helper &helper){ + + if (header == 0){ + error_string = "Invalid reference for E2SM Indication Header set fields"; + return false; + } + + + header->interfaceDirection = helper.interface_direction; + header->interface_ID.present = Interface_ID_PR_global_gNB_ID; + header->interface_ID.choice.global_gNB_ID = &gNodeB_ID; + + + // to do : need to put correct code here for upding plmn id and gNodeB + // for now just place holders : + memcpy(gNodeB_ID.pLMN_Identity.buf, helper.plmn_id.c_str(), 3); + gNodeB_ID.pLMN_Identity.size = 3; + + memcpy(gNodeB_ID.gNB_ID.choice.gNB_ID.buf, helper.egNB_id.c_str(), 3); + gNodeB_ID.gNB_ID.choice.gNB_ID.size = 3; + + // we only do global gNodeB id for now, not eNodeB + gNodeB_ID.gNB_ID.present = GNB_ID_PR_gNB_ID; + + return true; + +}; + + +// used when decoding an indication header +bool e2sm_indication::get_header_fields(E2SM_gNB_X2_indicationHeader_t *header, e2sm_header_helper &helper){ + + if (header == 0){ + error_string = "Invalid reference for E2SM Indication header get fields"; + return false; + } + + helper.interface_direction = header->interfaceDirection; + helper.plmn_id.assign((const char *)header->interface_ID.choice.global_gNB_ID->pLMN_Identity.buf, header->interface_ID.choice.global_gNB_ID->pLMN_Identity.size); + helper.egNB_id.assign((const char *)header->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.buf, header->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.size); + + // to do : add code to decipher plmn and global gnodeb from ints (since that is likely the convention for packing) + + return true; +} + + + +// Used when generating an indication message +bool e2sm_indication::set_message_fields(E2SM_gNB_X2_indicationMessage_t *interface_message, e2sm_message_helper &helper){ + + if(interface_message == 0){ + error_string = "Invalid reference for E2SM Indication Message set fields"; + return false; + } + + // interface-message is an octet string. just point it to the buffer + interface_message->interfaceMessage.buf = &(helper.x2ap_pdu[0]); + interface_message->interfaceMessage.size = helper.x2ap_pdu_size; + + return true; + +}; + +// used when decoding an indication message +bool e2sm_indication::get_message_fields( E2SM_gNB_X2_indicationMessage_t *interface_message, e2sm_message_helper &helper){ + + + if(interface_message == 0){ + error_string = "Invalid reference for E2SM Indication Message get fields"; + return false; + } + + // interface message is an octet string + helper.x2ap_pdu = interface_message->interfaceMessage.buf;; + helper.x2ap_pdu_size = interface_message->interfaceMessage.size; + + return true; + +} + + + +// initialize +e2sm_control::e2sm_control(void) { + + memset(&gNodeB_ID, 0, sizeof(GlobalGNB_ID_t)); + + // allocate space for gNodeB id (used for encoding) + gNodeB_ID.gNB_ID.choice.gNB_ID.buf = (uint8_t *)calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.gNB_ID.choice.gNB_ID.buf != 0); + + // allocate space for plmn identity (used for encoding) + gNodeB_ID.pLMN_Identity.buf = (uint8_t *) calloc(4, sizeof(uint8_t)); + assert(gNodeB_ID.pLMN_Identity.buf != 0); + + header = 0; + header = (E2SM_gNB_X2_controlHeader_t *)calloc(1, sizeof(E2SM_gNB_X2_controlHeader_t)); + assert(header != 0); + + message = 0; + message = (E2SM_gNB_X2_controlMessage_t *)calloc(1, sizeof(E2SM_gNB_X2_controlMessage_t)); + assert(message != 0); +} + +e2sm_control::~e2sm_control(void){ + mdclog_write(MDCLOG_INFO, "Freeing E2SM Control object memory"); + + free(gNodeB_ID.gNB_ID.choice.gNB_ID.buf); + free(gNodeB_ID.pLMN_Identity.buf); + header->interface_ID.choice.global_gNB_ID = 0; + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_controlHeader, header); + + message->interfaceMessage.buf = 0; + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_controlMessage, message); + + mdclog_write(MDCLOG_INFO, "Freed E2SM Control object memory"); + +} + + + +bool e2sm_control::encode_control_header(unsigned char *buf, size_t *size, e2sm_header_helper &helper){ + + bool res; + res = set_header_fields(header, helper); + if (!res){ + return false; + } + + int ret_constr = asn_check_constraints(&asn_DEF_E2SM_gNB_X2_controlHeader, header, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(&errbuf[0], errbuf_len); + error_string = "E2SM Control Header Constraint failed : " + error_string; + + return false; + } + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_controlHeader, header, buf, *size); + + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + error_string = "Error encoding E2SM Control Header. Reason = " + error_string; + return false; + } + else if (retval.encoded > *size){ + std::stringstream ss; + ss <<"Error encoding E2SM Control Header . Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + return false; + } + else{ + *size = retval.encoded; + } + + return true; +} + + +bool e2sm_control::encode_control_message(unsigned char *buf, size_t *size, e2sm_message_helper &helper){ + + set_message_fields(message, helper); + + int ret_constr = asn_check_constraints(&asn_DEF_E2SM_gNB_X2_controlMessage, message, errbuf, &errbuf_len); + if(ret_constr){ + error_string.assign(&errbuf[0], errbuf_len); + error_string = "E2SM Control Message Constraint failed : " + error_string; + return false; + } + + asn_enc_rval_t retval = asn_encode_to_buffer(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_controlMessage, message, buf, *size); + if(retval.encoded == -1){ + error_string.assign(strerror(errno)); + error_string = "Error encoding E2SM Control Message. Reason = " + error_string; + return false; + } + else if (retval.encoded > *size){ + std::stringstream ss; + ss <<"Error encoding E2SM Control Message . Reason = encoded pdu size " << retval.encoded << " exceeds buffer size " << *size << std::endl; + error_string = ss.str(); + + return false; + } + else{ + *size = retval.encoded; + } + + return true; +} + + + +// Used when generating an indication header +bool e2sm_control::set_header_fields(E2SM_gNB_X2_controlHeader_t *header, e2sm_header_helper &helper){ + + if (header == 0){ + error_string = "Invalid reference for E2SM Control Header set fields"; + return false; + } + + + header->interfaceDirection = helper.interface_direction; + header->interface_ID.present = Interface_ID_PR_global_gNB_ID; + header->interface_ID.choice.global_gNB_ID = &gNodeB_ID; + + + // to do : need to put correct code here for upding plmn id and gNodeB + // for now just place holders : + memcpy(gNodeB_ID.pLMN_Identity.buf, helper.plmn_id.c_str(), 3); + gNodeB_ID.pLMN_Identity.size = 3; + + memcpy(gNodeB_ID.gNB_ID.choice.gNB_ID.buf, helper.egNB_id.c_str(), 3); + gNodeB_ID.gNB_ID.choice.gNB_ID.size = 3; + + // we only do global gNodeB id for now, not eNodeB + gNodeB_ID.gNB_ID.present = GNB_ID_PR_gNB_ID; + + return true; + +}; + + +// used when decoding an indication header +bool e2sm_control::get_header_fields(E2SM_gNB_X2_controlHeader_t *header, e2sm_header_helper &helper){ + + if (header == 0){ + error_string = "Invalid reference for E2SM Control header get fields"; + return false; + } + + helper.interface_direction = header->interfaceDirection; + helper.plmn_id.assign((const char *)header->interface_ID.choice.global_gNB_ID->pLMN_Identity.buf, header->interface_ID.choice.global_gNB_ID->pLMN_Identity.size); + helper.egNB_id.assign((const char *)header->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.buf, header->interface_ID.choice.global_gNB_ID->gNB_ID.choice.gNB_ID.size); + + // to do : add code to decipher plmn and global gnodeb from ints (since that is likely the convention for packing) + + return true; +} + + + +// Used when generating an indication message +bool e2sm_control::set_message_fields(E2SM_gNB_X2_controlMessage_t *interface_message, e2sm_message_helper &helper){ + + if(interface_message == 0){ + error_string = "Invalid reference for E2SM Control Message set fields"; + return false; + } + + // interface-message is an octet string. just point it to the buffer + interface_message->interfaceMessage.buf = &(helper.x2ap_pdu[0]); + interface_message->interfaceMessage.size = helper.x2ap_pdu_size; + + return true; + +}; + +// used when decoding an indication message +bool e2sm_control::get_message_fields( E2SM_gNB_X2_controlMessage_t *interface_message, e2sm_message_helper &helper){ + + + if(interface_message == 0){ + error_string = "Invalid reference for E2SM Control Message get fields"; + return false; + } + + // interface message is an octet string + helper.x2ap_pdu = interface_message->interfaceMessage.buf;; + helper.x2ap_pdu_size = interface_message->interfaceMessage.size; + + return true; + +} + diff --git a/src/E2SM/e2sm.hpp b/src/E2SM/e2sm.hpp new file mode 100755 index 0000000..da26220 --- /dev/null +++ b/src/E2SM/e2sm.hpp @@ -0,0 +1,145 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +/* Classes to handle E2 service model based on e2sm-gNB-X2-release-1-v040.asn */ + +#ifndef E2SM_ +#define E2SM_ + + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#define INITIAL_LIST_SIZE 4 + + + + +/* builder class for E2SM event trigger definition */ + +class e2sm_event_trigger { +public: + e2sm_event_trigger(void); + ~e2sm_event_trigger(void); + + bool set_fields(E2SM_gNB_X2_eventTriggerDefinition_t *, e2sm_event_trigger_helper &); + bool get_fields(E2SM_gNB_X2_eventTriggerDefinition_t *, e2sm_event_trigger_helper &); + bool encode_event_trigger(unsigned char *, size_t *, e2sm_event_trigger_helper &); + + std::string get_error (void) const {return error_string ;}; + +private: + + E2SM_gNB_X2_eventTriggerDefinition_t * event_trigger; // used for encoding + GlobalGNB_ID_t gNodeB_ID; + struct InterfaceProtocolIE_Item * ie_list; + unsigned int ie_list_size; + + //std::vector ie_list; + E2SM_gNB_X2_eventTriggerDefinition::E2SM_gNB_X2_eventTriggerDefinition__interfaceProtocolIE_List *condition_list; + + char errbuf[128]; + size_t errbuf_len; + std::string error_string; +}; + + +/* builder class for E2SM indication using ASN1c */ + +class e2sm_indication { +public: + + e2sm_indication(void); + ~e2sm_indication(void); + + E2SM_gNB_X2_indicationHeader_t * get_header(void); + E2SM_gNB_X2_indicationMessage_t * get_message(void); + + bool set_header_fields(E2SM_gNB_X2_indicationHeader_t *, e2sm_header_helper &); + bool get_header_fields(E2SM_gNB_X2_indicationHeader_t *, e2sm_header_helper &); + + bool set_message_fields(E2SM_gNB_X2_indicationMessage_t *, e2sm_message_helper &); + bool get_message_fields(E2SM_gNB_X2_indicationMessage_t *, e2sm_message_helper &); + + bool encode_indication_header(unsigned char * , size_t * , e2sm_header_helper &); + bool encode_indication_message(unsigned char *, size_t *, e2sm_message_helper &); + std::string get_error (void) const {return error_string ; }; + +private: + + E2SM_gNB_X2_indicationHeader_t *header; // used for encoding + E2SM_gNB_X2_indicationMessage_t *message; // used for encoding + + char errbuf[128]; + size_t errbuf_len; + GlobalGNB_ID_t gNodeB_ID; + std::string error_string; + + +}; + +/* builder class for E2SM control using ASN1c */ + +class e2sm_control { +public: + + e2sm_control(void); + ~e2sm_control(void); + + E2SM_gNB_X2_controlHeader_t * get_header(void); + E2SM_gNB_X2_controlMessage_t * get_message(void); + + bool set_header_fields(E2SM_gNB_X2_controlHeader_t *, e2sm_header_helper &); + bool get_header_fields(E2SM_gNB_X2_controlHeader_t *, e2sm_header_helper &); + + bool set_message_fields(E2SM_gNB_X2_controlMessage_t *, e2sm_message_helper &); + bool get_message_fields(E2SM_gNB_X2_controlMessage_t *, e2sm_message_helper &); + + bool encode_control_header(unsigned char * , size_t * , e2sm_header_helper &); + bool encode_control_message(unsigned char *, size_t *, e2sm_message_helper &); + std::string get_error (void) const {return error_string ; }; + +private: + + E2SM_gNB_X2_controlHeader_t *header; // used for encoding + E2SM_gNB_X2_controlMessage_t *message; // used for encoding + + char errbuf[128]; + size_t errbuf_len; + GlobalGNB_ID_t gNodeB_ID; + std::string error_string; + + +}; + +#endif diff --git a/src/E2SM/e2sm_helpers.hpp b/src/E2SM/e2sm_helpers.hpp new file mode 100755 index 0000000..a9a8886 --- /dev/null +++ b/src/E2SM/e2sm_helpers.hpp @@ -0,0 +1,96 @@ + + +#ifndef E2SM_HELPER_ +#define E2SM_HELPER_ + +#include +#include +#include +#include + + /* information holder for E2SM indication header */ +typedef struct e2sm_header_helper e2sm_header_helper; +struct e2sm_header_helper { + int egNB_id_type; + + std::string egNB_id; + std::string plmn_id; + + long int interface_direction; + unsigned char* timestamp; +}; + +/* information holder for E2SM indication message */ +typedef struct e2sm_message_helper e2sm_message_helper; +struct e2sm_message_helper { + unsigned char * x2ap_pdu; + size_t x2ap_pdu_size; +}; + + +/* information holder for E2SM Action Trigger Definition */ +struct Item +{ + Item(long int id, long int test, long int val_type, int value):interface_id(id), test(test), val_type(val_type), value_n(value){}; + Item(long int id, long int test, long int val_type, std::string value):interface_id(id), test(test), val_type(val_type), value_s(value){}; + + long int interface_id; + long int test; + long int val_type; + long int value_n; + std::string value_s; + +}; + +typedef struct e2sm_event_trigger_helper e2sm_event_trigger_helper; +struct e2sm_event_trigger_helper { + + int egNB_id_type; + std::string egNB_id; + std::string plmn_id; + + long int interface_direction; + long int procedure_code; + + long int message_type; + + + std::vector * get_list(void){ return &protocol_ie_list; }; + void add_protocol_ie_item(long int id, long int test , unsigned int val_type, long int value ){ + // into list + protocol_ie_list.emplace_back(id, test, val_type, value); + }; + + void add_protocol_ie_item(long int id, long int test, unsigned int val_type, std::string value){ + // into list + protocol_ie_list.emplace_back(id, test, val_type, value); + }; + + void clear(void){ + protocol_ie_list.clear(); + } + + std::string get_string(void) const { + std::stringstream ss; + ss << "egNB_ID_type = " << egNB_id_type << std::endl; + ss << "PLMN Id = " << plmn_id << std::endl; + ss << "Procedure Code = " << procedure_code << std::endl; + ss << "Message Type = " << message_type << std::endl; + + std::string info; + info = ss.str(); + return info; + } + + + +private: + + std::vector protocol_ie_list; + +}; + + + + +#endif diff --git a/src/KPI-Message-Handler/KPIMessageHandler.cc b/src/KPI-Message-Handler/KPIMessageHandler.cc new file mode 100755 index 0000000..108b091 --- /dev/null +++ b/src/KPI-Message-Handler/KPIMessageHandler.cc @@ -0,0 +1,73 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#include "KPIMessageHandler.h" + +kpi_msg_handler::kpi_msg_handler() +{ + m_access = std::make_unique(); +} + +// Decodes the CuCpResourceStatusReport present in the RIC Indication Message and Calls the method to Update the content in the DB. +bool kpi_msg_handler::operator()(redisContext *redis_context, unsigned char *msg_ref, size_t msg_size) +{ + + bool res = true; + + std::lock_guard lck(*(m_access.get())); + + CuCpResourceStatusReport_t *cucp_resource_status_rcv = 0; + + /* Decode */ + asn_dec_rval_t dec_res = asn_decode(0,ATS_ALIGNED_BASIC_PER, &asn_DEF_CuCpResourceStatusReport, (void **)&cucp_resource_status_rcv, msg_ref, msg_size); + + if (dec_res.code == RC_OK){ + mdclog_write(MDCLOG_INFO, "Processing CuCpResourceStatusReport message\n"); + res = true; + } + else{ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d :: Could not decode CuCpResourceStatusReport of size %lu bytes \n", __FILE__, __LINE__, msg_size); + res = false; + } + + if (res){ + + //std::cout <<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; + //xer_fprint(stdout, &asn_DEF_CuCpResourceStatusReport, cucp_resource_status_rcv); + //std::cout <<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; + + // Add our get field function for Custom message + res = kpi_report.get_fields(cucp_resource_status_rcv, kpi_data); + if (!res){ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d :: could not get fields from CuCpResourceStatusReport. Reason = %s\n", __FILE__, __LINE__, kpi_report.get_error().c_str()); + } + } + + kpi_db_res.UpdateDB(redis_context,&kpi_data); + + ASN_STRUCT_FREE(asn_DEF_CuCpResourceStatusReport, cucp_resource_status_rcv); + return res; + +} + +void kpi_msg_handler::clear() +{ + std::lock_guard lck(*(m_access.get())); +} \ No newline at end of file diff --git a/src/KPI-Message-Handler/KPIMessageHandler.h b/src/KPI-Message-Handler/KPIMessageHandler.h new file mode 100755 index 0000000..c9bcc20 --- /dev/null +++ b/src/KPI-Message-Handler/KPIMessageHandler.h @@ -0,0 +1,58 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#ifndef KPI_MESSAGE_HANDLER_H +#define KPI_MESSAGE_HANDLER_H + +#include +#include +#include +#include // For time() +#include +#include +#include + + +#ifdef __GNUC__ +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) +#else +#define likely(x) (x) +#define unlikely(x) (x) +#endif + +class kpi_msg_handler +{ +public: + kpi_msg_handler(); + bool operator()(redisContext *,unsigned char *, size_t); + void clear(); + std::string get_error(void) { return error_string;}; + +private: + + std::unique_ptr m_access; + cucp_resource_helper kpi_data; + cucp_resource_status_report kpi_report; + kpi_db_resp kpi_db_res; + std::string error_string; +}; + +#endif diff --git a/src/KPI-Monitoring/cu_cp_resource_status_report.cc b/src/KPI-Monitoring/cu_cp_resource_status_report.cc new file mode 100755 index 0000000..3d6c75c --- /dev/null +++ b/src/KPI-Monitoring/cu_cp_resource_status_report.cc @@ -0,0 +1,72 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#include + +cucp_resource_status_report::cucp_resource_status_report(void){ + cucpresourcestatusreport_obj = 0; + cucpresourcestatusreport_obj = (CuCpResourceStatusReport_t *)calloc(1, sizeof(CuCpResourceStatusReport_t)); + assert(cucpresourcestatusreport_obj != 0); + + cucpresourcestatus = 0; + cucpresourcestatus = (CuCpResourceStatus_t * )calloc(1, sizeof(CuCpResourceStatus_t)); + assert(cucpresourcestatus != 0); + + cucpresourcestatus->numberOfUEs = (long *)malloc(sizeof(long)); + + cucpresourcestatusreport_obj->cuCpResourceStatus = *cucpresourcestatus; +}; + + +cucp_resource_status_report::~cucp_resource_status_report(void){ + + mdclog_write(MDCLOG_INFO, "Freeing object memory"); + + cucpresourcestatusreport_obj->cuCpResourceStatus.numberOfUEs = 0; + ASN_STRUCT_FREE(asn_DEF_CuCpResourceStatus, cucpresourcestatus); + ASN_STRUCT_FREE(asn_DEF_CuCpResourceStatusReport, cucpresourcestatusreport_obj); + + mdclog_write(MDCLOG_INFO, "Freed object mempory"); +} + +bool cucp_resource_status_report::get_fields(CuCpResourceStatusReport_t * cucpresourcestatusreport, cucp_resource_helper & dout){ + + if (cucpresourcestatusreport == 0){ + error_string = "Error ! Invalid reference for Cu Cp Resource Status Report get_fields"; + return false; + } + + int res = 0; + + if(cucpresourcestatusreport->cuCpName != 0) { + dout.cuCpName = cucpresourcestatusreport->cuCpName->buf; + dout.cuCpName_size = cucpresourcestatusreport->cuCpName->size; + } + + dout.gnbId = cucpresourcestatusreport->gnbId.buf; + dout.gnbId_size = cucpresourcestatusreport->gnbId.size; + + dout.cuCpResourceStatus.bhca = cucpresourcestatusreport->cuCpResourceStatus.bhca; + + if(cucpresourcestatusreport->cuCpResourceStatus.numberOfUEs !=0) { + dout.cuCpResourceStatus.numberOfUEs = *(cucpresourcestatusreport->cuCpResourceStatus.numberOfUEs); + } + + return true; +} diff --git a/src/KPI-Monitoring/cu_cp_resource_status_report.hpp b/src/KPI-Monitoring/cu_cp_resource_status_report.hpp new file mode 100755 index 0000000..a62b7eb --- /dev/null +++ b/src/KPI-Monitoring/cu_cp_resource_status_report.hpp @@ -0,0 +1,54 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#ifndef CU_CP_RESOURCE_STATUS_REPORT_ +#define CU_CP_RESOURCE_STATUS_REPORT_ + + +#include +#include +#include +#include +#include + +#include +#include + +#define NUM_CU_CP_RESOURCE_STATUS_REPORT_IES 8 +#define INITIAL_SIZE 4 + +class cucp_resource_status_report { +public: + cucp_resource_status_report(void); + ~cucp_resource_status_report(void); + + bool get_fields(CuCpResourceStatusReport_t *, cucp_resource_helper &); + std::string get_error(void) const {return error_string; }; + +private: + + CuCpResourceStatusReport_t *cucpresourcestatusreport_obj; + CuCpResourceStatus_t *cucpresourcestatus; + + std::string error_string; + char errbuf[128]; + size_t errbuf_len = 128; +}; + + +#endif diff --git a/src/KPI-Monitoring/cu_cp_resource_status_report_helper.hpp b/src/KPI-Monitoring/cu_cp_resource_status_report_helper.hpp new file mode 100755 index 0000000..f63976f --- /dev/null +++ b/src/KPI-Monitoring/cu_cp_resource_status_report_helper.hpp @@ -0,0 +1,41 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#ifndef CU_CP_RESOURCE_STATUS_REPORT_HELPER_ +#define CU_CP_RESOURCE_STATUS_REPORT_HELPER_ + +#include + +struct cucp_resource_status { + cucp_resource_status(void): bhca(0), numberOfUEs(0) {}; + long bhca; + long numberOfUEs; +}; + +class cucp_resource_helper { + +public: + cucp_resource_helper(void): cuCpName(0), cuCpName_size(0), gnbId(0), gnbId_size(0) {}; + unsigned char *cuCpName; + int cuCpName_size; + unsigned char *gnbId; + int gnbId_size; + cucp_resource_status cuCpResourceStatus; +}; + +#endif diff --git a/src/KPI-Monitoring/kpi_db.cc b/src/KPI-Monitoring/kpi_db.cc new file mode 100755 index 0000000..c38cf53 --- /dev/null +++ b/src/KPI-Monitoring/kpi_db.cc @@ -0,0 +1,69 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include + +// Destructor +kpi_db_resp::~kpi_db_resp(void){ + freeReplyObject(redis_reply); +}; + +// Push the data to the DB +void kpi_db_resp::Rpush(redisContext *c, std::string key,std::string value){ + redis_reply = (redisReply*)redisCommand(c, "RPUSH %s %s",key,value); +} + +// Getting val corresponding to key +void kpi_db_resp::Get(redisContext *c, std::string key){ + redis_reply= (redisReply*)redisCommand(c, "GET %s",key); +} + +// Delete the key and value pair from the DB +void kpi_db_resp::Del(redisContext *c, std::string key){ + redis_reply= (redisReply*)redisCommand(c, "DEL %s",key); +} + +// Check whether the Key exists in the DB +void kpi_db_resp::Exists(redisContext *c, std::string key){ + redis_reply= (redisReply*)redisCommand(c, "EXISTS %s",key); +} + +// Called whenever the KPI information is received from the RIC Indication message +void kpi_db_resp::UpdateDB(redisContext* c,cucp_resource_helper *kpi_data){ + + if(kpi_data == NULL || c==NULL) { + mdclog_write(MDCLOG_INFO, "Reddis Context or KPI_DATA pointer NULL\n"); + return; + } + std::string gnb_id(reinterpret_cast(kpi_data->gnbId)); + Exists(c,gnb_id); + if(redis_reply->type==REDIS_REPLY_STATUS){ + if(redis_reply->integer==1){ + //Key already exists ---> delete the data and insert again + Del(c,gnb_id); + Rpush(c,gnb_id,std::to_string(kpi_data->cuCpResourceStatus.bhca)); + Rpush(c,gnb_id,std::to_string(kpi_data->cuCpResourceStatus.numberOfUEs)); + } + else{ + //Key does not exists --> Simply insert + Rpush(c,gnb_id,std::to_string(kpi_data->cuCpResourceStatus.bhca)); + Rpush(c,gnb_id,std::to_string(kpi_data->cuCpResourceStatus.numberOfUEs)); + } + } + mdclog_write(MDCLOG_INFO, "GNB_ID : %s\n\tBHCA : %d\n\tUE_Count : %d",gnb_id, kpi_data->cuCpResourceStatus.bhca, kpi_data->cuCpResourceStatus.numberOfUEs); +} \ No newline at end of file diff --git a/src/KPI-Monitoring/kpi_db.hpp b/src/KPI-Monitoring/kpi_db.hpp new file mode 100755 index 0000000..68b31c6 --- /dev/null +++ b/src/KPI-Monitoring/kpi_db.hpp @@ -0,0 +1,55 @@ +/* +================================================================================== + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#ifndef KPI_DB_RESP_ +#define KPI_DB_RESP_ + + +#include +#include +#include +#include +#include +#include +#include + +class kpi_db_resp { +public: + + ~kpi_db_resp(); + + void UpdateDB(redisContext* c,cucp_resource_helper *kpi_data); + + std::string get_error(void) const {return error_string;}; + +private: + + // Wrapper over Redis APIs + void Rpush(redisContext *, std::string key,std::string value); + void Get(redisContext *, std::string key); + void Del(redisContext *, std::string key); + void Exists(redisContext *, std::string key); + + redisReply *redis_reply; + std::string error_string; + char errbuf[128]; + size_t errbuf_len = 128; +}; + +#endif diff --git a/src/Makefile b/src/Makefile new file mode 100755 index 0000000..c46d17a --- /dev/null +++ b/src/Makefile @@ -0,0 +1,69 @@ +CXX:= g++ --std=c++14 -O2 +CC:= gcc -O2 + +SRC:=./ +E2AP_c:=./E2AP-c +E2SM := ./E2SM +SUBSCR:=$(E2AP_c)/subscription +ASN1C_DEFS:=../asn1c_defs/all-defs +KPI_HANDLER:=./KPI-Message-Handler +KPI_MONITOR:=./KPI-Monitoring + +# Logging library and flags +CLOGFLAGS:= `pkg-config mdclog --cflags` +LOG_LIBS:= `pkg-config mdclog --libs` +HIREDIS_LIBS:= `pkg-config hiredis --libs` + +# Keep include dirs separate so we have transparency +BASEFLAGS= -Wall -std=c++14 $(CLOGFLAGS) + +XAPPFLAGS= -I./ +ASN1C_FLAGS=-I$(ASN1C_DEFS) -DASN_DISABLE_OER_SUPPORT +SUBSCRFLAGS= -I$(SUBSCR) +E2AP_C_FLAGS = -I$(E2AP_c) +E2SM_FLAGS = -I$(E2SM) +KPI_HANDLER_FLAGS = -I$(KPI_HANDLER) +KPI_MONITOR_FLAGS = -I$(KPI_MONITOR) +C_BASEFLAGS=-Wall $(CLOGFLAGS) -DASN_DISABLE_OER_SUPPORT + +LIBS= -lrmr_nng -lnng -lpthread -lm $(LOG_LIBS) $(HIREDIS_LIBS) +COV_FLAGS= -fprofile-arcs -ftest-coverage + +XAPP_SRC= kpi-xapp.cc \ + xapp_utils.cc \ + message_processor_class.cc \ + get_config.cc + +SUBSCR_SRC= $(wildcard $(SUBSCR)/*.cc) +E2AP_C_SRC =$(wildcard $(E2AP_c)/*.cc) +E2SM_SRC = $(wildcard $(E2SM)/*.cc) +ASN1C_SRC= $(wildcard $(ASN1C_DEFS)/*.c) +KPI_HANDLER_SRC = $(wildcard $(KPI_HANDLER)/*.cc) +KPI_MONITOR_SRC = $(wildcard $(KPI_MONITOR)/*.cc) + +XAPP_OBJ= ${XAPP_SRC:.cc=.o} +SUBSCR_OBJ= ${SUBSCR_SRC:.cc=.o} +E2AP_C_OBJ = $(E2AP_C_SRC:.cc=.o) +E2SM_OBJ = $(E2SM_SRC:.cc=.o) +KPI_HANDLER_OBJ = $(KPI_HANDLER_SRC:.cc=.o) +KPI_MONITOR_OBJ = $(KPI_MONITOR_SRC:.cc=.o) +ASN1C_MODULES = $(ASN1C_SRC:.c=.o) + +$(ASN1C_MODULES): export CFLAGS = $(C_BASEFLAGS) $(ASN1C_FLAGS) +$(SUBSCR_OBJ): export CPPFLAGS=$(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS) $(SUBSCRFLAGS) +$(E2AP_C_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2AP_C_FLAGS) +$(E2SM_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS) +$(KPI_HANDLER_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS) +$(KPI_MONITOR_OBJ): export CPPFLAGS = $(BASEFLAGS) $(ASN1C_FLAGS) $(KPI_MONITOR_FLAGS) +$(XAPP_OBJ):export CPPFLAGS=$(BASEFLAGS) $(SUBSCRFLAGS) $(E2AP_C_FLAGS) $(ASN1C_FLAGS) $(E2SM_FLAGS) $(XAPPFLAGS) $(KPI_HANDLER_FLAGS) $(KPI_MONITOR_FLAGS) + +OBJ= $(SUBSCR_OBJ) $(XAPP_OBJ) $(E2AP_C_OBJ) $(ASN1C_MODULES) $(E2SM_OBJ) $(KPI_HANDLER_OBJ) $(KPI_MONITOR_OBJ) + +kpi-xapp: $(OBJ) + $(CXX) -o $@ $(OBJ) $(LIBS) $(CPPFLAGS) $(CLOGFLAGS) + +install: kpi-xapp + install -D kpi-xapp /usr/local/bin/kpi-xapp + +clean: + -rm *.o $(E2AP_c)/*.o $(SUBSCR)/*.o $(E2SM)/*.o $(KPI_HANDLER)/*.o $(KPI_MONITOR)/*.o kpi-xapp diff --git a/src/README.md b/src/README.md new file mode 100755 index 0000000..b420475 --- /dev/null +++ b/src/README.md @@ -0,0 +1,74 @@ +#================================================================================== + +# Copyright (c) 2018-2019 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#================================================================================== + + +This document gives an overview of the base class of a simple xAPP class. It is used to build the kpi-xapp executable + +Pre-requisitis : nanomsg libraries, nng libraries, hiredis libraries and ric messaging library + header must be installed and visible on standard library/include paths (via LD_LIBRARY_PATH, LIBRARY_PATH, CPATH) + +Usage Guidelines : +The base XaPP class is defined in xapp_utils.hpp. An XaPP class object can be instantiated in a number of ways : + +1. XaPP(char *app_name, char *protocol, int redis_port, int message_size) : where + - app_name points to a char array to identify this xapp (e.g "my_app_1") + - protocol points to a char array to specify the protocol/port on which this xAPP listens for messages (e.g "tcp:4561") + - redis_port is the port to interact with Redis DB + - message_size is the maximum size of messages allowed to send .. + + In this invocation, the number of listener threads (invoked when XaPP.Start() is called) is determined automatically based on hardware + + +2. XaPP(char *app_name, char *protocol, int redis_port, int message_size, int num_threads) : (RECOMMENDED) where + - app_name points to a char array to identify this xapp (e.g "my_app_1") + - protocol points to a char array to specify the protocol/port on which this xAPP listens for messages (e.g "tcp:4561") + - redis_port is the port to interact with Redis DB + - message_size is the maximum size of messages allowed to send .. + - num_threads is the number of threads to invoke on which the XaPP listens for and processes messages + + +3. The XaPP object can start listening to messages using the Start function, with two variants : + + - XaPP.Start(message_handler) : in this invocation, any message received by the XaPP is passed on the message_handler function which must have the signature bool *(rmr_mbuf_t *). + If the message handler wishes to respond, it must modify the message buffer in place and respond with a true value, else respond with false. + + - XaPP.Start(message_handler, error_handler) : in this invocation, the user can specify an error_handler function, which must have the signature void *(rmr_mubf_t *) if the sending of a message (processed by message_handler) fails. + + +4. The XaPP object can be used to send messages using the Send function with two variants : + - XaPP.Send(int message_type, int message_length, void *message_payload) + - XaPP.Send(rmr_mbuf_t * message); + They return true if message was sent successfuly and false if not + + +If the XaPP is started with multiple listening threads, they all share the same RMR context and invoke the same message handler/error handler user functions. Hence these are expected to be thread safe. Since all threads will listen to RMR, there is no guarantee which thread receives which message. + + +ASN1 PDU Processing +------------------- + +1. The basic CuCpResourceStatusReport processing is handled in KPI-Message-Handler which handles the decoding of the message and getting the IEs. + + +Redis DB Store +-------------- + +1. The Redis DB store is done using the APIs provided by the hiredis libraries and handled in KPI-Monitoring. + + +--- The kpi-xapp is a basic example to demonstrate RMR and DB store. The kpi-xapp just uses the basic xAPP class but with message processing done by message_processing.cc and store done by kpi_db.cc. + +It receives CuCpResourceStatusReport message over RMR, decodes it, extracts elements and stores the content in Redis DB. diff --git a/src/get_config.cc b/src/get_config.cc new file mode 100755 index 0000000..b0272d1 --- /dev/null +++ b/src/get_config.cc @@ -0,0 +1,142 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include "kpi-xapp.hpp" + +void get_environment_config(configuration & config_instance){ + + // Order of priority for setting variables + // So we start in reverse order + // -- command line + // -- environment variable + // -- default path + + if (char *env_gnodeb = std::getenv("GNODEB")){ + config_instance.fill_gnodeb_list(env_gnodeb); + mdclog_write(MDCLOG_INFO, "gNodeB List set to %s from environment variable", env_gnodeb); + } + + if (const char *threads = std::getenv("THREADS")){ + config_instance.num_threads = atoi(threads); + if ( config_instance.num_threads <= 0 or config_instance.num_threads > MAX_THREADS){ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d :: Must specify numnber of threads between [1 and %d]. Specified = %d\n", __FILE__, __LINE__, MAX_THREADS, config_instance.num_threads); + exit(-1); + } + else{ + mdclog_write(MDCLOG_INFO, "Number of threads set to %d from environment variable\n", config_instance.num_threads); + } + } + + if (const char *log_env = std::getenv("LOG_LEVEL")){ + if (!strcmp(log_env, "MDCLOG_INFO")){ + config_instance.log_level = MDCLOG_INFO; + } + else if (!strcmp(log_env, "MDCLOG_WARN")){ + config_instance.log_level = MDCLOG_WARN; + } + else if (!strcmp(log_env, "MDCLOG_ERR")){ + config_instance.log_level = MDCLOG_ERR; + } + else if (!strcmp(log_env, "MDCLOG_DEBUG")){ + config_instance.log_level = MDCLOG_DEBUG; + } + else{ + config_instance.log_level = MDCLOG_WARN; + std::cerr <<"Error ! Illegal environment option for log level ignored. Setting log level to " << config_instance.log_level << std::endl; + } + } + +} + +void get_command_line_config(int argc, char **argv, configuration &config_instance){ + + // Parse command line options to over ride + static struct option long_options[] = + { + /* Thse options require arguments */ + {"name", required_argument, 0, 'n'}, + {"port", required_argument, 0, 'p'}, + {"redisport", required_argument,0, 'r'}, + {"threads", required_argument, 0, 't'}, + {"gNodeB", required_argument, 0, 'g'}, + {"verbose", no_argument, &config_instance.log_level, MDCLOG_INFO}, + }; + + + while(1) { + + int option_index = 0; + char c = getopt_long(argc, argv, "n:p:r:t:g:", long_options, &option_index); + + if(c == -1){ + break; + } + + switch(c) + { + + case 0: + /* An option flag was set. + Do nothing for now */ + break; + + case 'n': + strcpy(config_instance.name, optarg); + break; + + case 'p': + strcpy(config_instance.port, optarg); + break; + + case 't': + config_instance.num_threads = atoi(optarg); + mdclog_write(MDCLOG_INFO, "Number of threads set to %d from command line e\n", config_instance.num_threads); + break; + + case 'g': + config_instance.fill_gnodeb_list(optarg); + mdclog_write(MDCLOG_INFO, "gNodeB List set to %s from command line ", optarg); + break; + + case 'r': + config_instance.redis_port = atoi(optarg); + mdclog_write(MDCLOG_INFO, "Redis Port set to %d from command line e\n", config_instance.redis_port); + break; + + case 'h': + usage(argv[0]); + exit(0); + + default: + usage(argv[0]); + exit(1); + } + }; + +} + + +void usage(char *command){ + std::cout <<"Usage : " << command << " " << std::endl; + std::cout <<" --name[-n] xapp_instance_name "<< std::endl; + std::cout <<" --port[-p] port to listen on e.g tcp:4561 "<< std::endl; + std::cout << "--threads[-t] number of listener threads "<< std::endl ; + std::cout <<"[--gNodeB[][-g] gNodeB" << std::endl; + std::cout <<"--redisport[-r] port to connect to redis DB eg., tcp:6379 "<( &XaPP::Send), xapp_ref, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, node_buffer)); + return res; +}; + +void EndProgram(int signum){ + std::cout <<"Signal received. Stopping program ....." << std::endl; + RunProg = 0; +} + +void msg_error(rmr_mbuf_t *message){ + mdclog_write(MDCLOG_ERR, "Error: %s, %d Could not send RMR message of length %d and type %d, Reason %s", __FILE__, __LINE__, message->len, message->mtype, strerror(errno) ); +}; + + +int main(int argc, char *argv[]){ + + // initially set log level to INFO + init_logger("XaPP", MDCLOG_INFO); + + configuration my_config; + + // set config variables from environment + // used when deploying via start-up script + get_environment_config(my_config); + + // over-ride with any command line variables if + // provided + get_command_line_config(argc, argv, my_config); + + std::unique_ptr my_xapp; + + + // Reset log level based on configuration + init_logger(my_config.name, static_cast(my_config.log_level)); + + if (my_config.gNodeB_list.size() == 0){ + mdclog_write(MDCLOG_WARN, "WARNING : gNodeB not set for subscription. Subscription MAY FAIL"); + } + + // Finished parsing command line/environment arguments + //============================================================= + + // instantiate xapp object + if(my_config.num_threads >= 1){ + mdclog_write(MDCLOG_INFO, "XaPP listener threads specified = %d", my_config.num_threads); + // Create XaPP that starts with specified number of threads + my_xapp = std::make_unique(my_config.name, my_config.port, my_config.redis_port, 1024, my_config.num_threads); + } + else{ + mdclog_write(MDCLOG_INFO,"XaPP listener threads specified = auto"); + //Let XaPP pick threads based on hardware + my_xapp = std::make_unique(my_config.name, my_config.port, my_config.redis_port, 1024); + } + + + mdclog_write(MDCLOG_INFO, "XaPP name specified = %s", my_config.name); + mdclog_write(MDCLOG_INFO, "XaPP port specified = %s", my_config.port); + mdclog_write(MDCLOG_INFO, "XaPP redis port specified = %d", my_config.redis_port); + + // Instantiate subscription handler + SubscriptionHandler sub_handler; + + // Instantiate message handlers for RMR + + std::vector > message_procs; + for(int i = 0; i < my_config.num_threads; i++){ + std::unique_ptr mp_handler = std::make_unique (); + mp_handler.get()->register_subscription_handler(& sub_handler); + message_procs.push_back(std::move(mp_handler)); + } + + + // Start the listening loops + std::vector thread_ids(my_config.num_threads); + unsigned int i = 0; + for(auto &e: message_procs){ + thread_ids[i] = (*my_xapp).StartThread(*(e.get()), msg_error); + i++; + }; + + mdclog_write(MDCLOG_INFO, "xAPP is UP and Listening on RMR. ...\n"); + mdclog_write(MDCLOG_INFO, "Number of message processors = %lu", message_procs.size()); + + //====================================================== + // sgnb Subscription spec + + int request_id = 2; // will be over-written by subscription handler + int req_seq = 1; + int function_id = 0; + int action_id = 4; + int action_type = 0; + + int message_type = TypeOfMessage_initiating_message; + int procedure_code = ProcedureCode_id_kPIMonitor; + std::string egnb_id = "Testgnb"; + std::string plmn_id = "Testplmn"; + + unsigned char event_buf[128]; + size_t event_buf_len = 128; + bool res; + + + e2sm_event_trigger_helper trigger_data; + e2sm_event_trigger event_trigger; + + trigger_data.egNB_id = egnb_id; + trigger_data.plmn_id = plmn_id; + trigger_data.egNB_id_type = Interface_ID_PR_global_gNB_ID; + trigger_data.interface_direction = InterfaceDirection_outgoing; + trigger_data.procedure_code = procedure_code; + trigger_data.message_type = message_type; + res = event_trigger.encode_event_trigger(&event_buf[0], &event_buf_len, trigger_data); + if (!res){ + mdclog_write(MDCLOG_ERR, "Error : %s, %d: Could not encode subscription Request. Reason = %s\n", __FILE__, __LINE__, event_trigger.get_error().c_str()); + exit(0); + } + + subscription_helper sgnb_add_subscr_req; + subscription_response_helper subscr_response; + + sgnb_add_subscr_req.clear(); + sgnb_add_subscr_req.set_request(request_id, req_seq); + sgnb_add_subscr_req.set_function_id(function_id); + sgnb_add_subscr_req.add_action(action_id, action_type); + + + sgnb_add_subscr_req.set_event_def(&event_buf[0], event_buf_len); + mdclog_write(MDCLOG_INFO, "Encoded event trigger definition into PDU of size %lu bytes\n", event_buf_len); + + + // keep sending subscription request till successfull for all gnodebs ? + auto it = my_config.gNodeB_list.begin(); + while(my_config.gNodeB_list.size() > 0 && RunProg){ + int attempt = 0; + res = false; + + while(!res){ + mdclog_write(MDCLOG_INFO, "Sending subscription request for %s ... Attempt number = %d\n", (*it).c_str(), attempt); + res = add_subscription(sub_handler, my_xapp.get(), sgnb_add_subscr_req, subscr_response, *it); + if (!res){ + sleep(5); + }; + attempt ++; + if (attempt > MAX_SUBSCRIPTION_ATTEMPTS){ + break; + } + } + + if(res){ + mdclog_write(MDCLOG_INFO, "Successfully subscribed for gNodeB %s", (*it).c_str()); + // remove node from list, + // move to next gnobde + it = my_config.gNodeB_list.erase(it); + } + + if (it == my_config.gNodeB_list.end()){ + it = my_config.gNodeB_list.begin(); + } + + } + + + std::cout <<"SUBSCRIPTION REQUEST :: Successfully subscribed to events for all gNodeBs " << std::endl; + + //Register signal handler to stop + signal(SIGINT, EndProgram); + signal(SIGTERM, EndProgram); + + + //Wait for stop + while(RunProg){ + sleep(10); + } + + i = 0; + for(auto &e: message_procs){ + mdclog_write(MDCLOG_INFO, "Thread %d : Number of packets handled = %lu", thread_ids[i], e.get()->get_messages()); + std::cout << "Thread " << thread_ids[i] << " Number of packets handled = " << e.get()->get_messages() << std::endl; + + i ++ ; + } + + std::cout <<"Stopping all running threads ..." << std::endl; + (*my_xapp).Stop(); + std::cout <<"Stopped RMR processing threads ...." << std::endl; + + std::cout <<"Finished ... " << std::endl; + + return 0; +}; diff --git a/src/kpi-xapp.hpp b/src/kpi-xapp.hpp new file mode 100755 index 0000000..8a8f069 --- /dev/null +++ b/src/kpi-xapp.hpp @@ -0,0 +1,70 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#pragma once +#ifndef KPI_XAPP_ +#define KPI_XAPP_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "message_processor_class.hpp" + +#define MAX_SLEEP 86400 +#define MAX_SUBSCRIPTION_ATTEMPTS 10 +//================================================ + + +// configuration parameters +struct configuration { + + char name[128] = "kpi-xapp"; + char port[16] = "tcp:4560"; + + int redis_port = 6379; + + int num_threads = 1; + std::unique_ptr my_xapp; + int log_level = MDCLOG_WARN; + + void fill_gnodeb_list(char * gNodeB_string){ + gNodeB_list.clear(); + char * gnb = strtok(gNodeB_string, ","); + while(gnb != NULL){ + gNodeB_list.push_back(gnb); + gnb = strtok(NULL, ","); + } + + }; + + std::vector gNodeB_list; + +}; + +void usage(char *command); +void get_environment_config(configuration & config_instance); +void get_command_line_config(int argc, char **argv, configuration &config_instance); +#endif diff --git a/src/message_processor_class.cc b/src/message_processor_class.cc new file mode 100755 index 0000000..c75f316 --- /dev/null +++ b/src/message_processor_class.cc @@ -0,0 +1,123 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#include + +void message_processor::register_subscription_handler(SubscriptionHandler * sub){ + _ref_sub_handler = sub; +} + +// main message processing +bool message_processor::operator()(redisContext *redis_context, rmr_mbuf_t *message){ + + bool res; + int message_type, procedure_code; + asn_dec_rval_t rval; + size_t buf_size = BUFFER_LENGTH; + size_t mlen; + _num_messages ++; + std::string response; + + // main message processing code + switch(message->mtype){ + + case RIC_INDICATION: + + e2ap_recv_pdu = 0; + e2sm_header = 0; + + rval = asn_decode(0,ATS_ALIGNED_BASIC_PER, &asn_DEF_E2AP_PDU, (void**)&(e2ap_recv_pdu), message->payload, message->len); + + if(likely(rval.code == RC_OK)){ + num_indications ++; + res = indication_processor.get_fields(e2ap_recv_pdu->choice.initiatingMessage, indication_data); + if (unlikely(!res)){ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d :: Could not get fields from RICindication message\n", __FILE__, __LINE__); + return false; + } + //std::cout <<"+++++++++++++++++++++++ E2AP Indication ++++++++++++++++++++++++" << std::endl; + //xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2ap_recv_pdu); + //std::cout <<"+++++++++++++++++++++++ E2AP Indication ++++++++++++++++++++++++" << std::endl; + } + else{ + num_err_indications ++; + mdclog_write(MDCLOG_ERR, "Error :: %s, %d: Error decoding E2AP PDU\n", __FILE__, __LINE__); + return false; + } + + mdclog_write(MDCLOG_INFO, "E2AP INDICATION :: Successfully received E2AP Indication message with id = %d, sequence no = %d, Number of indication messages = %lu, Number of erroneous indications = %lu\n", indication_data.req_id, indication_data.req_seq_no, num_indications, num_err_indications); + + //Decode the SM header + rval = asn_decode(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2SM_gNB_X2_indicationHeader, (void**)&(e2sm_header), indication_data.indication_header, indication_data.indication_header_size); + if (likely(rval.code == RC_OK)){ + res = e2sm_indication_processor.get_header_fields(e2sm_header, header_helper); + if (unlikely(!res)){ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d :: Could not get fields from E2SM HEADER\n", __FILE__, __LINE__); + return false; + } + + // std::cout <<"+++++++++++++++++++++++ E2SM Indication Header ++++++++++++++++++++++++" << std::endl; + // xer_fprint(stdout, &asn_DEF_E2SM_gNB_X2_indicationHeader, e2sm_header); + // std::cout <<"+++++++++++++++++++++++ E2SM Indication Header ++++++++++++++++++++++++" << std::endl; + } + else{ + mdclog_write(MDCLOG_ERR, "Error :: %s, %d: Error decoding E2SM Header.", __FILE__, __LINE__); + return false; + } + mdclog_write(MDCLOG_DEBUG, "E2SM INDICATION HEADER :: Successfully decoded E2SM Indication Header of size %lu\n", indication_data.indication_header_size); + + // Do the further decoding here for KPI message + + res = (*_ref_kpi_msg_handler)(redis_context, indication_data.indication_msg, indication_data.indication_msg_size); + + if(unlikely(!res)){ + return false; + } + // NOTE : We assume RICindicationMessage contains payload (not E2SM message) + ASN_STRUCT_FREE(asn_DEF_E2SM_gNB_X2_indicationHeader, e2sm_header); + ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, e2ap_recv_pdu); + + break; + + case (RIC_SUB_RESP): + case (RIC_SUB_FAILURE): + if (_ref_sub_handler != NULL){ + mdclog_write(MDCLOG_INFO, "Received subscription message of type = %d", message->mtype); + _ref_sub_handler->Response(message->mtype, message->payload, message->len); + } + else{ + mdclog_write(MDCLOG_ERR, " Error :: %s, %d : Subscription handler not assigned in message processor !", __FILE__, __LINE__); + return false; + } + + break; + + default: + mdclog_write(MDCLOG_ERR, "Error :: Unknown message type %d received from RMR", message->mtype); + }; + + return false; +}; + + +unsigned long const message_processor::get_messages (void){ + return _num_messages; +}; + diff --git a/src/message_processor_class.hpp b/src/message_processor_class.hpp new file mode 100755 index 0000000..e72cd1c --- /dev/null +++ b/src/message_processor_class.hpp @@ -0,0 +1,65 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __GNUC__ +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) +#else +#define likely(x) (x) +#define unlikely(x) (x) +#endif + +#define BUFFER_LENGTH 2048 + +class message_processor { + +public: + + bool operator() (redisContext *, rmr_mbuf_t *); + unsigned long const get_messages (void); + void register_subscription_handler(SubscriptionHandler *); + +private: + + E2AP_PDU_t * e2ap_recv_pdu; + E2SM_gNB_X2_indicationHeader_t *e2sm_header; // used for decoding + + E2APRicIndication indication_data; + ric_indication indication_processor; + + e2sm_header_helper header_helper; + e2sm_indication e2sm_indication_processor; + + SubscriptionHandler * _ref_sub_handler; + kpi_msg_handler *_ref_kpi_msg_handler; + unsigned long _num_messages; + unsigned long int num_indications, num_err_indications; +}; diff --git a/src/run_xapp.sh b/src/run_xapp.sh new file mode 100755 index 0000000..462ea09 --- /dev/null +++ b/src/run_xapp.sh @@ -0,0 +1,5 @@ +#! /bin/bash +THREADS=1 +gNodeB=NYC123,ABC345,CDR331 +#echo "Running ./kpi-xapp -g $gNodeB -t $THREADS"; +./kpi-xapp -g $gNodeB -t $THREADS diff --git a/src/xapp_utils.cc b/src/xapp_utils.cc new file mode 100755 index 0000000..74d1bfd --- /dev/null +++ b/src/xapp_utils.cc @@ -0,0 +1,307 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include "xapp_utils.hpp" + +// Constructor that automatically determines number of threads +XaPP::XaPP(char *xapp_name, char *proto_port, int redis_port, int msg_size): _is_ready(0), _listen(false), _num_retries(2), _msg_size(msg_size), _num_attempts(0), _num_fails(0){ + + _num_threads = std::thread::hardware_concurrency(); + strcpy(_xapp_name, xapp_name); + strcpy(_proto_port, proto_port); + _redis_port = redis_port; + init(_msg_size); + get_routes(); + redisInit(); +}; + + + +// Constructor that takes number of threads as argument +XaPP::XaPP(char *xapp_name, char *proto_port, int redis_port, int msg_size, int num_threads): _is_ready(0), _listen(false), _num_retries(2), _msg_size(msg_size), _num_threads(num_threads),_num_attempts(0), _num_fails(0) { + + strcpy(_xapp_name, xapp_name); + strcpy(_proto_port, proto_port); + _redis_port = redis_port; + init(_msg_size); + get_routes(); + redisInit(); +}; + +// Destructor closes rmr context if available +XaPP::~XaPP(void){ + + // Call stop to clear thread table + Stop(); + + // free memory + rmr_free_msg(_rmr_tx_message); + + if (_rmr_ctx){ + rmr_close(_rmr_ctx); + } + // delete mutex + delete _transmit; + + /* Disconnects and frees the context */ + redisFree(c); +}; + +// Get the RMR context +void XaPP::init(int msg_size){ + + if (msg_size > RMR_BUFFER_SIZE or msg_size <= 0){ + std::stringstream ss; + ss << "Error ::" << __FILE__ << "," << __LINE__ << " Invalid buffer size " << msg_size << " for RMR initialization context. Must be between " << 1 << " and " << RMR_BUFFER_SIZE << std::endl; + ss << " To change max buffer requested, update RMR_BUFFER_SIZE " << std::endl; + mdclog_write(MDCLOG_ERR, ss.str().c_str(), ""); + throw ss.str(); + } + + // Initialze the rmr context + if ( (_rmr_ctx = rmr_init(_proto_port, msg_size, RMRFL_NONE)) == NULL){ + // throw exception here .. + std::stringstream ss; + ss << "Error ::" << __FILE__ << "," << __LINE__ << " Error initiatilizing RMR context for " << _xapp_name << " on port " << _proto_port << " Reason = " << strerror(errno) << std::endl; + mdclog_write(MDCLOG_ERR, ss.str().c_str(), ""); + throw ss.str(); + } + +} + +// Get the Redis Context +void XaPP::redisInit(){ + + // Initialize the Redis Context + c = redisConnect("127.0.0.1", _redis_port); + if (c == NULL || c->err) { + std::stringstream ss; + if (c) { + ss << "Error: " << c->errstr; + // handle error + } else { + ss <<"Can't allocate redis context"; + } + mdclog_write(MDCLOG_ERR, ss.str().c_str(), ""); + throw ss.str(); + } +} + + +// Blocks till routing table is received +void XaPP::get_routes(void){ + + // Wait for getting a routing table ... + int i = 0; + _is_ready = 0; + while( i < MAX_WAIT_TIME){ + std::cout <<"Waiting for RMR to be ready " << std::endl; + if ((_is_ready = rmr_ready(_rmr_ctx)) == 1){ + break; + } + sleep(1); + i++; + }; + + if(!_is_ready){ + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " Error getting routing table"; + throw std::runtime_error(error_string); + } + + + // Get a tx buffer in case we need to do a transmit from the main thread itself + if ( (_rmr_tx_message = rmr_alloc_msg(_rmr_ctx, RMR_BUFFER_SIZE)) == NULL){ + // throw exception here .. + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " Error getting a send buffer"; + throw std::runtime_error(error_string); + } + + std::cout <<"Route Table received. Send buffer allocated" << std::endl; + _transmit = new std::mutex(); + +} + +// Send method that takes TLV (type/length/value) input +bool XaPP::Send(int type, int payload_len, void *payload){ + + if (likely(_is_ready)){ + if (likely(payload_len <= RMR_BUFFER_SIZE)){ + _rmr_tx_message->mtype = type; + memcpy(_rmr_tx_message->payload, payload, payload_len); + _rmr_tx_message->len = payload_len; + return Send(_rmr_tx_message); + } + else{ + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " message payload len " + std::to_string(payload_len) + " exceeds maximum buffer size " + std::to_string(RMR_BUFFER_SIZE); + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + } + } + else{ + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " rmr not ready to send"; + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + } + + return false; +} + +// Send method that takes TLV (type/length/value) input + MEID +bool XaPP::Send(int type, int payload_len, void *payload, unsigned char const * meid){ + if (!_is_ready){ + return false; + } + + _rmr_tx_message->mtype = type; + memcpy(_rmr_tx_message->payload, payload, payload_len); + _rmr_tx_message->len = payload_len; + rmr_str2meid(_rmr_tx_message, meid); + return Send(_rmr_tx_message); + +} + + +// Send method that takes a buffer +bool XaPP::Send(rmr_mbuf_t * rmr_tx_message){ + + if(likely(_is_ready && rmr_tx_message->len <= RMR_BUFFER_SIZE && rmr_tx_message->len > 0)){ + int i = 0; + rmr_tx_message->sub_id = RMR_VOID_SUBID; + while(i <= _num_retries){ + + //rmr_tx_message->state = 0; // fix for nng + rmr_tx_message = rmr_send_msg(_rmr_ctx, rmr_tx_message); + _num_attempts ++; + + if (! rmr_tx_message){ + // CRITICAL EROR .. log it + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " rmr_send returned NULL"; + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + return false; + } + else if (rmr_tx_message->state == RMR_OK){ + return true; + } + else if(rmr_tx_message->state == RMR_ERR_RETRY){ + i++; + _num_fails++; + } + else { + mdclog_write(MDCLOG_ERR, "Error : %s, %d. Unable to transmit RMR message. RMR state = %d, %s\n", __FILE__, __LINE__, rmr_tx_message->state, strerror(errno)); + return false; + } + + } + } + else{ + mdclog_write(MDCLOG_ERR, "Error: %s, %d Invalid state/message for RMR tx. Ready = %d, Message len = %d\n", __FILE__, __LINE__, _is_ready, rmr_tx_message->len); + return false; + } + + std::stringstream ss; + ss << "Error ::" << __FILE__ << "," << __LINE__ << " Could not send message of type " << rmr_tx_message->mtype << " and size " << rmr_tx_message->len << ". Reason = " << strerror(errno); + mdclog_write(MDCLOG_ERR, ss.str().c_str(), ""); + + return false; +} + + +void XaPP::Stop(void){ + // Get the mutex lock + std::lock_guard guard(*_transmit); + _listen = false; + + //Wait for all threads to stop + for(auto & t: thread_group){ + std::thread::id my_id = t.second.get_id(); + std::stringstream thread_id; + thread_id << my_id; + t.second.join(); + + } + + // Clear thread table ... + thread_group.clear(); + +} + +// default error handler if non specified by user +// pass through for now +void XaPP::_error_handler(rmr_mbuf_t *message){ +}; + + + + +//---------------------------------------- +// Some get/set methods +//--------------------------------------- + +std::string XaPP::getName(void){ + return std::string(_xapp_name); +} + +int XaPP::getStatus(void){ + return _is_ready; +} + +bool XaPP::_isRunning(void){ + return _listen; +} + + +void * XaPP::get_rmr_context(void){ + return _rmr_ctx; +} + +void XaPP::set_num_retries(int num_retries){ + if (num_retries < 0 || num_retries > MAX_RETRIES){ + throw "[xapp_utils] : Illegal value of num_retries. Must be positive integer between 0 and MAX_RETRIES\n"; + } + + _num_retries = num_retries; +} + +int XaPP::get_num_retries(void){ + return _num_retries; +} + + +unsigned long XaPP::get_Send_attempts(void){ + return _num_attempts; +}; + + +unsigned long XaPP::get_Send_fails(void){ + return _num_fails; +}; + +// Initialization of Log level +void init_logger(const char *AppName, mdclog_severity_t log_level) +{ + mdclog_attr_t *attr; + mdclog_attr_init(&attr); + mdclog_attr_set_ident(attr, AppName); + mdclog_init(attr); + mdclog_level_set(log_level); + mdclog_attr_destroy(attr); +} diff --git a/src/xapp_utils.hpp b/src/xapp_utils.hpp new file mode 100755 index 0000000..7e18d7d --- /dev/null +++ b/src/xapp_utils.hpp @@ -0,0 +1,263 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifndef XAPP_UTIL +# define XAPP_UTIL + +#define DEBUG 0 + +#define XAPP_NAME_LENGTH 128 +#define PROTO_PORT_LENGTH 16 +#define MAX_RETRIES 16 +#define MAX_WAIT_TIME 10 +#define RMR_TIMEOUT 50// in mill-seconds +#define RMR_BUFFER_SIZE 16384 +#define MAX_THREADS 8 + +#ifdef __GNUC__ +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) +#else +#define likely(x) (x) +#define unlikely(x) (x) +#endif + +void init_logger(const char *AppName, mdclog_severity_t log_level); + + +class XaPP { + + public: + + XaPP(char *, char *, int, int); + XaPP(char *, char *, int, int, int); + ~XaPP(void); + XaPP(XaPP &&) = default; // destructor freaks out with non-copyable thread otherwise .. + std::string getName(void); + int getStatus(void); + + // ideally can reduce tempate definitions to just two + // but for now leaving it open ... + + // template definition to allow a user defined + // processor to be started in multiple threads + template + void Start(messageProcessor &&); + + // template definition to allow a user defined + // processor and error handler if a send fails + // to be started in multiple threads + template + void Start(messageProcessor &&, errorHandler &&); + + // Template to allow a user defined processor to start + // on a single thread each time it is invoked + template + unsigned int StartThread(messageProcessor &&); + + // Template to allow a user defined processor and + // error handle to start // on a single thread each time it + // is invoked + template + unsigned int StartThread(messageProcessor &&, errorHandler &&); + + void Stop(void); + bool Send(int type, int payload_len, void *payload); + bool Send(int type, int payload_len, void *payload, unsigned char const *meid); + bool Send(rmr_mbuf_t * rmr_tx_message); + void * get_rmr_context(void); + void set_num_retries(int ); + int get_num_retries(void ); + unsigned long get_Send_attempts(void); + unsigned long get_Send_fails(void); + +private: + + void init(int); + void get_routes(); + void redisInit(); + void _error_handler(rmr_mbuf_t *); // pass through placeholder + + template + void _workThread(messageProcessor &&, errorHandler &&, XaPP *); + + char _xapp_name[XAPP_NAME_LENGTH]; + char _proto_port[PROTO_PORT_LENGTH]; + int _redis_port; + + int _is_ready; + bool _listen; + int _num_retries; + int _msg_size; + unsigned int _num_threads; + unsigned long _num_attempts; + unsigned long _num_fails; + + void* _rmr_ctx; + redisContext *c; + std::mutex *_transmit; + std::map thread_group; + rmr_mbuf_t * _rmr_tx_message; + + bool _isRunning(void); + +}; + + +template +void XaPP::_workThread(messageProcessor && msg_fn, errorHandler && error_handler, XaPP *parent){ + + + // Get the thread id + std::thread::id my_id = std::this_thread::get_id(); + std::stringstream thread_id; + thread_id << my_id; + + // Stats counters + unsigned long recvs = 0; + unsigned long attempts = 0; + unsigned long fails = 0; + + // Get the rmr context + void *rmr_context = parent->get_rmr_context(); + if (!rmr_context){ + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier + " Thread : " + thread_id.str() + " Listener cannot run : no context available"; + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + throw error_string; + } + + // Get buffer specific to this thread + rmr_mbuf_t *rmr_message; + if ( (rmr_message = rmr_alloc_msg(rmr_context, RMR_BUFFER_SIZE)) == NULL){ + // throw exception here .. + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string reason = strerror(errno); + std::string error_string = identifier + " Thread: " + thread_id.str() + " Error getting a buffer : " + reason; + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + throw error_string; + } + + int num_retries = this->get_num_retries(); + + mdclog_write(MDCLOG_INFO, "Starting thread %s", thread_id.str().c_str()); + + while(parent->_isRunning()){ + + rmr_message = rmr_torcv_msg(rmr_context, rmr_message, RMR_TIMEOUT); + //rmr_message = rmr_rcv_msg(rmr_context, rmr_message); + + if (rmr_message && rmr_message->state == RMR_OK){ + recvs++; + bool res = msg_fn(c,rmr_message); + } + + } + + // Clean up + try{ + rmr_free_msg(rmr_message); + } + catch(std::runtime_error &e){ + std::string identifier = __FILE__ + std::string(", Line: ") + std::to_string(__LINE__) ; + std::string error_string = identifier = " Error freeing RMR message "; + mdclog_write(MDCLOG_ERR, error_string.c_str(), ""); + } + + mdclog_write(MDCLOG_INFO, "Finished thread %s : Recv = %lu, Tx Attempts = %lu, Tx Fail = %lu", thread_id.str().c_str(), recvs, attempts, fails); +} + + +template +void XaPP::Start(messageProcessor && msg_fn){ + + std::lock_guard guard(*_transmit); + _listen = true; + + // Spin up the the workThreads ..... + for(unsigned int i = 0; i < _num_threads; i++){ + thread_group.insert(std::make_pair(i, std::thread( ([&](){_workThread(msg_fn, std::bind(&XaPP::_error_handler, this, std::placeholders::_1), this);})))); + } + +}; + +// template if calling function provides an error handler also +template +void XaPP::Start(messageProcessor && msg_fn, errorHandler && error_handler){ + + std::lock_guard guard(*_transmit); + _listen = true; + + // Spin up the the workThreads ..... + for(unsigned int i = 0; i < _num_threads; i++){ + //std::cout << "Starting thread number " << i << std::endl; + thread_group.insert(std::make_pair(i, std::thread( ([&](){_workThread(msg_fn, error_handler, this);})))); + + } + + +}; + +// Template to allow a user defined processor to start +// on a specific thread +template +unsigned int XaPP::StartThread(messageProcessor && msg_fn){ + + std::lock_guard guard(*_transmit); + _listen = true; + + _num_threads++; + thread_group.insert(std::make_pair(_num_threads, std::thread( ([&](){_workThread(msg_fn, std::bind(&XaPP::_error_handler, this, std::placeholders::_1), this);})))); + return _num_threads; + +}; + + +// Template to allow a user defined processor and error handler to start +// on a specific thread +template +unsigned int XaPP::StartThread(messageProcessor && msg_fn, errorHandler && error_handler){ + + std::lock_guard guard(*_transmit); + _listen = true; + + _num_threads++; + thread_group.insert(std::make_pair(_num_threads, std::thread( ([&](){_workThread(msg_fn, error_handler, this);})))); + return _num_threads; + +}; + + +#endif -- 2.16.6

    ;{%e&>TJ>te1gx4=Q>erWBr1}mgl5RTwF8Fo*FVT;i>#=|Ah5O_1Lo!name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ReportCharacteristics_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ReportCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportCharacteristics = { + "ReportCharacteristics", + "ReportCharacteristics", + &asn_OP_BIT_STRING, + asn_DEF_ReportCharacteristics_tags_1, + sizeof(asn_DEF_ReportCharacteristics_tags_1) + /sizeof(asn_DEF_ReportCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_ReportCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportCharacteristics_tags_1) + /sizeof(asn_DEF_ReportCharacteristics_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportCharacteristics_constr_1, ReportCharacteristics_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportCharacteristics.h b/asn1c_defs/all-defs/ReportCharacteristics.h new file mode 100755 index 0000000..68945a7 --- /dev/null +++ b/asn1c_defs/all-defs/ReportCharacteristics.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportCharacteristics_H_ +#define _ReportCharacteristics_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ReportCharacteristics */ +typedef BIT_STRING_t ReportCharacteristics_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ReportCharacteristics_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ReportCharacteristics; +asn_struct_free_f ReportCharacteristics_free; +asn_struct_print_f ReportCharacteristics_print; +asn_constr_check_f ReportCharacteristics_constraint; +ber_type_decoder_f ReportCharacteristics_decode_ber; +der_type_encoder_f ReportCharacteristics_encode_der; +xer_type_decoder_f ReportCharacteristics_decode_xer; +xer_type_encoder_f ReportCharacteristics_encode_xer; +per_type_decoder_f ReportCharacteristics_decode_uper; +per_type_encoder_f ReportCharacteristics_encode_uper; +per_type_decoder_f ReportCharacteristics_decode_aper; +per_type_encoder_f ReportCharacteristics_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportCharacteristics_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportCharacteristics.o b/asn1c_defs/all-defs/ReportCharacteristics.o new file mode 100644 index 0000000000000000000000000000000000000000..380aca3c8fe71d95fdb0d245efc3ce3320d10822 GIT binary patch literal 2960 zcmbtVO>7%g5FW?Sn5H;R%OR*p-2;V0YBt^~5>=2Y7w2aqxv7<;RRj{-jlHg296R!^ ztCj-=g-BSThznQ5fkThnxfpQ+4k#xi4peYKf(sl_4~TT;?acalyQwNM*1nnf-psst z^WGcZT`Vn)q*5T1f{QTF1O+IM4&;Io3orpWu=oC1U+EpJ^u78%?ho%_c^S(s*hiewK0lX#<@g!{uUe-k7?& z)ole`<27^6%+FX|rCIM;7tH*eX-$VXyug7|@2)}Wb}n`L#AxPITzn4kmw4_o;tSc_ z?ue6}EM<*r*~v@UT=94|vplwmqdm5&a5hh5w4Z0-uf(%WC*EX$H2#t(jggWl4bLXQ z80FXzxb|4s;zi^scrLQnS4wMmWPm~%#&k83)1Xcx(n+|ew8!%-D*RYfbEV>7GcLN$ z({Nl@m3$e;lUhC1*&)`#ZvqDUtt)GQkCEqC*4gK%Olb8l^W=BPlk6e!9pKBtSLiG( zE;)(wPT=0~9Sh7-F;ByJ8m#14&fpC`IjEYwQg+^0*>Ki3)>c-R6;fVYbAmfN-VvFE z(J>cFc)eWI+#P?%tN397rnwH(kLYy&4O`aXc@3u?D)m~444?aTnnWU8dI;$T4MM`8+n&ns{|yGZ)86BqrGOZbyt_~vt{q{g@uS{Sz)z=- zxHVj7knRSpBj+#Y`U>Om4*39aB6+W&HaHj2&!Ipu*%g*JrAy%!hppA~?) zHoCKlYDRLyY|MG^x=!_NVjFN%k$gjgunlcAN2pcrtGLA^XS8#Xnwu*}trH z7lowy-RB1(b)x!F-xGhqDWCY-2*G^@A9BLuh~@B$`%_PgpFKkG1sDD|QZ$P1e*)){ O{QI2$Cz>ybasNk5M@XIk literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReportIntervalMDT.c b/asn1c_defs/all-defs/ReportIntervalMDT.c new file mode 100755 index 0000000..5503344 --- /dev/null +++ b/asn1c_defs/all-defs/ReportIntervalMDT.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReportIntervalMDT.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_ReportIntervalMDT_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 12 } /* (0..12) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ReportIntervalMDT_value2enum_1[] = { + { 0, 5, "ms120" }, + { 1, 5, "ms240" }, + { 2, 5, "ms480" }, + { 3, 5, "ms640" }, + { 4, 6, "ms1024" }, + { 5, 6, "ms2048" }, + { 6, 6, "ms5120" }, + { 7, 7, "ms10240" }, + { 8, 4, "min1" }, + { 9, 4, "min6" }, + { 10, 5, "min12" }, + { 11, 5, "min30" }, + { 12, 5, "min60" } +}; +static const unsigned int asn_MAP_ReportIntervalMDT_enum2value_1[] = { + 8, /* min1(8) */ + 10, /* min12(10) */ + 11, /* min30(11) */ + 9, /* min6(9) */ + 12, /* min60(12) */ + 4, /* ms1024(4) */ + 7, /* ms10240(7) */ + 0, /* ms120(0) */ + 5, /* ms2048(5) */ + 1, /* ms240(1) */ + 2, /* ms480(2) */ + 6, /* ms5120(6) */ + 3 /* ms640(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_ReportIntervalMDT_specs_1 = { + asn_MAP_ReportIntervalMDT_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ReportIntervalMDT_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportIntervalMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportIntervalMDT = { + "ReportIntervalMDT", + "ReportIntervalMDT", + &asn_OP_NativeEnumerated, + asn_DEF_ReportIntervalMDT_tags_1, + sizeof(asn_DEF_ReportIntervalMDT_tags_1) + /sizeof(asn_DEF_ReportIntervalMDT_tags_1[0]), /* 1 */ + asn_DEF_ReportIntervalMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportIntervalMDT_tags_1) + /sizeof(asn_DEF_ReportIntervalMDT_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportIntervalMDT_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportIntervalMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportIntervalMDT.h b/asn1c_defs/all-defs/ReportIntervalMDT.h new file mode 100755 index 0000000..823f140 --- /dev/null +++ b/asn1c_defs/all-defs/ReportIntervalMDT.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportIntervalMDT_H_ +#define _ReportIntervalMDT_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportIntervalMDT { + ReportIntervalMDT_ms120 = 0, + ReportIntervalMDT_ms240 = 1, + ReportIntervalMDT_ms480 = 2, + ReportIntervalMDT_ms640 = 3, + ReportIntervalMDT_ms1024 = 4, + ReportIntervalMDT_ms2048 = 5, + ReportIntervalMDT_ms5120 = 6, + ReportIntervalMDT_ms10240 = 7, + ReportIntervalMDT_min1 = 8, + ReportIntervalMDT_min6 = 9, + ReportIntervalMDT_min12 = 10, + ReportIntervalMDT_min30 = 11, + ReportIntervalMDT_min60 = 12 +} e_ReportIntervalMDT; + +/* ReportIntervalMDT */ +typedef long ReportIntervalMDT_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ReportIntervalMDT_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ReportIntervalMDT; +extern const asn_INTEGER_specifics_t asn_SPC_ReportIntervalMDT_specs_1; +asn_struct_free_f ReportIntervalMDT_free; +asn_struct_print_f ReportIntervalMDT_print; +asn_constr_check_f ReportIntervalMDT_constraint; +ber_type_decoder_f ReportIntervalMDT_decode_ber; +der_type_encoder_f ReportIntervalMDT_encode_der; +xer_type_decoder_f ReportIntervalMDT_decode_xer; +xer_type_encoder_f ReportIntervalMDT_encode_xer; +per_type_decoder_f ReportIntervalMDT_decode_uper; +per_type_encoder_f ReportIntervalMDT_encode_uper; +per_type_decoder_f ReportIntervalMDT_decode_aper; +per_type_encoder_f ReportIntervalMDT_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportIntervalMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportIntervalMDT.o b/asn1c_defs/all-defs/ReportIntervalMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..5cfe4d562a655e8cb5a529be29acfde5cf7394f6 GIT binary patch literal 3296 zcmbtW&1w`u5bii?;%|%~h=PnD7)6Jjb&ZRHj>H%hjcbgUi>#A%NTS)_Kn06LcD>PSYm}_;+ zQ&tWu)fxp`U! zgr^EzQj~J^dAs?!QD*c?Un=f^oWfv~x5e%7hPqS4c|%<=<`9`ie&4>qzIqPsX7-Gn z!X`Rp*BLVrLv_ATk1RfFe8y|c!94p49Dqg7zK}uu9jOye{VQz#MEt;@tJS{HJmK`M z!9L%Km-(+-|IK|(vcDPnfCViRXKC}=%=PAwt(nKmSu?Z_cdj-{9Oxt1PpV1UZ~xH^ z4pr;RZl&pLp1Y0aT%4~yPi814>BV{S#Nv&a`DXsIo0JsM>ZDoT@zO+2srjDYpt+daM{lrg&$-6qry+H{#oItS^uVR z>HiOf*I8dz_!ZUk7y>}5NTmrOu6uiz^p z<;jcO1W)2THo;PsnV{E!0?#lANln&bYlb9N1yfA0)@j9LZ*|)3gsyOqcJd^coqKRL z%j4EFDdhk7Q3}Tv_3u@*#j@Ov-`3+K0h8ZPF+?oL{Sw?4f%!?|xQ{yigYpwq=RZRR zU{!HoF7YjeOT6%i?2vVS3lc8xfJ93^b77ZAz;AaX0P`+4^egN59me~@UP1DnZjp@q z`WNvH7q|dthkQqdhtFRQ=8e^gdD9`&PkUH? N; sorted by tag */ + asn_MAP_ReportingPeriodicity_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportingPeriodicity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicity = { + "ReportingPeriodicity", + "ReportingPeriodicity", + &asn_OP_NativeEnumerated, + asn_DEF_ReportingPeriodicity_tags_1, + sizeof(asn_DEF_ReportingPeriodicity_tags_1) + /sizeof(asn_DEF_ReportingPeriodicity_tags_1[0]), /* 1 */ + asn_DEF_ReportingPeriodicity_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportingPeriodicity_tags_1) + /sizeof(asn_DEF_ReportingPeriodicity_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportingPeriodicity_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportingPeriodicity_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportingPeriodicity.h b/asn1c_defs/all-defs/ReportingPeriodicity.h new file mode 100755 index 0000000..100f824 --- /dev/null +++ b/asn1c_defs/all-defs/ReportingPeriodicity.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportingPeriodicity_H_ +#define _ReportingPeriodicity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportingPeriodicity { + ReportingPeriodicity_one_thousand_ms = 0, + ReportingPeriodicity_two_thousand_ms = 1, + ReportingPeriodicity_five_thousand_ms = 2, + ReportingPeriodicity_ten_thousand_ms = 3 + /* + * Enumeration is extensible + */ +} e_ReportingPeriodicity; + +/* ReportingPeriodicity */ +typedef long ReportingPeriodicity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicity; +asn_struct_free_f ReportingPeriodicity_free; +asn_struct_print_f ReportingPeriodicity_print; +asn_constr_check_f ReportingPeriodicity_constraint; +ber_type_decoder_f ReportingPeriodicity_decode_ber; +der_type_encoder_f ReportingPeriodicity_encode_der; +xer_type_decoder_f ReportingPeriodicity_decode_xer; +xer_type_encoder_f ReportingPeriodicity_encode_xer; +per_type_decoder_f ReportingPeriodicity_decode_uper; +per_type_encoder_f ReportingPeriodicity_encode_uper; +per_type_decoder_f ReportingPeriodicity_decode_aper; +per_type_encoder_f ReportingPeriodicity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportingPeriodicity_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportingPeriodicity.o b/asn1c_defs/all-defs/ReportingPeriodicity.o new file mode 100644 index 0000000000000000000000000000000000000000..48054882cb28c6fc13990c6e4a2b199dd9798412 GIT binary patch literal 2816 zcmbtV&2G~`5T4ZK|EDcdB_uB4fG83%O;tn%2pN^M2tkR83P;yc;J6H0&m=ZrD|0NaCobI>{&v;#RGnf_j$} z@ayibC5YmJVB&H|4%of0@sSf)f&~jx@5rcM$C-N?btjIgMcIMP97I_lYuUWiGi&K( zKW#m%udd#$E^O_LVl}GXahKi2T79HZ{X>1lU0inSH!|Luu?VT2Y522WWHaPU=!~OJ z-r)?VaQgCb2UjRFM|ZS1av5O-@x#M7_?=U7#A4xB9#h<@WWXFP9*6@Ss2b21I{xG`lsl)b2K2tgYA zj~Z)!*|4vIcIwx)rrFr^)p!t<3&SK%)sUqxnyclibP$Cy-?N9!a?x(k8%0Y|JnHjw z6P2V{(sEW#dJg>n&zt^6pzy=fz_e%>sHmm+b`;~6EA->U&z>Ua#!9-Gz2o%$ipdF} z^KbIfbK>VjjGoRV8S&=s%6YSSkHl!i%R5Z?G2PIJzoet=w#_l|Wv5Dbk9B7KRFBl% z?FLjKQR!F1{o{YOpnOkl*M zHSH<_;>^9JagT0jvJV*os7k>8I(pheJO8Vt6KJo069gW~T z%j)0b{5?xwweTk5vicYJKu8~{eyZKB{|$1q)FNJ{dHg`MKc;b6I*0faFX2pG&u$10 w+FHV8(gBmdIN<{7sCRb#XOKIz_sFgA5BHX}pau1}u`K@w_wO^#WtyG;4_d17F#rGn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReportingPeriodicityCSIR.c b/asn1c_defs/all-defs/ReportingPeriodicityCSIR.c new file mode 100755 index 0000000..fabf6a5 --- /dev/null +++ b/asn1c_defs/all-defs/ReportingPeriodicityCSIR.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReportingPeriodicityCSIR.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ReportingPeriodicityCSIR_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ReportingPeriodicityCSIR_value2enum_1[] = { + { 0, 3, "ms5" }, + { 1, 4, "ms10" }, + { 2, 4, "ms20" }, + { 3, 4, "ms40" }, + { 4, 4, "ms80" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ReportingPeriodicityCSIR_enum2value_1[] = { + 1, /* ms10(1) */ + 2, /* ms20(2) */ + 3, /* ms40(3) */ + 0, /* ms5(0) */ + 4 /* ms80(4) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_ReportingPeriodicityCSIR_specs_1 = { + asn_MAP_ReportingPeriodicityCSIR_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ReportingPeriodicityCSIR_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportingPeriodicityCSIR_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicityCSIR = { + "ReportingPeriodicityCSIR", + "ReportingPeriodicityCSIR", + &asn_OP_NativeEnumerated, + asn_DEF_ReportingPeriodicityCSIR_tags_1, + sizeof(asn_DEF_ReportingPeriodicityCSIR_tags_1) + /sizeof(asn_DEF_ReportingPeriodicityCSIR_tags_1[0]), /* 1 */ + asn_DEF_ReportingPeriodicityCSIR_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportingPeriodicityCSIR_tags_1) + /sizeof(asn_DEF_ReportingPeriodicityCSIR_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportingPeriodicityCSIR_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportingPeriodicityCSIR_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportingPeriodicityCSIR.h b/asn1c_defs/all-defs/ReportingPeriodicityCSIR.h new file mode 100755 index 0000000..efe00ac --- /dev/null +++ b/asn1c_defs/all-defs/ReportingPeriodicityCSIR.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportingPeriodicityCSIR_H_ +#define _ReportingPeriodicityCSIR_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportingPeriodicityCSIR { + ReportingPeriodicityCSIR_ms5 = 0, + ReportingPeriodicityCSIR_ms10 = 1, + ReportingPeriodicityCSIR_ms20 = 2, + ReportingPeriodicityCSIR_ms40 = 3, + ReportingPeriodicityCSIR_ms80 = 4 + /* + * Enumeration is extensible + */ +} e_ReportingPeriodicityCSIR; + +/* ReportingPeriodicityCSIR */ +typedef long ReportingPeriodicityCSIR_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicityCSIR; +asn_struct_free_f ReportingPeriodicityCSIR_free; +asn_struct_print_f ReportingPeriodicityCSIR_print; +asn_constr_check_f ReportingPeriodicityCSIR_constraint; +ber_type_decoder_f ReportingPeriodicityCSIR_decode_ber; +der_type_encoder_f ReportingPeriodicityCSIR_encode_der; +xer_type_decoder_f ReportingPeriodicityCSIR_decode_xer; +xer_type_encoder_f ReportingPeriodicityCSIR_encode_xer; +per_type_decoder_f ReportingPeriodicityCSIR_decode_uper; +per_type_encoder_f ReportingPeriodicityCSIR_encode_uper; +per_type_decoder_f ReportingPeriodicityCSIR_decode_aper; +per_type_encoder_f ReportingPeriodicityCSIR_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportingPeriodicityCSIR_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportingPeriodicityCSIR.o b/asn1c_defs/all-defs/ReportingPeriodicityCSIR.o new file mode 100644 index 0000000000000000000000000000000000000000..b8f7e0e1a4efb72784ab2f322fd23840b7fd8fd3 GIT binary patch literal 2864 zcmbtVO>fgc5S`S8@=c34PytdvNEC@$aa2SF5;98D@>#4@6-VPZRugFKDBe`<1uF3e zIC9_zaOB95BjQ(Za;#>UWY>C+w)5+S=m=bkjTdITh@x z)GbiASSg(7hy&(cO?<>@hO)V#mpe4y1b$Q_YI^N{&vHioK8o|Eup@Nd4@D2u z4k1Wmf2qFg7fE~-Y^1)E>AZTwS3A9^SR5vCs`@Nn^J>M)v=@ak@AHRVv2ZKc97NS9 z9&~xyL)E0KW+ALTY;W17UU>d$pgLPo9YdpjprTgBZ$vTvnuUIx`1!7aPOS85=kHy= zjdDZiedxTL74b9L6qnd1UO#=gk0$SGdU^XqJ<|9K?2~!LKFu@k)(P*jPS2n6k-R+~ zCq3`0I>68vIShUkv^>W3bbmt_qrHRX?|F@l>>}z-|R90K1u{VD}RO zq;zZtVYC@!!{o`RL1T=)nS=q3he@{^;rZHeq9S``b$vcnLHI@z`9FIZ!>M-kAE7r_ z2bxb>y9zWpUV2o#|}N_z#9opt(Ms2XR#qu$6en;3ZzHi{s>* z>;FWKn%tut9nAke4$yD9D+0E={K&pBK7*DhxySOpo*+l-PvECFj}yG1lju(y_$A_T z`R{W4S3_Sma0BtU{9V2fpIJ}&Q|@N|uaTprD){MbkvBAaFFeR;WidqM|95(1?zhZ> zutee|g77$Lo5}ASa29n`J2U^2$eCx46jZ1v*q#~-8Zi6K92ftK>-RpNX4sqYe*yh^ B>p}nk literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.c b/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.c new file mode 100755 index 0000000..ba998b1 --- /dev/null +++ b/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.c @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReportingPeriodicityRSRPMR.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ReportingPeriodicityRSRPMR_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ReportingPeriodicityRSRPMR_value2enum_1[] = { + { 0, 17, "one-hundred-20-ms" }, + { 1, 17, "two-hundred-40-ms" }, + { 2, 18, "four-hundred-80-ms" }, + { 3, 17, "six-hundred-40-ms" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ReportingPeriodicityRSRPMR_enum2value_1[] = { + 2, /* four-hundred-80-ms(2) */ + 0, /* one-hundred-20-ms(0) */ + 3, /* six-hundred-40-ms(3) */ + 1 /* two-hundred-40-ms(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_ReportingPeriodicityRSRPMR_specs_1 = { + asn_MAP_ReportingPeriodicityRSRPMR_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ReportingPeriodicityRSRPMR_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReportingPeriodicityRSRPMR_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicityRSRPMR = { + "ReportingPeriodicityRSRPMR", + "ReportingPeriodicityRSRPMR", + &asn_OP_NativeEnumerated, + asn_DEF_ReportingPeriodicityRSRPMR_tags_1, + sizeof(asn_DEF_ReportingPeriodicityRSRPMR_tags_1) + /sizeof(asn_DEF_ReportingPeriodicityRSRPMR_tags_1[0]), /* 1 */ + asn_DEF_ReportingPeriodicityRSRPMR_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportingPeriodicityRSRPMR_tags_1) + /sizeof(asn_DEF_ReportingPeriodicityRSRPMR_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ReportingPeriodicityRSRPMR_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReportingPeriodicityRSRPMR_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.h b/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.h new file mode 100755 index 0000000..f2b90bf --- /dev/null +++ b/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReportingPeriodicityRSRPMR_H_ +#define _ReportingPeriodicityRSRPMR_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ReportingPeriodicityRSRPMR { + ReportingPeriodicityRSRPMR_one_hundred_20_ms = 0, + ReportingPeriodicityRSRPMR_two_hundred_40_ms = 1, + ReportingPeriodicityRSRPMR_four_hundred_80_ms = 2, + ReportingPeriodicityRSRPMR_six_hundred_40_ms = 3 + /* + * Enumeration is extensible + */ +} e_ReportingPeriodicityRSRPMR; + +/* ReportingPeriodicityRSRPMR */ +typedef long ReportingPeriodicityRSRPMR_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReportingPeriodicityRSRPMR; +asn_struct_free_f ReportingPeriodicityRSRPMR_free; +asn_struct_print_f ReportingPeriodicityRSRPMR_print; +asn_constr_check_f ReportingPeriodicityRSRPMR_constraint; +ber_type_decoder_f ReportingPeriodicityRSRPMR_decode_ber; +der_type_encoder_f ReportingPeriodicityRSRPMR_encode_der; +xer_type_decoder_f ReportingPeriodicityRSRPMR_decode_xer; +xer_type_encoder_f ReportingPeriodicityRSRPMR_encode_xer; +per_type_decoder_f ReportingPeriodicityRSRPMR_decode_uper; +per_type_encoder_f ReportingPeriodicityRSRPMR_encode_uper; +per_type_decoder_f ReportingPeriodicityRSRPMR_decode_aper; +per_type_encoder_f ReportingPeriodicityRSRPMR_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReportingPeriodicityRSRPMR_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.o b/asn1c_defs/all-defs/ReportingPeriodicityRSRPMR.o new file mode 100644 index 0000000000000000000000000000000000000000..50f8bf7a70a2c66301dc44ed122499df99261133 GIT binary patch literal 2864 zcmbtV&2G~`5Z=_~|F7kQgoMJWMIu%cRiXlk8kMvaqQy#80VmgWmL`zck-aI+1(0|F zjy?9kgK*>lcnGdML77?4B%7@hDlw8X^L_ix?s#_B`CNawK2s_Qwvu=%Mu=G$z>|c|UEv*jQV8TwdJW@5icNe&jB@OOaCA3|cDL>98ua8ed6dMNN-1H-Uz?`QdNSg< zx1Raaq=#XrFKaUHcWLT>=uuhINu;0tmiqNx`N4Lm+J~|Z$ubR+h0FX2H7RNpO0poqhkq~7L$S;7$J+$+`SvrRH`VV0Mxf%<|bAHp}IiI}; z;~3lPYZ7=qFA!=glV|q?0{oVHOprgOOZJ2Cb?`{>dF6Zb0ytcM1|HLTRAAX8A)d4F zYrsYIpHTjZr7v3;&vQ}zZ|Fd9AF+O{-LC&VaJbYGJf?Z{LbyMsQCT_%`3xTBOkKxr z2o2g=#6{8`kv}Qn2I#PNcKug?JG1w|tzc8Y-dYPmf9?FgQoI4( literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ReservedSubframePattern.c b/asn1c_defs/all-defs/ReservedSubframePattern.c new file mode 100755 index 0000000..678682a --- /dev/null +++ b/asn1c_defs/all-defs/ReservedSubframePattern.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ReservedSubframePattern.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_reservedSubframePattern_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 10 && size <= 160)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_mBSFNControlRegionLength_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_reservedSubframePattern_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 10, 160 } /* (SIZE(10..160)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_mBSFNControlRegionLength_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ReservedSubframePattern_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern, subframeType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubframeType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subframeType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern, reservedSubframePattern), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_reservedSubframePattern_constr_3, memb_reservedSubframePattern_constraint_1 }, + 0, 0, /* No default value */ + "reservedSubframePattern" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReservedSubframePattern, mBSFNControlRegionLength), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_mBSFNControlRegionLength_constr_4, memb_mBSFNControlRegionLength_constraint_1 }, + 0, 0, /* No default value */ + "mBSFNControlRegionLength" + }, + { ATF_POINTER, 1, offsetof(struct ReservedSubframePattern, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P185, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ReservedSubframePattern_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_ReservedSubframePattern_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReservedSubframePattern_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subframeType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reservedSubframePattern */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mBSFNControlRegionLength */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ReservedSubframePattern_specs_1 = { + sizeof(struct ReservedSubframePattern), + offsetof(struct ReservedSubframePattern, _asn_ctx), + asn_MAP_ReservedSubframePattern_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ReservedSubframePattern_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReservedSubframePattern = { + "ReservedSubframePattern", + "ReservedSubframePattern", + &asn_OP_SEQUENCE, + asn_DEF_ReservedSubframePattern_tags_1, + sizeof(asn_DEF_ReservedSubframePattern_tags_1) + /sizeof(asn_DEF_ReservedSubframePattern_tags_1[0]), /* 1 */ + asn_DEF_ReservedSubframePattern_tags_1, /* Same as above */ + sizeof(asn_DEF_ReservedSubframePattern_tags_1) + /sizeof(asn_DEF_ReservedSubframePattern_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ReservedSubframePattern_1, + 4, /* Elements count */ + &asn_SPC_ReservedSubframePattern_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ReservedSubframePattern.h b/asn1c_defs/all-defs/ReservedSubframePattern.h new file mode 100755 index 0000000..4ef96f0 --- /dev/null +++ b/asn1c_defs/all-defs/ReservedSubframePattern.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ReservedSubframePattern_H_ +#define _ReservedSubframePattern_H_ + + +#include + +/* Including external dependencies */ +#include "SubframeType.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ReservedSubframePattern */ +typedef struct ReservedSubframePattern { + SubframeType_t subframeType; + BIT_STRING_t reservedSubframePattern; + long mBSFNControlRegionLength; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ReservedSubframePattern_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ReservedSubframePattern; +extern asn_SEQUENCE_specifics_t asn_SPC_ReservedSubframePattern_specs_1; +extern asn_TYPE_member_t asn_MBR_ReservedSubframePattern_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ReservedSubframePattern_H_ */ +#include diff --git a/asn1c_defs/all-defs/ReservedSubframePattern.o b/asn1c_defs/all-defs/ReservedSubframePattern.o new file mode 100644 index 0000000000000000000000000000000000000000..fa213df12ceec84ed344b6fed7041e628d094e2e GIT binary patch literal 5040 zcmcInO>9(E6u#3zI`T6N0r&~s{UiHj#Pi{ySMh{Th;4tUzy&~ zKA_Zv6EW-Jrtj{6w|QgfmsYFun)TWx@ICVt8ZBEK`bQnw4+j}e?WWM?+O02_r;Q!$ z=kzRTepdCWH(=hdmX3ty&037$^p32Xo>l$cT&+!SNBbfMtohyw)?a(!4u0 zR+*eGIe9njc%EA-7+JNyd^kSuGu8}R37>=Wbz(b!Up9c>$l#!p1s`l7MqmS|*X z>q+SQw~lHYebVGpsrj4?_*i63hD{i*eUtj5;croRU1jP4!s{v`@y1mTt0(G4LJI4X zEC3MqLTeFubxi|mD zK0x~VICXm(R=;Zdu$mx%_h~m2Iwb1GIGTl(zAee4&cgc3sp}{u^B1e=Wyv%#(sb$*#~v;&@l=g7!B(%6bHjzxj-RC~#?i zQQ&)o{Z)ZW`=10ZgtyKSMIIw7{Pg_=LdmZeaS11dPx3CqmZ*j_b;hep}$rlZ-5a0f3O=BClRUNu2QA8i0qKs9p3tb?GApp0xWpLYuo9sYs1#?a{TuCnK3-ytt|*4BSn zc%qNS+n6O{LB zR0PF^jN(hsFlNv{CN~)ki2}<}Cg6zi?;6{&KaNY{`E#5E3^wxbqx@e;XR<|z{qg*v z9Gw46^1sQ3=mZqkeZ4ydVx#&;=;_1$Sbuy)^8C5}S-=|QU!{j&H;hY)O9kYU&>H3c zjh=k$kNNRc6wHr*X)*tX?V=~31!I!pQUUorXz0&*c-SI;JRg$K7K!;eA?pF^yp2y# zJ;Hu$`#A`R1?Rs&{)=o#oY&9r#~?JSUmN|X@w%{n2(dr!U!&X@`!3I)4%SY + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResetRequest */ +typedef struct ResetRequest { + ProtocolIE_Container_8180P22_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResetRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResetRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_ResetRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResetRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResetRequest.o b/asn1c_defs/all-defs/ResetRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..9e910d9b71cc333f12c9f43d66a324e34819c987 GIT binary patch literal 2464 zcmbtV&2G~`5T4Zh|Fjfw0C5Q?ibPj&REY{CWC&>sf;Ob8)SKfNt3{-7h&NKXKqYtx z#8YtN6*zL_z=21ACx97yrkN}bLS-a-zWH|kcD=iP(|o)#Q>lPR1@6Mw5*Fb5@i7i^ z7{DCNLOaP4+fH7NlFY(jnA$W>dk>r0*!%Cut>xO&qW{%T$Iqbg3q^DPi`OtgO(mJu zm+;hsmVk`aM&ovMVXHgp+fntFSu(Xnf0SGPYk%3)mW+R+;C1K(ru@g?XX)I$(k}|& zf!j@y(!-H5@vuUfc%U{1J6u3rfzv>mL`QmXvLMy_CSvjzkvOtF#mjiXpVj6e_TbDR z7Vrqcyy|n82SU`kmiVVr__xSYo&$E=X8j@O$MdQ&{|R+j{)vNQVu-SS_@KEG>hl!Z zXeSH(eC)}+)*oZ_q{pLfWFE573OAcix0>sXCI|@Qw4d2w^t^A2wD;SSX^U!`t;Qss z4U$+|p<=DWlO8tGzQugWFkJSRYpr^nXI?1UmwI=c;!&5EH6nhNeMntqOgw#6@mrX} z(|IHz|G69$uNGtCB?nO*dZ7?MpQGaSo-y$k75_!?G_Uh)>v>J=K9jxLvr!ieE_7{W*WF7)0PWSc_{HUg%+Qh7`Z!Kmv zieISCj|Q(|7_GqxCp>U$G09iUH8hBGZ%YSRUs;Q)3SfN)HQjvy+oHDlLj1wRIn=bDWFN`C-$1Uce!vaZI9^m$0BgGU z%IdH2p_DpQpKdR=KHZO0%KcLexc(&^)1uE7@jLjCtJ~*0j;HUVh3Pzo_yIn`X}^zU xWQi}ixxG^!iT})b=p57I&Y%8B?%qQR_L=-fh7z|ex>L&HJG}k}Dwd!d{~N@^uP6Wj literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResetResponse.c b/asn1c_defs/all-defs/ResetResponse.c new file mode 100755 index 0000000..55af179 --- /dev/null +++ b/asn1c_defs/all-defs/ResetResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResetResponse.h" + +asn_TYPE_member_t asn_MBR_ResetResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResetResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P23, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResetResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResetResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResetResponse_specs_1 = { + sizeof(struct ResetResponse), + offsetof(struct ResetResponse, _asn_ctx), + asn_MAP_ResetResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResetResponse = { + "ResetResponse", + "ResetResponse", + &asn_OP_SEQUENCE, + asn_DEF_ResetResponse_tags_1, + sizeof(asn_DEF_ResetResponse_tags_1) + /sizeof(asn_DEF_ResetResponse_tags_1[0]), /* 1 */ + asn_DEF_ResetResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ResetResponse_tags_1) + /sizeof(asn_DEF_ResetResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResetResponse_1, + 1, /* Elements count */ + &asn_SPC_ResetResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResetResponse.h b/asn1c_defs/all-defs/ResetResponse.h new file mode 100755 index 0000000..42012db --- /dev/null +++ b/asn1c_defs/all-defs/ResetResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResetResponse_H_ +#define _ResetResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResetResponse */ +typedef struct ResetResponse { + ProtocolIE_Container_8180P23_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResetResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResetResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_ResetResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResetResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResetResponse.o b/asn1c_defs/all-defs/ResetResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..a9dc31b4b92561a09c2b96428ec3579722b2a4ba GIT binary patch literal 2472 zcmbtV&2G~`5T4Zh|FjfwKyV2sibPj&s6+%3GK92%Xlq(U;^w->Y7j{r#apRdpa&#g zfg7*D3vlPikuxWb@B}bp?Oo3C&RVm1r@GYM-S6xD>TR{6YRmq9;rVa;hN`V7|3-;R>V!@CkHIhJ+C1kQ z1@OS`rcCMKj7vPM;1UnS;V=P^A%=5dJ!XI(JHpP9nf z5m^*{c1%QqTGnDBonIIJ9&yTZXab)b{jtEu>#7<2Giq0!$%~^Bi1U8*u(cXZT&PIL zdwJv+lk4}x>B)N9HPchvg0vY%+pTBq)<&}hY(xp(RXvPf_H~)~!IqV{EVvyuEj%Bj z3AaP_!qIh)npt0C#&j4p{6;OT-!kiGMdwqVl2c~F#(A#@pJy`a%OalMF2^m+!0BF+ zP@aXtDu>Y6gmVspc4$B$oX#%G2V)R^kwMg71y1YYUgf$bPNB+Q_jJ4q3b(%09kz6O zph3Nebqs1Z&p{0{awyVQKDuc)E~d${T-D8zn81PpD#?1i6kn|BXF64D8|~#>$H^o`YydsO~SEsYYXUWR=EURP+rDN_RBwm=EJmgPcQ6=ZVh|pZiV3T=fIfV9oGZRoO85 z32ImU&|FHcL-pw^X4j7pqf+)CV_@oE!Z|7OZV|qR4~5!&zB7D!KT-@_a0nmZ! + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResourceStatusFailure */ +typedef struct ResourceStatusFailure { + ProtocolIE_Container_8180P33_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResourceStatusFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_ResourceStatusFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResourceStatusFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResourceStatusFailure.o b/asn1c_defs/all-defs/ResourceStatusFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..949f01d33c3ec273ce17b7bbfaaace7afcafa937 GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7z5^zxnqw6Lrnyd){Z?dkO6IGMU9$=TS2sg&oPVd$Ikpr2op}@e}C$ zLE+f{+7B^7jU_4T%iz=lmw=p=M&nL(cC+12Wxsk`EQ;Ek-&dah#;=RoqVR7PI1fE! zQ~qP{+xc#ubHxEXu)8TzdN|_}4=cFDgX3fH6+|j<8ZPJ=9_hi!G5(U~n+X#~zK3~S z;=x%LjQlfWc!J0@>vKml-l68TOyGwS{4?T|XP}ACwf?5?(R-Oa@e^@Ze)qu=F+_P9 zK4>n7&Vv`qXgd#mMS6O#RZf~uI+|9ROC?!rg&WOho6Xfm6O0kYS(?jUw42JJ(Eat2 zLPaARtwzawzL&(NUFxGXyf(r{mP)LU^uoGdueBBy^mjCh_A}pAr}Tu4n{P|_qzOiS znek~i7~X6NPUo0}@=PhK7+TsU+~go=iv|?Jr79b?Jll?3r3k`ah@o`dLR?5=9 z*AR2n-_i}%bi7ejV`%*twX6O|eJD*Gs!z9`T|Y#OO4)yy_qzT?oa4gJ7UA3Y5Y_JU zla8nL;i6#`L--y(2IIT~7wF&;&F-D@nE3BH&w0e?vEQHmSoYc@1p6ACvHGxFb*H%E Nzv}Nlpkz$!_`kQ5%25CS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResourceStatusRequest.c b/asn1c_defs/all-defs/ResourceStatusRequest.c new file mode 100755 index 0000000..c0bd626 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResourceStatusRequest.h" + +asn_TYPE_member_t asn_MBR_ResourceStatusRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P31, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusRequest_specs_1 = { + sizeof(struct ResourceStatusRequest), + offsetof(struct ResourceStatusRequest, _asn_ctx), + asn_MAP_ResourceStatusRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusRequest = { + "ResourceStatusRequest", + "ResourceStatusRequest", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusRequest_tags_1, + sizeof(asn_DEF_ResourceStatusRequest_tags_1) + /sizeof(asn_DEF_ResourceStatusRequest_tags_1[0]), /* 1 */ + asn_DEF_ResourceStatusRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_ResourceStatusRequest_tags_1) + /sizeof(asn_DEF_ResourceStatusRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusRequest_1, + 1, /* Elements count */ + &asn_SPC_ResourceStatusRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResourceStatusRequest.h b/asn1c_defs/all-defs/ResourceStatusRequest.h new file mode 100755 index 0000000..983eb34 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResourceStatusRequest_H_ +#define _ResourceStatusRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResourceStatusRequest */ +typedef struct ResourceStatusRequest { + ProtocolIE_Container_8180P31_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResourceStatusRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_ResourceStatusRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResourceStatusRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResourceStatusRequest.o b/asn1c_defs/all-defs/ResourceStatusRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..e006842bd80b8dc964eede27a5866bb5c93a3008 GIT binary patch literal 2552 zcmbtVOKTKC5U$Pmek3M{C|*`CMlj7z47ezS(RC9QP1X&8+$OW*kcgX^xYG-I(SUzI z@RFkk!K+9AfgW@8PYC)8w5q3jx6<1KvKCBN)z@D=X8JL2n~#?!DittNfkha41_h`e z8`^;~1DJwIXeW8r@5RZQjATD=ColU+E@8Kq$t=#g51aWgY%I&}#rDgR{wt5iPoVP$ zg=7C~KfnYvmZYpNgHsP&0&tl$z4j*h^W5UIdPIHzZLqzA`G_=}ovCQKap9_De0 z2d7;y@=uN62_n<1&uz_khnm+ifgein&xli=Jx$!u`kTUs?`8JHPsCmM-3Lp=5anrj zzqu4T4_+vvtvvJ<>B-$zIcYxWYFcS7m1MOQt~H;oH&+@>Fh&?>X)b%w^Hdgv?zKw_ z6^*R58YT1jZW5bzsgKs++6Wt2DzQS+3+sNp*1GBI?`Rb5XTGaW=m{G)-T(E=8fYjU|&;62!AeMj$$Q4x*QlLrh=z=qBArO_OE0qMOALfhq(ca zWFnSV*5`5=#V=Ura=C&IVfIZFa1yia_-i;v-*(*i8yHJD z=kehZXy+;i(KhvsCLY;#{XN7;eiUjjRtHvL+(AWmW>C0;@r%Ale`(|lYT8d`ADMl> zikPeZrf#sNdFvezCV*w^5U)raM(JH-|M NRe%3IO2)*F{|kW6%QgT2 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResourceStatusResponse.c b/asn1c_defs/all-defs/ResourceStatusResponse.c new file mode 100755 index 0000000..e2c9037 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResourceStatusResponse.h" + +asn_TYPE_member_t asn_MBR_ResourceStatusResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P32, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusResponse_specs_1 = { + sizeof(struct ResourceStatusResponse), + offsetof(struct ResourceStatusResponse, _asn_ctx), + asn_MAP_ResourceStatusResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusResponse = { + "ResourceStatusResponse", + "ResourceStatusResponse", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusResponse_tags_1, + sizeof(asn_DEF_ResourceStatusResponse_tags_1) + /sizeof(asn_DEF_ResourceStatusResponse_tags_1[0]), /* 1 */ + asn_DEF_ResourceStatusResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ResourceStatusResponse_tags_1) + /sizeof(asn_DEF_ResourceStatusResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusResponse_1, + 1, /* Elements count */ + &asn_SPC_ResourceStatusResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResourceStatusResponse.h b/asn1c_defs/all-defs/ResourceStatusResponse.h new file mode 100755 index 0000000..df96eb2 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResourceStatusResponse_H_ +#define _ResourceStatusResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResourceStatusResponse */ +typedef struct ResourceStatusResponse { + ProtocolIE_Container_8180P32_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResourceStatusResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_ResourceStatusResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResourceStatusResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResourceStatusResponse.o b/asn1c_defs/all-defs/ResourceStatusResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..cfa694617da4ee904a873b0cd594ec422131810d GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1y&hRB#F6K#}MwE|rKtLWbbBAZSCQO1-&`v06kDNAX623*^R? z8$EL1#)Tt4fdhvg`57R70L<9C$#k?k1Gd6Lsf=wJaIssooqy#77oSNa04jiB0dy20obR78(=CO$b zr)@CuPfg%^h?H5MG_)UgIyUrMRtl#o4kn8;zjpKi%@z>po~Bi13)pe)zmA^HTRW zi%R9aG#m9ILfVTX-7>Y(7~LH~J?ToU5%+_dTdOv1E~&3cdk5HR0h~}XCa%9N;j^P? zfO*EJ-Jp331^61n=afyV!El{}pdE&nl}&1&;pZ8Cz;HS(7nRT7>(H(h>8p+mTOe>5 za=oW58NZYuo`o_5(MnSg{e&E1y23>_Zim@4S%xdxNfZ*8g@A~XPAA4i7TrX~Vs(9M zF_mHTf^|Nfc^SiKP1tWGOXOwa|FP8)v%V=3o&N1}t` zWh1~zB;Rv28Y?3!H}0UKJJZYE(fCL*A=p>oywQi@;=jZm|3!WO KAthsC#{U8Fiq0kg literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResourceStatusUpdate.c b/asn1c_defs/all-defs/ResourceStatusUpdate.c new file mode 100755 index 0000000..99749ab --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusUpdate.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResourceStatusUpdate.h" + +asn_TYPE_member_t asn_MBR_ResourceStatusUpdate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResourceStatusUpdate, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P34, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_ResourceStatusUpdate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResourceStatusUpdate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusUpdate_specs_1 = { + sizeof(struct ResourceStatusUpdate), + offsetof(struct ResourceStatusUpdate, _asn_ctx), + asn_MAP_ResourceStatusUpdate_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResourceStatusUpdate = { + "ResourceStatusUpdate", + "ResourceStatusUpdate", + &asn_OP_SEQUENCE, + asn_DEF_ResourceStatusUpdate_tags_1, + sizeof(asn_DEF_ResourceStatusUpdate_tags_1) + /sizeof(asn_DEF_ResourceStatusUpdate_tags_1[0]), /* 1 */ + asn_DEF_ResourceStatusUpdate_tags_1, /* Same as above */ + sizeof(asn_DEF_ResourceStatusUpdate_tags_1) + /sizeof(asn_DEF_ResourceStatusUpdate_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResourceStatusUpdate_1, + 1, /* Elements count */ + &asn_SPC_ResourceStatusUpdate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResourceStatusUpdate.h b/asn1c_defs/all-defs/ResourceStatusUpdate.h new file mode 100755 index 0000000..cf55819 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceStatusUpdate.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResourceStatusUpdate_H_ +#define _ResourceStatusUpdate_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ResourceStatusUpdate */ +typedef struct ResourceStatusUpdate { + ProtocolIE_Container_8180P34_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResourceStatusUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResourceStatusUpdate; +extern asn_SEQUENCE_specifics_t asn_SPC_ResourceStatusUpdate_specs_1; +extern asn_TYPE_member_t asn_MBR_ResourceStatusUpdate_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResourceStatusUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResourceStatusUpdate.o b/asn1c_defs/all-defs/ResourceStatusUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..56d55c13faf0f1b0fd85108c8c590742fdb84e9b GIT binary patch literal 2544 zcmbtVy>1gh5FY3FCnN-cghXR1f<#unU?(ZGeo^LD^3ZSU~4`8Bc6rgl!A_qzg zU>TNRC&|)5KTaAll7p<-+lyoZy?!dwIBh?zWs|7+B)b<|pOy7r{ml3URQ@2D*#F8; zFhR*kGOI6*Qx7Huq-<8JcZ;jd)}Si~#XF)bN^AZ=Y5se^B1&c9-^_6{^q5TfPrz^I z+&t%w19)I}lc)61;vx?#xX6Q(Q}9(p3UC%Kvc-(_;PjOLefHM|9Y?x{d0gbdc^8cS z=ce!$A}dCp2kdc(+^nSoKg_^CAx?RQ?D&fLH-%5;rO(7q#9jHF7fZwtW!>;`Z6kEu zyHG~^S?DXD7Z2+*eb$pUd(FzEQf$}5M(t&@wpFcx7Q#5~X0ji>?#jH(qaAmdyo*M? z>NaP+B-X7`6ZP?n5mwW##QaG=toW5u{dSpGFlTg*&C_&-tv0ULl<+0?Ax7tph;TXu z+HaLWBpavuOGNmxlJcR>GT}N0LAx{{5x%0Nd>FAz_$32BGH{yL71qsp9XqWed)JXs z3j}UM&JVOCleZECzQ7TPR+fS2r=*alFML#!cBITCS*mEKaYUdB0THL2PJ){(x~WXW z=2mkplTrM}=zKo$8ivst7{3#hC{W|{K)xnjM};u^1qw_jL$>2@ppDjc-uPP>OF7r^ zGbvz&`ZGz_*E~QY$#(rAVnjc3HXe&(DHrY`qqj21)$#a+AJAWnEF!1#q|cE)_uGiM z>hE%cC63pus0HTFkh|)S_)_XRRG(fuyMBlmm9qaVAG!Wzw3%eyEyDNlBUii6&m2$t zV-mwEhVUMK8Z-TlT%g03-0a>dkB N; sorted by tag */ + asn_MAP_ResourceType_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ResourceType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResourceType = { + "ResourceType", + "ResourceType", + &asn_OP_NativeEnumerated, + asn_DEF_ResourceType_tags_1, + sizeof(asn_DEF_ResourceType_tags_1) + /sizeof(asn_DEF_ResourceType_tags_1[0]), /* 1 */ + asn_DEF_ResourceType_tags_1, /* Same as above */ + sizeof(asn_DEF_ResourceType_tags_1) + /sizeof(asn_DEF_ResourceType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ResourceType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ResourceType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResourceType.h b/asn1c_defs/all-defs/ResourceType.h new file mode 100755 index 0000000..ed954e6 --- /dev/null +++ b/asn1c_defs/all-defs/ResourceType.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResourceType_H_ +#define _ResourceType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ResourceType { + ResourceType_downlinknonCRS = 0, + ResourceType_cRS = 1, + ResourceType_uplink = 2 + /* + * Enumeration is extensible + */ +} e_ResourceType; + +/* ResourceType */ +typedef long ResourceType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_ResourceType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_ResourceType; +extern const asn_INTEGER_specifics_t asn_SPC_ResourceType_specs_1; +asn_struct_free_f ResourceType_free; +asn_struct_print_f ResourceType_print; +asn_constr_check_f ResourceType_constraint; +ber_type_decoder_f ResourceType_decode_ber; +der_type_encoder_f ResourceType_encode_der; +xer_type_decoder_f ResourceType_decode_xer; +xer_type_encoder_f ResourceType_encode_xer; +per_type_decoder_f ResourceType_decode_uper; +per_type_encoder_f ResourceType_encode_uper; +per_type_decoder_f ResourceType_decode_aper; +per_type_encoder_f ResourceType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResourceType_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResourceType.o b/asn1c_defs/all-defs/ResourceType.o new file mode 100644 index 0000000000000000000000000000000000000000..27ef31f04187532ae160b8923454db9ac8f233c2 GIT binary patch literal 2616 zcmb7`PiqrV5WpwhYW>?<@gV3So{V6ZZYd}VvJ%r4(Hc^V$921Xw5iE%$nMtkqJjt> z{Q`auk2(4o{1gg;-s;TTndIeVTX5j*%=~8N{oA)MdEa=pHdCp9NCh6j*b@pcI6Jm| zZTheP^FVlpo5uVgCUVRo{%N|U(j@Ok>g7>S!EW+4?zH1KaT3>CTM%K(djwAFVKQc~ z#r7w&PxfjYl6rG}W|f1^EH=qAW2f2kR#57xKT~8}<8>6_^?Ln5wYI&J$5~#z=dQZT zOJ1%$@11wwU0!v)I|Vnpo3d%#S@?B46+qyeuqsENfawYcE6T*tJ2V|};LH@ff}{d- zBTjoO;uu^QX$Q`kuD0*uvx3~`$Oh|8&F4lHmza}s;G*G;O$RQF9kzO?7mfMvGyjB| z)?mw51dGPLH9293x-9>P&L6L<#`$1=Fm4248V64rYk`S_EZj>2Psg4=ZcfGy!%nVN zRGfED%AnYaPU8%_f8FtmX0RD%?L*bTbkz?twX1ov(F!vBm?uY#k~q!!+~1yxRlgkt zaS{|fY{!`{-fGq->(ZWzXelG1^J<2ZnQWdDQ3tL%fD9(A*D z2X)pj^uAb`8f4(^hFJ*iPMU(-PspK6&-Kt%olu9#lBk8T#_c3gi18@tb``!zH%>C; zu5WHHrCAvL$K5ScF4H#<(q7p2pkJ2Exn}4VGy8_}IZ5_gYN}$ezKxpRja~o6$`hC7 zYD#e*0j!u1ZK1F{6&hvp_qqPFB(knrehdAw`49Lq7;rw#pT?H)W&Q`q zXsBgurhMn|>HV0(Sl19wu?aKtewV?LTuQU|j{5n_^)e6o&gs8_J%740?01g{h7A9Z WV~9O1x}(bKfAao)G-}DT>;D1IN6O0p literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.c b/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.c new file mode 100755 index 0000000..80e21e0 --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RespondingNodeType-EndcConfigUpdate.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_RespondingNodeType_EndcConfigUpdate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RespondingNodeType_EndcConfigUpdate_1[] = { + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcConfigUpdate, choice.respond_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P95, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-eNB" + }, + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcConfigUpdate, choice.respond_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P96, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RespondingNodeType_EndcConfigUpdate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_RespondingNodeType_EndcConfigUpdate_specs_1 = { + sizeof(struct RespondingNodeType_EndcConfigUpdate), + offsetof(struct RespondingNodeType_EndcConfigUpdate, _asn_ctx), + offsetof(struct RespondingNodeType_EndcConfigUpdate, present), + sizeof(((struct RespondingNodeType_EndcConfigUpdate *)0)->present), + asn_MAP_RespondingNodeType_EndcConfigUpdate_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcConfigUpdate = { + "RespondingNodeType-EndcConfigUpdate", + "RespondingNodeType-EndcConfigUpdate", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_RespondingNodeType_EndcConfigUpdate_constr_1, CHOICE_constraint }, + asn_MBR_RespondingNodeType_EndcConfigUpdate_1, + 2, /* Elements count */ + &asn_SPC_RespondingNodeType_EndcConfigUpdate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.h b/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.h new file mode 100755 index 0000000..c973fdd --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RespondingNodeType_EndcConfigUpdate_H_ +#define _RespondingNodeType_EndcConfigUpdate_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RespondingNodeType_EndcConfigUpdate_PR { + RespondingNodeType_EndcConfigUpdate_PR_NOTHING, /* No components present */ + RespondingNodeType_EndcConfigUpdate_PR_respond_eNB, + RespondingNodeType_EndcConfigUpdate_PR_respond_en_gNB + /* Extensions may appear below */ + +} RespondingNodeType_EndcConfigUpdate_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* RespondingNodeType-EndcConfigUpdate */ +typedef struct RespondingNodeType_EndcConfigUpdate { + RespondingNodeType_EndcConfigUpdate_PR present; + union RespondingNodeType_EndcConfigUpdate_u { + struct ProtocolIE_Container *respond_eNB; + struct ProtocolIE_Container *respond_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RespondingNodeType_EndcConfigUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcConfigUpdate; + +#ifdef __cplusplus +} +#endif + +#endif /* _RespondingNodeType_EndcConfigUpdate_H_ */ +#include diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.o b/asn1c_defs/all-defs/RespondingNodeType-EndcConfigUpdate.o new file mode 100644 index 0000000000000000000000000000000000000000..362e1fb438fd74ec59862e0002ddf37406fba75c GIT binary patch literal 3040 zcmb_e&2G~`5T4X6l>ZhuAaOBLC5l9>xGE4pLZ)f@gP^qvJ-e=B(umZKVi!>%(LMoi zm2U?mLh1!bQ@vPi=$R2YOlqu@Y#MZtTv-o(1@ewo%Uw0<)`5> zGyI?7v69oMbxvYDacHR}secXQ^U@ywuX**Pvj|K{aGVW}TEC9#zN!Z`RX;n=YPhxl z13Rj=(S_wkl7J?7CH(x9l4ku4Wt7v`^#kt8mYap{mUI zhB&F=xePFdK|~D9P$ULS48hkCsj&H78Q}|j0uH7BMe26~&p)oZ#7P;D;|l(UMg>kO z7tDc0@j1?5#7}c~U>k6DU~|KOGu##S5%$w;y*n~u1`j~h4=2ryz!yj0oe?;cxDc!W z{3P<+=7yKzh2afTJpB&wf;dXjzGn;OlZA~^q%8WW+b9*C^ui!f86LW&IH}*B3%ioE z*jy?@5=&Tjy~fJ=YNH96k_+@ZQ7Xo1F1H`2aS(S`n;zb$DUOAGuWr|C?%i8uf^M?| z#^Yku06_O2iH@t$^LHYZ=+88nch)W8oo-w!Y9lJYdcB6>c`|z zq;1vF4ZFS=CQEazZXEao3X0Mh)dnkwcXvZPYAcG<&{|&GtR|@+yb!WSg+1;v}x zF?ob`QU1DoT2vm&PmrG9LyYo|VdLURz~ms>y5B~O`1<~DNj}vV7m6iO`lYmM0?oVE zl27N$Me&qAz(Hm6xKH|m8P~K_@HCNo3 PMSNGDAN_yeqVxX%`=%6F literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.c b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.c new file mode 100755 index 0000000..85ee585 --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RespondingNodeType-EndcX2Removal.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_RespondingNodeType_EndcX2Removal_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RespondingNodeType_EndcX2Removal_1[] = { + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcX2Removal, choice.respond_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P115, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-eNB" + }, + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcX2Removal, choice.respond_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P116, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RespondingNodeType_EndcX2Removal_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_RespondingNodeType_EndcX2Removal_specs_1 = { + sizeof(struct RespondingNodeType_EndcX2Removal), + offsetof(struct RespondingNodeType_EndcX2Removal, _asn_ctx), + offsetof(struct RespondingNodeType_EndcX2Removal, present), + sizeof(((struct RespondingNodeType_EndcX2Removal *)0)->present), + asn_MAP_RespondingNodeType_EndcX2Removal_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcX2Removal = { + "RespondingNodeType-EndcX2Removal", + "RespondingNodeType-EndcX2Removal", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_RespondingNodeType_EndcX2Removal_constr_1, CHOICE_constraint }, + asn_MBR_RespondingNodeType_EndcX2Removal_1, + 2, /* Elements count */ + &asn_SPC_RespondingNodeType_EndcX2Removal_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.h b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.h new file mode 100755 index 0000000..627b4db --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RespondingNodeType_EndcX2Removal_H_ +#define _RespondingNodeType_EndcX2Removal_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RespondingNodeType_EndcX2Removal_PR { + RespondingNodeType_EndcX2Removal_PR_NOTHING, /* No components present */ + RespondingNodeType_EndcX2Removal_PR_respond_eNB, + RespondingNodeType_EndcX2Removal_PR_respond_en_gNB + /* Extensions may appear below */ + +} RespondingNodeType_EndcX2Removal_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* RespondingNodeType-EndcX2Removal */ +typedef struct RespondingNodeType_EndcX2Removal { + RespondingNodeType_EndcX2Removal_PR present; + union RespondingNodeType_EndcX2Removal_u { + struct ProtocolIE_Container *respond_eNB; + struct ProtocolIE_Container *respond_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RespondingNodeType_EndcX2Removal_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcX2Removal; + +#ifdef __cplusplus +} +#endif + +#endif /* _RespondingNodeType_EndcX2Removal_H_ */ +#include diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.o b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Removal.o new file mode 100644 index 0000000000000000000000000000000000000000..74095bf951839339f6d0c678ef7c41360cf59977 GIT binary patch literal 3024 zcmb_dOK;Oa5T4X6ly_S=AaQXeB!Wb&I4TftIXiKFIr)LMy~;q(2SuvCwl!Fr_;cH%w1JwpE9 zy2nm9lA7lv=97k|dP3=6)A+cw#{X+vy=W1MDM^mA&SCS{c|BI=K@HW-_OleO%tH@H zr51*;SgYMLi))*^QMzm1wdSmH$=(%_ePCCu@|0gzo&H?haUsi+~_-%ncfgP z)jyU2Mn8#+ffWXs0TX@nbz}-`d{<_?5c~uj$@sJMZv>xzTvf@FGa%;`{RKe*&ZrQ~ z9-{o5XEgF>dDz1SobO={3^>O_fxlrp&E~r$GiGoD)cN5ea|mA1Cj>NB@CIyKn|gG7z}&>byE{Z=JxOU0x5 z!bpX9?N!&SEv+us>X11(DStakML!MXcH=Y-;`VagtHn`@ePP$D+SRga+qX}Yb%$*z zZV%gi0Q%pN>AX4%#7~QitZ^hJo_}RajGvL1oceAkpZ+OF_>gUgHml1|^?Sx&mYCcz z<1aA&JL9h~zDNbp$WgxfLioHCM|of+`<>L^M4xsuzok$bzDmJr`l%1rW|Dx_jVYi^ z+p1z1wtdk}NDHlY9N=vyCCX<~8>}GibVA&0D~i+5T3lHxC8;006mRrT%{5f3HRl64 zJYZNZSC5%RL>%8^>U5|HnTzl9ydRaAoXNA>gjCJ?V;*lrB1X}dx$DBq-p z*<-|m>KElzqUun6qV)P6a#Vi|A8w8$Oim)!;}&wH*VlhT>gjxOqg*oO_arV0Hg8@_ zJ?$?yrBnV8I~C@6AN2{zPCb|6L8+f4`BMrmV%`)!`ufogte+jE-~(+6+JRP33&lTk PklvB|_cj}**XsJ;(BBGl literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.c b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.c new file mode 100755 index 0000000..9945dbe --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RespondingNodeType-EndcX2Setup.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_RespondingNodeType_EndcX2Setup_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RespondingNodeType_EndcX2Setup_1[] = { + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcX2Setup, choice.respond_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P88, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-eNB" + }, + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EndcX2Setup, choice.respond_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P89, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RespondingNodeType_EndcX2Setup_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_RespondingNodeType_EndcX2Setup_specs_1 = { + sizeof(struct RespondingNodeType_EndcX2Setup), + offsetof(struct RespondingNodeType_EndcX2Setup, _asn_ctx), + offsetof(struct RespondingNodeType_EndcX2Setup, present), + sizeof(((struct RespondingNodeType_EndcX2Setup *)0)->present), + asn_MAP_RespondingNodeType_EndcX2Setup_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcX2Setup = { + "RespondingNodeType-EndcX2Setup", + "RespondingNodeType-EndcX2Setup", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_RespondingNodeType_EndcX2Setup_constr_1, CHOICE_constraint }, + asn_MBR_RespondingNodeType_EndcX2Setup_1, + 2, /* Elements count */ + &asn_SPC_RespondingNodeType_EndcX2Setup_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.h b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.h new file mode 100755 index 0000000..0b34286 --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RespondingNodeType_EndcX2Setup_H_ +#define _RespondingNodeType_EndcX2Setup_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RespondingNodeType_EndcX2Setup_PR { + RespondingNodeType_EndcX2Setup_PR_NOTHING, /* No components present */ + RespondingNodeType_EndcX2Setup_PR_respond_eNB, + RespondingNodeType_EndcX2Setup_PR_respond_en_gNB + /* Extensions may appear below */ + +} RespondingNodeType_EndcX2Setup_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* RespondingNodeType-EndcX2Setup */ +typedef struct RespondingNodeType_EndcX2Setup { + RespondingNodeType_EndcX2Setup_PR present; + union RespondingNodeType_EndcX2Setup_u { + struct ProtocolIE_Container *respond_eNB; + struct ProtocolIE_Container *respond_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RespondingNodeType_EndcX2Setup_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EndcX2Setup; + +#ifdef __cplusplus +} +#endif + +#endif /* _RespondingNodeType_EndcX2Setup_H_ */ +#include diff --git a/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.o b/asn1c_defs/all-defs/RespondingNodeType-EndcX2Setup.o new file mode 100644 index 0000000000000000000000000000000000000000..30938cd19fc712c12d566abc77ed961b00e767a1 GIT binary patch literal 3008 zcmb_d&2G~`5T4X+DgP<-P>BP90~Co^aa9Qe5;6_x4?k_xAHmIa9V@L!?I_+LDkR!B zfFnn4aDzwaBk%^i0^GR4%z8H&ZIY%E9cg!FzWrv$yR+Uss61a7$>l&x4jw_*(zqJ7#n4hu7L54JB8=CV20iLfbX_wKpr8$@x`8lQ`4_m+Q zKSG?OWF#y|wA(#IlU@g}3rQoRyf5a0)S$^FzaRCh0{^IhOUTP(Gxv{PT=VQA1fQuWC`}`w;mSL+Uwlc` M??X0Cr#IvO0Zx4cBme*a literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.c b/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.c new file mode 100755 index 0000000..1400e2d --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RespondingNodeType-EutranrCellResourceCoordination.h" + +#include "ProtocolIE-Container.h" +static asn_per_constraints_t asn_PER_type_RespondingNodeType_EutranrCellResourceCoordination_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RespondingNodeType_EutranrCellResourceCoordination_1[] = { + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EutranrCellResourceCoordination, choice.respond_eNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P109, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-eNB" + }, + { ATF_POINTER, 0, offsetof(struct RespondingNodeType_EutranrCellResourceCoordination, choice.respond_en_gNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P110, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "respond-en-gNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RespondingNodeType_EutranrCellResourceCoordination_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* respond-eNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* respond-en-gNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_RespondingNodeType_EutranrCellResourceCoordination_specs_1 = { + sizeof(struct RespondingNodeType_EutranrCellResourceCoordination), + offsetof(struct RespondingNodeType_EutranrCellResourceCoordination, _asn_ctx), + offsetof(struct RespondingNodeType_EutranrCellResourceCoordination, present), + sizeof(((struct RespondingNodeType_EutranrCellResourceCoordination *)0)->present), + asn_MAP_RespondingNodeType_EutranrCellResourceCoordination_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EutranrCellResourceCoordination = { + "RespondingNodeType-EutranrCellResourceCoordination", + "RespondingNodeType-EutranrCellResourceCoordination", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_RespondingNodeType_EutranrCellResourceCoordination_constr_1, CHOICE_constraint }, + asn_MBR_RespondingNodeType_EutranrCellResourceCoordination_1, + 2, /* Elements count */ + &asn_SPC_RespondingNodeType_EutranrCellResourceCoordination_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.h b/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.h new file mode 100755 index 0000000..3a30e67 --- /dev/null +++ b/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RespondingNodeType_EutranrCellResourceCoordination_H_ +#define _RespondingNodeType_EutranrCellResourceCoordination_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum RespondingNodeType_EutranrCellResourceCoordination_PR { + RespondingNodeType_EutranrCellResourceCoordination_PR_NOTHING, /* No components present */ + RespondingNodeType_EutranrCellResourceCoordination_PR_respond_eNB, + RespondingNodeType_EutranrCellResourceCoordination_PR_respond_en_gNB + /* Extensions may appear below */ + +} RespondingNodeType_EutranrCellResourceCoordination_PR; + +/* Forward declarations */ +struct ProtocolIE_Container; + +/* RespondingNodeType-EutranrCellResourceCoordination */ +typedef struct RespondingNodeType_EutranrCellResourceCoordination { + RespondingNodeType_EutranrCellResourceCoordination_PR present; + union RespondingNodeType_EutranrCellResourceCoordination_u { + struct ProtocolIE_Container *respond_eNB; + struct ProtocolIE_Container *respond_en_gNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RespondingNodeType_EutranrCellResourceCoordination_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RespondingNodeType_EutranrCellResourceCoordination; + +#ifdef __cplusplus +} +#endif + +#endif /* _RespondingNodeType_EutranrCellResourceCoordination_H_ */ +#include diff --git a/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.o b/asn1c_defs/all-defs/RespondingNodeType-EutranrCellResourceCoordination.o new file mode 100644 index 0000000000000000000000000000000000000000..a638f787b145e596f6b0a16fd9285386ccf62067 GIT binary patch literal 3168 zcmcIlOK;Oa5T4X6ly?gpkhqu=MIu&QDhME$+B2k=m8LLG;r02Oz-_ z35nm(BL@x~kl@&#z?l==xWUYNHyLdbS^}(;oo~LKM|O6+yHkHKGgK;p9woQ~9Zjp#_yZU;bE~Us3x7+VRCg>3tZot+3p4Z@7L0V!*O4i)_`b5(k^BhkDt%AM_mV%VG=ORw zQQi)(Y1(KBj%gL_HX{2D&uHY2bG3~vIN8P=Sa5=?5_?$aakk$zWwDLC?jP>-q7VPJ z5C5?b4}X4PI1z+-68QC{K;ZonbVmpdxN?FhO>&V1t_<{WdTEdth4Uld8^k%^jH6uV zzv~YYLWGUUxT#{?tIrG&LvDZ354^d>d9MzIP{j$?6Cu|rw4bFSjnd|PJ@C>*;98so zRkvF4-OA0wSh*G6JczL!ShoS_=gH)C?-4)FV$>8So`2PIj6bU|37_$FhwUnTSxJh+ zzoOTSKc_H>ea4?+{5Qs*XZ!>O#zBJY^%u$ar8%+#C*Rr-;R;HT6>?1@5kD8;tcD^4 zXC=?U$x>3t(sin+#?4SJ6Eak%nMNUz(nZU{)deR?H#TBCa3@Jc?947aDd!@Lp2~mp zSJOrGroB_m`KWP)VO6d+a|sb~{ETU_MiUNwu7w6*YoO$1l+;_M|0}~zt7iVIxIo;b zHc(RgUo&{#$Fx+#U$6iF1$i13BcUzX&U70gy-u|bCDEQL=&16i-lEq^=f9xr7g6@g zZx0m){5>MZF6j1rA5pLT@6^+!^H6@G%=`gzlwYMoRE%Xs*qTt%)Emf?zghoX1Rd$P!6ZjZVZ2B{piIv fdlxDAK!<|ktC7%9<(=8fe_x&7%OXsBHvNAApD9H5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.c b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.c new file mode 100755 index 0000000..911b656 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResponseInformationSeNBReconfComp-RejectByMeNBItem.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItem, cause), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 2, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItem, meNBtoSeNBContainer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MeNBtoSeNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "meNBtoSeNBContainer" + }, + { ATF_POINTER, 1, offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P22, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItem_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* meNBtoSeNBContainer */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItem_specs_1 = { + sizeof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItem), + offsetof(struct ResponseInformationSeNBReconfComp_RejectByMeNBItem, _asn_ctx), + asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ResponseInformationSeNBReconfComp_RejectByMeNBItem_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem = { + "ResponseInformationSeNBReconfComp-RejectByMeNBItem", + "ResponseInformationSeNBReconfComp-RejectByMeNBItem", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1, + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1[0]), /* 1 */ + asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItem_1, + 3, /* Elements count */ + &asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.h b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.h new file mode 100755 index 0000000..26e9135 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResponseInformationSeNBReconfComp_RejectByMeNBItem_H_ +#define _ResponseInformationSeNBReconfComp_RejectByMeNBItem_H_ + + +#include + +/* Including external dependencies */ +#include "Cause.h" +#include "MeNBtoSeNBContainer.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ResponseInformationSeNBReconfComp-RejectByMeNBItem */ +typedef struct ResponseInformationSeNBReconfComp_RejectByMeNBItem { + Cause_t cause; + MeNBtoSeNBContainer_t *meNBtoSeNBContainer; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSeNBReconfComp_RejectByMeNBItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_RejectByMeNBItem_specs_1; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_RejectByMeNBItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSeNBReconfComp_RejectByMeNBItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.o b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-RejectByMeNBItem.o new file mode 100644 index 0000000000000000000000000000000000000000..cff2cd8bc6b85dd7ad4a756c7b24db128f0d80fb GIT binary patch literal 3432 zcmb_eOK;Oa5Z=^KT3&5=3Be_t2okaCw1NmEWE#>3qOECFi35`B8utOQUBw&JUTBZp zxWbJiKY|~?ks}9w0Vj|+a6vG$-ibFGr&K8;?au5skKLV}U3;(oXnLSfU_=FWk7Xl5 z8QUDrWLt&d@GKYgN3Q3z>lN#S{!bdmxAYk&!=|h0iNSQ zn8i7aq_0IE_ljZkQXGH}fbOvI4+tYv7zg8(pbbL%0|e~IgmJNrLpurWf5nARx#R#^ zRWy2DagRtko}y_ENJfsiP;-oXpctsPu>+#~`CcmtSO~SlV=Sy%9C2?e3Yu)IUas%( zAWER*62@j~wL8Vq%33Spt>SHS(i|^aEitlQSygj<(zI@*csfCk9_KyAe&n8&(XsL@ zfYGr770=I#0W;*0!H##qw*V=yVR7E5R6PxLqRW0q+LHq71nDC*j6-KRB+#@o0M8>s zR9LshV5hr5Kn!-O3;zwsn6j@;X;Fnlk9JuzHroS#3OL5ump(&yP(belp5=k|`?W`$ zZ$0oqD8jt;^zp!%KJ${ueNdlv|M@zCMd$12a&IGXEfHbFVyOc1Q)&w32(v`=II`%mipOanxJK;){k?t9r)_@YT}KdGsEwc{??Gr zX~sPE<3{`8X+KA9wK8Ejl}cKbS&wC^-fFscI!?8RILR30GIl_S+(={WuH*C~Y%}d0@^gtdtY(`7e|W_9b_0h<8Hi`sYt#^|r-|Go4tY4&J~MEs?cX`Mm|-6!df=c^L=5#IwP$*SE? zeM3^I+u}IS^cSsP^0Qz!0!_~!{^97g3lJ;H$Jx??>+|DVn& + +/* Including external dependencies */ +#include "MeNBtoSeNBContainer.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ResponseInformationSeNBReconfComp-SuccessItem */ +typedef struct ResponseInformationSeNBReconfComp_SuccessItem { + MeNBtoSeNBContainer_t *meNBtoSeNBContainer; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSeNBReconfComp_SuccessItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp_SuccessItem; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_SuccessItem_specs_1; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_SuccessItem_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSeNBReconfComp_SuccessItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-SuccessItem.o b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp-SuccessItem.o new file mode 100644 index 0000000000000000000000000000000000000000..cd365aa533455a129277363c7a436dc42509a3f6 GIT binary patch literal 3184 zcmb`JOK;Oa5P&x|ukvckLqg(!;X;wf5{F7uAR*I`mLl4QL_HhVxDOF~qj-agklOwO zdgMmy8%L1RiFSAP+nL$-I=l53^JAqFBPp@REUyt|taB#U z-BfkiB%5H(FzJXm2^Zsa(T#k$CE`}NJl6~Z5wF)o)G4=mK@cX%q70)v#6N51Sj_sc zKx4xi436>07R%othRKnt7#9;R+bKxL6&FGsl4+<-YJ}!Oi0V`lr_$s&R(*|KGE_W* z&6NVTxF%xhZ^dDkZPm;5Z5hT1Y<|MnLap}Do?cz+#je*>PrhWrjO< zGOoooRUE?!_N#C&tV1KrJ+1yu<_t9pennzI4@F|JlLOcRQexxGRxP@x#ZC{{$I6}> zY^8is9QO@HyH+sD@eCTd#m*Wet6J>*5Poie{{S+j&1+Lx+<=AF&ks4?8^UYAG0vVc zJW%EPl;`VEQT+3eINyfw(H;~YFh7aCr}cU7uMd%@Jw%@LHxkcDotK_8Mt81;?IXL3 zh`Jtm-06T<8eXgZa<#r(t20tOcy1Hfh5IP8NzFA!oK&_LtwwD`zoZie`h1oO9thf_ zMpsA?h<5+A=)WP}Z1uj=sNyZl1dfMxTJw8iayq-nNyiA+Fatr3x50*lLif((&$8y! zeoEqoyensP7HLl;7#{%G)CF5vDFwX08t7frz3I z&LWS64Ee(HYB`a9@FpAU|K!)f8Rw4QDP3H>qUmZG`{X8Q$jmQ-+qXEZnEtn+8Ta6* z{&&F_V^$&Q;;IVQA?W&kW0MQ1X#9J?Q7XoO?Ud%(BT(_%<>n~W_SJ&g%KrjT{0dV4 zbiP)A74`o``BlV!GYVz=X0^(-!MRrh5ubs`4V(O+Yf& h5C379XBQCLr$01CaI=4W8;ktEtNr_c!89@b{{XpKKtTWi literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.c b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.c new file mode 100755 index 0000000..f2ef174 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResponseInformationSeNBReconfComp.h" + +#include "ResponseInformationSeNBReconfComp-SuccessItem.h" +#include "ResponseInformationSeNBReconfComp-RejectByMeNBItem.h" +static asn_per_constraints_t asn_PER_type_ResponseInformationSeNBReconfComp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ResponseInformationSeNBReconfComp_1[] = { + { ATF_POINTER, 0, offsetof(struct ResponseInformationSeNBReconfComp, choice.success), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseInformationSeNBReconfComp_SuccessItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "success" + }, + { ATF_POINTER, 0, offsetof(struct ResponseInformationSeNBReconfComp, choice.reject_by_MeNB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseInformationSeNBReconfComp_RejectByMeNBItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reject-by-MeNB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSeNBReconfComp_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* success */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* reject-by-MeNB */ +}; +static asn_CHOICE_specifics_t asn_SPC_ResponseInformationSeNBReconfComp_specs_1 = { + sizeof(struct ResponseInformationSeNBReconfComp), + offsetof(struct ResponseInformationSeNBReconfComp, _asn_ctx), + offsetof(struct ResponseInformationSeNBReconfComp, present), + sizeof(((struct ResponseInformationSeNBReconfComp *)0)->present), + asn_MAP_ResponseInformationSeNBReconfComp_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp = { + "ResponseInformationSeNBReconfComp", + "ResponseInformationSeNBReconfComp", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ResponseInformationSeNBReconfComp_constr_1, CHOICE_constraint }, + asn_MBR_ResponseInformationSeNBReconfComp_1, + 2, /* Elements count */ + &asn_SPC_ResponseInformationSeNBReconfComp_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.h b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.h new file mode 100755 index 0000000..25fb489 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResponseInformationSeNBReconfComp_H_ +#define _ResponseInformationSeNBReconfComp_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ResponseInformationSeNBReconfComp_PR { + ResponseInformationSeNBReconfComp_PR_NOTHING, /* No components present */ + ResponseInformationSeNBReconfComp_PR_success, + ResponseInformationSeNBReconfComp_PR_reject_by_MeNB + /* Extensions may appear below */ + +} ResponseInformationSeNBReconfComp_PR; + +/* Forward declarations */ +struct ResponseInformationSeNBReconfComp_SuccessItem; +struct ResponseInformationSeNBReconfComp_RejectByMeNBItem; + +/* ResponseInformationSeNBReconfComp */ +typedef struct ResponseInformationSeNBReconfComp { + ResponseInformationSeNBReconfComp_PR present; + union ResponseInformationSeNBReconfComp_u { + struct ResponseInformationSeNBReconfComp_SuccessItem *success; + struct ResponseInformationSeNBReconfComp_RejectByMeNBItem *reject_by_MeNB; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSeNBReconfComp_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSeNBReconfComp; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSeNBReconfComp_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.o b/asn1c_defs/all-defs/ResponseInformationSeNBReconfComp.o new file mode 100644 index 0000000000000000000000000000000000000000..eb8127f8f5f01b00c95db4254ec20cc9ac9e060f GIT binary patch literal 3072 zcmb_dJ8u&~5MJjJ2=4@th(u$MfFR+O9Yw+d2^}$cA(B{*BGI7B`Pe)lzO#I1zzs=D z1tldC4RrK0`~-dpf{qSm_IB)HZDS)c((TNAJKxOhdw>4H!bm0~NHXG%=y-&J9`D$$ zHeE3x&WIymW4z7b{x2h%HlV4fxE_VES`N3OM$J!lqi|iV&Q(+pg^FWJw|&|Vlqzlpfr?|%P)}5l1=7?DR&p879r_O*t#`xk6KWg_nh*%+Jcg^%SQ}y*19$sQA%y&YiAZndWfx zN_FRRgwqWI;y{I7;)t;>_zEBymcMKw9%+0`92ozT(XTXq)ObP^+ZNXC-~@lx@yEy& z*|vr89h|{{ALnk{cEriH%?(GK;I6j6K|9IDyJI4zU;$|VaMIO2c(D&2_QA!#3qc0L zk3+9KU-6PwU3miu9$Y1H((nqJw=!25f|ACrmrFy$#&s3Ml>Kgb2u9*>&!{~^xi`Ns zn4*7ut?ZSS)|N~2B2{K!{%)A){-H8?>*)zyPE_q5SQUMq=URB0HI*+u*sz>zw{)Hl z8>hX4_$15W8XIwbDwi03*4U`%oMAlPK?m@mZ0a`sAASnnGW?veQGI3jDTaS%_<4p; zV?hv97?1A&3Ln=Wr%cAJTH;rQge{or9kLSjA`$YjpZG#n;m(we2px`i$JD1=XqT2FxyO58@U7) zVtkFU)5Qja);0Bn$dY07HPATcHvf$kN3LD}26P}cLjgt;|FVVC`cfVj`q8%Qe*p|7 zPl2f`vPP4-4F8A^ptQd5w0O=Z25#%Y}HP z_o0()9{1iJkmVMFII}6|`J^XZGUP&HBAg J)3jTg{~Mv%9<%@e literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.c b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.c new file mode 100755 index 0000000..5525230 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResponseInformationSgNBReconfComp-RejectByMeNBItem.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItem, cause), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cause" + }, + { ATF_POINTER, 1, offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P51, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItem_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItem_specs_1 = { + sizeof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItem), + offsetof(struct ResponseInformationSgNBReconfComp_RejectByMeNBItem, _asn_ctx), + asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ResponseInformationSgNBReconfComp_RejectByMeNBItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem = { + "ResponseInformationSgNBReconfComp-RejectByMeNBItem", + "ResponseInformationSgNBReconfComp-RejectByMeNBItem", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1, + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1[0]), /* 1 */ + asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItem_1, + 2, /* Elements count */ + &asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.h b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.h new file mode 100755 index 0000000..7936fbd --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResponseInformationSgNBReconfComp_RejectByMeNBItem_H_ +#define _ResponseInformationSgNBReconfComp_RejectByMeNBItem_H_ + + +#include + +/* Including external dependencies */ +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ResponseInformationSgNBReconfComp-RejectByMeNBItem */ +typedef struct ResponseInformationSgNBReconfComp_RejectByMeNBItem { + Cause_t cause; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSgNBReconfComp_RejectByMeNBItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_RejectByMeNBItem_specs_1; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_RejectByMeNBItem_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSgNBReconfComp_RejectByMeNBItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.o b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-RejectByMeNBItem.o new file mode 100644 index 0000000000000000000000000000000000000000..65120d2e9047067e3ce7726cd05c0eb091c06260 GIT binary patch literal 3184 zcmb_e&2G~`5T4ZhmA|$?B_u9JLLx}SirWGaAY>BKA4J=bsy8I#n(YrHb`)<=dZB#- zIKo@>0XXmoJOBsIoZtZv%-Fl}X5*A9Wu)Dm`DVV^U+;Ra`fPqImjfv|cm$~>QGnK& zRCi+4fk~KvI*VFi5V56TGi*0Kz7qy(TPx){^TS}X5;j|fI(yB0Ufx}1E9E85nrWV+ zX!=-mdsvRKVU9y^;v6;qA!%Y4<)McnS&kp?N6fjwl20VfCGyNKjq98BR+nFgF5i0_Jc=`e-zS>QK> z-JfS%p#6;jXZrzR8E}3Ger^E&jmVTTuWb=g!iAn3hz3|3g1Ya?cuVU6SE2%B;cqfH|o z|7y)$t3F?^u2iZZ6<@h_}6+fG2Y-*GHLSvOsIK$|&Th#e8*omH5t(dsb_QJoLjx z?*gfW0mt#Owp*H+wQF~5^?2g3QBE;{e13FXo@v6RPI<0Ug+e%eB_x}(zZ%yvW6GCNz+WL5&9m1F-5is)dtHC zn@xsC(F#J&tc8{JLc~4)O)`h$)Yp(qYa-V}=5nN>wPG22=ylWx(_adw7tyci{F~^e zJs6dL8@ZHo28$|=FlJQ{b#=eVsA?VVkpiFDY_5SH@%;J9+`}aQ1l2$tZFK{D1*Z=?k literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.c b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.c new file mode 100755 index 0000000..2403786 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResponseInformationSgNBReconfComp-SuccessItem.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_SuccessItem_1[] = { + { ATF_POINTER, 2, offsetof(struct ResponseInformationSgNBReconfComp_SuccessItem, meNBtoSgNBContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MeNBtoSgNBContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "meNBtoSgNBContainer" + }, + { ATF_POINTER, 1, offsetof(struct ResponseInformationSgNBReconfComp_SuccessItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P50, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ResponseInformationSgNBReconfComp_SuccessItem_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSgNBReconfComp_SuccessItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* meNBtoSgNBContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_SuccessItem_specs_1 = { + sizeof(struct ResponseInformationSgNBReconfComp_SuccessItem), + offsetof(struct ResponseInformationSgNBReconfComp_SuccessItem, _asn_ctx), + asn_MAP_ResponseInformationSgNBReconfComp_SuccessItem_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ResponseInformationSgNBReconfComp_SuccessItem_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem = { + "ResponseInformationSgNBReconfComp-SuccessItem", + "ResponseInformationSgNBReconfComp-SuccessItem", + &asn_OP_SEQUENCE, + asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1, + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1[0]), /* 1 */ + asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1) + /sizeof(asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ResponseInformationSgNBReconfComp_SuccessItem_1, + 2, /* Elements count */ + &asn_SPC_ResponseInformationSgNBReconfComp_SuccessItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.h b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.h new file mode 100755 index 0000000..c5e6c5f --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResponseInformationSgNBReconfComp_SuccessItem_H_ +#define _ResponseInformationSgNBReconfComp_SuccessItem_H_ + + +#include + +/* Including external dependencies */ +#include "MeNBtoSgNBContainer.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ResponseInformationSgNBReconfComp-SuccessItem */ +typedef struct ResponseInformationSgNBReconfComp_SuccessItem { + MeNBtoSgNBContainer_t *meNBtoSgNBContainer; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSgNBReconfComp_SuccessItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem; +extern asn_SEQUENCE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_SuccessItem_specs_1; +extern asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_SuccessItem_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSgNBReconfComp_SuccessItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.o b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp-SuccessItem.o new file mode 100644 index 0000000000000000000000000000000000000000..21c676aaadf2487c903a9bbe52fea6b16be433a3 GIT binary patch literal 3184 zcmb_eOK;Oa5Z=_h%Bw9835f%S3q>L(E=5!zA=8kSBASLoJsa1!4-wl@yg@}sZT|s1 z@+Xjb<;G9o!ksHO_ysUy&&1n}BS>MQ-TCI*nc4R`yS3*FW2KT{DTzlSx0n^8b1KJ9 z3LP;iCPXtxI&qW)OVN7V4L!LPN3D(ed^7OlXuTSTopP(^`$3W{$so*A{58_YqT9m~ zjSXwic+AJXsDFWIE=MvkFBV+36HxwFUPyIFrooz27@iALY_n#bwa(*M)irk5k@zsE z&&wFMxEe>&+lqp&*s7Il+cJm}*!)C@#cK6|Ila2pi)7EdZ_QejvfWE9d&i!$Dzlb- zE8~^iI>a#?6F&?0!ZTn;8!FD^iU**I6gqzz?8(eFsVh2G{ngP|A_p# z!6fjJc-%J>Df8MSk87~d>iOZoJ45&?@R(0u$1nnb- z$02t;^0?ChuQc3N?Zs-XUabiREyMVqDS*e04s{1rG%8 zQKK8n*pJ)&*P{Q1xN|di?Z!PmHQ5`a-a@`7aBP%QoS$9f)pLA>&L8r48%(nK-s${P zYDa#GFscS&KKp6Q;gi(DVjJ$ele<=KA!lE!XGE z^AuL{Hk95PXxYv5CLlP6K3^-q74`p_;wovjyfSl`qGwPS^?yL04vxqEk<$Bjfy1u!|1C^#Jh-G{l4i95 z0OR%buTa7p>`0oXmBt|T1`2X|KTV3q{Z&Pe--SlzRKJ~p31zLiFWN<}dqhr>J`a8q jQ1tb~e;E4N1xoDm9~v#W-ao#LMe*Ng|K4LVMfCXJVCq0u literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.c b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.c new file mode 100755 index 0000000..22d86ec --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.c @@ -0,0 +1,64 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ResponseInformationSgNBReconfComp.h" + +#include "ResponseInformationSgNBReconfComp-SuccessItem.h" +#include "ResponseInformationSgNBReconfComp-RejectByMeNBItem.h" +static asn_per_constraints_t asn_PER_type_ResponseInformationSgNBReconfComp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ResponseInformationSgNBReconfComp_1[] = { + { ATF_POINTER, 0, offsetof(struct ResponseInformationSgNBReconfComp, choice.success_SgNBReconfComp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseInformationSgNBReconfComp_SuccessItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "success-SgNBReconfComp" + }, + { ATF_POINTER, 0, offsetof(struct ResponseInformationSgNBReconfComp, choice.reject_by_MeNB_SgNBReconfComp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseInformationSgNBReconfComp_RejectByMeNBItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "reject-by-MeNB-SgNBReconfComp" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ResponseInformationSgNBReconfComp_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* success-SgNBReconfComp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* reject-by-MeNB-SgNBReconfComp */ +}; +static asn_CHOICE_specifics_t asn_SPC_ResponseInformationSgNBReconfComp_specs_1 = { + sizeof(struct ResponseInformationSgNBReconfComp), + offsetof(struct ResponseInformationSgNBReconfComp, _asn_ctx), + offsetof(struct ResponseInformationSgNBReconfComp, present), + sizeof(((struct ResponseInformationSgNBReconfComp *)0)->present), + asn_MAP_ResponseInformationSgNBReconfComp_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp = { + "ResponseInformationSgNBReconfComp", + "ResponseInformationSgNBReconfComp", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ResponseInformationSgNBReconfComp_constr_1, CHOICE_constraint }, + asn_MBR_ResponseInformationSgNBReconfComp_1, + 2, /* Elements count */ + &asn_SPC_ResponseInformationSgNBReconfComp_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.h b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.h new file mode 100755 index 0000000..6572304 --- /dev/null +++ b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResponseInformationSgNBReconfComp_H_ +#define _ResponseInformationSgNBReconfComp_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ResponseInformationSgNBReconfComp_PR { + ResponseInformationSgNBReconfComp_PR_NOTHING, /* No components present */ + ResponseInformationSgNBReconfComp_PR_success_SgNBReconfComp, + ResponseInformationSgNBReconfComp_PR_reject_by_MeNB_SgNBReconfComp + /* Extensions may appear below */ + +} ResponseInformationSgNBReconfComp_PR; + +/* Forward declarations */ +struct ResponseInformationSgNBReconfComp_SuccessItem; +struct ResponseInformationSgNBReconfComp_RejectByMeNBItem; + +/* ResponseInformationSgNBReconfComp */ +typedef struct ResponseInformationSgNBReconfComp { + ResponseInformationSgNBReconfComp_PR present; + union ResponseInformationSgNBReconfComp_u { + struct ResponseInformationSgNBReconfComp_SuccessItem *success_SgNBReconfComp; + struct ResponseInformationSgNBReconfComp_RejectByMeNBItem *reject_by_MeNB_SgNBReconfComp; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResponseInformationSgNBReconfComp_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResponseInformationSgNBReconfComp; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResponseInformationSgNBReconfComp_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.o b/asn1c_defs/all-defs/ResponseInformationSgNBReconfComp.o new file mode 100644 index 0000000000000000000000000000000000000000..e7c7615ec609ca677b92526bf9da43011a3332c5 GIT binary patch literal 3104 zcmb_dOK;Oa5T4X6ly?hARN`WgfFhAqQWX(_giJ#EK(vig^@v=@xDROTD0WbDp}lgV z7bN}yH||`@jU&GV!HpZttap=Pn~)$n((cTBGvAK)<=rbkog2wyKuZQ5Lf6wMfIZ%| z9cel+0Ti@v1$_rj>)Ag2AzWHe5 zcCym~pr02L*Jp?DNj8R~Y{L1iTwwS`Ws}nPjPmIpwU3QtUH0ks@LTYn;g^(6>MO&~ zG5kBjFEf0a3Zjsr{43<3@Ok}l%S7C+CteK%9>G*^X)6hK6A;h6!~;=_V-U@V9Lmg# z0=mJDC&OeJuGoouk3dP$I;G}8_))zc;IR;4lmudac`X|!p8qoa*8l0RB3Z9FAIISi zv(<8SkZWiW#`lCFhJOhPEcC&uNyc&#}sm~ z_4@up#7S~SL0h8T?g5(gx;R}(S`9kHDC3GxXNz7NU4M##C@a`{)z?oDe@`girjE%I zw0qUxRZowuL-h$V>$`|i{Sjname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 40)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_truncated_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 24)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_non_truncated_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_truncated_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 24, 24 } /* (SIZE(24..24)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_ResumeID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ResumeID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ResumeID, choice.non_truncated), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_non_truncated_constr_2, memb_non_truncated_constraint_1 }, + 0, 0, /* No default value */ + "non-truncated" + }, + { ATF_NOFLAGS, 0, offsetof(struct ResumeID, choice.truncated), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_truncated_constr_3, memb_truncated_constraint_1 }, + 0, 0, /* No default value */ + "truncated" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ResumeID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* non-truncated */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* truncated */ +}; +static asn_CHOICE_specifics_t asn_SPC_ResumeID_specs_1 = { + sizeof(struct ResumeID), + offsetof(struct ResumeID, _asn_ctx), + offsetof(struct ResumeID, present), + sizeof(((struct ResumeID *)0)->present), + asn_MAP_ResumeID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ResumeID = { + "ResumeID", + "ResumeID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_ResumeID_constr_1, CHOICE_constraint }, + asn_MBR_ResumeID_1, + 2, /* Elements count */ + &asn_SPC_ResumeID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ResumeID.h b/asn1c_defs/all-defs/ResumeID.h new file mode 100755 index 0000000..f43dcf3 --- /dev/null +++ b/asn1c_defs/all-defs/ResumeID.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ResumeID_H_ +#define _ResumeID_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ResumeID_PR { + ResumeID_PR_NOTHING, /* No components present */ + ResumeID_PR_non_truncated, + ResumeID_PR_truncated + /* Extensions may appear below */ + +} ResumeID_PR; + +/* ResumeID */ +typedef struct ResumeID { + ResumeID_PR present; + union ResumeID_u { + BIT_STRING_t non_truncated; + BIT_STRING_t truncated; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ResumeID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ResumeID; + +#ifdef __cplusplus +} +#endif + +#endif /* _ResumeID_H_ */ +#include diff --git a/asn1c_defs/all-defs/ResumeID.o b/asn1c_defs/all-defs/ResumeID.o new file mode 100644 index 0000000000000000000000000000000000000000..5b295d1d90cf64b340bb25c478f8d9b1b29456a1 GIT binary patch literal 4400 zcmcImUuYa<5dSV$o3p8xi&cqM$SPJ7Fx%T$F+`9{FMsynn#3e6!GfF3-R4idKjC(- zv=#Iu&BGB20Tt?7KwpL6libG=c0 z{mlB#SNB1@m&~=>vFt{B_S$2}x$uG+7-s!9v;LRS$ku-vzP~f~R{e+b-z;|aj0mxD zE@6KCbJX~8?U#15@0PjtdvA3c!<{`fEMao#@BGq1IauMsF)D5B{QBAEqTbna71Iyc zU;1D4*ZpAq4M_d@odth~LE*gBnae(o5=EjN$PC!6`E5$2Zt__x;g;?}>i1Fw)@ngr zKWV!qBWLBEMfap#DD?ZrwBuHbPG&^Ui4*RScF`_W9j#RMw564cPD$$p@I=1PkLAiG z*Q?koB~M$lR|-zP8Ra6PR4(;$<$w6c~f#9AXgke%G(!s?X0$v($JxJ*4%XU8t74s`i?GN>BD1Ro^q-GY0kKDc$G` zaG&x75hGWoMdVT|@j;@x)r274Oc*wR7?A;dml_Bpw^@n1g?_ zW5UOggV%@hpqwCk?>|28hs52M&vq_j1FL)@Ag zowmHotB%Dri4If@pE*4pMgnMNDjh=Zs*`g$cX%occ=pnOQ=kYgvTvi-fWJ~RM{U-6 zMd;ad68{G9FX&=qbga3U&!3#K(&l6)Jt_hvjlqv2;dEx!nwg!>OpN=}@1uKw=NFzi zf6_~GK*FDt@DC(h&c7z%Pf7VVBwWtlk#M>Gb8x>=)PDLUT&^Ev2j3-lIt&qj?+X;9 z$vE#l#Gl3lk`!sg<*^SDO4g5-!(|VIv@@u>L&!P!bZ3^|ufN>6LJ-|E7^_A;#wjr!xO}21s-NTqgy1EB+U>{&|JZJl44X&{q4`2uN}w)zL_^ngpZO{JW0? z8Oy}S`Qz6F_s{ds0oH2$c`OPt7^vpI*0ciSZBVV&uhFLhuY>F3mQdGs0mJpx+qFgO zYY>w~lO3?%g&*>h3f>?-?hjdL96kr}tMFq?&bv)~8ADsm{e&>J|2xF5AxRRxeuh2* z15;BBkiJgypvMBRG;i3BB%C>N}_@a@!^ O|1I_ZDHfAN<^K)bPyzk` literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RetrieveUEContextFailure.c b/asn1c_defs/all-defs/RetrieveUEContextFailure.c new file mode 100755 index 0000000..2b14c59 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextFailure.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RetrieveUEContextFailure.h" + +asn_TYPE_member_t asn_MBR_RetrieveUEContextFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextFailure, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P63, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextFailure_specs_1 = { + sizeof(struct RetrieveUEContextFailure), + offsetof(struct RetrieveUEContextFailure, _asn_ctx), + asn_MAP_RetrieveUEContextFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextFailure = { + "RetrieveUEContextFailure", + "RetrieveUEContextFailure", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextFailure_tags_1, + sizeof(asn_DEF_RetrieveUEContextFailure_tags_1) + /sizeof(asn_DEF_RetrieveUEContextFailure_tags_1[0]), /* 1 */ + asn_DEF_RetrieveUEContextFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextFailure_tags_1) + /sizeof(asn_DEF_RetrieveUEContextFailure_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextFailure_1, + 1, /* Elements count */ + &asn_SPC_RetrieveUEContextFailure_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RetrieveUEContextFailure.h b/asn1c_defs/all-defs/RetrieveUEContextFailure.h new file mode 100755 index 0000000..b00be53 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextFailure.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RetrieveUEContextFailure_H_ +#define _RetrieveUEContextFailure_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RetrieveUEContextFailure */ +typedef struct RetrieveUEContextFailure { + ProtocolIE_Container_8180P63_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RetrieveUEContextFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextFailure; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextFailure_specs_1; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextFailure_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RetrieveUEContextFailure_H_ */ +#include diff --git a/asn1c_defs/all-defs/RetrieveUEContextFailure.o b/asn1c_defs/all-defs/RetrieveUEContextFailure.o new file mode 100644 index 0000000000000000000000000000000000000000..3ce7c83864af81b68160585b601620c3433d127a GIT binary patch literal 2568 zcmbtV&2G~`5T4Zh|Fjfw0Kp+hAc{m+aj75z2^mtS1wk8HMdIc<#%d!HJBl3y7swmH zu{SO}01_|2vB#bej{#2rGwa!8yRj=MBY9`$+i!mC{qcMEX??0x0wpDQ0Ao*~04vAF zwj)gkW?&lD!?fQHUx!V%7Ds9LCawGJ&Y&McuOFvz5O*HC$vE=gEwdNXFUt70JUxC2 zo!=-r_P_QDCa7phiuzJG^`MJG&T_4GuRPam4We{VzAF|*W!@f0&wgiDMP*UgH#1xh z-Dgw&Bk(Kt-K^Xd2e82GCQE7IOrBU+Ax|tgIssonqy#779M9;H795}8FEL+Ds5tU1 z%#$Y;oX&%he`*4c5Si8b+-AlH)Osxy_^AN@ia6yNGVulL?-C!sm)aAwAbI%<50(hP zPa<#0t$Rgh&rAKS#Iq&u*~7+xyoIpC%!4w@RBH`y!+qX#S8FaP!wcdlN&9{~O0#m0 z){Dz!9c?sf#gwEM2C8*xs4==lJi1@7PT2RVcD2&DbDO_xrf7fbyX*wdnz;JbgikYv z)J3)lr`@4=a|Jk^YZBtmNGlr}Y!j|>5VT1H3gNTT%7z`b2|usldm2vfb%}lbz4q;5 zk-Y7uehUOHN2a%xMb|QjmwxJlXe9}VeoPKAZDFGuc6>Qamf?y{9QXvv5D-D!?S{D6 zB8t;cEUz}_lhhAhX`LU=yo_P=4Yc2kOytOMav-iQSJ5HNyqO%Gq}gWt4V-`wuCZCT9E}-|ErQ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RetrieveUEContextRequest.c b/asn1c_defs/all-defs/RetrieveUEContextRequest.c new file mode 100755 index 0000000..1acfaa8 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RetrieveUEContextRequest.h" + +asn_TYPE_member_t asn_MBR_RetrieveUEContextRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P61, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextRequest_specs_1 = { + sizeof(struct RetrieveUEContextRequest), + offsetof(struct RetrieveUEContextRequest, _asn_ctx), + asn_MAP_RetrieveUEContextRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextRequest = { + "RetrieveUEContextRequest", + "RetrieveUEContextRequest", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextRequest_tags_1, + sizeof(asn_DEF_RetrieveUEContextRequest_tags_1) + /sizeof(asn_DEF_RetrieveUEContextRequest_tags_1[0]), /* 1 */ + asn_DEF_RetrieveUEContextRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextRequest_tags_1) + /sizeof(asn_DEF_RetrieveUEContextRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextRequest_1, + 1, /* Elements count */ + &asn_SPC_RetrieveUEContextRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RetrieveUEContextRequest.h b/asn1c_defs/all-defs/RetrieveUEContextRequest.h new file mode 100755 index 0000000..b478672 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RetrieveUEContextRequest_H_ +#define _RetrieveUEContextRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RetrieveUEContextRequest */ +typedef struct RetrieveUEContextRequest { + ProtocolIE_Container_8180P61_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RetrieveUEContextRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RetrieveUEContextRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/RetrieveUEContextRequest.o b/asn1c_defs/all-defs/RetrieveUEContextRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..8e16fd44a09f994332f0c182425dabf911eaa76b GIT binary patch literal 2568 zcmbtV&2G~`5T4Zh|Fjfw0Kp+hAc{m+aaBPD5;CN23xYPZip0%zjMY}8c8E6!E|52X zV{cq|03=?3V~;%{9s`~LX4bRGc4JpiM)JlWV z?z1WX5%^X3ZcgEf12|xJlc#iWrbryDP$Ui<9f7YPQh}3jj%UnB2ab>M=b5i3bR78( z<|z^fP8Y$*KQ)3Uh)f!NZZhKoYO|IO{8WN}MV#{VnfRRbcZCn%OYaF z_x%cDMfKOY!5YVFRn-RT$Eb_yf8j%^>rj2V1?~C)VpPih<9y`$7jVuL^K22mfe%sb zK0k9jt&b@Ts~EyN_-M@J?G=FqT%y^%Qyv|^%X!WsMvwje^ar!o9wFFa@S4?!<*GZS PD1Mi}f1i>WV#oghuNTs{ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/RetrieveUEContextResponse.c b/asn1c_defs/all-defs/RetrieveUEContextResponse.c new file mode 100755 index 0000000..27aa193 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextResponse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "RetrieveUEContextResponse.h" + +asn_TYPE_member_t asn_MBR_RetrieveUEContextResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RetrieveUEContextResponse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P62, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_RetrieveUEContextResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RetrieveUEContextResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextResponse_specs_1 = { + sizeof(struct RetrieveUEContextResponse), + offsetof(struct RetrieveUEContextResponse, _asn_ctx), + asn_MAP_RetrieveUEContextResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextResponse = { + "RetrieveUEContextResponse", + "RetrieveUEContextResponse", + &asn_OP_SEQUENCE, + asn_DEF_RetrieveUEContextResponse_tags_1, + sizeof(asn_DEF_RetrieveUEContextResponse_tags_1) + /sizeof(asn_DEF_RetrieveUEContextResponse_tags_1[0]), /* 1 */ + asn_DEF_RetrieveUEContextResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_RetrieveUEContextResponse_tags_1) + /sizeof(asn_DEF_RetrieveUEContextResponse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_RetrieveUEContextResponse_1, + 1, /* Elements count */ + &asn_SPC_RetrieveUEContextResponse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/RetrieveUEContextResponse.h b/asn1c_defs/all-defs/RetrieveUEContextResponse.h new file mode 100755 index 0000000..f0ffb95 --- /dev/null +++ b/asn1c_defs/all-defs/RetrieveUEContextResponse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _RetrieveUEContextResponse_H_ +#define _RetrieveUEContextResponse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RetrieveUEContextResponse */ +typedef struct RetrieveUEContextResponse { + ProtocolIE_Container_8180P62_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RetrieveUEContextResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEContextResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEContextResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_RetrieveUEContextResponse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _RetrieveUEContextResponse_H_ */ +#include diff --git a/asn1c_defs/all-defs/RetrieveUEContextResponse.o b/asn1c_defs/all-defs/RetrieveUEContextResponse.o new file mode 100644 index 0000000000000000000000000000000000000000..85f743e9dd65dda753381d61dbc20036286cf3d4 GIT binary patch literal 2576 zcmbtV&2AGh5T0}?|FjfwKp>=Wfr6-&ttyB>LJMJ2K+rC!B5~Vp7OSmDc0+cH-~xFB zBrd(fJHR9Km?IJ|0Z#xkUORCeCxSB4dS*V)pY5^tga5QXQ!0U?65NB4rci+3=t%a2 z=)pY9L4)VL9sY(l{aTvj{B7RgSvO5G4&7dwr*YbT>}Mm_f0oQzOnp+ozqQl-XHfZ# zq+|apKf(YNEy$$06izkhG5fl-R};#QbO+DQ3HVpUDNbJ+zL5Nfz(?y+Ju!<1V~aoeVzC&a zED0a_^>E_l3-f3z3teIO?0zuaaGAHI>C~7a*m@9d_|KdETFnO~gfZUtycg{xd6Doz zV@krJsEwdD#U|_WSd~vT1;eK#q*n$r@m^SUtCir^vfN+AsL%CoJ1!?oT4zO5vBo`JoL@(5Tf%YgM#QpnO}E~>m8iD{Aym9^72B2c&hi_=bro4k}N59O!V(99nqMybp{&qta6JkIH)-z~zo@FP>R z&M(rR&POK+3m?L}_$f@c8`waLEt#3MQyk^LFXNm+j6QSy^d~dV9wFG1;0>b=Lltj| P&3_>GzfZw5GX4Jm#M9Ks literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/S1TNLLoadIndicator.c b/asn1c_defs/all-defs/S1TNLLoadIndicator.c new file mode 100755 index 0000000..4089c06 --- /dev/null +++ b/asn1c_defs/all-defs/S1TNLLoadIndicator.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "S1TNLLoadIndicator.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_S1TNLLoadIndicator_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct S1TNLLoadIndicator, dLS1TNLLoadIndicator), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LoadIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "dLS1TNLLoadIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct S1TNLLoadIndicator, uLS1TNLLoadIndicator), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LoadIndicator, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uLS1TNLLoadIndicator" + }, + { ATF_POINTER, 1, offsetof(struct S1TNLLoadIndicator, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P189, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_S1TNLLoadIndicator_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_S1TNLLoadIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_S1TNLLoadIndicator_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dLS1TNLLoadIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uLS1TNLLoadIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_S1TNLLoadIndicator_specs_1 = { + sizeof(struct S1TNLLoadIndicator), + offsetof(struct S1TNLLoadIndicator, _asn_ctx), + asn_MAP_S1TNLLoadIndicator_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_S1TNLLoadIndicator_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_S1TNLLoadIndicator = { + "S1TNLLoadIndicator", + "S1TNLLoadIndicator", + &asn_OP_SEQUENCE, + asn_DEF_S1TNLLoadIndicator_tags_1, + sizeof(asn_DEF_S1TNLLoadIndicator_tags_1) + /sizeof(asn_DEF_S1TNLLoadIndicator_tags_1[0]), /* 1 */ + asn_DEF_S1TNLLoadIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_S1TNLLoadIndicator_tags_1) + /sizeof(asn_DEF_S1TNLLoadIndicator_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_S1TNLLoadIndicator_1, + 3, /* Elements count */ + &asn_SPC_S1TNLLoadIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/S1TNLLoadIndicator.h b/asn1c_defs/all-defs/S1TNLLoadIndicator.h new file mode 100755 index 0000000..effc690 --- /dev/null +++ b/asn1c_defs/all-defs/S1TNLLoadIndicator.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _S1TNLLoadIndicator_H_ +#define _S1TNLLoadIndicator_H_ + + +#include + +/* Including external dependencies */ +#include "LoadIndicator.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* S1TNLLoadIndicator */ +typedef struct S1TNLLoadIndicator { + LoadIndicator_t dLS1TNLLoadIndicator; + LoadIndicator_t uLS1TNLLoadIndicator; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} S1TNLLoadIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_S1TNLLoadIndicator; +extern asn_SEQUENCE_specifics_t asn_SPC_S1TNLLoadIndicator_specs_1; +extern asn_TYPE_member_t asn_MBR_S1TNLLoadIndicator_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _S1TNLLoadIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/S1TNLLoadIndicator.o b/asn1c_defs/all-defs/S1TNLLoadIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..421258b93c2bb5435f7e2a296327b52cdf8b817a GIT binary patch literal 3040 zcmb_dOK;Oa5Z=^0%B!UXAtWy5M3JZ!mr4W>l_9t-5ZXZL4avBU)kY+C6>p?+0CMCf zaO{zvz=0pZl^X{R9O1?R31;k>WV78=YSod}GxN=BcXqw|-mfi=l}duCBo@R#V^j!x zd?0(d=!r=&A=ca%E45l0HXbF7W)#Y_BN{aW*foJof7aiTagsIDBpc*Eh@{U|*GJ{D zMj7_O$H4XvXdjmYo3O1XjxaB-AIEtZr;ji%q%u+&(94QN?M#~_Yt zP<=esm#Wn}_RRW5H<4ZYmNV~^XWeeDx$oSHQ=WI+>je%GqX}yr6TgjnY7Na~ki#09 zk&2sFX+Z@OS>pH}_!1x`aY|rck<>^_oGd`)TLBsUnKBJ)S!c=mMq1b_+u0yyUBQNTED{6cb#lS53xjJC4-y!`Cyfz1~S>8l|oN4O~qV33cO6P?@{w*4@f&+7o2B zE$V6I=Rn7K4-lWkKq9^)5XV!-`#D2)9bZ;(&WTW6!KX+@_KIZ8GfgrwJda3-U&y86 z^Oa=8ab0ZtrQnPqG=q*n?9cOFR`833OaARCIOe}cHnnf+-=_D6|6Ac?Z`v~404_TP z-(pF|J5o4}P=>bzD&6R+yVn(p0CFMj?WEh;X8`-HzeRIY}yGXK7`9 zHj`oWT3ONI#48Ynt-yO-B~MipncCJzu7ZS^ezSUgk6}TNzXoRP`C;R4KrH5*gQ1c~ z$`cg?nd>u0Ka}vO(r1dt{ZWb9 zk;fpu4TCY&?}t7iGU~pln_Pbq_=f_{f!_oSef{{->U$56_)ZVuyd;cYa>?^6GJ Jm`ou({y#&o?YIB{ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SCGChangeIndication.c b/asn1c_defs/all-defs/SCGChangeIndication.c new file mode 100755 index 0000000..7e90471 --- /dev/null +++ b/asn1c_defs/all-defs/SCGChangeIndication.c @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SCGChangeIndication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SCGChangeIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SCGChangeIndication_value2enum_1[] = { + { 0, 19, "pDCPCountWrapAround" }, + { 1, 12, "pSCellChange" }, + { 2, 5, "other" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SCGChangeIndication_enum2value_1[] = { + 2, /* other(2) */ + 0, /* pDCPCountWrapAround(0) */ + 1 /* pSCellChange(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_SCGChangeIndication_specs_1 = { + asn_MAP_SCGChangeIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SCGChangeIndication_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SCGChangeIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SCGChangeIndication = { + "SCGChangeIndication", + "SCGChangeIndication", + &asn_OP_NativeEnumerated, + asn_DEF_SCGChangeIndication_tags_1, + sizeof(asn_DEF_SCGChangeIndication_tags_1) + /sizeof(asn_DEF_SCGChangeIndication_tags_1[0]), /* 1 */ + asn_DEF_SCGChangeIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_SCGChangeIndication_tags_1) + /sizeof(asn_DEF_SCGChangeIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SCGChangeIndication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SCGChangeIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SCGChangeIndication.h b/asn1c_defs/all-defs/SCGChangeIndication.h new file mode 100755 index 0000000..35f0235 --- /dev/null +++ b/asn1c_defs/all-defs/SCGChangeIndication.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SCGChangeIndication_H_ +#define _SCGChangeIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SCGChangeIndication { + SCGChangeIndication_pDCPCountWrapAround = 0, + SCGChangeIndication_pSCellChange = 1, + SCGChangeIndication_other = 2 + /* + * Enumeration is extensible + */ +} e_SCGChangeIndication; + +/* SCGChangeIndication */ +typedef long SCGChangeIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SCGChangeIndication; +asn_struct_free_f SCGChangeIndication_free; +asn_struct_print_f SCGChangeIndication_print; +asn_constr_check_f SCGChangeIndication_constraint; +ber_type_decoder_f SCGChangeIndication_decode_ber; +der_type_encoder_f SCGChangeIndication_encode_der; +xer_type_decoder_f SCGChangeIndication_decode_xer; +xer_type_encoder_f SCGChangeIndication_encode_xer; +per_type_decoder_f SCGChangeIndication_decode_uper; +per_type_encoder_f SCGChangeIndication_encode_uper; +per_type_decoder_f SCGChangeIndication_decode_aper; +per_type_encoder_f SCGChangeIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SCGChangeIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/SCGChangeIndication.o b/asn1c_defs/all-defs/SCGChangeIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..e57e0ab2738505ef850809f4c31be79fbe3bbc52 GIT binary patch literal 2696 zcmbtVO;6Nd5T3Ot_=TV(l6YB9u8A}(!DuisCFM(_xPcIkrF7r0tGn%{?Gm`Ci5HIk z75{-peuF2DUcGq5nYT0B?z>$sPV#oh?#F&_HO8n3ylbo?lngb@=!-of5+fu{Obk}o36W3 zt?eD+HukG8>}7j#q2AZ1{<;3rUR<{8Pcz=E9Ktm21pK)iA{kg?R%PiMGFo8)?Z&8C zdWXvRkyXJ%lvQAIAf~+~TftT-jN8yGKvVNmi~!`^h_DL%3o3i7&fN!aJ;!dnoe}EbjyHwB9+^x7Z6`WBk?N zpECwKIqjzYA^J4Vd`qHKouptl{nQ8hFiF6UBLbwX+jWGhoD4jug*eUP?jj}Z`8JVVMm^gxsS&JaLV z0`^bP)7hBy-wmBWbNpwRAZ|$n?4|yd!Are(2lEu0<6j_0Cifykqw}Z!>D%jwfc+G| zOg|aZ_mC)BE1A46Z!xCv<^M%FvMrvV+|P{7>jm#)P&WSqu0InY`>KI=5SPvWoacYS zdYV7Y-JJhNa1X9{Xh7T-uwUn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SCGConfigurationQuery.c b/asn1c_defs/all-defs/SCGConfigurationQuery.c new file mode 100755 index 0000000..4544236 --- /dev/null +++ b/asn1c_defs/all-defs/SCGConfigurationQuery.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SCGConfigurationQuery.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SCGConfigurationQuery_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SCGConfigurationQuery_value2enum_1[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SCGConfigurationQuery_enum2value_1[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_SCGConfigurationQuery_specs_1 = { + asn_MAP_SCGConfigurationQuery_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SCGConfigurationQuery_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SCGConfigurationQuery_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SCGConfigurationQuery = { + "SCGConfigurationQuery", + "SCGConfigurationQuery", + &asn_OP_NativeEnumerated, + asn_DEF_SCGConfigurationQuery_tags_1, + sizeof(asn_DEF_SCGConfigurationQuery_tags_1) + /sizeof(asn_DEF_SCGConfigurationQuery_tags_1[0]), /* 1 */ + asn_DEF_SCGConfigurationQuery_tags_1, /* Same as above */ + sizeof(asn_DEF_SCGConfigurationQuery_tags_1) + /sizeof(asn_DEF_SCGConfigurationQuery_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SCGConfigurationQuery_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SCGConfigurationQuery_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SCGConfigurationQuery.h b/asn1c_defs/all-defs/SCGConfigurationQuery.h new file mode 100755 index 0000000..17f6a5b --- /dev/null +++ b/asn1c_defs/all-defs/SCGConfigurationQuery.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SCGConfigurationQuery_H_ +#define _SCGConfigurationQuery_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SCGConfigurationQuery { + SCGConfigurationQuery_true = 0 + /* + * Enumeration is extensible + */ +} e_SCGConfigurationQuery; + +/* SCGConfigurationQuery */ +typedef long SCGConfigurationQuery_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SCGConfigurationQuery; +asn_struct_free_f SCGConfigurationQuery_free; +asn_struct_print_f SCGConfigurationQuery_print; +asn_constr_check_f SCGConfigurationQuery_constraint; +ber_type_decoder_f SCGConfigurationQuery_decode_ber; +der_type_encoder_f SCGConfigurationQuery_encode_der; +xer_type_decoder_f SCGConfigurationQuery_decode_xer; +xer_type_encoder_f SCGConfigurationQuery_encode_xer; +per_type_decoder_f SCGConfigurationQuery_decode_uper; +per_type_encoder_f SCGConfigurationQuery_encode_uper; +per_type_decoder_f SCGConfigurationQuery_decode_aper; +per_type_encoder_f SCGConfigurationQuery_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SCGConfigurationQuery_H_ */ +#include diff --git a/asn1c_defs/all-defs/SCGConfigurationQuery.o b/asn1c_defs/all-defs/SCGConfigurationQuery.o new file mode 100644 index 0000000000000000000000000000000000000000..f7357fba05c87b9634bc406931abe31389f06113 GIT binary patch literal 2568 zcmbtV%}x|S5UyoV{0BT3jULvMn8<`7M2#k7%(_5~;tC-i$6;t;k)0tsJp?Xl;>9Bm zc3RkOXlGr`14daCN{ud1uNt9QS&UoVX{8X(euMHqO30<2sd*nV#M zFbOxnfCmK2I%BcmN_V}r+)Cn)-R-O&>TVLh%T)gebU#y-^m9RbFSdVf0w&D-Ba!lt z;W%%daXa5~tM#lov$2`QI%__07u>m7FUvjev-i}UTX4OH1#U+U`Lymh{5cx}*>P&B za`K8tBOGu>K|~x}p-LRMFaqB}qyZBpE|H5lPA64JhxIP%23%qfz&v-y$Ws!~a16fS z$7oQVIR+k zg!NP+&F6fk)@~->#oJD>iVyxkwJ}cN+gDpTzO7=_??yqK1jSCmZmf;-rG7WNPCCcN z4enN`LvT0K6x@D74lzB~Ls#vE`7~KFYrz=f?j=!(^HI|4DLi~P zPPB5DS2t!;9Y&v|kpI(nF`UlA{y*_+(h}E{`{)p6-U-e7^g-zqs{A%ft1up*qO-T- zk1d|K_WF--g0OiZu$Fk*pD7YA+Q&(xIiaM<- N; sorted by tag */ + asn_MAP_SGNB_Addition_Trigger_Ind_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SGNB_Addition_Trigger_Ind_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SGNB_Addition_Trigger_Ind = { + "SGNB-Addition-Trigger-Ind", + "SGNB-Addition-Trigger-Ind", + &asn_OP_NativeEnumerated, + asn_DEF_SGNB_Addition_Trigger_Ind_tags_1, + sizeof(asn_DEF_SGNB_Addition_Trigger_Ind_tags_1) + /sizeof(asn_DEF_SGNB_Addition_Trigger_Ind_tags_1[0]), /* 1 */ + asn_DEF_SGNB_Addition_Trigger_Ind_tags_1, /* Same as above */ + sizeof(asn_DEF_SGNB_Addition_Trigger_Ind_tags_1) + /sizeof(asn_DEF_SGNB_Addition_Trigger_Ind_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SGNB_Addition_Trigger_Ind_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SGNB_Addition_Trigger_Ind_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.h b/asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.h new file mode 100755 index 0000000..2a5937a --- /dev/null +++ b/asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SGNB_Addition_Trigger_Ind_H_ +#define _SGNB_Addition_Trigger_Ind_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SGNB_Addition_Trigger_Ind { + SGNB_Addition_Trigger_Ind_sn_change = 0, + SGNB_Addition_Trigger_Ind_inter_eNB_HO = 1, + SGNB_Addition_Trigger_Ind_intra_eNB_HO = 2 + /* + * Enumeration is extensible + */ +} e_SGNB_Addition_Trigger_Ind; + +/* SGNB-Addition-Trigger-Ind */ +typedef long SGNB_Addition_Trigger_Ind_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SGNB_Addition_Trigger_Ind; +asn_struct_free_f SGNB_Addition_Trigger_Ind_free; +asn_struct_print_f SGNB_Addition_Trigger_Ind_print; +asn_constr_check_f SGNB_Addition_Trigger_Ind_constraint; +ber_type_decoder_f SGNB_Addition_Trigger_Ind_decode_ber; +der_type_encoder_f SGNB_Addition_Trigger_Ind_encode_der; +xer_type_decoder_f SGNB_Addition_Trigger_Ind_decode_xer; +xer_type_encoder_f SGNB_Addition_Trigger_Ind_encode_xer; +per_type_decoder_f SGNB_Addition_Trigger_Ind_decode_uper; +per_type_encoder_f SGNB_Addition_Trigger_Ind_encode_uper; +per_type_decoder_f SGNB_Addition_Trigger_Ind_decode_aper; +per_type_encoder_f SGNB_Addition_Trigger_Ind_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SGNB_Addition_Trigger_Ind_H_ */ +#include diff --git a/asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.o b/asn1c_defs/all-defs/SGNB-Addition-Trigger-Ind.o new file mode 100644 index 0000000000000000000000000000000000000000..41e53cfdc10a808abfc4ef654c56ca9122c8afd2 GIT binary patch literal 2744 zcmbuB&rcIk5XYx33jPMefoM!>Vj?DX!x9pSCS(x{XcQWdcwCn4OIxM8WcQW8MNPbT z^iS|l@#xKefumP%oWz;e8M=MlHZe}}cHVs6cizu^+kULRTD?#zfmjKapce@RIK9-X z`=;u{O}GJsFK{uKAH>AY*d!k1x7RkFRhH}ZmTo0+zDYqEN-(PD;x>D&c3hk_NM{*Qetzw?(m^nWzK&<;4Qjy3$FLD%dH;!LmGDsexLQzZsZJEl`~{V9H8A8G{@{v z5x+P9?;TQVWk8U;4@ff|I_es zZ0TD592~gHwBI>!r5|AQ2g?-n*4t!784qA`Kn<`sgu~Da)hZ^7&k?&o;^_Q?B3{oG;=xm~UkFM9ig`>d1qR^}tI+#lk!-rKBivKM}z z<4+d%I0iR6ZtHLly-vHnDK)K*G`RIphv4pI8MtXe0VzG#!%*#qrkQHeYGKTA_me2Z z_9$t$6&{!yCtA5{8#|RuhtYeP$p85}m`-cX{VbXeee)cAkT!4kFd&vcLu&WwfhPOi zjR4A0VgCRH*iLnO{1aqk@?LbK!TCSM2KrX} zB4EGBm+3pl^!+3x@1fk6m&j;*`Mtxcv2~u{v;g*!FZeB1isrw|`CmlHzHG%?7#Gd| zl;?lMdYV6tE#u4l-yx%+=CI`L7mrWplQ+gDhj@lXSY9`6ZwNQqT8fLLGYo%l!gbV5 jVzK8>|3~bzM+7Gfx2yrJ(0l`n@(=hzeWuQGX6OF}6cO$9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.c b/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.c new file mode 100755 index 0000000..881653d --- /dev/null +++ b/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SIPTOBearerDeactivationIndication.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SIPTOBearerDeactivationIndication_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SIPTOBearerDeactivationIndication_value2enum_1[] = { + { 0, 4, "true" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SIPTOBearerDeactivationIndication_enum2value_1[] = { + 0 /* true(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_SIPTOBearerDeactivationIndication_specs_1 = { + asn_MAP_SIPTOBearerDeactivationIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SIPTOBearerDeactivationIndication_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SIPTOBearerDeactivationIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SIPTOBearerDeactivationIndication = { + "SIPTOBearerDeactivationIndication", + "SIPTOBearerDeactivationIndication", + &asn_OP_NativeEnumerated, + asn_DEF_SIPTOBearerDeactivationIndication_tags_1, + sizeof(asn_DEF_SIPTOBearerDeactivationIndication_tags_1) + /sizeof(asn_DEF_SIPTOBearerDeactivationIndication_tags_1[0]), /* 1 */ + asn_DEF_SIPTOBearerDeactivationIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_SIPTOBearerDeactivationIndication_tags_1) + /sizeof(asn_DEF_SIPTOBearerDeactivationIndication_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SIPTOBearerDeactivationIndication_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SIPTOBearerDeactivationIndication_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.h b/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.h new file mode 100755 index 0000000..6fb4f90 --- /dev/null +++ b/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SIPTOBearerDeactivationIndication_H_ +#define _SIPTOBearerDeactivationIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SIPTOBearerDeactivationIndication { + SIPTOBearerDeactivationIndication_true = 0 + /* + * Enumeration is extensible + */ +} e_SIPTOBearerDeactivationIndication; + +/* SIPTOBearerDeactivationIndication */ +typedef long SIPTOBearerDeactivationIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SIPTOBearerDeactivationIndication; +asn_struct_free_f SIPTOBearerDeactivationIndication_free; +asn_struct_print_f SIPTOBearerDeactivationIndication_print; +asn_constr_check_f SIPTOBearerDeactivationIndication_constraint; +ber_type_decoder_f SIPTOBearerDeactivationIndication_decode_ber; +der_type_encoder_f SIPTOBearerDeactivationIndication_encode_der; +xer_type_decoder_f SIPTOBearerDeactivationIndication_decode_xer; +xer_type_encoder_f SIPTOBearerDeactivationIndication_encode_xer; +per_type_decoder_f SIPTOBearerDeactivationIndication_decode_uper; +per_type_encoder_f SIPTOBearerDeactivationIndication_encode_uper; +per_type_decoder_f SIPTOBearerDeactivationIndication_decode_aper; +per_type_encoder_f SIPTOBearerDeactivationIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SIPTOBearerDeactivationIndication_H_ */ +#include diff --git a/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.o b/asn1c_defs/all-defs/SIPTOBearerDeactivationIndication.o new file mode 100644 index 0000000000000000000000000000000000000000..4dd3615da51e971be4b27483bbd5ad37f4fdabc3 GIT binary patch literal 2768 zcmbtV-D(q25T10a_1{)+1aG1sR`AdV3SNnz zh)>{ac$Y`;5qt!_^0LnC&TLOkHZh+UwGO+S zv5EM2UpB!0031%d5GsN&iG%stLU3YkV8WdwsHTK^Z7nc|`+5jg)QS_+X5M;zZU{=U zuOk`h*`xXpjDv8mqo;M;Y4SkB(TFgea+x;NLZmCOS`Sw6n{uFQSVOl%qqkFhN5{I| zh=RBkWHS#Nv2pf{?w5Va<)pf}>^0$6tQv9-3Aaz1oO2iVnM=5R8<#BnD%+%9u}%5? zr!)IL5ia+_?w|UR`{1KZLUk^s7Qa+-*fil5C_EXN-WAK}w+7U9XhKk1Ndl_fB8M`o zY8G9+7p7sdByNUV#4T+-P?cI*O5zeb^mMr zfSQzR%MEl0v-gPNKD|)tnabbg+{%pGsAw--{#PeYTzCAt7$9s~5?BlWri0u2P9Yzk zqW-&xlk8?Hf0uJBGajI#v*TxO{;u$4=`wN=H9<1I+=nNK(fA|y*fPlzm3)cGITimU z8b$s4%wLj3)@8?EL%*p1-`v0OsekH4`jP%$BSu5H>;I9*x4#*fmgd^}kTJQJ6eIb} zeA-`I7|!c_z@T7u-j5=%AeYkIwWm5==Ko?%-+~Ez-1(nH%ssmZ!FL8fIej>8TC<2h N%NOz+6|= + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SNStatusTransfer */ +typedef struct SNStatusTransfer { + ProtocolIE_Container_8180P18_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SNStatusTransfer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SNStatusTransfer; +extern asn_SEQUENCE_specifics_t asn_SPC_SNStatusTransfer_specs_1; +extern asn_TYPE_member_t asn_MBR_SNStatusTransfer_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SNStatusTransfer_H_ */ +#include diff --git a/asn1c_defs/all-defs/SNStatusTransfer.o b/asn1c_defs/all-defs/SNStatusTransfer.o new file mode 100644 index 0000000000000000000000000000000000000000..d354d9d27c40abca27b99d975562dc51219f525e GIT binary patch literal 2488 zcmbtV&2G~`5T4Zh|FjfwKtf32M3Lw!t|AeEgbX1qAV>qDh@0yg(;^Z(iZ@cZ&>naL zE<6R|F}T5z#{h`~H<+VXV8(X7PkE%CRUDcNTQQ`UT{D!L4m4B_oCG~(!`H#R)=iEH! zjskdKkETrNVUJ5Ztl$z4#Npt83#cn_63($NnI0UUN>k@}(_whzdzi;19-MZ;7=LOC ze~!qa80QX0WT<5=L)@Eze?Xk_>~r7?)}IP|GB0x`z9R0*KXq|b3{jqj_gbr=eWyYl zZReq1^gq7SarUnyJ&tf?D5&emY(3d%wVN$4Mi^&lu7}a ziOtZcaA$n`!)BIh%$p3uhTo`l{06U7sp!1QQ*(lQZQQIK;qx3r>LS~O({7u%r5QNg zQxb|_D6F#SuuZthLC_{OD1~E02(w?BKn4lh=3m7=THC|&uOpXouHYvnVCS*~(Khvs zrZ}?g`kRQ6d@t3wt&XkIxP^+|#GrJ??SLQ3AB>zqP3Os+BXjQ85p&fKcz`wL8&x$1 z>xZaa^*8xanmSaUUNyUZh!~Z!{~!adPw&4JdAA7P#*aenalU6h?T-|O3l8A}{0t`J yKD$6iEQQ%)r#y!Lh4Y+6j6Qq*^hdJy9wFFe@E18k>|xRS;Nj literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SRBType.c b/asn1c_defs/all-defs/SRBType.c new file mode 100755 index 0000000..f4964b1 --- /dev/null +++ b/asn1c_defs/all-defs/SRBType.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SRBType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SRBType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SRBType_value2enum_1[] = { + { 0, 4, "srb1" }, + { 1, 4, "srb2" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SRBType_enum2value_1[] = { + 0, /* srb1(0) */ + 1 /* srb2(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SRBType_specs_1 = { + asn_MAP_SRBType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SRBType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SRBType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SRBType = { + "SRBType", + "SRBType", + &asn_OP_NativeEnumerated, + asn_DEF_SRBType_tags_1, + sizeof(asn_DEF_SRBType_tags_1) + /sizeof(asn_DEF_SRBType_tags_1[0]), /* 1 */ + asn_DEF_SRBType_tags_1, /* Same as above */ + sizeof(asn_DEF_SRBType_tags_1) + /sizeof(asn_DEF_SRBType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SRBType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SRBType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SRBType.h b/asn1c_defs/all-defs/SRBType.h new file mode 100755 index 0000000..f89d1dd --- /dev/null +++ b/asn1c_defs/all-defs/SRBType.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SRBType_H_ +#define _SRBType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SRBType { + SRBType_srb1 = 0, + SRBType_srb2 = 1 + /* + * Enumeration is extensible + */ +} e_SRBType; + +/* SRBType */ +typedef long SRBType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SRBType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SRBType; +extern const asn_INTEGER_specifics_t asn_SPC_SRBType_specs_1; +asn_struct_free_f SRBType_free; +asn_struct_print_f SRBType_print; +asn_constr_check_f SRBType_constraint; +ber_type_decoder_f SRBType_decode_ber; +der_type_encoder_f SRBType_encode_der; +xer_type_decoder_f SRBType_decode_xer; +xer_type_encoder_f SRBType_encode_xer; +per_type_decoder_f SRBType_decode_uper; +per_type_encoder_f SRBType_encode_uper; +per_type_decoder_f SRBType_decode_aper; +per_type_encoder_f SRBType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SRBType_H_ */ +#include diff --git a/asn1c_defs/all-defs/SRBType.o b/asn1c_defs/all-defs/SRBType.o new file mode 100644 index 0000000000000000000000000000000000000000..6c0b42cc190e50263b2b0bce7326be00d62aa5b9 GIT binary patch literal 2536 zcmbtV&2G~`5T4Y9^4lLyNL&IJf<#wwRS5(V7)n}%phPVd7bMqlS8XA2s(4e;3n0M* z@Cb+#M;?Gfk30ZJ4!iq=;edFo!M5O{E6}SfjPf&o` z>46T$@3lf&7RK<$h21`g>-*#KC0-L_OpOVQ z2V*!+snVP*t-_E#eH>PnmhMz*8?An3`qf)%QPt3@eAZPc?vY=BReKbTvSIbToU|FHZ)cQxh%e;6u- zB+ueUjpdk;*d*I|99sCRw{> zmc^TmwbyojD1^^ht5`PKCj1iHt|I&_UJ--R1L0(gFVCNF zx?jO}&?XW5V&MX){Gel!7HZQg^p03Yzcrw?5|e;xx%VYd`<9#}n7z|0V_q^Z!SZ@4pk0FFN9UfB!?oN#yw#9zazL)^}0UnHaGz z>H{B?hYVam?Y>v?T|7aYdKsKVMM8}moGsjPmG@GBmuL{x??2-FJt4BLdj1;vqxz5d zqu*pc^-p`t{?h+z#AvHJUaoxS{ptC*!m!ODJjY8gm-l-VID$(we|A*o59j}6P2cS_ jUVi^{Hu$qc2);4+iyTM%w&*MxmH&n3_tD8E)6f40f&;D= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SRVCCOperationPossible.c b/asn1c_defs/all-defs/SRVCCOperationPossible.c new file mode 100755 index 0000000..2a53a04 --- /dev/null +++ b/asn1c_defs/all-defs/SRVCCOperationPossible.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SRVCCOperationPossible.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SRVCCOperationPossible_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SRVCCOperationPossible_value2enum_1[] = { + { 0, 8, "possible" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SRVCCOperationPossible_enum2value_1[] = { + 0 /* possible(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_SRVCCOperationPossible_specs_1 = { + asn_MAP_SRVCCOperationPossible_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SRVCCOperationPossible_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SRVCCOperationPossible_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SRVCCOperationPossible = { + "SRVCCOperationPossible", + "SRVCCOperationPossible", + &asn_OP_NativeEnumerated, + asn_DEF_SRVCCOperationPossible_tags_1, + sizeof(asn_DEF_SRVCCOperationPossible_tags_1) + /sizeof(asn_DEF_SRVCCOperationPossible_tags_1[0]), /* 1 */ + asn_DEF_SRVCCOperationPossible_tags_1, /* Same as above */ + sizeof(asn_DEF_SRVCCOperationPossible_tags_1) + /sizeof(asn_DEF_SRVCCOperationPossible_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SRVCCOperationPossible_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SRVCCOperationPossible_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SRVCCOperationPossible.h b/asn1c_defs/all-defs/SRVCCOperationPossible.h new file mode 100755 index 0000000..b693bc9 --- /dev/null +++ b/asn1c_defs/all-defs/SRVCCOperationPossible.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SRVCCOperationPossible_H_ +#define _SRVCCOperationPossible_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SRVCCOperationPossible { + SRVCCOperationPossible_possible = 0 + /* + * Enumeration is extensible + */ +} e_SRVCCOperationPossible; + +/* SRVCCOperationPossible */ +typedef long SRVCCOperationPossible_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SRVCCOperationPossible; +asn_struct_free_f SRVCCOperationPossible_free; +asn_struct_print_f SRVCCOperationPossible_print; +asn_constr_check_f SRVCCOperationPossible_constraint; +ber_type_decoder_f SRVCCOperationPossible_decode_ber; +der_type_encoder_f SRVCCOperationPossible_encode_der; +xer_type_decoder_f SRVCCOperationPossible_decode_xer; +xer_type_encoder_f SRVCCOperationPossible_encode_xer; +per_type_decoder_f SRVCCOperationPossible_decode_uper; +per_type_encoder_f SRVCCOperationPossible_encode_uper; +per_type_decoder_f SRVCCOperationPossible_decode_aper; +per_type_encoder_f SRVCCOperationPossible_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SRVCCOperationPossible_H_ */ +#include diff --git a/asn1c_defs/all-defs/SRVCCOperationPossible.o b/asn1c_defs/all-defs/SRVCCOperationPossible.o new file mode 100644 index 0000000000000000000000000000000000000000..d43d6cab1a5eb212dddb2d9f3913b5adf419e56b GIT binary patch literal 2576 zcmbtV&2G~`5Z=^4f%4OG0l_7R14W{%I;sQ$fs8`h3PEe7DjbdDuG&CiN3m1U3smC5 zkpqvyfn$z+7%n_PnOV;`n~hx#j1wwVGh5iRWVCF)D>O&IWmU|FXm7F_D?wBI(H+XFQWvu+amNt$*$JtYQglm?vv+Gnx-GeW19mZ!XG z2lLOt?_c{|v{P&}n@{S?yPZ*-jp~o&np|CRN7{2gyN~7SnsguJxE(p=;Rt6I1jK{Kp3=|1S1m~_YNyJO@bx>k9NM=ixY4?xa^1pR5Rj;%QM(-K$eX29uQ*zE?{wnEyTSFT$B&Ij6|5m z!OPZqP)-Q4a6b)P&GK9AAUhhUDr%I(X*MMCj^C`}r2`dl&NnaoD%xS#8>xnhM}10p z1{YZk9YEab6X~OD`@t5x`G=|nf%p+ndm7(Yu^M)xAWnk(G+{T+%r@iPo72Y=WaE4{ zh%Xrlcs>v}Z=2`O#yyHf+c^^81t-kanLnI84C zumd_9=K6rGOnu6P+zYc%$WEFHIZV(&rYl`=RWH=bXz{8ALyYVtQ3&f%((fzizKoMh z$&Ibul{5>Zk6g(A={pdPy|DjRyo$8QHRUcih?#eS>mEKp{9F~!dST_peNfnYJN~=H zW7ppQAuJ%)U;=55uUk0Bv-V&eZF~PQU?>Na8|tBEuLc0u1+`e3`)kS*8M+pQDqxWd9u)W%YX$zsW?>b<1yqUsnGyz1$p+^name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3279165)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_sUL_ARFCN_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 22, -1, 0, 3279165 } /* (0..3279165) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SULInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SULInformation, sUL_ARFCN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_sUL_ARFCN_constr_2, memb_sUL_ARFCN_constraint_1 }, + 0, 0, /* No default value */ + "sUL-ARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct SULInformation, sUL_TxBW), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NR_TxBW, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sUL-TxBW" + }, + { ATF_POINTER, 1, offsetof(struct SULInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P199, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SULInformation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_SULInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SULInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sUL-ARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sUL-TxBW */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SULInformation_specs_1 = { + sizeof(struct SULInformation), + offsetof(struct SULInformation, _asn_ctx), + asn_MAP_SULInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_SULInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SULInformation = { + "SULInformation", + "SULInformation", + &asn_OP_SEQUENCE, + asn_DEF_SULInformation_tags_1, + sizeof(asn_DEF_SULInformation_tags_1) + /sizeof(asn_DEF_SULInformation_tags_1[0]), /* 1 */ + asn_DEF_SULInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_SULInformation_tags_1) + /sizeof(asn_DEF_SULInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SULInformation_1, + 3, /* Elements count */ + &asn_SPC_SULInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SULInformation.h b/asn1c_defs/all-defs/SULInformation.h new file mode 100755 index 0000000..1c5ec7c --- /dev/null +++ b/asn1c_defs/all-defs/SULInformation.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SULInformation_H_ +#define _SULInformation_H_ + + +#include + +/* Including external dependencies */ +#include +#include "NR-TxBW.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SULInformation */ +typedef struct SULInformation { + long sUL_ARFCN; + NR_TxBW_t sUL_TxBW; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SULInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SULInformation; +extern asn_SEQUENCE_specifics_t asn_SPC_SULInformation_specs_1; +extern asn_TYPE_member_t asn_MBR_SULInformation_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SULInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/SULInformation.o b/asn1c_defs/all-defs/SULInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..4172dda977824465ffe052d809a4d84322ededa1 GIT binary patch literal 4120 zcmb_eU1%It6uz6S&9;f_rtv3Qq4QErshMVCz-_>?>1NXjY`5E_(V*gFvYGt3J0m-j z5EV623tdF;!H4=L_~eTed@1-65Y#s%PX!-*6%_FYd=le1chA|qdovpf_Q1?J=Q}_5 z+;eB{z3&!^(>;lVU`mJ!qOCD1#6n+N&Pg#R2E_?s-}rlOrm<%?zKf=;AMN)pJb!FV zY+3e=y|4CxqNnZazov>G^cFvS5TiCu*-gQ2{AoA-wHx1ByOaBS3okY9zWnt=r*e>w z0)LZ%O=pPT7^FaJ@0V}n_{~=jut(v+!4z0v8BAzHV*M~~n&;fmw<^xEw-TOntJM)H z%*_{P{FR_ybEEaZH!I?FIALtL)lJXvgUDE2-|~E87{JrZXQZtX_+eCc*Zs&?ao4Nf za?9G8N`&*pk;&QVd`U{zwlBUY)(azr?a1>(7%Duh*n6<)YpLtqQY5<>4#9CP?zPW{ zr0FoFKs$OL^WyyR$-;B|KIVl~v9thaPO<2H<@L~U4#A$PguUPx#BmO)Pmc9V`TT@2 zJioN*N1MiT=D0aJVr@#zddJF|qvNJ^rinv@5D&{YDde82AWbnT(g(25C33JoUr79DYmGVZOTt-Kc~bPNs+8}*dqC;i8hLyV zJVUa|e(Hk%1vuu}A?Fl*?ESz8ls1f!*1WyR*~Y z&>c&_5#dY~rk&0pCvsOqvRs5j)mtqo%{uZB;}(_c zK@?PiYU@PH2Yv+SqE~maW6xS;>->3K>a(=oxR(vU^N&2S_xJffK^*^C#$Aw+bpKit zmiQpZ>`$=#<8e2bAOO!7B={`kF2Oi|Q;6gJf@z2Z#PRRr?{K&aZY%g>BqJ*;IOjxY zQNbT48QCobe?q};D|maC5CZ>4B&<_CAAXQ%d%iQI|E}OCNk%q|34oAc-{w#OvK5@q z2gG+29Q|KG5J>H_x@+;=F${5DZv$i`tX-{NnBg0>$Xx;+)th{crMg#j&B)u1gt_cS zt}vIvP?+@q6?C`EY^Q30iZRjwBuzD|LB&N-W)Nm2sMS0lvcr|nGcT3qN5aUhyhc&p znzK@OYo09of4>aKz&%%!@td>|i=<;5j>GH2>+uxf>NkZU zyZ8bsH(Bd#w4|nh_Xf(9=|36cqI~0%o$J++i&;73ehA#T}iv)~6p!DBO4JS+gZTUK zFsAw)!AZrC?)wS&Ag0%!qIg@&!SiSMV-Vu{cZ>SR>xBKo+ZM+&9yd1TF4OpTs4zV1 j9*K#^HPP1|Ad#Z0>D$_bHC3LWaq+jQ{?9O(LVEmvj>nih literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ScheduledCommunicationTime.c b/asn1c_defs/all-defs/ScheduledCommunicationTime.c new file mode 100755 index 0000000..f41697a --- /dev/null +++ b/asn1c_defs/all-defs/ScheduledCommunicationTime.c @@ -0,0 +1,179 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ScheduledCommunicationTime.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_dayofWeek_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_timeofDayStart_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 86399)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_timeofDayEnd_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 86399)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_dayofWeek_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_timeofDayStart_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 17, -1, 0, 86399 } /* (0..86399,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_timeofDayEnd_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 17, -1, 0, 86399 } /* (0..86399,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_1[] = { + { ATF_POINTER, 4, offsetof(struct ScheduledCommunicationTime, dayofWeek), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_dayofWeek_constr_2, memb_dayofWeek_constraint_1 }, + 0, 0, /* No default value */ + "dayofWeek" + }, + { ATF_POINTER, 3, offsetof(struct ScheduledCommunicationTime, timeofDayStart), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_timeofDayStart_constr_3, memb_timeofDayStart_constraint_1 }, + 0, 0, /* No default value */ + "timeofDayStart" + }, + { ATF_POINTER, 2, offsetof(struct ScheduledCommunicationTime, timeofDayEnd), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_timeofDayEnd_constr_4, memb_timeofDayEnd_constraint_1 }, + 0, 0, /* No default value */ + "timeofDayEnd" + }, + { ATF_POINTER, 1, offsetof(struct ScheduledCommunicationTime, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P197, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ScheduledCommunicationTime_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_ScheduledCommunicationTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ScheduledCommunicationTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dayofWeek */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeofDayStart */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeofDayEnd */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_specs_1 = { + sizeof(struct ScheduledCommunicationTime), + offsetof(struct ScheduledCommunicationTime, _asn_ctx), + asn_MAP_ScheduledCommunicationTime_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ScheduledCommunicationTime_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime = { + "ScheduledCommunicationTime", + "ScheduledCommunicationTime", + &asn_OP_SEQUENCE, + asn_DEF_ScheduledCommunicationTime_tags_1, + sizeof(asn_DEF_ScheduledCommunicationTime_tags_1) + /sizeof(asn_DEF_ScheduledCommunicationTime_tags_1[0]), /* 1 */ + asn_DEF_ScheduledCommunicationTime_tags_1, /* Same as above */ + sizeof(asn_DEF_ScheduledCommunicationTime_tags_1) + /sizeof(asn_DEF_ScheduledCommunicationTime_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ScheduledCommunicationTime_1, + 4, /* Elements count */ + &asn_SPC_ScheduledCommunicationTime_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ScheduledCommunicationTime.h b/asn1c_defs/all-defs/ScheduledCommunicationTime.h new file mode 100755 index 0000000..725be70 --- /dev/null +++ b/asn1c_defs/all-defs/ScheduledCommunicationTime.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ScheduledCommunicationTime_H_ +#define _ScheduledCommunicationTime_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ScheduledCommunicationTime */ +typedef struct ScheduledCommunicationTime { + BIT_STRING_t *dayofWeek; /* OPTIONAL */ + long *timeofDayStart; /* OPTIONAL */ + long *timeofDayEnd; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ScheduledCommunicationTime_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime; +extern asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_specs_1; +extern asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ScheduledCommunicationTime_H_ */ +#include diff --git a/asn1c_defs/all-defs/ScheduledCommunicationTime.o b/asn1c_defs/all-defs/ScheduledCommunicationTime.o new file mode 100644 index 0000000000000000000000000000000000000000..fe31f12889f74bfcc64f7a96edfdb3dbff7986bc GIT binary patch literal 5544 zcmcIo-D?zA6u+CbCiNp(TiZr$n|Y{h0?n9-0aFWMHCdftj4>Z7wRAJtOiXmME4#Bn zE!0T#VG%)S1^X7zKft#NeMu>_f_;$C2f;!^p9(F-_MuoPwddS9XZPf~oBGuQcg{J# zd%ot}J2Q9pY@%;ZO(de2BC1Q3HAa>CIaZeAT8yig)l15~@aIr(aj~~}I~aE_?x}Mx zEEL|~e_`>+HdZnsG{D%nG}fRp=JKbrwn$HZ;Y{`F}I=x0myO^9=b9KW+Yf zBEP=#@Uj}%1{k;;0#?`tCY(cJ{Ym)$9Up56tE*gJjZthZ>CBC3W!u}le8x#7$Nh=? zHZPrS)xuC}(jPCR{qgSX^mHLJmGXkAY-V_B+P70`YksFSJV~ zb-YE-rLviPkn^T8fi>YxL6FjH^{{H(JDr_4?E5EF09mpVJ>Kb|z{>??HIW%tQ;F8Z zsld_S2?sc^=dIzRhuwyjK{XP7Eim6jIjD06a}yj2JW%v85irs*V&rq z92a}h2&4Wv#_fby77QltwW*sp&zsK&_EPQv?18kw+Oh9UaTWwefArCId%L@LTFoP4 zg-lSecGw+uTdPyhn)8X%X}5LQPD_aE2pcI*SNt&>g)EdJpxyEZNJ9f1+xM2DU^IX!zV%3VUF1+uqV@s412Ij z{a*2%8C}-lvU_w{XC+>F^`h#9vXPLY`iT$#h;PEE5qWhF0ozIVJa8o4C*Vh6puI(# zfpN5nsz=|RX8@0=wJMGVK(gYfdNBmW^*YFC&lD%&4sgVI-C}G2JSyxN{!80O)dB(R zw+ZTwfXAqTcM(o-DG%yVrB5L|RpL?o#FkVoc)Bl-_J2a-t4n*8y-pC$y5v!{PO4fy z3HBRApC`%UQ@~|U*zsBw{0oXRONOJMBmJQ9^18Hzu&RXzw^IDgRq(bdxT^kXgD>W^ zKRuQ#ec_Vj4`k8_=azr-Rx*IE;PPqsd?$Mndy>@)NCw`qJY+)4{ksPK!?N8^Kb~!N znu87`29p(UG1;z@mgXzoW^#KKqw=jLJCxnm-G-NTyoC3%@?Gno2jFfK2S*b9-3i5l zXkXZp-GeK&B+NB5(7lpT{-mGcZeUrvdxw)l!-Kv3dvywg`r!yQ zZGlVs?*%U7^G_tRp7r#+Aui+Z6S#~&EN~hBoWQ01C4tNMR3^Lw!}Afo=aKNdgk<9U z%p<;8TZ9)puOK1b03!|qsX1hi;I6>8kc@0V;QSp&XjI^Dkc{lA!13F~bb|z}2hSG^ zq~9ctIQE+94he|k*=B_F`vPww8Ce|~0&)CNt-(7{;23|N@MeKy{3PM7z-9bVf$Q@T z*-r`_<6ET93LN8S$bMen7GcQl3LNb}ra8IpxQJn82Roa*m#Yq_=%WolGE_UAO?e3F z2+B^uZ#6#y(cx#AZ}06NY0U>->I8ZDlgWvkH|}|abKcr*1tf&5*tz+i#W3bAXMuAO*#_B zs1MkGJpFS0-2W6{mGaNi5wQ*CC0SAd`6C#W^53F|mHjb4p4!a(_~Re*o6EIC`A1<+ zk|h<8@jZe5oQJ35w4rf-NaA)f$LF7AX_q!12%0o)KPP{){*&Z?Lk0zz@1Nn%K&aHe z2h=~846%Rs8T&k5&l=U35My9Yhvy_fK(^`fCl=|2yWg##;xQZ O$AW>bg{*Wn{r?3g(eH-< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBAdditionRequest.c b/asn1c_defs/all-defs/SeNBAdditionRequest.c new file mode 100755 index 0000000..4632a9a --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBAdditionRequest.h" + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P44, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequest_specs_1 = { + sizeof(struct SeNBAdditionRequest), + offsetof(struct SeNBAdditionRequest, _asn_ctx), + asn_MAP_SeNBAdditionRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequest = { + "SeNBAdditionRequest", + "SeNBAdditionRequest", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequest_tags_1, + sizeof(asn_DEF_SeNBAdditionRequest_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequest_tags_1[0]), /* 1 */ + asn_DEF_SeNBAdditionRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequest_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequest_1, + 1, /* Elements count */ + &asn_SPC_SeNBAdditionRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBAdditionRequest.h b/asn1c_defs/all-defs/SeNBAdditionRequest.h new file mode 100755 index 0000000..336d950 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBAdditionRequest_H_ +#define _SeNBAdditionRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBAdditionRequest */ +typedef struct SeNBAdditionRequest { + ProtocolIE_Container_8180P44_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBAdditionRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBAdditionRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBAdditionRequest.o b/asn1c_defs/all-defs/SeNBAdditionRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..1f804263f0c49ea4d3f8c7309b3037c405a1f3a6 GIT binary patch literal 2504 zcmb_d&2AGh5T10Ql)wHUB#^j-6Gfs{wu(elB(!Zv3kcfKsuH*DX1i)D(%q1Cq#`89 zfddjRz>Qbn1-NtM$dxyMCx996IB^~CrD7!8GoQctvDfy#Z#`R|s#HKr1s=lK(kQ^p z^jHs+8o(UP!cMZewz|K6B#*LmJ9#}watXbDCbKx}K56A+rxMN1W!oig&Kk?O8lOVt zFN(JR$M_h7)Qmu7^=q7JFeM;kquE@kF79>)sT@@Ai@K;S`2%J7@BD_S)rEhzz)jav zI>kQ+f1GRcN_NWwyP6`T2i~dJ+VC)gOFTF~0pCER0vBPPXG~8IE==%On6D?aAK4zp zaft_)T`=-5P2eFS3r3xX%y^5VnM*r!YqL(cjzQ2Kbtr@{D6Qx|vrhOm1OH**w65!Ho9jAtN=5$W zSVkQX_z8;fP-`+dks$UX8G-2JIf#Bn1~Gl%qnUIgHBFjjif$H11S%I0adv#1;0G3I zCKIu-xx19hD1K#Bem3WBPr{$}I~j&z>%Inw8T z3o)w2&L41rHJmf0Y8t3N#pcT2<4dXYP=0#l?ELh;QY!n8(&PO4{3At)dAA5Sz(!QN z&JXNQ-^Ub&l@H-PY#K9pUtOSsOEkN7ilhC%bDXP)QM1=ie<*wJ5rPv2r>#0HQ@trJ O|Bt-?Lkeby?f(z+UBBo6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.c b/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.c new file mode 100755 index 0000000..9511ddf --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBAdditionRequestAcknowledge.h" + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequestAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P45, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequestAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequestAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestAcknowledge_specs_1 = { + sizeof(struct SeNBAdditionRequestAcknowledge), + offsetof(struct SeNBAdditionRequestAcknowledge, _asn_ctx), + asn_MAP_SeNBAdditionRequestAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestAcknowledge = { + "SeNBAdditionRequestAcknowledge", + "SeNBAdditionRequestAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequestAcknowledge_tags_1, + sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_SeNBAdditionRequestAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequestAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequestAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_SeNBAdditionRequestAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.h b/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.h new file mode 100755 index 0000000..de71014 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBAdditionRequestAcknowledge_H_ +#define _SeNBAdditionRequestAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBAdditionRequestAcknowledge */ +typedef struct SeNBAdditionRequestAcknowledge { + ProtocolIE_Container_8180P45_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBAdditionRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBAdditionRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.o b/asn1c_defs/all-defs/SeNBAdditionRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..2a7d76e7afefc37c39d3101851fc8f28217b943f GIT binary patch literal 2688 zcmbtVJ8u&~5FY1vzmfn25(Nedf<#unC+EJkxvl}2M-t|#$A^t>IVvJ!5@$;)QcSdF?d{VcPV>F+nLA5X`J(D{R+ zV~4e8F+oX7(r^3j`#5E z%vT*Mj(i96*u;TTHW>M5`rxN~@Et@(wehbp;}dFq3=G5PKKM7pDbEfQpRxX(;obR` z7{87SX3Ia|fQb--H1;3Vrv3k)L|+E0sqbd&Czbj>*b`Bc`Gd1(Y3DI(?dei&u37_S z_+b*KvK6eyGA})~FsO7s#>IMd5Ha0~LNz5CV!d;W{AvH?hL9urq z%_Iy6%tDmTLtPMIvbh=I9uRRNBQZ0#G@i;J+~C0AzvYV?;TkKf5aSs*U z#a`}q+Mj$u?=f-~HQnl}zB&i{fpSA%ZTovy^0@E&Hw+F#K_yzm1&=(|KQPpoL2` ubMBPqE64v}eGW1D%>PF(skwI%f{zT&8sjkB?C!F~@A3M*qhy+x@qYn`H0N>v literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestReject.c b/asn1c_defs/all-defs/SeNBAdditionRequestReject.c new file mode 100755 index 0000000..23c4522 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequestReject.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBAdditionRequestReject.h" + +asn_TYPE_member_t asn_MBR_SeNBAdditionRequestReject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBAdditionRequestReject, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P46, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBAdditionRequestReject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBAdditionRequestReject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestReject_specs_1 = { + sizeof(struct SeNBAdditionRequestReject), + offsetof(struct SeNBAdditionRequestReject, _asn_ctx), + asn_MAP_SeNBAdditionRequestReject_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestReject = { + "SeNBAdditionRequestReject", + "SeNBAdditionRequestReject", + &asn_OP_SEQUENCE, + asn_DEF_SeNBAdditionRequestReject_tags_1, + sizeof(asn_DEF_SeNBAdditionRequestReject_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequestReject_tags_1[0]), /* 1 */ + asn_DEF_SeNBAdditionRequestReject_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBAdditionRequestReject_tags_1) + /sizeof(asn_DEF_SeNBAdditionRequestReject_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBAdditionRequestReject_1, + 1, /* Elements count */ + &asn_SPC_SeNBAdditionRequestReject_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestReject.h b/asn1c_defs/all-defs/SeNBAdditionRequestReject.h new file mode 100755 index 0000000..0311634 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBAdditionRequestReject.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBAdditionRequestReject_H_ +#define _SeNBAdditionRequestReject_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBAdditionRequestReject */ +typedef struct SeNBAdditionRequestReject { + ProtocolIE_Container_8180P46_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBAdditionRequestReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBAdditionRequestReject; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBAdditionRequestReject_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBAdditionRequestReject_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBAdditionRequestReject_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBAdditionRequestReject.o b/asn1c_defs/all-defs/SeNBAdditionRequestReject.o new file mode 100644 index 0000000000000000000000000000000000000000..2071c28bc99061239c800f13aeb3e76c31574328 GIT binary patch literal 2576 zcmbtV&2G~`5T4YOe_Dz-AP`cxKtXgBR}n-YA-5qZAZSCYO59x6wc0{rxA8`T3*-@y zxbzP10FTgPj!3)&JORwCca!PHiJ*++otbaH`LXxMA8OC*6NLg8DZnEbcm@S%oE+Gm zGCi1vDOih^7ZnN14*G^;-Ce5d{bP)Q_mfef(k4pHrJRU!R z&TkZs{jdE56O>qzQGFSldf?)bvsA4AXzt@r7 zEYf!^8Ek^UCCT)Tv1IgCg4haV0Ae#uL9`Qci0KL!-KZI;X|gO=G?OqOP=$a9lU6Ij z1s8E5BeAr+K9|ZMe8W0Fo_P(!=o_%#jY{OHad;pummBC1X5UaACo$WOzlC%3ZI2s& z7h@^sJU(1J?cC%b+NQqI#3S3T-$jh%d#3thv2SI@LsWE^dYRiF5A_B6QzPe5(|$7h z$n5(S#PaHI=mtwV-l(E6w0?#F?jAWK8V%Kd6Y(Q~&?~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBCounterCheckRequest.c b/asn1c_defs/all-defs/SeNBCounterCheckRequest.c new file mode 100755 index 0000000..1ad4d0b --- /dev/null +++ b/asn1c_defs/all-defs/SeNBCounterCheckRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBCounterCheckRequest.h" + +asn_TYPE_member_t asn_MBR_SeNBCounterCheckRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBCounterCheckRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P57, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBCounterCheckRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBCounterCheckRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBCounterCheckRequest_specs_1 = { + sizeof(struct SeNBCounterCheckRequest), + offsetof(struct SeNBCounterCheckRequest, _asn_ctx), + asn_MAP_SeNBCounterCheckRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBCounterCheckRequest = { + "SeNBCounterCheckRequest", + "SeNBCounterCheckRequest", + &asn_OP_SEQUENCE, + asn_DEF_SeNBCounterCheckRequest_tags_1, + sizeof(asn_DEF_SeNBCounterCheckRequest_tags_1) + /sizeof(asn_DEF_SeNBCounterCheckRequest_tags_1[0]), /* 1 */ + asn_DEF_SeNBCounterCheckRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBCounterCheckRequest_tags_1) + /sizeof(asn_DEF_SeNBCounterCheckRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBCounterCheckRequest_1, + 1, /* Elements count */ + &asn_SPC_SeNBCounterCheckRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBCounterCheckRequest.h b/asn1c_defs/all-defs/SeNBCounterCheckRequest.h new file mode 100755 index 0000000..2d8e279 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBCounterCheckRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBCounterCheckRequest_H_ +#define _SeNBCounterCheckRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBCounterCheckRequest */ +typedef struct SeNBCounterCheckRequest { + ProtocolIE_Container_8180P57_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBCounterCheckRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBCounterCheckRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBCounterCheckRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBCounterCheckRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBCounterCheckRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBCounterCheckRequest.o b/asn1c_defs/all-defs/SeNBCounterCheckRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..cd8d7064a1fad169688aca733480d4aa754f444a GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aAR(b3AyFjy6jw!!Ktd)aEg(okt4M6FW2^=>u|xbK!2;P? z7%QM0h|+> zoth5J!7OZsjhY(|BN-0dP8jTLgs+BSBB4KsWgNuaNA+Y9cnHhv#q^6({x46DpF!s@ zijE!CeuxPwT9Tr^6iz+p;*hiEx_8P8tu{{cu)HFcMP<<*rk?%Qu8PXCuy1C#9=gw_ z{Kw#T?zdUFD-K|R*-e(x!jU|&utJ_#aC{2Bf=CHY!v!AEBP}>N#ji164X8NsEzFZA z7M#t4k$+|i-$7(v>$Ag*_o($+D)3_g{snQ$Gh*U%)<05w@?C0A{6Rb~f6>7b0r*Me zJ*cmG1xL@5{&wQoDedX~=0UWju*<{)@}-H^F;D$jtKM+ypbRgFqeKq;myyhh)iw%? zW$kP>-9kpv4+GUUb<-SQAf6jX603v*uWDB-&D$$Hr=)0K>$~d|kD0idW5Q>dL+Ucy zgww82yoCas&NB(|=Ta+sHQ6RyGvijlYGllyeCm zT^x3<>mb^yzS6`a+pIrAjO1sg#_#gj%8a|H=SsAP!qt2`UnGdC^L-pzQGwXYZQ7Q9J^MUJM!ZBU+vqkteK14P9{KWCJ zKDscR#t`1eM`1c|FAvP&63y(L@~HUloaa1Z^qAjIe=c+F5rSO?uNr+AZhEKW#ed`Z KA5k(*%=mwF&CNal literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBModificationConfirm.c b/asn1c_defs/all-defs/SeNBModificationConfirm.c new file mode 100755 index 0000000..b6a75fc --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationConfirm.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBModificationConfirm.h" + +asn_TYPE_member_t asn_MBR_SeNBModificationConfirm_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationConfirm, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P52, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationConfirm_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationConfirm_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationConfirm_specs_1 = { + sizeof(struct SeNBModificationConfirm), + offsetof(struct SeNBModificationConfirm, _asn_ctx), + asn_MAP_SeNBModificationConfirm_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationConfirm = { + "SeNBModificationConfirm", + "SeNBModificationConfirm", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationConfirm_tags_1, + sizeof(asn_DEF_SeNBModificationConfirm_tags_1) + /sizeof(asn_DEF_SeNBModificationConfirm_tags_1[0]), /* 1 */ + asn_DEF_SeNBModificationConfirm_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBModificationConfirm_tags_1) + /sizeof(asn_DEF_SeNBModificationConfirm_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationConfirm_1, + 1, /* Elements count */ + &asn_SPC_SeNBModificationConfirm_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBModificationConfirm.h b/asn1c_defs/all-defs/SeNBModificationConfirm.h new file mode 100755 index 0000000..c907e15 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationConfirm.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBModificationConfirm_H_ +#define _SeNBModificationConfirm_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationConfirm */ +typedef struct SeNBModificationConfirm { + ProtocolIE_Container_8180P52_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationConfirm.o b/asn1c_defs/all-defs/SeNBModificationConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..caff32ca2886c1da89ea645ee184a76bf9d20e49 GIT binary patch literal 2560 zcmbtV&1(}u6o2XZ{m~EcAP5pcu!0@3rD9N!HE~-Nn?_5(+jg_vw!vgKWT&7P&E1Q~ zf>#gTyn6KLvEKYM^yo?7n~!8V*)7sO*m>{$=6%h~o7s2%v*oE$2{e`90gN?`0(hqk zS%@CYz%;DKjoNCu+1ctuA@8I~Jx#VcgC6t;DNm!c`^3-2jz^H}T5P>2h*i&`Br;3;k)I#Y>8DC++Cr$Z`~@ZEHU?%#7)-& zGQ~duzjN2-7Mw5cwYRXi^U=c zvm|)rF9!uzFW}*J7P!J}^j|9Q)A)P2xG5T!}R2Vp1SGFk0K zVKQ0Hdb3_=k@e$9mrd0)M-NDVZwkjO@gS(W)k^cuqS{kp)YoQrol$c(uJ@SmX=Ov~ zijoPZuF!V#1vuSjBC?+mk{p^!CS1oLXoChM!smn}hdm_|e#yZ14V>1c>oeDNpnF;N zrpLoJFgyy$ceKRg*Bsbp$U|W5ECV)3Ng+#@xv0k7P)w6#sjQnuA%VgLSd{j9F&;Ea zQXaFFMr$GCVMMp)cqHEe0OR)}0(u2uX}?UmjtXJ+i{zO`hHU%a#5vmAqx#=QUy5n= zB&y)ifOJE$(Wvul?%@o{cK#t^L_Z}PjpdOfh5N|p?ewHN8o#Os^_M~}Ag6xPeWd$p z4Y9oZ8>+yH^4F}a1;w8t&&&T=T}qvY^3&^Q=MNC0RQ8|dgUWvy=S(v17UA3Yk*Qth zC*@D)W0Hb}58-|MG-lfE=Ycu4WM2*I8LuUU0is(4fK O{J*LFA5t)bZ2y1LZOtSA literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBModificationRefuse.c b/asn1c_defs/all-defs/SeNBModificationRefuse.c new file mode 100755 index 0000000..13429e0 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRefuse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBModificationRefuse.h" + +asn_TYPE_member_t asn_MBR_SeNBModificationRefuse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRefuse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P53, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRefuse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRefuse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRefuse_specs_1 = { + sizeof(struct SeNBModificationRefuse), + offsetof(struct SeNBModificationRefuse, _asn_ctx), + asn_MAP_SeNBModificationRefuse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRefuse = { + "SeNBModificationRefuse", + "SeNBModificationRefuse", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRefuse_tags_1, + sizeof(asn_DEF_SeNBModificationRefuse_tags_1) + /sizeof(asn_DEF_SeNBModificationRefuse_tags_1[0]), /* 1 */ + asn_DEF_SeNBModificationRefuse_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRefuse_tags_1) + /sizeof(asn_DEF_SeNBModificationRefuse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRefuse_1, + 1, /* Elements count */ + &asn_SPC_SeNBModificationRefuse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBModificationRefuse.h b/asn1c_defs/all-defs/SeNBModificationRefuse.h new file mode 100755 index 0000000..fa9c817 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRefuse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBModificationRefuse_H_ +#define _SeNBModificationRefuse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationRefuse */ +typedef struct SeNBModificationRefuse { + ProtocolIE_Container_8180P53_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationRefuse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRefuse; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRefuse_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRefuse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationRefuse_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationRefuse.o b/asn1c_defs/all-defs/SeNBModificationRefuse.o new file mode 100644 index 0000000000000000000000000000000000000000..6115fc8ca8fb0afc8d43dd447b323b908762f7b5 GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1y^lRB#F6K#}MwE=5EjA=8kyAex3&mAJXC>$VYz9mN|7E|42n zZuH238yAlJ1P&Z}*+zTuRI<< zhR$ykj{UE_gb6AvNl{-KryjU?71)Df9XL6{_Y_|*=s5Bn z%wrP=&e~w)pBce-5t(Ftl27s$2d|ZZIK3~xKOs(e2B=A%=L)`|o@CFZ&%`gpZTSm6 zED=JG#{Q%Ff^Yxwd>QPdzMHX@A2$EOnvL3uSDY;T&>fKzJ4#Pz!+ ze0&%UFva+E8Z>XZ0AFJGgtAFB8Lo2>w88L6Ws}-t_(g{AGn~Gb%gX1^b?DTJ^i@X& zn;>u-a=oi98NHMswgMS|*i2Ipy@VWMy23>_Y6saeS%xdxNf;2Ag@6c?PA9@m7I7jY zvDjFjNo5eeV4WY$yozD8C+xS9CGxU)bRsU7Yv>SW-b5ZJG24v4fot?`j~agqV=3n> z4lbT@u5%D=U0-YBk!{u=AV%^%SHrnHv~uGH-{}Qfo;olbFJ2;4H_W4o8 z)BbQ#a27*&7l+0;Z{G%5xI{C1r#w3TtIBg8F&gIc(;v&+dxT(5fm22whKv6ad;Aym L{s)wdi5dR~>3hl~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBModificationRequest.c b/asn1c_defs/all-defs/SeNBModificationRequest.c new file mode 100755 index 0000000..af261af --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBModificationRequest.h" + +asn_TYPE_member_t asn_MBR_SeNBModificationRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P48, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequest_specs_1 = { + sizeof(struct SeNBModificationRequest), + offsetof(struct SeNBModificationRequest, _asn_ctx), + asn_MAP_SeNBModificationRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequest = { + "SeNBModificationRequest", + "SeNBModificationRequest", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequest_tags_1, + sizeof(asn_DEF_SeNBModificationRequest_tags_1) + /sizeof(asn_DEF_SeNBModificationRequest_tags_1[0]), /* 1 */ + asn_DEF_SeNBModificationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequest_tags_1) + /sizeof(asn_DEF_SeNBModificationRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequest_1, + 1, /* Elements count */ + &asn_SPC_SeNBModificationRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBModificationRequest.h b/asn1c_defs/all-defs/SeNBModificationRequest.h new file mode 100755 index 0000000..c4199c6 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBModificationRequest_H_ +#define _SeNBModificationRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationRequest */ +typedef struct SeNBModificationRequest { + ProtocolIE_Container_8180P48_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationRequest.o b/asn1c_defs/all-defs/SeNBModificationRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..82d0ceb9574d251473d7b805b33d272ff0dd8ec4 GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aAR(b3AyFjy6jzamKtd)VEg+hPR*~3T$93C?#18R`1Pf$m zVXVZ;z{bkR$XGW13>cZ<&c2ttzStFNPqOds_kQ>B{674y{%m=sPyi(bcmNYmp#aV) z%}z`Q=3o{!f<|>U+Ujg~d{1_wa6Nc63}OlWK_nwT>OQH*lfWZbW-q3nm-2skdi)GJ ze^GSoxb|aAP|}j*^`&s?K^KRdm0ImyaiP^7hH_ZEE6Sp@Xb%(5ers1msVwZFQ;=Boh}N4|x5 zvc!V(Supa?P2n#Qnb-Q7u!Ij@ z9J-I{%WlrmbEUTvyLLibeb_vVwiI-kcu2k^(HiEdKX26=wK^!n^`kJB1FsXxv{-dL zw^-WFMzfa7i2H%B+NN%r;|s*CMWMth!N9H9l~S`@;crTc_O-sd&hVItt8YyBEOSU* zWt(u?6^gfzgVT8?A^u!qrLQL2gsU6`ZPE*c@cG0_Uwdp5ep$o!HJs+9`qSriVE2mn zO;37l5V#bn-c^= + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationRequestAcknowledge */ +typedef struct SeNBModificationRequestAcknowledge { + ProtocolIE_Container_8180P49_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationRequestAcknowledge.o b/asn1c_defs/all-defs/SeNBModificationRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..f6c6f6cc5b8a3d84eff577e6c8fa865ebaa183b3 GIT binary patch literal 2744 zcmbtV&2G~`5T4Zhl;0-60f|cx5)_H9;;IsXO2}zX!dYL|G!&xQ5@ zkl@Gz@BrN4$c-yUBslO0@B}bp&!)>}BcgUB@63EV-^{Fc*WRr^oEs?=KuH1az`mzY zfKSKvZ7(xDD8d-5M2oWv$$INaD-2{SiI=0N-6)ka;Z~eHZ%6AJ(LV1Wmf4Hx56U@g zoX#IX=MRdG9oD{w2`XBWL47HldeFr~XQz|MBuv`(>nXr|t#-RSzPi?pWw(4&Oo_^b z+s!=pm0J~+DdAqvaXn3+P4$kzZ|hne>j?mG!0awh>)?z{9IRjy2afi^R}m?|2|QD| z=u8KW_r*Wvcr~GTwl9YKBCrpP{c0-@b8FIo;?nv z^^lC>#+0=6s7f^%{q_KauKIi}cw)!&INPRbBEX*{9WK2eF<_uRQOTUEK z>yK9Ji?uo^!w-`AOKf@hX=51`Q~Lmoh6Knrst( zj%`x!*e3iu+oZm-O}Ku_^>zJoTSWSDTLx<&aC>sSsVo`2kRa9r8Gu+zQxKhm9Ex;B z72T*EWYc6Bu4pG=Kww5uI;XlI!eo0p!m}XaL`GtMadjeR+r1@5N3Y)JUvLWP5w2Uqj!B!{te_(&PjZ9@z}YdgJ|pfN>d&_w*L1JC;67E z-dOHgxiO83zR_Op_Qo<_l3$FRK~0dVukOJTVz&BCeo+j$W9^^3frst(ns zzlT}hM~q6Df3&w;{{qhGQq&!^H}IiQ^ZmbPzWGOCIO9;NXUsR(`GEsze|0hWyEv&Z zJ?@7Mw8T=FxpvC)lle-YMT{Qv{m~!RJi7?NX9k-_ABLNKyKMY%-oH1LOcRs;7rw#q AkN^Mx literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBModificationRequestReject.c b/asn1c_defs/all-defs/SeNBModificationRequestReject.c new file mode 100755 index 0000000..95a3644 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRequestReject.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBModificationRequestReject.h" + +asn_TYPE_member_t asn_MBR_SeNBModificationRequestReject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBModificationRequestReject, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P50, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBModificationRequestReject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBModificationRequestReject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestReject_specs_1 = { + sizeof(struct SeNBModificationRequestReject), + offsetof(struct SeNBModificationRequestReject, _asn_ctx), + asn_MAP_SeNBModificationRequestReject_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestReject = { + "SeNBModificationRequestReject", + "SeNBModificationRequestReject", + &asn_OP_SEQUENCE, + asn_DEF_SeNBModificationRequestReject_tags_1, + sizeof(asn_DEF_SeNBModificationRequestReject_tags_1) + /sizeof(asn_DEF_SeNBModificationRequestReject_tags_1[0]), /* 1 */ + asn_DEF_SeNBModificationRequestReject_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBModificationRequestReject_tags_1) + /sizeof(asn_DEF_SeNBModificationRequestReject_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBModificationRequestReject_1, + 1, /* Elements count */ + &asn_SPC_SeNBModificationRequestReject_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBModificationRequestReject.h b/asn1c_defs/all-defs/SeNBModificationRequestReject.h new file mode 100755 index 0000000..200f521 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBModificationRequestReject.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBModificationRequestReject_H_ +#define _SeNBModificationRequestReject_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationRequestReject */ +typedef struct SeNBModificationRequestReject { + ProtocolIE_Container_8180P50_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationRequestReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequestReject; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequestReject_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequestReject_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationRequestReject_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationRequestReject.o b/asn1c_defs/all-defs/SeNBModificationRequestReject.o new file mode 100644 index 0000000000000000000000000000000000000000..ee64b48130856405fb939a38fc86f0a98ed46e81 GIT binary patch literal 2600 zcmbtVOK;Oa5T4Y$A1y^3kPs+6Q4n3lRS^|P$Rwl%MAOi!5;xazO&dt<5N{+n0R0IZ zdxw9(kAP#39653WegVv^XOr#5X`qbcotbaHdD#2#yXxbGu|ff~6yPrOJ&giv9qZek zGCi1paafIN<)vh!`K%cRvYEsy(aUa>%9ZGO6iR4!5}AZa>tQwRhyRmh_hS3QlKm~u zj2}biH;Reo;YxH0G>jm04L!b&zO-893SAv z9Qh9B$rA@o=fTK7HGscCWYXw!iy0qKo3(V{ry=-f#3|1X6Q8pFq455D={<277bY+N z!3Rr(5Tvnxzq;TbcmRDFY^J`e$V>O?qsg;Ti|HeCtE9`Av-)JMTB}q+8-AF?sq6&J zSZ0OGD#Jp`w7PeS|&Wo1L1ZNha9g4St3A$(F<*|5tt;pYu}&%mkw zE9{%^wQrY;^!2t38X$0KGQFiO8NHGqHUb%dXrw8KPC^bbUE!h|wE{IwmgS085(WgS z5D;Oqy&d7gi#U;ySgfthq%sI!7@Z%^yo6!&4UFHAO5~|=a3HQJQ|J(8-&~$aGHg5k zD$dcjJ#739jHR5j_?Y6cbKL~d*7da}9@%#N9mGh!W~w(9dsb%LK}C10m$|+18(+LX z899TR_LJU6dfzW2mREnB8!U0WRz+>FeuO%&{vIDbU5Dz^Eos;H5u;M}AL%{UzkqY5 zm}iUdO?-%I_xX|IX?;v#Sj7 + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBModificationRequired */ +typedef struct SeNBModificationRequired { + ProtocolIE_Container_8180P51_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBModificationRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBModificationRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBModificationRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBModificationRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBModificationRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBModificationRequired.o b/asn1c_defs/all-defs/SeNBModificationRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..554cad13a149021cb9bef2cc0981e3f9e8a6a0cc GIT binary patch literal 2568 zcmbtV&2G~`5T4Zh|Fjfw0Kp+hAc{m+aaBYF5;9HG7DU_7DpGH*>zXzqu}i#>-~xRE zIQGVc2SDNlIQG~R;xXU}U}im=Y&UiVWhC#+eEZFhy+3|me?B)-DuI>~Jcfa%QGkV0 z1KU%k2V*b_tI^WTVzSwK*$M;MO5&C1b+6TpHesim$RteKPwVL*^4~4H7uzq&__sVW zegvK0C?@v5_5voT7)gry(m3^Cibu|Tt@f}y(cI|8vR8f}rbT7a?J3WF=T=2!TDW&J z+zdTrQ~ne1EBD=;+!Y6K!0skX>EKMBI9MT195^`y-$0}UXWg9^%h3Ur*>b z@*T{RCk~v?gOPu32#*mNH~QRW#s}19Egkr&0RM_O<=JK88td;0AH0{|6SN?C`3n!0 z2q8#gf3`m77o9y{23x7`D&FFg#*w_KsLjlyGOAR|n5q7vSzoHvK^uOU#Hs8CtypH| zW>$*JWgV?HYQ>avCkl1z)KH^;i}d>W1H~H27X}R^j_E4H{a{f zE*9zAjtn+H;BsVoTU#=EBSCBiG61oWrXacrImC2@i*D2o)HGR^E80mI5U4^xgh{6p z;bMz8k&&2RYEGsy2wxeUAJ4pwVe}1*-;7G+sd0E9t|>RsA zy^r+1Uq&pi{yH~U;drge+F<<*bzc21d?&Y5DKEyB0( zA*$WyXO5@!F@<3jL--Cp8Z&tZd0-BgXm;Q2dv-{ + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBReconfigurationComplete */ +typedef struct SeNBReconfigurationComplete { + ProtocolIE_Container_8180P47_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBReconfigurationComplete_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBReconfigurationComplete; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReconfigurationComplete_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBReconfigurationComplete_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBReconfigurationComplete_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBReconfigurationComplete.o b/asn1c_defs/all-defs/SeNBReconfigurationComplete.o new file mode 100644 index 0000000000000000000000000000000000000000..51159a2f0d77627dfc69ddaaa929c0b8f31b38d8 GIT binary patch literal 2584 zcmbtV&2G~`5T4Zh|FjfwKmv(yqDXWVR}qasLZ%@tAZSCYO1-&`F>OU+NAX6$1@Z_S zD{~$RtdfPipBf_#Z917uz3~?r(W! z{1iIBQB3TA?Z=p)WF#5am&U0FQ#^83s?~eNxy?p5mfhl_D2vj(+f|b z@*T{RCk~v?gOPu31b>6btkLH#Gd`gId6C~WDLU`wsXN1SHm=`2 z;nU0^b(L+x>9lCx+!&m`a}wguC@UN4Y!j|?5VTDL3gNTL%7%Tm3BPRMeFLX;U1#51 z*P&A_(swNxG(g~%WO`RyGI}dPybNRjqLHQ`Ite+%bcKs<)C|-#S(YoBNf;2QLO_H` zs}kImB>@$=s;XkZlXh&eN%ZR$*}GCTR2DW z_PFtPFqU#I;A4u%jy^|vPS@9(cx2o4dx()7WNI)L2Ucd>M@4t4m$`$n&ll}aMlPVH z^Q6y_KKE;g<<;Nj21^{TRZ$zP>AudZ|BXLNU5Dz^t!UTx5u;M}ALt|3zk+k7nBNxR zJNOXQ?(;Lp)Bc#ku!o6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBReleaseConfirm.c b/asn1c_defs/all-defs/SeNBReleaseConfirm.c new file mode 100755 index 0000000..1fd8864 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBReleaseConfirm.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBReleaseConfirm.h" + +asn_TYPE_member_t asn_MBR_SeNBReleaseConfirm_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseConfirm, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P56, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReleaseConfirm_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReleaseConfirm_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseConfirm_specs_1 = { + sizeof(struct SeNBReleaseConfirm), + offsetof(struct SeNBReleaseConfirm, _asn_ctx), + asn_MAP_SeNBReleaseConfirm_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReleaseConfirm = { + "SeNBReleaseConfirm", + "SeNBReleaseConfirm", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReleaseConfirm_tags_1, + sizeof(asn_DEF_SeNBReleaseConfirm_tags_1) + /sizeof(asn_DEF_SeNBReleaseConfirm_tags_1[0]), /* 1 */ + asn_DEF_SeNBReleaseConfirm_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBReleaseConfirm_tags_1) + /sizeof(asn_DEF_SeNBReleaseConfirm_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReleaseConfirm_1, + 1, /* Elements count */ + &asn_SPC_SeNBReleaseConfirm_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBReleaseConfirm.h b/asn1c_defs/all-defs/SeNBReleaseConfirm.h new file mode 100755 index 0000000..154c78a --- /dev/null +++ b/asn1c_defs/all-defs/SeNBReleaseConfirm.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBReleaseConfirm_H_ +#define _SeNBReleaseConfirm_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBReleaseConfirm */ +typedef struct SeNBReleaseConfirm { + ProtocolIE_Container_8180P56_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBReleaseConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBReleaseConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBReleaseConfirm.o b/asn1c_defs/all-defs/SeNBReleaseConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..2eba18d0743f94d6e454fddcdf6898eb962c7b26 GIT binary patch literal 2496 zcmbtV&2G~`5T4Zh|FjekLgGL;Q6##Gs{#>7$TYYG1Zij$sRtz2F{Y_V>?n3bxIhj_ zyaEz0!I4Mc$PtN`fG2>N^-i+gY$Q}h^3Ke+^UaKR*X#HG)AhMh30O*SA0{57sE6F<(tKO;_gMk;Ve>8}!>yceH|pNQM?TRt2SL6{}MLw`M( z{;GmJ+{*%2Mm&4am=UoOcT|i$i==NN+kf8l>op(P2%1>l65F>zi)!so|qfXiAu?K;OT z&A{n z@)x?zRvr&?5HG_#1kuVe5dD-KigbmGZrlmwG+Bl#I%yOVC@CPKwA+nwb48NovDm0L zm$N*KUTd8n&b)#&S_AF(AQO3VoE|7vmuu({X5KiS9;DeO|2odm+8&mF6Sszl#{jk3x;d^4Kbjd#LDc^a^)84%LPEOCe`a(|O`^#OHn!FGS literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBReleaseRequest.c b/asn1c_defs/all-defs/SeNBReleaseRequest.c new file mode 100755 index 0000000..b2081e5 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBReleaseRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBReleaseRequest.h" + +asn_TYPE_member_t asn_MBR_SeNBReleaseRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SeNBReleaseRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P54, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SeNBReleaseRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SeNBReleaseRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequest_specs_1 = { + sizeof(struct SeNBReleaseRequest), + offsetof(struct SeNBReleaseRequest, _asn_ctx), + asn_MAP_SeNBReleaseRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequest = { + "SeNBReleaseRequest", + "SeNBReleaseRequest", + &asn_OP_SEQUENCE, + asn_DEF_SeNBReleaseRequest_tags_1, + sizeof(asn_DEF_SeNBReleaseRequest_tags_1) + /sizeof(asn_DEF_SeNBReleaseRequest_tags_1[0]), /* 1 */ + asn_DEF_SeNBReleaseRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBReleaseRequest_tags_1) + /sizeof(asn_DEF_SeNBReleaseRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SeNBReleaseRequest_1, + 1, /* Elements count */ + &asn_SPC_SeNBReleaseRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBReleaseRequest.h b/asn1c_defs/all-defs/SeNBReleaseRequest.h new file mode 100755 index 0000000..ea1661b --- /dev/null +++ b/asn1c_defs/all-defs/SeNBReleaseRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBReleaseRequest_H_ +#define _SeNBReleaseRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBReleaseRequest */ +typedef struct SeNBReleaseRequest { + ProtocolIE_Container_8180P54_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBReleaseRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBReleaseRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBReleaseRequest.o b/asn1c_defs/all-defs/SeNBReleaseRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..1283e15df8a9a1d7f035bca45c6205e5f5d1cc1c GIT binary patch literal 2496 zcmbtV-D(p-6h7(t|I=C(5xg*7S-}q35-}*q+L%^F)0k4|g|OYMLo24)n4Ms~(Ow9? zg5XPd=_7dQrQl2G6X-d!bCT&~0#Xm`oO8bU&d<)w&c1IvS(z!7fTaZYVC*r9`qCx1%)+{CF1KY@Cb?|O*F%{r=npcLrCIk;BOk|1v)o#)|F3b=cs4$R&L0#T`(OJZ zCa73RruEM_^^pvubokz}gjn6K2N6c?}7l9Yq6Nw)nK`%v+d( z)Ave3dFHfL3@u|5&N&F$q5*~Qd2JQLCu0+S-on3IIDHitjBmf!fzv7Sx4SCofWYN1 z^bT7}?kNy25|x1HXmAJX0mnkV$n;VO{ zO43(W=Z7<|U>L1|^?T5XB0WwH#I@xbI)u45PGplT+l{}DbF{XHjlYSplyeCmTO#9J zwL!GGK5OEU?bhEyjO0h5Mq_zo6~wYI~w=Qh55@MXHe65;&a63eho2S{m3*} zG4ZU*Y#99*wXgn;xzf1~)u-Fdtsf&srQAPB-_*Z|bGF#u7UA3Y5Y_GTgNdj8vBkhT zhVVW + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBReleaseRequired */ +typedef struct SeNBReleaseRequired { + ProtocolIE_Container_8180P55_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SeNBReleaseRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBReleaseRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_SeNBReleaseRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_SeNBReleaseRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBReleaseRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBReleaseRequired.o b/asn1c_defs/all-defs/SeNBReleaseRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..c1613f2d200fff81cbfab5658eef7efefe8d65dc GIT binary patch literal 2504 zcmb_d&2AGh5T10Ql)siDB#^j-6Gfs{wrWLGB(yZ71q5kG6^Yw+yS3ViBpb3DsR#*r z;DE#naN`wt0qz_*a^(%+31G%MP8`R3sTj%j%;#@@?6tk`>(4f4N+r-zf(J0RGzu^` zJJtiG2CxA0up=8AE!mM#DqHgP@Ms|Sp+88nBu+X{>gm|2K(lk%c7dC-#v-o9XHfZz zqV4}NKE@ywBT!NO8mAge3CP&0)z-^P?Y&_y8gWQR!waa4e9^sm2Y*BiAuXeEr3UYZS}qh6LL*=RYF z$jQjxyt zX3-u9`~>-UsI^QUXCU^YECR8YrXU6h8N~F3kEZNIYMM056rCiF2vja0;-uS^_<=<) z$)wn7w3pK?ieDL(pH97rZnOu+Z$bqMR6pGj*OXgm5N5wTfk`rS+y6Gs(cYfc|1SDc z%oS{=1Zb`V)RQe=~9kM>2rR4{*j`@yjuhuU?Zws z=Lhzu?_&zX%7^eiHjSCQuP)HRC7NA3#nJxXInHIosM+hMKa{=q2*ELfvsN9JsooTq O|3}{c6AEUC?f(z1<-cVB literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBSecurityKey.c b/asn1c_defs/all-defs/SeNBSecurityKey.c new file mode 100755 index 0000000..828b30b --- /dev/null +++ b/asn1c_defs/all-defs/SeNBSecurityKey.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBSecurityKey.h" + +int +SeNBSecurityKey_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SeNBSecurityKey_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 256, 256 } /* (SIZE(256..256)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_SeNBSecurityKey_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SeNBSecurityKey = { + "SeNBSecurityKey", + "SeNBSecurityKey", + &asn_OP_BIT_STRING, + asn_DEF_SeNBSecurityKey_tags_1, + sizeof(asn_DEF_SeNBSecurityKey_tags_1) + /sizeof(asn_DEF_SeNBSecurityKey_tags_1[0]), /* 1 */ + asn_DEF_SeNBSecurityKey_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBSecurityKey_tags_1) + /sizeof(asn_DEF_SeNBSecurityKey_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SeNBSecurityKey_constr_1, SeNBSecurityKey_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBSecurityKey.h b/asn1c_defs/all-defs/SeNBSecurityKey.h new file mode 100755 index 0000000..68c5c68 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBSecurityKey.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBSecurityKey_H_ +#define _SeNBSecurityKey_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBSecurityKey */ +typedef BIT_STRING_t SeNBSecurityKey_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SeNBSecurityKey_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SeNBSecurityKey; +asn_struct_free_f SeNBSecurityKey_free; +asn_struct_print_f SeNBSecurityKey_print; +asn_constr_check_f SeNBSecurityKey_constraint; +ber_type_decoder_f SeNBSecurityKey_decode_ber; +der_type_encoder_f SeNBSecurityKey_encode_der; +xer_type_decoder_f SeNBSecurityKey_decode_xer; +xer_type_encoder_f SeNBSecurityKey_encode_xer; +per_type_decoder_f SeNBSecurityKey_decode_uper; +per_type_encoder_f SeNBSecurityKey_encode_uper; +per_type_decoder_f SeNBSecurityKey_decode_aper; +per_type_encoder_f SeNBSecurityKey_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBSecurityKey_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBSecurityKey.o b/asn1c_defs/all-defs/SeNBSecurityKey.o new file mode 100644 index 0000000000000000000000000000000000000000..9a543b6122d494717b98b0f42fe1314cfe6a73fe GIT binary patch literal 2928 zcmbVN&2Jl35FcktW18YREr&?0)ICs0q~_IIMQRnGa_W3+z@$-}R;3`e8+%=+ICkY- zS4|JCPzb_`inws+z@dkVe}GF6LPCNA$_a@B6<4^x0dYWtnYVAeFE1Mj7;E3m{O04$ zoA=>|Gv(QVOa_=Ta0wEPQGmi=A{V7tgki{oyZJ|DzPB^q`!=e%TeDerbG!TU8=E^{ z>>@=kxf{P`%UgrxN6%5r?HAlwaC^VIy}zC9a_^_9-JR<2QYICsb-@=ax;Y26n3**|%2j1}%FO z!85fnX{)wdVbt+gTajJ&SDQhtZ#8lm1^h?VT!yLt+jK|CajsOFv`4S5bX!r^z91$< zVch9T&3WKl6om=ljKw%SuM%hOFG1#BK6CQuVD@92d;;-P%JvEI>0Ewez{`!4bN02| z$W$(0I+DxI4c)+Tc4$H3$~~3QdJe&Fse5aso@4+Ee`#c4rZlqPnKT%)96kWoE{pOw zfjk4x_WkvlEDi5FpkTp}uJ&aMt zfGC#=G@PfwG2^}D-W`-k;#U^E%k#@#WqE0SVNN28GfQ5yeka&BZ=4Zlrot+VB`wek z?*!G5mN=%?N$(Bq-e2*Pv>Wdm0O9mTGX5UQM5h0v7?yYrW%gIF+#x!ZlM2WxPWME| zxz~grS3bl>luUSXS^-86z>6AAXPn7Z0_EYk2)aoF65;$tkZ#j}MC+xmPa<4ji~JQ3 z_*%xi!BQt^`XUPMMIdT^qef>{JnfH8yl&=gG_tJwT{jC-M$`9w6>qw8ym@|j{XEx06w>+ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SeNBtoMeNBContainer.c b/asn1c_defs/all-defs/SeNBtoMeNBContainer.c new file mode 100755 index 0000000..debc1a5 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBtoMeNBContainer.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SeNBtoMeNBContainer.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_SeNBtoMeNBContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SeNBtoMeNBContainer = { + "SeNBtoMeNBContainer", + "SeNBtoMeNBContainer", + &asn_OP_OCTET_STRING, + asn_DEF_SeNBtoMeNBContainer_tags_1, + sizeof(asn_DEF_SeNBtoMeNBContainer_tags_1) + /sizeof(asn_DEF_SeNBtoMeNBContainer_tags_1[0]), /* 1 */ + asn_DEF_SeNBtoMeNBContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_SeNBtoMeNBContainer_tags_1) + /sizeof(asn_DEF_SeNBtoMeNBContainer_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SeNBtoMeNBContainer.h b/asn1c_defs/all-defs/SeNBtoMeNBContainer.h new file mode 100755 index 0000000..4d165c6 --- /dev/null +++ b/asn1c_defs/all-defs/SeNBtoMeNBContainer.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SeNBtoMeNBContainer_H_ +#define _SeNBtoMeNBContainer_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SeNBtoMeNBContainer */ +typedef OCTET_STRING_t SeNBtoMeNBContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SeNBtoMeNBContainer; +asn_struct_free_f SeNBtoMeNBContainer_free; +asn_struct_print_f SeNBtoMeNBContainer_print; +asn_constr_check_f SeNBtoMeNBContainer_constraint; +ber_type_decoder_f SeNBtoMeNBContainer_decode_ber; +der_type_encoder_f SeNBtoMeNBContainer_encode_der; +xer_type_decoder_f SeNBtoMeNBContainer_decode_xer; +xer_type_encoder_f SeNBtoMeNBContainer_encode_xer; +per_type_decoder_f SeNBtoMeNBContainer_decode_uper; +per_type_encoder_f SeNBtoMeNBContainer_encode_uper; +per_type_decoder_f SeNBtoMeNBContainer_decode_aper; +per_type_encoder_f SeNBtoMeNBContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SeNBtoMeNBContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/SeNBtoMeNBContainer.o b/asn1c_defs/all-defs/SeNBtoMeNBContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..ccd5dc664e2064b7be2f510b28137bedf55de682 GIT binary patch literal 1880 zcmbVM!EVz)5S`Qo3bcqyNUg*roG21q#i$afNR@?2(;`T#CgsAxaa^k@5WC85B)GtZ z|KQqB;lR&u;|4S9U3*yBsOm`BdGqGYPIkQZ*Y4}xg;oo!wO|LT$g%+Iixmzu3}6M8 zVUYG;sQeACVV5sNfs7rT&ZX>rb7)tDOvh2Mcv_^0uOHT zu*4oLmDqx91gos?#3bIL*E6+3#2N)3N zzCi&OG3?eq#2h_`tJXipTH5mo{ + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SecondaryRATDataUsageReport */ +typedef struct SecondaryRATDataUsageReport { + ProtocolIE_Container_8180P101_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SecondaryRATDataUsageReport_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReport; +extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReport_specs_1; +extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReport_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SecondaryRATDataUsageReport_H_ */ +#include diff --git a/asn1c_defs/all-defs/SecondaryRATDataUsageReport.o b/asn1c_defs/all-defs/SecondaryRATDataUsageReport.o new file mode 100644 index 0000000000000000000000000000000000000000..8eb37a56a0bf3edc230905724612bf538652c0c3 GIT binary patch literal 2584 zcmbtV&2G~`5T4Zh|FjL_fCLiZM3Lyqt}3+x3Av)B+xaZ)HFd1vO^Z+_OhUVo@OUzsQrKuZB0!NAifz~;Gu z?JLuVDVT(fI7-^vVRyf_^lCYjVLc6Z;#%BEx)M6wL?%(vd|F8d!T)I4z1aS!bbre; z<0sJhjbdW|Yd^sRu90L^UmB+#O!3KCEtemZX6lW-w%jW%h``62!@=IaR^ zN4|r3^2CA5c`))X4dHJQDH?t5GUF3!vz8A0G6MgKIORED;wI}K3LmUXpNS%FOkVzR zAC`z9OxwY7WhEH%`2{lENdr$&Uo2HmqRz!lCZCX3C0xgRm6!F(TDbz+2=FFIWjB1? zmRZrqwXsFB);6l;v8=QcM|v65S+#$u1m&bHv0B^>7QIEc>bV}jY*cjK%~N-Qr)*rm zd%`D~L+S?Ggwtu!yqOU=edi>^pHfyfRM{q6=OAc{1{A`J%F2dAwh6yx;5`GUb=_j$ zT-UKvEzzSDOESHyEg8R)Ahz+g2GK}U5Z#0vVtT?uH*SV%nk>r|%_Is5R3RXu zq}7UX!$muhu~=QJ&!#er-WZ*q&b*0X^bU;Qj!NXKad;rEDRtDw?Q_OFR z@Ev@JYWMk><7t0PVOYfw-oZy>Ca;$V=5UE-_fC0q{CCcC6)}43_0u2C-g|`LkiiA3 U56e||N?!aCzyAYDW{4gC2b5~qCjbBd literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.c b/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.c new file mode 100755 index 0000000..68609f4 --- /dev/null +++ b/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.c @@ -0,0 +1,129 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SecondaryRATUsageReport-Item.h" + +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_secondaryRATType_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_secondaryRATType_value2enum_3[] = { + { 0, 2, "nr" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_secondaryRATType_enum2value_3[] = { + 0 /* nr(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_secondaryRATType_specs_3 = { + asn_MAP_secondaryRATType_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_secondaryRATType_enum2value_3, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_secondaryRATType_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_secondaryRATType_3 = { + "secondaryRATType", + "secondaryRATType", + &asn_OP_NativeEnumerated, + asn_DEF_secondaryRATType_tags_3, + sizeof(asn_DEF_secondaryRATType_tags_3) + /sizeof(asn_DEF_secondaryRATType_tags_3[0]) - 1, /* 1 */ + asn_DEF_secondaryRATType_tags_3, /* Same as above */ + sizeof(asn_DEF_secondaryRATType_tags_3) + /sizeof(asn_DEF_secondaryRATType_tags_3[0]), /* 2 */ + { 0, &asn_PER_type_secondaryRATType_constr_3, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_secondaryRATType_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_SecondaryRATUsageReport_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item, e_RAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RAB_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item, secondaryRATType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_secondaryRATType_3, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "secondaryRATType" + }, + { ATF_NOFLAGS, 0, offsetof(struct SecondaryRATUsageReport_Item, e_RABUsageReportList), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABUsageReportList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABUsageReportList" + }, + { ATF_POINTER, 1, offsetof(struct SecondaryRATUsageReport_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P190, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SecondaryRATUsageReport_Item_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_SecondaryRATUsageReport_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SecondaryRATUsageReport_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e-RAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* secondaryRATType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e-RABUsageReportList */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATUsageReport_Item_specs_1 = { + sizeof(struct SecondaryRATUsageReport_Item), + offsetof(struct SecondaryRATUsageReport_Item, _asn_ctx), + asn_MAP_SecondaryRATUsageReport_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SecondaryRATUsageReport_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_Item = { + "SecondaryRATUsageReport-Item", + "SecondaryRATUsageReport-Item", + &asn_OP_SEQUENCE, + asn_DEF_SecondaryRATUsageReport_Item_tags_1, + sizeof(asn_DEF_SecondaryRATUsageReport_Item_tags_1) + /sizeof(asn_DEF_SecondaryRATUsageReport_Item_tags_1[0]), /* 1 */ + asn_DEF_SecondaryRATUsageReport_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_SecondaryRATUsageReport_Item_tags_1) + /sizeof(asn_DEF_SecondaryRATUsageReport_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SecondaryRATUsageReport_Item_1, + 4, /* Elements count */ + &asn_SPC_SecondaryRATUsageReport_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.h b/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.h new file mode 100755 index 0000000..4adb217 --- /dev/null +++ b/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SecondaryRATUsageReport_Item_H_ +#define _SecondaryRATUsageReport_Item_H_ + + +#include + +/* Including external dependencies */ +#include "E-RAB-ID.h" +#include +#include "E-RABUsageReportList.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SecondaryRATUsageReport_Item__secondaryRATType { + SecondaryRATUsageReport_Item__secondaryRATType_nr = 0 + /* + * Enumeration is extensible + */ +} e_SecondaryRATUsageReport_Item__secondaryRATType; + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SecondaryRATUsageReport-Item */ +typedef struct SecondaryRATUsageReport_Item { + E_RAB_ID_t e_RAB_ID; + long secondaryRATType; + E_RABUsageReportList_t e_RABUsageReportList; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SecondaryRATUsageReport_Item_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_secondaryRATType_3; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReport_Item; + +#ifdef __cplusplus +} +#endif + +#endif /* _SecondaryRATUsageReport_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.o b/asn1c_defs/all-defs/SecondaryRATUsageReport-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..8770dd6c54a542ef4e725c8c958c9763930c72b1 GIT binary patch literal 4496 zcmb_eOK%%h6uz!o2#805ka#1*0)m7`b{eS#B$(83>!LI@d2B#vGI2(!ReL7#OsYge zG!h$@EZHDM{0e>oE5wo|%Wja`U0EPF-<@;p)9V=*P>wWn&iT&sK4$K{+g`hRu2L~V z74xx~Xo4EkeRd-IR`kt+nKw^N;8N*trcwuG*o=Bfycdp+H&(W`({Ml9hz^obR==J_ zLlf0ER<6{qubNbOZ5+tp(-=!whY2q5DGA6grnCAgV&pm{wLrg5;^ zz8aLc1vvMDEZk3nruDsXWn;E)?zY)&&2~!?N_Vz1)nAGR(!t}rlc6NWz}%xc zxHum3l*x`Ww|CncK}IM0bUfV;(rmlewhdbfmFj|V@!y%_B^n!iK zx~iTx)y+fQH|#puf!(CJY=5@hUT?LH2tnR+*pIXE;M)P+Wdgd($PTc8N@=e!V(gBR zEa@eK@qMP1#2Mv_M#1H!i_LEHgN9UJ53~NAs7=jBqcDs1EWRI+Yrhx7iS9*xKlItC zugnm53{a&&+(Uj?kilzggg%wj`^4QoumH}2xg7f6s}LnMTNg##=w*t;#={cnyvhOuIA zYVx(BWcX@&ixgmbO=0)(B9eK{HDhWbFn^ag*20bd&hZn~t^Yn5fGvpwbBX`b!6ja} zPj<*|eG3xa;eAM=r5bZ#ACZ8&hA)6{zS77(#yuJPN%o!W*PDbD)!*TU8j_EB&Cx$4 zy{Nv=R~v~(ecT4!`T=36?+nwNa{Vo`X{u?3?| zOsU)dUBXab#z~^34w4dKe`ta)Ncgu(wg!G>9Ir9R5+^uxckW<2;`n=Pe4enE=yChU fO?+za5w^ou_aB_(ZvBOl_@8+GNIaw7 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReportList.c b/asn1c_defs/all-defs/SecondaryRATUsageReportList.c new file mode 100755 index 0000000..505f68c --- /dev/null +++ b/asn1c_defs/all-defs/SecondaryRATUsageReportList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SecondaryRATUsageReportList.h" + +#include "ProtocolIE-Single-Container.h" +static asn_per_constraints_t asn_PER_type_SecondaryRATUsageReportList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_SecondaryRATUsageReportList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProtocolIE_Single_Container_8183P48, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SecondaryRATUsageReportList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_SecondaryRATUsageReportList_specs_1 = { + sizeof(struct SecondaryRATUsageReportList), + offsetof(struct SecondaryRATUsageReportList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReportList = { + "SecondaryRATUsageReportList", + "SecondaryRATUsageReportList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SecondaryRATUsageReportList_tags_1, + sizeof(asn_DEF_SecondaryRATUsageReportList_tags_1) + /sizeof(asn_DEF_SecondaryRATUsageReportList_tags_1[0]), /* 1 */ + asn_DEF_SecondaryRATUsageReportList_tags_1, /* Same as above */ + sizeof(asn_DEF_SecondaryRATUsageReportList_tags_1) + /sizeof(asn_DEF_SecondaryRATUsageReportList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SecondaryRATUsageReportList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_SecondaryRATUsageReportList_1, + 1, /* Single element */ + &asn_SPC_SecondaryRATUsageReportList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReportList.h b/asn1c_defs/all-defs/SecondaryRATUsageReportList.h new file mode 100755 index 0000000..dc45f89 --- /dev/null +++ b/asn1c_defs/all-defs/SecondaryRATUsageReportList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SecondaryRATUsageReportList_H_ +#define _SecondaryRATUsageReportList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolIE_Single_Container; + +/* SecondaryRATUsageReportList */ +typedef struct SecondaryRATUsageReportList { + A_SEQUENCE_OF(struct ProtocolIE_Single_Container) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SecondaryRATUsageReportList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATUsageReportList; + +#ifdef __cplusplus +} +#endif + +#endif /* _SecondaryRATUsageReportList_H_ */ +#include diff --git a/asn1c_defs/all-defs/SecondaryRATUsageReportList.o b/asn1c_defs/all-defs/SecondaryRATUsageReportList.o new file mode 100644 index 0000000000000000000000000000000000000000..3a4cde696c8ba51537966e242691ea1482fc7e51 GIT binary patch literal 2456 zcmbtVPfyf96rZJ{sQ8DICTd(yVj`2RlDN^tRM&zUgu2TnBpzy68X!WuX@^7-qkIg` zegcjj{0zpUM~+=Jk`mFgI4KF(ozjn3a}d8CyAB zVoySkU0{=}0r+a^szk>mRn9RWC+I=Ho?8QCOXS=pqa8b7tv_?kd{kW&r@R#Mv zbuI;A$A8`R7h8U~G{-vrGN`avShSf4{oX;AinNz*z3{`%X0pB&hpjXb5E5r$({0`l zW}D{j7k$M%ZP;^A@cf&+`bNlK!T=K0xp!hHt`?RK$FKu{)ECsP|4y_<#Buq~kjqza3f7ljGokv8LPt!`?IW zdpLmf3#G@pMg_PH3eSkS=jb`Wp+fBW??Mc6_pDfzf5YNczS17}5!>@00*CUWP + +/* Including external dependencies */ +#include "PCI.h" +#include "ECGI.h" +#include "TAC.h" +#include "BroadcastPLMNs-Item.h" +#include "EUTRA-Mode-Info.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ServedCell-Information */ +typedef struct ServedCell_Information { + PCI_t pCI; + ECGI_t cellId; + TAC_t tAC; + BroadcastPLMNs_Item_t broadcastPLMNs; + EUTRA_Mode_Info_t eUTRA_Mode_Info; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedCell_Information_1[6]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCell-Information.o b/asn1c_defs/all-defs/ServedCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..c16c470879f4c62eaab0cc0d5640549d364e8ca9 GIT binary patch literal 3680 zcmcIn&2to05PxA2@dF5olG4jcQ5dV-shx-=LTODHh7gK`m5?euO(wG=Nx8cdcU~;G z=pMaL#nFpZIePF<@Q>igkt0XAag+YN>E3z!+=-~Mt7f|U*I(~*diSU3#??bJGfHSi zeW@xujIgpfjXg%tF>(SL)HzmUaz%0_%#4;vh~}y7F#QMH#0$MJ8DIDbv7s{w5aO5jO32h)$4K`sWa?@A0peIMEkh> zW7AQJz*r7C?}&0@%MLp4Zd-ItKZuTNbx4+KWYk< zh|409V*FNw0ACtfAhp)v??#yEayhaG%~Mt(`$V(C_rj z8fo(NM-BdvaO4@W`z#-hX9ln4+h+S5ZP>K@XKQf32LGZ4|E322z6P&p7+$K9Vh~@6 zuEteIiLH(j>*P)m`^IZ!v9piYLe~3xzq~KW>PwnhH>p(g)q1oVMoNS@r8cF9$@V~( z$K80j*TuZXAAfV_5qt?88~jq2J7?8 zUHqDbOHM!?3qQ#+*apkUgKwbFFDw9mTR`FuEgWBw)2u(W@KY><%_9L382sOdLUhf- z-zg#U9$7g2&#-OJ!treudSv17KgWjW7A|9ism=EsX83;!kf>wfvgW{lws81I0Ez5< zw7*^wi~PXlJE*+kUSB7h#PzV`TO#S~u2x<*(TVali$ZzB911*r&nGqOCB_WNQN3QC zCIC%{^3uHD&*(mRgIs6c(&~Dv&`J6ohWwuh`-VBW{Wqw|%F92ten1j1w^IdUk4eFe z|B%dB^M4!vF~uV1#N{MCpa-;8vhiE$3lGQw*{#1v80Z0?lTuTvDFX9L#L)`_)`iXT zL3+%E-XsIgnVc^#|8_0j#@`Y~as?@UvTxc(N| zY--vH$#>{Mywnl%6OPCJ*u=|WVu0_^Bbe=X3X_^bt}k?V> + +/* Including external dependencies */ +#include +#include "ServedCell-Information.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Neighbour_Information; +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct ServedCells__Member { + ServedCell_Information_t servedCellInfo; + struct Neighbour_Information *neighbour_Info; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCells__Member; + +/* ServedCells */ +typedef struct ServedCells { + A_SEQUENCE_OF(ServedCells__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCells_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCells; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCells_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCells.o b/asn1c_defs/all-defs/ServedCells.o new file mode 100644 index 0000000000000000000000000000000000000000..3be0848b3ae90a38049cfa0da4cfa66753ece94d GIT binary patch literal 3968 zcmb`KOK%)S5XXDHK$ce$4nTMuCI^H;c(mhKB0PkKEb9amI~yA-xy?Q@*cQ7xtDSM= zT!N3>$bkc204YaKD90RgLEo1n7;1a(1^s;bRbr;`{_fr|Ihe0lcfY&RJIx0eR)e_Dh16E?%bm`L-tx}yV459x@B3?hdnGuqUT`#LUI&6LYc)SepBQcf-8!pci})6i*m!uX+meZwUllF3%+RD@b6GZx?X= z^e=PV<)PwuD|zf+QT$c5p?ZqzcST=u{dPN29B;7~+5fhN-&0)X0`!C8n3vRXzlJ|j z{57_repMW2n_XB^k71KweK4;+U66ACBv7wgE5G#=$Gl_@W{SU|^6x8-{I@vvNbxsS zzPyqVM*bSdWKF>EG5Gsy-+(%C%MdtznrVP^bW zgKS{@VVW9$p1?t7;0NT!^6;Q%sAe9kOrGRaO5Hx4-A)dyc + +/* Including external dependencies */ +#include "ECGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ServedCellsToActivate-Item */ +typedef struct ServedCellsToActivate_Item { + ECGI_t ecgi; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToActivate_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToActivate_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToActivate_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedCellsToActivate_Item_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCellsToActivate_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCellsToActivate-Item.o b/asn1c_defs/all-defs/ServedCellsToActivate-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..72f1e6396a4bf9ff4f8bd0aa1e0fbc0ee4e8eda2 GIT binary patch literal 2896 zcmb_e&2G~`5T4Zhm7o3q2P7n9BqV}FR&j|$1rl-zZYhE`&{pDRT-RzNoVbd&Rk=VO zfg=~*fk)^g^bt7l0C3|5Gxlt<-a4VG7-=)#eDk;7U9a=Wd$~AKseqCSJb|I5Sb)#x zhuF=a3)3(KYf*1M+G<8|oUSJep=|F5GO8`hr~^^B-G;VT^A2RxP1{K~9hNvTGUsC2 zqY6!oa*W|A=MT!5kQ2LTo-__{oWt?I>SC#ad_k+PG3Ilt^)h*tV)8Usl|wPEvX`38 zM|O2%bFVA+?1!Qu>NRICvz(94yr?&Xb1&y9ZKP1`Gw`c)jjclGVF?S&S>`?qtYMIb zEbLGw7Mwjs-$JGWlVGz)&$K{0^z47m@oWzAB=dLJQLHnm!VB7hO9fjQ7F<+tpuZxT z)#ks$oVd+dnn_I%85*3Pe%yc4igVL4VuK=T+}5i1b582Aim5FV{N?$>>0W*a~C- zVlz!a^b#^C(h&}tQ565T{bVrgZgmdYS}&$B+gqIIG* zpnF^wS2r}w%Qj$cBO=bcS=~WI5t#XR(M@OXwE6cjmuk-8(8Xm#=pqGu@*qnbEd7{*Nrq0tUa%KGwIj_$3l(H3I{Q`Aa|L?q^ zDxdn(*U9YfBS)={eKDD+qE8oFHxO^*pnTOwxvQK{`=bj#R+dBjE)K=%aqGt>lzYus xvdco>GWnYmu3+304)gixOKa{uQqZDBMTw1uhMC=2W%)DwSD>F&8UC30e*yJi^Em(j literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedCellsToActivate.c b/asn1c_defs/all-defs/ServedCellsToActivate.c new file mode 100755 index 0000000..51c1c43 --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToActivate.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedCellsToActivate.h" + +#include "ServedCellsToActivate-Item.h" +static asn_per_constraints_t asn_PER_type_ServedCellsToActivate_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedCellsToActivate_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToActivate_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCellsToActivate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedCellsToActivate_specs_1 = { + sizeof(struct ServedCellsToActivate), + offsetof(struct ServedCellsToActivate, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCellsToActivate = { + "ServedCellsToActivate", + "ServedCellsToActivate", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedCellsToActivate_tags_1, + sizeof(asn_DEF_ServedCellsToActivate_tags_1) + /sizeof(asn_DEF_ServedCellsToActivate_tags_1[0]), /* 1 */ + asn_DEF_ServedCellsToActivate_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedCellsToActivate_tags_1) + /sizeof(asn_DEF_ServedCellsToActivate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedCellsToActivate_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedCellsToActivate_1, + 1, /* Single element */ + &asn_SPC_ServedCellsToActivate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedCellsToActivate.h b/asn1c_defs/all-defs/ServedCellsToActivate.h new file mode 100755 index 0000000..8eb6a8b --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToActivate.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedCellsToActivate_H_ +#define _ServedCellsToActivate_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ServedCellsToActivate_Item; + +/* ServedCellsToActivate */ +typedef struct ServedCellsToActivate { + A_SEQUENCE_OF(struct ServedCellsToActivate_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToActivate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToActivate; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCellsToActivate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCellsToActivate.o b/asn1c_defs/all-defs/ServedCellsToActivate.o new file mode 100644 index 0000000000000000000000000000000000000000..77c8b5ed228ebde1b9df907aeab56220923a3327 GIT binary patch literal 2408 zcmbuA&2G~`5P&x^g#zWLmjdEqP6UarVpItPQe_BE0YMv*Mnd9XoYbO){3+g4^a4He z1bvJgd*B%mM~-mgig|cVSmk79 z`_lB;Ikv#6U|-Hcxz-U$Ua$;so_-il=S~fznY7~ZZoE~Cd%a|Hc)u%lb|VpI;eWR5 zX>7l!;c@c(qGre7ve#OzcGs=6JClK!xVQNVuP%EN>3Q$HJG{EWy&H-b&Vc(k!G0d) zB{lhX|2Bm`gT6?%slFHRUj>}y9(3MiQ8EZ02K6vE z9*XF75_&SJ5i~=wH;M}~yTd^u#+3W)L9-xD^=dV01@UAQclC^g%aZHaXoRicc{^CI z1>r`WwSrAhp;|_?GZ25-*<%s+jR%V7);v9UhoIP8zYF9SWQH2_orV0Y!7F6j+&4I$ za+mx^2G?^TY8V`^&VBM6!L{ae?%DVo zkqv!0&JLJs$~AE8XNGYf2au6c>FB1GGOmNdGh#k-j7)LJ5qtidkb~@&m8Vx0%dHC7;$D7@L a_JG&{!6j=QmJ4@%e*Ga`LiT53*Z&40s>65y literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedCellsToModify-Item.c b/asn1c_defs/all-defs/ServedCellsToModify-Item.c new file mode 100755 index 0000000..eae68af --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToModify-Item.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedCellsToModify-Item.h" + +#include "Neighbour-Information.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ServedCellsToModify_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item, old_ecgi), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "old-ecgi" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedCellsToModify_Item, servedCellInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServedCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servedCellInfo" + }, + { ATF_POINTER, 2, offsetof(struct ServedCellsToModify_Item, neighbour_Info), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Neighbour_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "neighbour-Info" + }, + { ATF_POINTER, 1, offsetof(struct ServedCellsToModify_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P8, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ServedCellsToModify_Item_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_ServedCellsToModify_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedCellsToModify_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* old-ecgi */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servedCellInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* neighbour-Info */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToModify_Item_specs_1 = { + sizeof(struct ServedCellsToModify_Item), + offsetof(struct ServedCellsToModify_Item, _asn_ctx), + asn_MAP_ServedCellsToModify_Item_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ServedCellsToModify_Item_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify_Item = { + "ServedCellsToModify-Item", + "ServedCellsToModify-Item", + &asn_OP_SEQUENCE, + asn_DEF_ServedCellsToModify_Item_tags_1, + sizeof(asn_DEF_ServedCellsToModify_Item_tags_1) + /sizeof(asn_DEF_ServedCellsToModify_Item_tags_1[0]), /* 1 */ + asn_DEF_ServedCellsToModify_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedCellsToModify_Item_tags_1) + /sizeof(asn_DEF_ServedCellsToModify_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedCellsToModify_Item_1, + 4, /* Elements count */ + &asn_SPC_ServedCellsToModify_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedCellsToModify-Item.h b/asn1c_defs/all-defs/ServedCellsToModify-Item.h new file mode 100755 index 0000000..9824479 --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToModify-Item.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedCellsToModify_Item_H_ +#define _ServedCellsToModify_Item_H_ + + +#include + +/* Including external dependencies */ +#include "ECGI.h" +#include "ServedCell-Information.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct Neighbour_Information; +struct ProtocolExtensionContainer; + +/* ServedCellsToModify-Item */ +typedef struct ServedCellsToModify_Item { + ECGI_t old_ecgi; + ServedCell_Information_t servedCellInfo; + struct Neighbour_Information *neighbour_Info; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToModify_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedCellsToModify_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedCellsToModify_Item_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCellsToModify_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCellsToModify-Item.o b/asn1c_defs/all-defs/ServedCellsToModify-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..31b295beaf7ea49610d9c2bf58a548865fe31d43 GIT binary patch literal 3320 zcmb_e%Wl&^6rDB&S{{Ay5(pN71q6v$bz6xF5Hh6c1JO3LbnQBc+eRdI6+5WiK$iRf zQpKuEz5uc8iZx5bicf$KKyZ(JCz+1ys6ek2-*eA>dS>Lwo8q(C{=PmTrB6H(T}!e; zOb>Oj6+ugkh+(nnHeb2bf?KZ#FZ@NnTHDyoFNAJG`1NYut!&mr(1}>^Hhkf^wau-v z-)iO~vsTO(cS6?-YQ7hATO1kbv+8zQp@B3<55Av#ze#$8{IzR`GEN?2UA#Z$+#_)M znCqhUK0StyvF-uY`+&kM`o7>@AUYqj@w-Y4jkQ$DMQb2yz>nE804x@3#6RK& zTPwG`u$8@MOc~>OvlUt9YjfHdpEArlG0&OF3Ns9dpNVHBb7;bDekR(vt}RjK(8Q9( zyveJQ5huDqjINXJ6GOscTg}XfQ_ObN3_-+8u^4!y!Oycj$Qml6#49xMXH>I;GtusJ z%m}=r=a@487P~)^9%Zbm&nf&j;!&r~!Rve|enouueaG2u6TYQ3zNL2PYzDR&#VtNA^^BWv>qm+78?s=p#!<&*YFK=}R$M9+g#>nm zzSd#Wsd-^M)svOXy4ZntSqPfVJnY2JUSX#14YCxkrTIxo)(_z{^*`U+$4IQ16WIo3Kqukf-a zsFK2uF@{=aj5_BTL+vpJe}OU77slZ6Rk+Ib4~4(T7%GQA5*dFpHpRTcUt$ibt?;OC zvTtAEFEa=ARpAkDfh1AaS^Zk*>nYbu7{P8MbjqZ|W~{d)3f-Mh7*!{9gi#IxVKjXh zh%^n8OtVCxm8KnrL;x`&DopQtTL)VyFTFVEaQ+XK={U6V3l#8XneWi+} z8VcrR>o7M6fm81?I4wL9M9;rXFp}jsw>keT@i=Gle97~)Ok7g`c7I%GJXW1&wu55ulvGmxx7eA94Ty literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedCellsToModify.c b/asn1c_defs/all-defs/ServedCellsToModify.c new file mode 100755 index 0000000..491690a --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToModify.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedCellsToModify.h" + +#include "ServedCellsToModify-Item.h" +static asn_per_constraints_t asn_PER_type_ServedCellsToModify_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedCellsToModify_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedCellsToModify_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedCellsToModify_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedCellsToModify_specs_1 = { + sizeof(struct ServedCellsToModify), + offsetof(struct ServedCellsToModify, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify = { + "ServedCellsToModify", + "ServedCellsToModify", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedCellsToModify_tags_1, + sizeof(asn_DEF_ServedCellsToModify_tags_1) + /sizeof(asn_DEF_ServedCellsToModify_tags_1[0]), /* 1 */ + asn_DEF_ServedCellsToModify_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedCellsToModify_tags_1) + /sizeof(asn_DEF_ServedCellsToModify_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedCellsToModify_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedCellsToModify_1, + 1, /* Single element */ + &asn_SPC_ServedCellsToModify_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedCellsToModify.h b/asn1c_defs/all-defs/ServedCellsToModify.h new file mode 100755 index 0000000..bd34fa3 --- /dev/null +++ b/asn1c_defs/all-defs/ServedCellsToModify.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedCellsToModify_H_ +#define _ServedCellsToModify_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ServedCellsToModify_Item; + +/* ServedCellsToModify */ +typedef struct ServedCellsToModify { + A_SEQUENCE_OF(struct ServedCellsToModify_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedCellsToModify_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedCellsToModify; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedCellsToModify_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedCellsToModify.o b/asn1c_defs/all-defs/ServedCellsToModify.o new file mode 100644 index 0000000000000000000000000000000000000000..33712abf5fe4a19128df086a47a93b3e787dd896 GIT binary patch literal 2392 zcmbu9y>HV%6u>Vvg#zWH5{ODHW}-;+6r)O@A|Z?56cBAg(nv@Q#z_pVNa85IAhJNk zU(t~XF?M8N;xAx9Vq}Arzo5K#Up_7uhVUfcd++x??tDJq+vrhsu2dpQO5_eHJVgmv zK3>=%H$!rUERr(V%SFg(9Z7Ko=KwCq2jhBfZ6GbAkq%#_ol4s6<~!MD*4cYLE`l>y z_B6IXt>r9v;k0HmaNcX9Qd##`nypcvjr^N*jh0t~5%+>O!7W-|qro-7r_O-yag6*v zawT}h*Z3>!5&UYC;t_8W0`Xu5mw04;0$&1BA}2IgmFt|(5no1XQg=9?C;QTWBK14Y zi*+taj>=H0q8N%U#dD$Zy=NZV?zDa+yO*sjHm=y5aJ zszmX2l{BIqP_bA*ve#$-e4hs_?ddJVb84OzyfaX2uJ#`JIi4W~bw?pTZSWOo+dMQl zo@!tE_YJP*LZr?k_Q9)iA0Cuvd=%?6|BeHLFG(BKSA*mGUXVVa`MAfD7HBpUdRJL2 zea#5%BrGAcmFI*GGjuRBpaHmPH{oHlRFu$m*6XG44QM}ODc#s=uI4Ohzf=?cpS}#` zYA?)Aq3IYl=9+Q^9AxI6VLZeEWFV9teQgQjDkwZ7cKxB1r(Apf>kvS8LnTP9>MvSc z)hiuB9Bq64AHYz)3#CV2Tf(>v3h%y9xO#k#5M)74bP8-dC+dGt=lmfsOetRs{bf2A^SJ6>;C{Lmb|P0 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.c b/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.c new file mode 100755 index 0000000..e2d2473 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.c @@ -0,0 +1,115 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedEUTRAcellsENDCX2ManagementList.h" + +#include "NRNeighbour-Information.h" +#include "ProtocolExtensionContainer.h" +static asn_per_constraints_t asn_PER_type_ServedEUTRAcellsENDCX2ManagementList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsENDCX2ManagementList__Member, servedEUTRACellInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServedCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servedEUTRACellInfo" + }, + { ATF_POINTER, 2, offsetof(struct ServedEUTRAcellsENDCX2ManagementList__Member, nrNeighbourInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRNeighbour_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrNeighbourInfo" + }, + { ATF_POINTER, 1, offsetof(struct ServedEUTRAcellsENDCX2ManagementList__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P90, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servedEUTRACellInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrNeighbourInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct ServedEUTRAcellsENDCX2ManagementList__Member), + offsetof(struct ServedEUTRAcellsENDCX2ManagementList__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ServedEUTRAcellsENDCX2ManagementList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedEUTRAcellsENDCX2ManagementList_specs_1 = { + sizeof(struct ServedEUTRAcellsENDCX2ManagementList), + offsetof(struct ServedEUTRAcellsENDCX2ManagementList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsENDCX2ManagementList = { + "ServedEUTRAcellsENDCX2ManagementList", + "ServedEUTRAcellsENDCX2ManagementList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1, + sizeof(asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1[0]), /* 1 */ + asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsENDCX2ManagementList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedEUTRAcellsENDCX2ManagementList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedEUTRAcellsENDCX2ManagementList_1, + 1, /* Single element */ + &asn_SPC_ServedEUTRAcellsENDCX2ManagementList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.h b/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.h new file mode 100755 index 0000000..c0312f4 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedEUTRAcellsENDCX2ManagementList_H_ +#define _ServedEUTRAcellsENDCX2ManagementList_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ServedCell-Information.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRNeighbour_Information; +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct ServedEUTRAcellsENDCX2ManagementList__Member { + ServedCell_Information_t servedEUTRACellInfo; + struct NRNeighbour_Information *nrNeighbourInfo; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsENDCX2ManagementList__Member; + +/* ServedEUTRAcellsENDCX2ManagementList */ +typedef struct ServedEUTRAcellsENDCX2ManagementList { + A_SEQUENCE_OF(ServedEUTRAcellsENDCX2ManagementList__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsENDCX2ManagementList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsENDCX2ManagementList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedEUTRAcellsENDCX2ManagementList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.o b/asn1c_defs/all-defs/ServedEUTRAcellsENDCX2ManagementList.o new file mode 100644 index 0000000000000000000000000000000000000000..c6ab9bd0d4a1af0af591c65d82ef0dcb78fb85af GIT binary patch literal 4256 zcmb`J&u<$=6vxLg&=dls7ijsV1qn5knw9NVA_at8+)Yc>xW;MJ94f8X?l!TocO&nn zq!*fFZ}bMo9ys*a8~*_+w_dsRAK<{51HA9-d%Kg#y0xl2$@|{>%$u3_W@pE9-@CRt zSE(qGiuy(so=~M8EfjWBn@zQ--c>cSPZmw3)_*KzjdKL&`G@v=?%V(^WIdeR4R3oJ zH@X)G;b@e2?MtoA###^sTj4m2(rd#cEuvp;+0)qmv=L^Fo7P{rJ&x^5oUN-in8C+d z<5kQM`qB{OiSZmV-XMLH<6`V3dc1jrjLlOViMm1))Qm~& zeI>Q!{Bo=HrL(lr-;L5;=L`3|TU)O0YOnrNeZ{Svck5>|{=)n)%U}FDF1y1+pHI8L6N`YC;5M-In|2=Cz)q`PV?icrz!0L z)>kz@rW}j+nM<8Gvqh>0suYU4-YOinexz|u80#I5DQ0 zWjS?T*E_zPy#Do7weH;@^45QQzqKNFAwquHyh*R6gF+CXvDIL&x{q1gkikG%` zCUF`M;!%FIx8f+JBxn&=8t3Yr3-a;N{-z@{2%m+`WzT}Yj{p|Ai-DV8AI>+3 z&6}EL9H*$m{uP7Em_Qwazs)vOk8O-^p2qtI$61JW$b(F2-{cPseu{0VUk#4BB#*~a z_)~*_z&6w~gX6zk5_)cM)YW7EBqt2@Av36s!I3}i0gxSof0QBpd~9&Uf5L4~4gRqa zFMoAtM!d^y@-D!U|2}hB4~b{2w%Gv3x;gCcu@=6`zH*a$<22}#PA8e(7Ap<+Qsv$b z(m=WWBvI}phJ(nuyFzX_3Uo6pX%(GC)vYLZ6b}N59mHeY-jy50Y3N>VZ!9NiF!(`| zdUcI=h8p#|Hil^$wrL{PluyY4Gxs#wn|P4yWGa6;xs@5GNzK#G?*GJ!6W5;qEH!{N zB!IQ_|J>r33nJq**|z6@P8>2{TvfF1=x6cxicH)kng!C<1HPIpaesU>xK+vgvQMuP zLoU`d`GWMQ%@oIU$nMgwto|Ms^tBZ)b&I~k{q6c6F?eY8cPu|3zpVZze7N>F9`$2M z?E3E#LoPM?nNs5m8s4udlDFvl)F`$YcZ>U*47ME$|IpeK>v8{Q-1rW$_vmNmkDBbY dBcy74mAz>VZqI*WO8-S1Y9v2rDu3Gj{|7}(c#{AC literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.c b/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.c new file mode 100755 index 0000000..c6e50f7 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedEUTRAcellsToDeleteListENDCConfUpd.h" + +#include "ECGI.h" +static asn_per_constraints_t asn_PER_type_ServedEUTRAcellsToDeleteListENDCConfUpd_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedEUTRAcellsToDeleteListENDCConfUpd_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedEUTRAcellsToDeleteListENDCConfUpd_specs_1 = { + sizeof(struct ServedEUTRAcellsToDeleteListENDCConfUpd), + offsetof(struct ServedEUTRAcellsToDeleteListENDCConfUpd, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd = { + "ServedEUTRAcellsToDeleteListENDCConfUpd", + "ServedEUTRAcellsToDeleteListENDCConfUpd", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1, + sizeof(asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1[0]), /* 1 */ + asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedEUTRAcellsToDeleteListENDCConfUpd_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedEUTRAcellsToDeleteListENDCConfUpd_1, + 1, /* Single element */ + &asn_SPC_ServedEUTRAcellsToDeleteListENDCConfUpd_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.h b/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.h new file mode 100755 index 0000000..5cd0644 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedEUTRAcellsToDeleteListENDCConfUpd_H_ +#define _ServedEUTRAcellsToDeleteListENDCConfUpd_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ECGI; + +/* ServedEUTRAcellsToDeleteListENDCConfUpd */ +typedef struct ServedEUTRAcellsToDeleteListENDCConfUpd { + A_SEQUENCE_OF(struct ECGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsToDeleteListENDCConfUpd_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToDeleteListENDCConfUpd; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedEUTRAcellsToDeleteListENDCConfUpd_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.o b/asn1c_defs/all-defs/ServedEUTRAcellsToDeleteListENDCConfUpd.o new file mode 100644 index 0000000000000000000000000000000000000000..756dc2788e0b455d48731ca663221e99a7b93a70 GIT binary patch literal 2608 zcmbtWOK;Oa5T4XLN_mzO5|?ly2x`SuC8{DJgXNGTlv7 z7cRj?sG@!?a}{cbN{XBlNKUGc{Auk}AvTj{G<*|n_^tKEgHF`##_RpXs2hoBc`FwF z>Z0fMdoNmpjV$39%`9WuqtZ_j=Z@;^1ib8P$@3P$Y04t z1FVeTgAqK8c@gXmgmEue^lQPG8G#62#(|Th)%`{wb_dbext)G57DJW2@~|;>qO8}f zdt+zBgQ&yf{D@vKuEzm>$FCqhX@p~<@%Pq(V9>_-|ut#ksu57ZAm*?ahrJWpCVPW^U%)cC7P zC-|oE`ketg-rW{q8&M1;Zn7q#w*u^qP=sK&;~4B=pA3q0?0Gb!ZkV`9V=tqOa=`BN zx3?qQ0=w52k-fCqnu$f&d997@f7I)k%xk0f-pG&>&7;FWa`F6j zE9wcKRE6kl6UFuU+&@8%Lb4Yb4U_|w$M3vkWi8eT8~9PEIseZpUjc&RxdOTtE7yG4~EBI8bEQ7>8lv SZ&Go7RsFwvN1bV6=Klp^M(Qa5 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.c b/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.c new file mode 100755 index 0000000..004e816 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.c @@ -0,0 +1,125 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedEUTRAcellsToModifyListENDCConfUpd.h" + +#include "NRNeighbour-Information.h" +#include "ProtocolExtensionContainer.h" +static asn_per_constraints_t asn_PER_type_ServedEUTRAcellsToModifyListENDCConfUpd_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member, old_ECGI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ECGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "old-ECGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member, servedEUTRACellInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServedCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servedEUTRACellInfo" + }, + { ATF_POINTER, 2, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member, nrNeighbourInfo), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRNeighbour_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrNeighbourInfo" + }, + { ATF_POINTER, 1, offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P99, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* old-ECGI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servedEUTRACellInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* nrNeighbourInfo */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member), + offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 4, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 4, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ServedEUTRAcellsToModifyListENDCConfUpd_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedEUTRAcellsToModifyListENDCConfUpd_specs_1 = { + sizeof(struct ServedEUTRAcellsToModifyListENDCConfUpd), + offsetof(struct ServedEUTRAcellsToModifyListENDCConfUpd, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd = { + "ServedEUTRAcellsToModifyListENDCConfUpd", + "ServedEUTRAcellsToModifyListENDCConfUpd", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1, + sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1[0]), /* 1 */ + asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1) + /sizeof(asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedEUTRAcellsToModifyListENDCConfUpd_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedEUTRAcellsToModifyListENDCConfUpd_1, + 1, /* Single element */ + &asn_SPC_ServedEUTRAcellsToModifyListENDCConfUpd_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.h b/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.h new file mode 100755 index 0000000..fe0ec29 --- /dev/null +++ b/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedEUTRAcellsToModifyListENDCConfUpd_H_ +#define _ServedEUTRAcellsToModifyListENDCConfUpd_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ECGI.h" +#include "ServedCell-Information.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRNeighbour_Information; +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct ServedEUTRAcellsToModifyListENDCConfUpd__Member { + ECGI_t old_ECGI; + ServedCell_Information_t servedEUTRACellInfo; + struct NRNeighbour_Information *nrNeighbourInfo; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsToModifyListENDCConfUpd__Member; + +/* ServedEUTRAcellsToModifyListENDCConfUpd */ +typedef struct ServedEUTRAcellsToModifyListENDCConfUpd { + A_SEQUENCE_OF(ServedEUTRAcellsToModifyListENDCConfUpd__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedEUTRAcellsToModifyListENDCConfUpd_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedEUTRAcellsToModifyListENDCConfUpd; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedEUTRAcellsToModifyListENDCConfUpd_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.o b/asn1c_defs/all-defs/ServedEUTRAcellsToModifyListENDCConfUpd.o new file mode 100644 index 0000000000000000000000000000000000000000..2be934c0fe29ae328e0c6bfc1c2082ffdd157180 GIT binary patch literal 4456 zcmb_f&2Jl35Pyyf{h&ZABq$Wnaw4c?6^BYqK|wp@(Jce|ETjJ3Fl5YFLFPkpVv+>uSdC_N9aWp<_dKPp-1h5+R9=i z?y(G?6kqqhuKTN1-$dQbIlsDm+r-6|sM40W-QS8#f4CZU?r*oEonfkX{5gLw3Hxy; z>c^ZiWx5tm8%{`mOamOLLG1Tdde8CYYV}iRw%*$5Cp*qH_o_QTSJ_Fm%J-E;cmAqd z`6$DmTOo!#W&R!eu9rtvph#05SqY8n714NJbpeu8HZP6nP_EEZGN*G~B3mgwV;r{B zm_H(3GG|#c<{nFbq`1tQG3Rp+j9cVaFyT01k5gIY7wb8ixDwTWz`!>1%PD@^G+CGW zE9@^*+9VxxGsVy5{`gLSzTrGhsul0|cZ|z;y5jOkmmEl}Y+fl8mVTf-7uEbrzF!Ex zaLn77-zMOHO~C(|fIpjnpQoi7H|~`Q_*WBfGv$ZRZJQwOH*Wb$jVU7ve>`&^8P3$2>c%?=cr#{EQp#_mZGRJQ-$uTcjl1ON_f2B!O{TactaS1O=WIcahYv z8>D7PVilfwRV**J8?^)SZAZOcNPF7tM@i@|uh!?{BxrxjMg9+lHI}*3X*{hc8NQl6 zAO)D-1F(DeAsS>X|8;UH6R^%_=&|E}w){l3$N!iNz!t=Txx~*}IK~1=9*<>v{HKJ2 zn*5$+nlX+D%s(TJJB!DxV_2v@}7Q47;3SGF&-E6qWN3n_+$NZyiayb z(zoy}GD5cdPn#nAPzRIjSb9MExc>KelQr2N{o~eY_rFUR#-FE0(;;63vA&w%3ljc7 z$*F;Ve&u+LL6$hdq1$s0+hdOZn~nJY^d>!a{pjh~+!1!fSLR(Sxjp{H3GsjO{QX3B HO?Lc$%m$L) literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRCell-Information.c b/asn1c_defs/all-defs/ServedNRCell-Information.c new file mode 100755 index 0000000..d96fecd --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCell-Information.c @@ -0,0 +1,179 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRCell-Information.h" + +#include "ProtocolExtensionContainer.h" +#include "FDD-InfoServedNRCell-Information.h" +#include "TDD-InfoServedNRCell-Information.h" +static asn_per_constraints_t asn_PER_type_nrModeInfo_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_nrModeInfo_7[] = { + { ATF_POINTER, 0, offsetof(struct ServedNRCell_Information__nrModeInfo, choice.fdd), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FDD_InfoServedNRCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fdd" + }, + { ATF_POINTER, 0, offsetof(struct ServedNRCell_Information__nrModeInfo, choice.tdd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TDD_InfoServedNRCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tdd" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_nrModeInfo_tag2el_7[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tdd */ +}; +static asn_CHOICE_specifics_t asn_SPC_nrModeInfo_specs_7 = { + sizeof(struct ServedNRCell_Information__nrModeInfo), + offsetof(struct ServedNRCell_Information__nrModeInfo, _asn_ctx), + offsetof(struct ServedNRCell_Information__nrModeInfo, present), + sizeof(((struct ServedNRCell_Information__nrModeInfo *)0)->present), + asn_MAP_nrModeInfo_tag2el_7, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_nrModeInfo_7 = { + "nrModeInfo", + "nrModeInfo", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_nrModeInfo_constr_7, CHOICE_constraint }, + asn_MBR_nrModeInfo_7, + 2, /* Elements count */ + &asn_SPC_nrModeInfo_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ServedNRCell_Information_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information, nrpCI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRPCI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrpCI" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information, nrCellID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrCellID" + }, + { ATF_POINTER, 2, offsetof(struct ServedNRCell_Information, fiveGS_TAC), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FiveGS_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fiveGS-TAC" + }, + { ATF_POINTER, 1, offsetof(struct ServedNRCell_Information, configured_TAC), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "configured-TAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information, broadcastPLMNs), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BroadcastPLMNs_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "broadcastPLMNs" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information, nrModeInfo), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_nrModeInfo_7, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrModeInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCell_Information, measurementTimingConfiguration), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "measurementTimingConfiguration" + }, + { ATF_POINTER, 1, offsetof(struct ServedNRCell_Information, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P92, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ServedNRCell_Information_oms_1[] = { 2, 3, 7 }; +static const ber_tlv_tag_t asn_DEF_ServedNRCell_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedNRCell_Information_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrpCI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrCellID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* configured-TAC */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* broadcastPLMNs */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* nrModeInfo */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* measurementTimingConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedNRCell_Information_specs_1 = { + sizeof(struct ServedNRCell_Information), + offsetof(struct ServedNRCell_Information, _asn_ctx), + asn_MAP_ServedNRCell_Information_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_ServedNRCell_Information_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCell_Information = { + "ServedNRCell-Information", + "ServedNRCell-Information", + &asn_OP_SEQUENCE, + asn_DEF_ServedNRCell_Information_tags_1, + sizeof(asn_DEF_ServedNRCell_Information_tags_1) + /sizeof(asn_DEF_ServedNRCell_Information_tags_1[0]), /* 1 */ + asn_DEF_ServedNRCell_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRCell_Information_tags_1) + /sizeof(asn_DEF_ServedNRCell_Information_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedNRCell_Information_1, + 8, /* Elements count */ + &asn_SPC_ServedNRCell_Information_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRCell-Information.h b/asn1c_defs/all-defs/ServedNRCell-Information.h new file mode 100755 index 0000000..f52a4f1 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCell-Information.h @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRCell_Information_H_ +#define _ServedNRCell_Information_H_ + + +#include + +/* Including external dependencies */ +#include "NRPCI.h" +#include "NRCGI.h" +#include "FiveGS-TAC.h" +#include "TAC.h" +#include "BroadcastPLMNs-Item.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ServedNRCell_Information__nrModeInfo_PR { + ServedNRCell_Information__nrModeInfo_PR_NOTHING, /* No components present */ + ServedNRCell_Information__nrModeInfo_PR_fdd, + ServedNRCell_Information__nrModeInfo_PR_tdd + /* Extensions may appear below */ + +} ServedNRCell_Information__nrModeInfo_PR; + +/* Forward declarations */ +struct ProtocolExtensionContainer; +struct FDD_InfoServedNRCell_Information; +struct TDD_InfoServedNRCell_Information; + +/* ServedNRCell-Information */ +typedef struct ServedNRCell_Information { + NRPCI_t nrpCI; + NRCGI_t nrCellID; + FiveGS_TAC_t *fiveGS_TAC; /* OPTIONAL */ + TAC_t *configured_TAC; /* OPTIONAL */ + BroadcastPLMNs_Item_t broadcastPLMNs; + struct ServedNRCell_Information__nrModeInfo { + ServedNRCell_Information__nrModeInfo_PR present; + union ServedNRCell_Information__nrModeInfo_u { + struct FDD_InfoServedNRCell_Information *fdd; + struct TDD_InfoServedNRCell_Information *tdd; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } nrModeInfo; + OCTET_STRING_t measurementTimingConfiguration; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedNRCell_Information_1[8]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRCell-Information.o b/asn1c_defs/all-defs/ServedNRCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..a0510982bb18854e14ce97e57b5866753004cb31 GIT binary patch literal 5480 zcmcIoJ!~9R5Pr@DlJM)GK*Ik83XH(3J10^MNO1A_{DWfqVmn==&H8R_ANX#q+qLC1 z*rhw%AW^!EsGy;CK}SP}%Sbeo&>^J=^Szz98^7Gz29A+-XXcxqH}7xXyW6hZnm98s zV1x$Dr>3h3YRu}zu3WNW$qbqo&C?{q-;L4wVwZq=oB6x3@$oK$bk%*GTk6V*dx zGL6b`Wh)6=G3ATRa=mU6dj1>fej<~rXJtR1WjF>uLpBWMF)shuggP*X{mP5}qs|?A zo}s6od69dUo)`L%5=)N9XP5{&D+MpoXqUV`M}>H04-vaq$@~Zaby(u-p2YX7li@op^3`|(V$SH)icTN=IC6>_!@@gAQx^3ugea$e4>1b$% ztz@y$Y_wL&d|ITZikU2zKh6)`S=wkN8~GdFb+0g7+^|~ltKz6vxb79-PjO_=CQQ*; z^JmX*b1q}|=borO&7V6mg55TAM@CZPdPGzF4Ppc4g8dEy(Q}Y{Vib)TXMgyDcI?}j z7IEa+W&JtkU^&8jQO zKeG4*v(I{-IatoszPi3oCs6!|;4Lh#uwwgKWa^?1&%51q}MDWvcf<`Mz$At>Y9KUqvP+q1> zT5Rfwf@bHdbS;;ep?mveSDUbRbRTzganSPEk&C)NorKMf-&}dIvgj`?&QH%ycED;o zN}^h{*15#fw>+Vqg>8Ry5X|r&gF;kQIPMH`F5$Zb693z&Y91&YcNC$A3O{nn@VSLNG6sklRXFOo z3y?_KciWwE{H30%!t*vm`r1)Ai`KBK@T0`GO(! zf5Enb!rxW?s|v?B;GO|OTOj1or?ae8!FR0}%_DQc_gObye7~6lOT?3Q%2!27!mY%3 z^&kn1w-m?5Ye!JvS@epehHHT}LvmDaEvf|oZHVwRbkumYsEMnl@mf(5dXuwvhT|lt zeJMr#dyYMWKI*$NvX$`aLGaadl@wq+eH~MYB^gICL zCfZ6_=bi6Jsqi_mUhVG + +/* Including external dependencies */ +#include "NRCGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* ServedNRCellsToActivate-Item */ +typedef struct ServedNRCellsToActivate_Item { + NRCGI_t nrCellID; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCellsToActivate_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToActivate_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToActivate_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedNRCellsToActivate_Item_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRCellsToActivate_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRCellsToActivate-Item.o b/asn1c_defs/all-defs/ServedNRCellsToActivate-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..0af4987874827a3c7eff51e5392189e95c9fb2c1 GIT binary patch literal 2912 zcmb_eOK;Oa5T4Y$A1&n}At59qAqWz&;!=qUB$PHyOHpY<+eqAu>soC@Vps9DDhNS- z21hR3`3amk^~{ez<;D$W?3rYX-L4{3-T0}3*LcLO`?5QwH>T#5G3mpTQ zb205fB}N80hVYd07iCDuv0XGz8hbd-;P_v4u~d(IMystc=5xz>nY^T!Jk3>dD5fO# ze7XF@&ezs=BDG^bb|#%-!QDwM_oF-I6ek_`LB>XES%VdJ>baZ?H(HHozQGB&Tgs#TWC6%gPBc!#N$ zUyoEa!!a0O3Z))O^TXl;r z?^vdAd$iL6aE`quFMCV;7{`#h$(VRLr8e7n)+Ya4}Q`b@$?qoX8S!81V=JU#X3{LW{sr+@+s+H+2K`Pu+ z;B5HH2WLG=z-h%~P^9a)Xod|xbrUj7rx6D}k!cDzLELPHc%qyrR-rS$R4XLP58m>u zPp)q98qmG2OG!60%*)nc?jR!0ylG3Fh+bgk-$yr{y_4oY#9XR5fkT%P8yGIIU;f9Jd+*Arz6VEqDh zzy1fjp^{Ji>1$>7_mHDjhrXap#ts96paZtYW5qF;RX@7L#$4YaE-^L-F9=CRA zLYdc$CA(kfYbO72!exvb#bG`_eR<8jM+&O6s3;$dhK7mX#Qym<|21e+5lzhee}(q? A&j0`b literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRCellsToActivate.c b/asn1c_defs/all-defs/ServedNRCellsToActivate.c new file mode 100755 index 0000000..82973f8 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCellsToActivate.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRCellsToActivate.h" + +#include "ServedNRCellsToActivate-Item.h" +static asn_per_constraints_t asn_PER_type_ServedNRCellsToActivate_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedNRCellsToActivate_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCellsToActivate_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRCellsToActivate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedNRCellsToActivate_specs_1 = { + sizeof(struct ServedNRCellsToActivate), + offsetof(struct ServedNRCellsToActivate, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToActivate = { + "ServedNRCellsToActivate", + "ServedNRCellsToActivate", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedNRCellsToActivate_tags_1, + sizeof(asn_DEF_ServedNRCellsToActivate_tags_1) + /sizeof(asn_DEF_ServedNRCellsToActivate_tags_1[0]), /* 1 */ + asn_DEF_ServedNRCellsToActivate_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRCellsToActivate_tags_1) + /sizeof(asn_DEF_ServedNRCellsToActivate_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedNRCellsToActivate_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedNRCellsToActivate_1, + 1, /* Single element */ + &asn_SPC_ServedNRCellsToActivate_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRCellsToActivate.h b/asn1c_defs/all-defs/ServedNRCellsToActivate.h new file mode 100755 index 0000000..356eda5 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCellsToActivate.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRCellsToActivate_H_ +#define _ServedNRCellsToActivate_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ServedNRCellsToActivate_Item; + +/* ServedNRCellsToActivate */ +typedef struct ServedNRCellsToActivate { + A_SEQUENCE_OF(struct ServedNRCellsToActivate_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCellsToActivate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToActivate; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRCellsToActivate_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRCellsToActivate.o b/asn1c_defs/all-defs/ServedNRCellsToActivate.o new file mode 100644 index 0000000000000000000000000000000000000000..4c58b712c386ef5e90c19723473d2941c886b320 GIT binary patch literal 2424 zcmbuB&2G~`5XUDqg#zWHHxQQ~AyFi{icuvhkdSF`3JB7WG!haA3rRv+MPG+c*BB+Dxegx|QG#WRa!- zE5|e6OI#1mz&upYzmTPJy+dw!$r*%a`A7M5ZjYkr){4eE(Pq6_je5O!V|ceKw|7Dr zO$+~#r1P=fj*H41MduY2I|5H?tyQbH%8TvJWFRNyn_^j1mfT4axv$+7QCSx5HN^{O zpyxOSKM(T+PWCo_OFKYsZMr$&OhY6N&XCs}n4Q9xkd)v=%JsdFEssqrQQWpESeNcVI5{weudG1!MhNocN0NycQYuM**je&(lM}K^I*J z<3VuGuLT8)K!z{kz)fTgzZuBgQBM7?c8agB9o>S(4x}0Xue;qZ%Zdh79 z{-VY8cx^q*lW))e4H>mB%A|cc^^|iP4c(2N3e)~0Uzl?|(J9Q(Inm#PJ}(cEktDkz zF~IhY$8i}2vA5$UGLlwOg>pXdc-kMcF;2!1e}+HJOx^c9n4=|`y>_aj#~*MV`j+Yc h3;X%$rnmPV5$rR(Vy(jp@$Szb|A{Xf`!lh}{{qdf$wvSH literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRCellsToModify-Item.c b/asn1c_defs/all-defs/ServedNRCellsToModify-Item.c new file mode 100755 index 0000000..97e802c --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCellsToModify-Item.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRCellsToModify-Item.h" + +#include "NRNeighbour-Information.h" +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_ServedNRCellsToModify_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToModify_Item, old_nrcgi), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "old-nrcgi" + }, + { ATF_NOFLAGS, 0, offsetof(struct ServedNRCellsToModify_Item, servedNRCellInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServedNRCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servedNRCellInformation" + }, + { ATF_POINTER, 3, offsetof(struct ServedNRCellsToModify_Item, nrNeighbourInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRNeighbour_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrNeighbourInformation" + }, + { ATF_POINTER, 2, offsetof(struct ServedNRCellsToModify_Item, nrDeactivationIndication), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DeactivationIndication, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nrDeactivationIndication" + }, + { ATF_POINTER, 1, offsetof(struct ServedNRCellsToModify_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P100, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_ServedNRCellsToModify_Item_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_ServedNRCellsToModify_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ServedNRCellsToModify_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* old-nrcgi */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servedNRCellInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* nrNeighbourInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nrDeactivationIndication */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToModify_Item_specs_1 = { + sizeof(struct ServedNRCellsToModify_Item), + offsetof(struct ServedNRCellsToModify_Item, _asn_ctx), + asn_MAP_ServedNRCellsToModify_Item_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ServedNRCellsToModify_Item_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToModify_Item = { + "ServedNRCellsToModify-Item", + "ServedNRCellsToModify-Item", + &asn_OP_SEQUENCE, + asn_DEF_ServedNRCellsToModify_Item_tags_1, + sizeof(asn_DEF_ServedNRCellsToModify_Item_tags_1) + /sizeof(asn_DEF_ServedNRCellsToModify_Item_tags_1[0]), /* 1 */ + asn_DEF_ServedNRCellsToModify_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRCellsToModify_Item_tags_1) + /sizeof(asn_DEF_ServedNRCellsToModify_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ServedNRCellsToModify_Item_1, + 5, /* Elements count */ + &asn_SPC_ServedNRCellsToModify_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRCellsToModify-Item.h b/asn1c_defs/all-defs/ServedNRCellsToModify-Item.h new file mode 100755 index 0000000..7bc7da0 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRCellsToModify-Item.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRCellsToModify_Item_H_ +#define _ServedNRCellsToModify_Item_H_ + + +#include + +/* Including external dependencies */ +#include "NRCGI.h" +#include "ServedNRCell-Information.h" +#include "DeactivationIndication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRNeighbour_Information; +struct ProtocolExtensionContainer; + +/* ServedNRCellsToModify-Item */ +typedef struct ServedNRCellsToModify_Item { + NRCGI_t old_nrcgi; + ServedNRCell_Information_t servedNRCellInformation; + struct NRNeighbour_Information *nrNeighbourInformation; /* OPTIONAL */ + DeactivationIndication_t *nrDeactivationIndication; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRCellsToModify_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRCellsToModify_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_ServedNRCellsToModify_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_ServedNRCellsToModify_Item_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRCellsToModify_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRCellsToModify-Item.o b/asn1c_defs/all-defs/ServedNRCellsToModify-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..a5204ac4ab15e0bb78361e4f25db56b196605500 GIT binary patch literal 3584 zcmb_e&2QXP5P#{Gj}~YfJ_-^NS`LUHvDP|7A_7sFZntR=-7aY(aWjtBO;+sMmHkqs zs?RD*ejK;tTE~$gxW|>U|7>>2uuNU#K5n#t@U~z zwU;)xc2m3C{?J?Tx*dPF)cgnjs@Gld{P!xHqn~7$(`oZ(?b&P{oAE5RRqp6a7pZk@ z1%hI}dL!}h<}><@Z< zBSIKc%dmMgPHi=}%Nz6NRxRM>us6@CxRbh>l@9BdqQzgl}k6O`~_ zp4lwUCPy8ym!+20m*nB<@(2FV@5))ik)rKZr`VY1`JB19oH^j<*$311CYBGsRGbBg#CRrQ-EJKVJXVYmy-;S4N zHu2U5o1MZ&@z-iaPbXsEPy_T$O@UUF%;h{n-X;l{?x`>ac-4>_|1SBU=1&{{KE)#E zGCi6CR_<$%WEo#L{2;sI9}osw)jtoUw*e~pm}Kow|!}!iJO~3^ikxf%uD8x$8%n>V~?&AH*-tfR0+;p>^>G MT>pK_ugQ)72VR6t00000 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.c b/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.c new file mode 100755 index 0000000..08e304d --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.c @@ -0,0 +1,115 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRcellsENDCX2ManagementList.h" + +#include "NRNeighbour-Information.h" +#include "ProtocolExtensionContainer.h" +static asn_per_constraints_t asn_PER_type_ServedNRcellsENDCX2ManagementList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ServedNRcellsENDCX2ManagementList__Member, servedNRCellInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServedNRCell_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servedNRCellInfo" + }, + { ATF_POINTER, 2, offsetof(struct ServedNRcellsENDCX2ManagementList__Member, nRNeighbourInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRNeighbour_Information, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRNeighbourInfo" + }, + { ATF_POINTER, 1, offsetof(struct ServedNRcellsENDCX2ManagementList__Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P91, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servedNRCellInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nRNeighbourInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct ServedNRcellsENDCX2ManagementList__Member), + offsetof(struct ServedNRcellsENDCX2ManagementList__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 3, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Member_2, + 3, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ServedNRcellsENDCX2ManagementList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedNRcellsENDCX2ManagementList_specs_1 = { + sizeof(struct ServedNRcellsENDCX2ManagementList), + offsetof(struct ServedNRcellsENDCX2ManagementList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRcellsENDCX2ManagementList = { + "ServedNRcellsENDCX2ManagementList", + "ServedNRcellsENDCX2ManagementList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1, + sizeof(asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1) + /sizeof(asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1[0]), /* 1 */ + asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1) + /sizeof(asn_DEF_ServedNRcellsENDCX2ManagementList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedNRcellsENDCX2ManagementList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedNRcellsENDCX2ManagementList_1, + 1, /* Single element */ + &asn_SPC_ServedNRcellsENDCX2ManagementList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.h b/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.h new file mode 100755 index 0000000..b61d035 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRcellsENDCX2ManagementList_H_ +#define _ServedNRcellsENDCX2ManagementList_H_ + + +#include + +/* Including external dependencies */ +#include +#include "ServedNRCell-Information.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRNeighbour_Information; +struct ProtocolExtensionContainer; + +/* Forward definitions */ +typedef struct ServedNRcellsENDCX2ManagementList__Member { + ServedNRCell_Information_t servedNRCellInfo; + struct NRNeighbour_Information *nRNeighbourInfo; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRcellsENDCX2ManagementList__Member; + +/* ServedNRcellsENDCX2ManagementList */ +typedef struct ServedNRcellsENDCX2ManagementList { + A_SEQUENCE_OF(ServedNRcellsENDCX2ManagementList__Member) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRcellsENDCX2ManagementList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRcellsENDCX2ManagementList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRcellsENDCX2ManagementList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.o b/asn1c_defs/all-defs/ServedNRcellsENDCX2ManagementList.o new file mode 100644 index 0000000000000000000000000000000000000000..546888b20704969d952b605fd31c457e7f28c3d2 GIT binary patch literal 4240 zcmb_f&2Jl35Ff`tQa)QDL4hJIh>BE@m2E1KQVA`%n*eHDV-u7ElD&4fv4y=Gc{f#h zp*eDbh!e+Nkb2~X#6Lify>sawz=b;qX5P;1j$iD?sxs2<%>3r#&Aj*a`T4GYePgLq z0-+Lo4232rz|r%C>>1I6v+xpBP(ELnW=j7t%`z?__#!`K&&T#iJ5KFzayz`)X!XO< zDDfND>N~ZqAPRQFaTul7he>)oLs=EVzc=dpG1vw7JD7SL&~X(<+P zJ<)~gq_U8E^b&9uhz z>Ix90GLA5d%JB3t_#z@DSk7^Y{Mz74;IO61{0D=dVGUr1rQZ!Mvj(7!O{}NLp9i8) zh83;mav6&J0{(?U3F|*(V8HxegD->BC-uLK6HWdyr7OJF?-=|HbUB{RaiXgRUk1l$ z_`PVD##T7)g_BM#?~4Ibe1=jHQ*Ja816exu`=lu_M%Tg-XWc6Bc$}!APMkth z)Qx6G&e_h54QTscA?sw*6bz%(c0!NrRJMKes?kB+p_6$s4pKam^Y$CX!9CO7oWyC| zk4O1wUXP;`%fLBYuYFK$Ua1xv9k-wQ8X!LjY+Uvt;jb3q`Q3|f{k5&KkBxf@r&H5m z{WFE@`&?7uFR)Ck%QEHHr|+S{>Fgsr(f1iMy2g(b{u;}~epWd3C3W1NgFjIC>nsy{ zsBrr2mVzEBocijrex3^^_6B3bnhK}->35%KPvI9b$h_|>octx%1BJh-{N<;O%;f(b z+hi>Wr}_^Wm-!HXhGD=0;WTd!>j%sQ-(elx@_Ul&nSa)$|rBgy}s^c8^|2dl}2$PA+A_yU14XvEzTW{6w|Ke;*Bm)x?3h#J_Ff zG!~KM@mRLUe}p*EN^vzYx?|qO>ne(Lckl|xNC$isS><^8X6P0r#XFWBpgybrd-O3ObNw7#08ZsB*)D6;nZhT}Cxvh7RyvAIXA%kdA{NdLKC!N;zjda~yZA*k@x Wb<;|2kAH4Xyj&4~q-2Wh`2PV~P;)o{ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.c b/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.c new file mode 100755 index 0000000..be112b5 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRcellsToDeleteENDCConfUpdList.h" + +#include "NRCGI.h" +static asn_per_constraints_t asn_PER_type_ServedNRcellsToDeleteENDCConfUpdList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedNRcellsToDeleteENDCConfUpdList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedNRcellsToDeleteENDCConfUpdList_specs_1 = { + sizeof(struct ServedNRcellsToDeleteENDCConfUpdList), + offsetof(struct ServedNRcellsToDeleteENDCConfUpdList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRcellsToDeleteENDCConfUpdList = { + "ServedNRcellsToDeleteENDCConfUpdList", + "ServedNRcellsToDeleteENDCConfUpdList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1, + sizeof(asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1) + /sizeof(asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1[0]), /* 1 */ + asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1) + /sizeof(asn_DEF_ServedNRcellsToDeleteENDCConfUpdList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedNRcellsToDeleteENDCConfUpdList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedNRcellsToDeleteENDCConfUpdList_1, + 1, /* Single element */ + &asn_SPC_ServedNRcellsToDeleteENDCConfUpdList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.h b/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.h new file mode 100755 index 0000000..b3e50c2 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRcellsToDeleteENDCConfUpdList_H_ +#define _ServedNRcellsToDeleteENDCConfUpdList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRCGI; + +/* ServedNRcellsToDeleteENDCConfUpdList */ +typedef struct ServedNRcellsToDeleteENDCConfUpdList { + A_SEQUENCE_OF(struct NRCGI) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRcellsToDeleteENDCConfUpdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRcellsToDeleteENDCConfUpdList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRcellsToDeleteENDCConfUpdList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.o b/asn1c_defs/all-defs/ServedNRcellsToDeleteENDCConfUpdList.o new file mode 100644 index 0000000000000000000000000000000000000000..e85af096f12e4aa0f29a66804fe2a5933da8f901 GIT binary patch literal 2592 zcmbtWzi-n}5WdtD%CAD1DzTUWQ6y@`s1g;GkcI0OP@9INk&r+#Zfa;DO``Y}Q3mLL z0V96`V+U9fBO@a#8_W#l&c1VAUmOv^N%r^M_wL@kUw+A(U}b5nR06RQ+=9L*D!}{W zeeR{ygGo3GW#rTSrb2eeR@69#;v_%Rp4axs8?<`ddl7F|YR$OSO4d7zaVu7FP+9c- zPWwrtyScKRsKKn^N?wmcOn+GBzr=aNI{ODb>ucHfZ`w1Bjor4|wQo3cPI=bdO+ELu zJMWa|9QSIb|E&bg=NSAtEQ+)GyKky$W4AkUyuf)lwenU7L^ z3~X+xGQLgqaoA`70psUX?~n5g>jak8zb2zTp}RS^;8f0aV!=t>P5EzpPigbo;)oes z=<@^701HF()gd~J@*y})h>~`=7%YXOgoi46nuKneQw?gN+Uv%nB{n%Hv ztgKSK>W>zlbmOKBZ`3KJb6Kl~_27OZsQ5v+wgmNH9U;ud9BsE%zDSjtzkK)T=HT*c zy9oKoFm>5e(uGq`ayOEGngljF-(;rlrD~?rS7ft)N7JX66Uh0ee&~wc$A|23`tJ9` zF1*w93nC(Z)pY$E0VmnpQPBpX>SeekOvNu1IGd4*z}ZL=aC#kbDAIN2(T!VC+DuGZ z1+yp@oMvZdC&o>1+8q@;%az7#qN3(=ZEXKTFJiK+joy!^I~u20-7cX+nt7vn9MokL zu!S&QL8RNn%>Q7-iEGxsh7F`$mjFh|zijAKi%k0Qn49&#qfYiMgZyphEF%jDboY9h zo4=>|%AVjtbhb&7`f~2?p++J78yFq51J09sJyWw47@&IN#>~bFZi~&CL8inqB1p literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.c b/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.c new file mode 100755 index 0000000..110fc05 --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServedNRcellsToModifyENDCConfUpdList.h" + +#include "ServedNRCellsToModify-Item.h" +static asn_per_constraints_t asn_PER_type_ServedNRcellsToModifyENDCConfUpdList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 14, 14, 1, 16384 } /* (SIZE(1..16384)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ServedNRcellsToModifyENDCConfUpdList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ServedNRCellsToModify_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ServedNRcellsToModifyENDCConfUpdList_specs_1 = { + sizeof(struct ServedNRcellsToModifyENDCConfUpdList), + offsetof(struct ServedNRcellsToModifyENDCConfUpdList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ServedNRcellsToModifyENDCConfUpdList = { + "ServedNRcellsToModifyENDCConfUpdList", + "ServedNRcellsToModifyENDCConfUpdList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1, + sizeof(asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1) + /sizeof(asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1[0]), /* 1 */ + asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1, /* Same as above */ + sizeof(asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1) + /sizeof(asn_DEF_ServedNRcellsToModifyENDCConfUpdList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServedNRcellsToModifyENDCConfUpdList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_ServedNRcellsToModifyENDCConfUpdList_1, + 1, /* Single element */ + &asn_SPC_ServedNRcellsToModifyENDCConfUpdList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.h b/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.h new file mode 100755 index 0000000..4a3a66f --- /dev/null +++ b/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServedNRcellsToModifyENDCConfUpdList_H_ +#define _ServedNRcellsToModifyENDCConfUpdList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ServedNRCellsToModify_Item; + +/* ServedNRcellsToModifyENDCConfUpdList */ +typedef struct ServedNRcellsToModifyENDCConfUpdList { + A_SEQUENCE_OF(struct ServedNRCellsToModify_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ServedNRcellsToModifyENDCConfUpdList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServedNRcellsToModifyENDCConfUpdList; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServedNRcellsToModifyENDCConfUpdList_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.o b/asn1c_defs/all-defs/ServedNRcellsToModifyENDCConfUpdList.o new file mode 100644 index 0000000000000000000000000000000000000000..959c09531f7a939b7dad8b0b91714c913be319cf GIT binary patch literal 2608 zcmbtWzi-n}5WdtD%CAD1kXXWi2okm8suC5IkcI0OP@9INkrxKXJ>2Qtt~lD z*xPFLJF7cUJe)OJ$?9>4?vKhmNt`{ZvlHlPUn`Dtw_Is$?)Bom@*Q*Dtj=0{iD$jF z7R>6rY28Zof0dy5oPuA+MR7*HD}OZ`K)W|=1{lL4Dh5_4G6N=uuv`8Y4IPGBhgD>CX+s+(~G&ShLB2Aoyhg#X6(j54onj;P>5 zUml7ESRA3RjnHA7gJ8D7k9yvcyX=hhu4|`3w}AnD~M| zs>G{lbN2qk0kpoVNuJ;fY!t4>{U{O(Vku0YJN5IE^S?0CnY)CKzJByeqwgI`aKvI? W8;9oNZ&Go7mH*$pq0SW3^Zx*fQ|@{I literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/ServiceType.c b/asn1c_defs/all-defs/ServiceType.c new file mode 100755 index 0000000..5cfa897 --- /dev/null +++ b/asn1c_defs/all-defs/ServiceType.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "ServiceType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ServiceType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_ServiceType_value2enum_1[] = { + { 0, 25, "qMC-for-streaming-service" }, + { 1, 20, "qMC-for-MTSI-service" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ServiceType_enum2value_1[] = { + 1, /* qMC-for-MTSI-service(1) */ + 0 /* qMC-for-streaming-service(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_ServiceType_specs_1 = { + asn_MAP_ServiceType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ServiceType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ServiceType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ServiceType = { + "ServiceType", + "ServiceType", + &asn_OP_NativeEnumerated, + asn_DEF_ServiceType_tags_1, + sizeof(asn_DEF_ServiceType_tags_1) + /sizeof(asn_DEF_ServiceType_tags_1[0]), /* 1 */ + asn_DEF_ServiceType_tags_1, /* Same as above */ + sizeof(asn_DEF_ServiceType_tags_1) + /sizeof(asn_DEF_ServiceType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ServiceType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ServiceType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ServiceType.h b/asn1c_defs/all-defs/ServiceType.h new file mode 100755 index 0000000..7e4be6f --- /dev/null +++ b/asn1c_defs/all-defs/ServiceType.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ServiceType_H_ +#define _ServiceType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ServiceType { + ServiceType_qMC_for_streaming_service = 0, + ServiceType_qMC_for_MTSI_service = 1 + /* + * Enumeration is extensible + */ +} e_ServiceType; + +/* ServiceType */ +typedef long ServiceType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ServiceType; +asn_struct_free_f ServiceType_free; +asn_struct_print_f ServiceType_print; +asn_constr_check_f ServiceType_constraint; +ber_type_decoder_f ServiceType_decode_ber; +der_type_encoder_f ServiceType_encode_der; +xer_type_decoder_f ServiceType_decode_xer; +xer_type_encoder_f ServiceType_encode_xer; +per_type_decoder_f ServiceType_decode_uper; +per_type_encoder_f ServiceType_encode_uper; +per_type_decoder_f ServiceType_decode_aper; +per_type_encoder_f ServiceType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ServiceType_H_ */ +#include diff --git a/asn1c_defs/all-defs/ServiceType.o b/asn1c_defs/all-defs/ServiceType.o new file mode 100644 index 0000000000000000000000000000000000000000..b409294838e11b5e6de4a4362005b0439f1dfc8c GIT binary patch literal 2592 zcmbuA&2G~`5XUEVq2;qJ;sD|jE>IA$lByC2BxDrQ7SxugAL8h^?$QPtr^HUxUf{rq z8_&TLa6%k=XQTE7>#ioB!-iyldxuV|ih$R00_#cnpI`C_wA% z!1uK4!4zBu!lbur%=mxN4ZrG8$DshB^nYQ965t>lTpus}_gFdi`N}c5|yACH?Y!ciyd5 zYJDBm-qjws)p@seC*^i!E~fd%;m=79a^RfOy#w^?hKHknaS1BTiIL17gK=XlK_%1pnm;{eOmF-8(Coq!^u@pIQfoa}2a6S(( z`i$3%@q1}K8ej36)?WVh;}j0Yi{pk6#F78BvEUojPlBD;ujy2?vF0cEiskZQH^MiK z73JX@@~OO0tJS=hQqcvJW4Xs!RbAgvBVC|b44K9 z7W>4DPK9ufb!Pw6kHm7WNl(A`BI|eA3ctlMxbaaZ3AWHCz0~fCm#D)8-0dIt zaC=<}NLh1h7^=NMr^%D7g|Wun>xKd5!)~Xea7)~%n<#g2brV0>LHI@*`9FID%jvfn ze?NLcPv3`cq&3G)42YR~MR|{IIOMse5kOfSwztvJ9@zDtES-e*`u8wFY)%AhrT&q{ zrCzLudGhV`e<7nG`=3U`{nPyPt@K2|_6vVNzi~|GiO!XrH+e6fBct^PUsw!qEOCR= zX_(!mUcgIqiu!MH{k{m=ABname, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SgNB_UE_X2AP_ID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +const asn_INTEGER_specifics_t asn_SPC_SgNB_UE_X2AP_ID_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_SgNB_UE_X2AP_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SgNB_UE_X2AP_ID = { + "SgNB-UE-X2AP-ID", + "SgNB-UE-X2AP-ID", + &asn_OP_NativeInteger, + asn_DEF_SgNB_UE_X2AP_ID_tags_1, + sizeof(asn_DEF_SgNB_UE_X2AP_ID_tags_1) + /sizeof(asn_DEF_SgNB_UE_X2AP_ID_tags_1[0]), /* 1 */ + asn_DEF_SgNB_UE_X2AP_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNB_UE_X2AP_ID_tags_1) + /sizeof(asn_DEF_SgNB_UE_X2AP_ID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SgNB_UE_X2AP_ID_constr_1, SgNB_UE_X2AP_ID_constraint }, + 0, 0, /* No members */ + &asn_SPC_SgNB_UE_X2AP_ID_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNB-UE-X2AP-ID.h b/asn1c_defs/all-defs/SgNB-UE-X2AP-ID.h new file mode 100755 index 0000000..236ab42 --- /dev/null +++ b/asn1c_defs/all-defs/SgNB-UE-X2AP-ID.h @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNB_UE_X2AP_ID_H_ +#define _SgNB_UE_X2AP_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNB-UE-X2AP-ID */ +typedef unsigned long SgNB_UE_X2AP_ID_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SgNB_UE_X2AP_ID_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SgNB_UE_X2AP_ID; +extern const asn_INTEGER_specifics_t asn_SPC_SgNB_UE_X2AP_ID_specs_1; +asn_struct_free_f SgNB_UE_X2AP_ID_free; +asn_struct_print_f SgNB_UE_X2AP_ID_print; +asn_constr_check_f SgNB_UE_X2AP_ID_constraint; +ber_type_decoder_f SgNB_UE_X2AP_ID_decode_ber; +der_type_encoder_f SgNB_UE_X2AP_ID_encode_der; +xer_type_decoder_f SgNB_UE_X2AP_ID_decode_xer; +xer_type_encoder_f SgNB_UE_X2AP_ID_encode_xer; +per_type_decoder_f SgNB_UE_X2AP_ID_decode_uper; +per_type_encoder_f SgNB_UE_X2AP_ID_encode_uper; +per_type_decoder_f SgNB_UE_X2AP_ID_decode_aper; +per_type_encoder_f SgNB_UE_X2AP_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNB_UE_X2AP_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNB-UE-X2AP-ID.o b/asn1c_defs/all-defs/SgNB-UE-X2AP-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..25dd4ecc04345e00c371aa30e74bcecbff50e3b9 GIT binary patch literal 2856 zcmbVMK~ED=5S~(%s#sg~fYHRgU?8y%mXK(SnqsLggkU2Qi6*W~SwMx>bQhx@)C4&+ zM&nQL>|gLg!a?Ja6Nwj(9*oh8CnL_heY1T&79>uyoo~K3GjDd@zIj?6z0{UU0ZR%l zK+9ql;LDyCE=pL0Jmg^9{^TtG3^UF3o2v&;6v0_ud$)lSesh+-W}N1S;pW=iywm(W z`l8)lbDHl*Uml=vd&P;s;KtfybN$B6Rhe|tUmG$OK9o~m)NR5f`ubK_h+Z$K*;RMi zp9y-s`T2qb z+6iy=+O&6)V>_SBc8fb$i|e^uDxI~uC#Du_;i7d~42Zshy(lgFiG4=&4G6m@;$_w& zDtGGfRY*O|rH*y9XI^8nQ^+4zYa^rwv$>_Vk$u@rdH-0p)5%(HwzHJY4Q98moa)*I zKN8P8o%jU3*Q^L0MwNoSF|Y5G*7(=~K^pe!W{lI& z5n~4Z5^S#XwB)y{b03Gt`W&J|THoZ^Aa@;~y!KvmDx!`$r?9S`qmkG8Tv3Z}CBGLe zWp^uW-X*+wct72t@+FsUnLAN-=}x-CLvHBJ2CfZawA4p`whYxBs`XkBHoQBvaH|}W zzfy6>ybv$+a4qy_{e~nf<*RP^=)S*c*C;9OOJ$8$N}C*l`+k+`iex}(np<>QzoOB! zabDwT05Y#=*?BrGz8n1Y(|4}(+;igd9E`eCVd7g~8vys&3T3=Z3@w^2NXg38gFQ>h>u+i<`-iMW2wQ$#i?{-|=G`gGwq*4J>6uv!0YS;D6hTt|iZq;1xKGqSntL42eA3<&_eSl{eWaN~j~P!h%{+Ug;29N# Z@-b5Jzxn<&E0f|URsFBx$OxG6e*j}x{1E^E literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBActivityNotification.c b/asn1c_defs/all-defs/SgNBActivityNotification.c new file mode 100755 index 0000000..503e626 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBActivityNotification.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBActivityNotification.h" + +asn_TYPE_member_t asn_MBR_SgNBActivityNotification_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBActivityNotification, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P102, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBActivityNotification_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBActivityNotification_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBActivityNotification_specs_1 = { + sizeof(struct SgNBActivityNotification), + offsetof(struct SgNBActivityNotification, _asn_ctx), + asn_MAP_SgNBActivityNotification_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBActivityNotification = { + "SgNBActivityNotification", + "SgNBActivityNotification", + &asn_OP_SEQUENCE, + asn_DEF_SgNBActivityNotification_tags_1, + sizeof(asn_DEF_SgNBActivityNotification_tags_1) + /sizeof(asn_DEF_SgNBActivityNotification_tags_1[0]), /* 1 */ + asn_DEF_SgNBActivityNotification_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBActivityNotification_tags_1) + /sizeof(asn_DEF_SgNBActivityNotification_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBActivityNotification_1, + 1, /* Elements count */ + &asn_SPC_SgNBActivityNotification_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBActivityNotification.h b/asn1c_defs/all-defs/SgNBActivityNotification.h new file mode 100755 index 0000000..26ed052 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBActivityNotification.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBActivityNotification_H_ +#define _SgNBActivityNotification_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBActivityNotification */ +typedef struct SgNBActivityNotification { + ProtocolIE_Container_8180P102_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBActivityNotification_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBActivityNotification; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBActivityNotification_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBActivityNotification_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBActivityNotification_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBActivityNotification.o b/asn1c_defs/all-defs/SgNBActivityNotification.o new file mode 100644 index 0000000000000000000000000000000000000000..e715bc919cbbe7a5306bc2d9c335e84a95c4b713 GIT binary patch literal 2568 zcmbtV&2G~`5T4Zh|Fjfw0Kp*~DvCr`aaD;5B;+aZMVL+Eu(o^a6bY zIQGVc2SDNlIQG~R;xXU}U}im=Y&LcUWhC#+eEZFhy+3|md%8SUDuI>~Jc5CzQGnGm z1KU%k2NN(3>+SmDLMS_LI&!a`$j+-y7|2c%!%i=eNtkpW*U~}czgu=MwqKO-Z+T|? z7&^aEOzeN{RZLJZk`(o&aq7VokDQfi^+9>M+1iceZu!2L6O|cvS9$I`cV1NHgnKu` z&Cns6@}GiVx$oxWt~h`Lb~jl{2WRrc!3ufe!08eA79u4$4_A1`jCA1a2!DzBdP2vM z?_i!hao}PejQk5Dc#O!T(dQO3KA<*h>A+6~_*cX!&ps1hvi`2{!F%aFK?{u9}EEvBS9QK(y|h8q1_#IGi?#5z&WpLgdg4YxAOpH?Z_-{vkm$CEa$zcu0G z%prB1ZNh1HXx?-IPUo70_!G*?h6dY&>l_4a(11etq_VQ%fNjFB8u*cc(|g@u-+Zs3 zT`bbQZ5gyc;BsVoOItE}D?w}qG62y^QxLs`9Adh{MK|gOYMLy|72PBZ2vi{;!eo0p z!o?PGA|tU_Iy1v#P&X8@_-$#t(N2dB?xo>60LsWE!dYRiFzwyQTlaWiP zX+PnEu5>VM%wsq0XEx&`g}K4MhL{^NY)`qyyI6!UBm z-o}ThcAuX)p4P_{hE)vVJNRhK?*BSw$?{`3d4*B&7_U~tOn U!*bP~k{5r--+!Ny8Dhu(0sJ}9lmGw# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBAdditionRequest.c b/asn1c_defs/all-defs/SgNBAdditionRequest.c new file mode 100755 index 0000000..ee8ae89 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBAdditionRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBAdditionRequest.h" + +asn_TYPE_member_t asn_MBR_SgNBAdditionRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P64, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBAdditionRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBAdditionRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequest_specs_1 = { + sizeof(struct SgNBAdditionRequest), + offsetof(struct SgNBAdditionRequest, _asn_ctx), + asn_MAP_SgNBAdditionRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequest = { + "SgNBAdditionRequest", + "SgNBAdditionRequest", + &asn_OP_SEQUENCE, + asn_DEF_SgNBAdditionRequest_tags_1, + sizeof(asn_DEF_SgNBAdditionRequest_tags_1) + /sizeof(asn_DEF_SgNBAdditionRequest_tags_1[0]), /* 1 */ + asn_DEF_SgNBAdditionRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBAdditionRequest_tags_1) + /sizeof(asn_DEF_SgNBAdditionRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBAdditionRequest_1, + 1, /* Elements count */ + &asn_SPC_SgNBAdditionRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBAdditionRequest.h b/asn1c_defs/all-defs/SgNBAdditionRequest.h new file mode 100755 index 0000000..f764e11 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBAdditionRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBAdditionRequest_H_ +#define _SgNBAdditionRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBAdditionRequest */ +typedef struct SgNBAdditionRequest { + ProtocolIE_Container_8180P64_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBAdditionRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBAdditionRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBAdditionRequest.o b/asn1c_defs/all-defs/SgNBAdditionRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..317ac691361487a7923d39e0ade5adf2d13c564f GIT binary patch literal 2504 zcmb_d&2AGh5T10Ql)siDB#^j-6Gfs{wyGd1652MT1q5kmRf*enyIr*v>2An6QV|m5 zzyXOD;KnQP0^B)rg%>}raT9(ZH1wc%j~mw0e?0=|w&1$-@gS(?jUbd<^>$=a4P zNm0UfyWyP8yGg9eqzc-@#~^HEsl@0>FRc6ZTKnEI?;QC>lg&>QinqLywZy9GwXz3HSiw>PV2hHwz;mcQ!4T| z$1>UjfuEol549$f6A5BJk`ai#JO|Os$RMUKd^D3zq^3!;Owq~Wh(P56BF>JF6a2s; z&151rT04umjN(^D<)>3`q8sgj@taVA0@Y7;#5Ls>8id&|PhgS^-S)qYbF{ao^}mb0 z6mtoiDFGW*6GUC-*JHq#oqrc`lApye?5jhqP#)kwZ)8xI!+yXI=Wj+X;YjC6pCf(l zHxZ*+?EC>2Si?C}s-}VZQ*5sMUA~k$59Oy<&dyKoE2XmkC|%C4&p%R>n0JeS18hXK z>-@m}^nFZWSosj%#ilWn_tgbDxJ0vSr#RaGJIA?<7&UwS^oO$d9w9hkaN4TFGS!>n P^8d*DKcHZS*#7?jSYE&Q literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.c b/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.c new file mode 100755 index 0000000..2c76feb --- /dev/null +++ b/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBAdditionRequestAcknowledge.h" + +asn_TYPE_member_t asn_MBR_SgNBAdditionRequestAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBAdditionRequestAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P65, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBAdditionRequestAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBAdditionRequestAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestAcknowledge_specs_1 = { + sizeof(struct SgNBAdditionRequestAcknowledge), + offsetof(struct SgNBAdditionRequestAcknowledge, _asn_ctx), + asn_MAP_SgNBAdditionRequestAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestAcknowledge = { + "SgNBAdditionRequestAcknowledge", + "SgNBAdditionRequestAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_SgNBAdditionRequestAcknowledge_tags_1, + sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_SgNBAdditionRequestAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBAdditionRequestAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBAdditionRequestAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_SgNBAdditionRequestAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.h b/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.h new file mode 100755 index 0000000..2f4d29e --- /dev/null +++ b/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBAdditionRequestAcknowledge_H_ +#define _SgNBAdditionRequestAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBAdditionRequestAcknowledge */ +typedef struct SgNBAdditionRequestAcknowledge { + ProtocolIE_Container_8180P65_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBAdditionRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBAdditionRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.o b/asn1c_defs/all-defs/SgNBAdditionRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..de7f13e7aa0fe130d6aaef5621d6a9bc48bf58d5 GIT binary patch literal 2688 zcmbtVJ8u&~5FY1vzmfn25(Nedf<#unD1ZeLy2LmM2ojSh65Zu;J~>gGyWm^%Xh;fr zC@Jaq2{aV+G?XbRDT720Gk3H0vR>nejC4CQ-+nW*d;8k1KAIUS6hKJF+nLA5X`J(D{v` zV+Xb8FhNO6(r^3j`r|t z%vT*Mj(i96*u;SoHW>M*`rs#f@Et@(wehbp<0EQ)3=G4kKKNI}DbEfQpR)dy;obR` z7{7`OX3Ia|fQb--H1_XTXZ(MkL|+Dt)OR!X`sy4kAZDxY@sBETyi!GFuzrZzR)3eD5LJij)2(UN_YtE~ z=F7Fk_0MCUE+e{wb^|}6n*aX|$D1z)!&wZadd~6YJl`>q)>juZej7U#rt?1AKns^> u=G-aI7mokV`V3<9ng5SoQgiPj1RofjGsa=K+1+J}-{bXrOUX1b + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBAdditionRequestReject */ +typedef struct SgNBAdditionRequestReject { + ProtocolIE_Container_8180P66_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBAdditionRequestReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBAdditionRequestReject; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBAdditionRequestReject_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBAdditionRequestReject_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBAdditionRequestReject_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBAdditionRequestReject.o b/asn1c_defs/all-defs/SgNBAdditionRequestReject.o new file mode 100644 index 0000000000000000000000000000000000000000..b0a2b0acf83b88760bf8bb3622193806cd1b6b6e GIT binary patch literal 2576 zcmbtV&2G~`5T4YOe_Dz-AP`cxKtXgBS5>J%LT*D^K#+!3k$Q7o*J=xi-NqXUE|5n+ z;?g_313W^HIU?~A@B}ck-c6<(CxSAPcV@o*=EvS2f2h1z9xD{UNC6&0-!mvc?R4Mv zljMKVbXY3N&BJyY}vio{;-69%j5B5 z==?_E*#Fv3F+qtX8P=Dy_?}Y z^q5WgPre^OcYhaNs(20N+mD&ot<+Gyfz)X>zCIaRV%%vE_+uT;wwFoqu{aVlHEUM#bM zOKT$vW=*Zv$|E@GeiWMasi#`+D)GxnEU{A5@)z8NQf+=-e_x|$pYz>zR!`Wt`R0UA zm|)b`7@u~D;Y|<0>3ow=o=Ih8LrvR+n;Zmf(ttwvl(MqnP}_uGVR)C}^j_Ds&)@6V zZWiggrVO?~;F4r|*H|)oD?w}rG61oarXX4gImC2@i*D2i)HGR^D;h}{5U4^xgh{g* z;ev}ek&#%b)@M=~gl|~qCo^wg7<~iwyHSZeH4YBM<#G!h!t5K$<0NL=@po{JzU@il z?_(_GoW+NWr=8mzMBCIins{W}^*e}>e9u&GEcUF-c!Y}XQZI9RidbI#P2FHg#~W2NhStwf=hgqF52dL?_31XW>-&gNDf`d!QP;nUb6oh@B76rQ zqS}3a(eboCTr{j=2;axYV4T;@19P}UvwNpJCjLn0xr7)!_WRSH%wBth;8272tUfGP R-6?tTUH$z#l#GcT{|66E(qsSt literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBChangeConfirm.c b/asn1c_defs/all-defs/SgNBChangeConfirm.c new file mode 100755 index 0000000..f998d27 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeConfirm.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBChangeConfirm.h" + +asn_TYPE_member_t asn_MBR_SgNBChangeConfirm_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeConfirm, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P81, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeConfirm_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeConfirm_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeConfirm_specs_1 = { + sizeof(struct SgNBChangeConfirm), + offsetof(struct SgNBChangeConfirm, _asn_ctx), + asn_MAP_SgNBChangeConfirm_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeConfirm = { + "SgNBChangeConfirm", + "SgNBChangeConfirm", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeConfirm_tags_1, + sizeof(asn_DEF_SgNBChangeConfirm_tags_1) + /sizeof(asn_DEF_SgNBChangeConfirm_tags_1[0]), /* 1 */ + asn_DEF_SgNBChangeConfirm_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBChangeConfirm_tags_1) + /sizeof(asn_DEF_SgNBChangeConfirm_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeConfirm_1, + 1, /* Elements count */ + &asn_SPC_SgNBChangeConfirm_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBChangeConfirm.h b/asn1c_defs/all-defs/SgNBChangeConfirm.h new file mode 100755 index 0000000..cf63baa --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeConfirm.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBChangeConfirm_H_ +#define _SgNBChangeConfirm_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBChangeConfirm */ +typedef struct SgNBChangeConfirm { + ProtocolIE_Container_8180P81_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBChangeConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBChangeConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBChangeConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBChangeConfirm.o b/asn1c_defs/all-defs/SgNBChangeConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..9a6a2d0d16e18b2192984c1dd390606473549aa4 GIT binary patch literal 2496 zcmbtV-D(q25I*Vp|I=Dg5Cn-=RO|KCraCipQW$%2R+drWGaiZ?!zFTQs!D_Ez_Sz{MR_nUjXM12*>`{egFw- zEXlla5sqWv;-RzU`?sqryRBiWhSghgUDj6JVd1%N-MXx;OZR$-bLs&b^B)nvtaEeh zJ1QJuj;2iMK#xrvs9+OE9G!tL0#Xqt#W~%>nT|L<6Ms|3QwQJhK!ii|;gjOJCkk zVj3RSZcd(n5MBiZnUg_Sck8ug-PP+w3ePP+JtuUBiPIV)zDQ)ymsmXRI>oKb!STML zV4kJIDx0RZ5vLpo?O_9g_;O*D%_nUmexBjq7>@IzK0dDlr&H!{dMauO30qL=4p}N0 zDIs4*DiX4l=RyuLbTHDDF1SfID!S1!T-nXy2*H9PWSsSS32d-TGnL4##_npaqWCo% z`QgmVK*Kd)zlS1`SG2PY#&Wp|4r1nu-8TqE}AC)FFpIY Ag#Z8m literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBChangeRefuse.c b/asn1c_defs/all-defs/SgNBChangeRefuse.c new file mode 100755 index 0000000..255a380 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeRefuse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBChangeRefuse.h" + +asn_TYPE_member_t asn_MBR_SgNBChangeRefuse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRefuse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P83, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeRefuse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeRefuse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRefuse_specs_1 = { + sizeof(struct SgNBChangeRefuse), + offsetof(struct SgNBChangeRefuse, _asn_ctx), + asn_MAP_SgNBChangeRefuse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeRefuse = { + "SgNBChangeRefuse", + "SgNBChangeRefuse", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeRefuse_tags_1, + sizeof(asn_DEF_SgNBChangeRefuse_tags_1) + /sizeof(asn_DEF_SgNBChangeRefuse_tags_1[0]), /* 1 */ + asn_DEF_SgNBChangeRefuse_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBChangeRefuse_tags_1) + /sizeof(asn_DEF_SgNBChangeRefuse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeRefuse_1, + 1, /* Elements count */ + &asn_SPC_SgNBChangeRefuse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBChangeRefuse.h b/asn1c_defs/all-defs/SgNBChangeRefuse.h new file mode 100755 index 0000000..9209885 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeRefuse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBChangeRefuse_H_ +#define _SgNBChangeRefuse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBChangeRefuse */ +typedef struct SgNBChangeRefuse { + ProtocolIE_Container_8180P83_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBChangeRefuse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeRefuse; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRefuse_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBChangeRefuse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBChangeRefuse_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBChangeRefuse.o b/asn1c_defs/all-defs/SgNBChangeRefuse.o new file mode 100644 index 0000000000000000000000000000000000000000..da2b828da4caaba781d8172cfc3829dce7e56770 GIT binary patch literal 2488 zcmbtV&2G~`5T4Zh|FjfwKtf32M3Lw!E|G{pLZ%@tAV@>2B5sajOoB-4D0ZZBp*`>h zTzCq^V{n5bj{y<~ZZKodCezJELS-cH%zQiF%>H}7@nmD6R01s}xCc{DqX55;Pi-$Z zJy?Q8*y%Rc>%AcEM%&S=aT>vJlw?Vm^dB|SDPz86)-wHh%zurO`~`IWph)b0?T474 zB9hD-m&R!fQao}t>-9V3mEF!b&c@~2s;Vlh?l||{cWzBps>;1l;F5aCru@g?r*&?Q zbw>dlFh^6Qbg;)J4py*<1LAOSz$MfrI1LxrmrMsv&ZMbwyzbCE@*T`$69>-PV2nRA zgFi=PS&XyC5eaHpOB46!;2#jDJO>>3g7v2ypUz94iLZ#;^3Plx6+)24{)5JbZ{8_C z3%aTA=KW9ax2*kZQJ*7h8FK0tG8@l!8_jwHwBd(IoMxlob(|IH*SBZW7nOHf_1Ug; z7=?OhRJb*{{eC@(Gt3)}{F+;7J5M{8DZeO^a>9bq<2s)SwW)oLfcnk!`{+3jCYEXL+19U`_!QCWAqQo2%j^i_~UwcQws| z@QoPx(abAIqcu2T&^^P~F2zc@h7MuoOXJBPVVnHx*hg!7RQ^rmQqDE}q zzSa~+wpqW87|HiSP1^FrDvZ0R=uPwrchU~|q5Q$fIn;EX^f}V!ehV>MeUArNVZK&n zZLoff+E%~Kmr~cE`t+)q^?k&sl=%l4a(#OLrO3NQco#nkHOKj$`LsV$7|uC_5AoBO zjQeZ@EwL14j-B#o{uj=39x?jN`O_cC+wh4)WSacHhMc#B literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBChangeRequired.c b/asn1c_defs/all-defs/SgNBChangeRequired.c new file mode 100755 index 0000000..4c89722 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeRequired.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBChangeRequired.h" + +asn_TYPE_member_t asn_MBR_SgNBChangeRequired_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBChangeRequired, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P80, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBChangeRequired_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBChangeRequired_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRequired_specs_1 = { + sizeof(struct SgNBChangeRequired), + offsetof(struct SgNBChangeRequired, _asn_ctx), + asn_MAP_SgNBChangeRequired_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBChangeRequired = { + "SgNBChangeRequired", + "SgNBChangeRequired", + &asn_OP_SEQUENCE, + asn_DEF_SgNBChangeRequired_tags_1, + sizeof(asn_DEF_SgNBChangeRequired_tags_1) + /sizeof(asn_DEF_SgNBChangeRequired_tags_1[0]), /* 1 */ + asn_DEF_SgNBChangeRequired_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBChangeRequired_tags_1) + /sizeof(asn_DEF_SgNBChangeRequired_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBChangeRequired_1, + 1, /* Elements count */ + &asn_SPC_SgNBChangeRequired_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBChangeRequired.h b/asn1c_defs/all-defs/SgNBChangeRequired.h new file mode 100755 index 0000000..fe5bb21 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBChangeRequired.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBChangeRequired_H_ +#define _SgNBChangeRequired_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBChangeRequired */ +typedef struct SgNBChangeRequired { + ProtocolIE_Container_8180P80_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBChangeRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBChangeRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBChangeRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBChangeRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBChangeRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBChangeRequired.o b/asn1c_defs/all-defs/SgNBChangeRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..758bb98c623b9f9be47c1898f2a951d1474234f6 GIT binary patch literal 2496 zcmbtV&1w`u5U$Pm|C1OM5j?n_j9{9b5O7hDG3zEOnyd){55i$0g(#ahmj{J>JuY7 z&}INLFbx~+)ul!!O54eL@_Mk_Pj;Z!&x$P0x{sUrC}xsn*RuV8jhn{=)L4j{6yT9-|^w77@|B4A2yf6 z@vkZ@qIMqon(^#GYXV~-=`zQiMTf6pbo2RUbG6X~F~T@Y^P(T^rbSs|Y28(#tiRD} zxF+*n5=)CzzBRlD!bX-Bm^`;wClo~ zn}E~zN<#b@ZIwfdZNeo7L0dGS5I(D|a`?nH;TH}3yMfbJafyBNy$+pDmA~C9qHR#P z{H5-QRV4cbsGX>YKyBwasD4HcF@5Eun{*>RO_t@VZWc!b>JU(Iwzrqy=BhL+61B3r zIiD9%{L1M3Xy!Exqct#o4?0nx$MJ!F#E;{Op;;S@i%df*7m6Jw=tG-F5qKI zz|M6OL|f{MCLY;#{Vl{uew1oBR)!xyV>`E3#2#)qhOpC34$_Qw>4 zbqwJ>d;~LjUtFMrOEkN8$|LdLIL~>+=&|3Q{!I4XBLw>bT76iqzEgxsaUuu2{s#iE Hw&VW-eu}%# literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.c b/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.c new file mode 100755 index 0000000..3651f73 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.c @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBCoordinationAssistanceInformation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SgNBCoordinationAssistanceInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SgNBCoordinationAssistanceInformation_value2enum_1[] = { + { 0, 25, "coordination-not-required" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SgNBCoordinationAssistanceInformation_enum2value_1[] = { + 0 /* coordination-not-required(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_SgNBCoordinationAssistanceInformation_specs_1 = { + asn_MAP_SgNBCoordinationAssistanceInformation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SgNBCoordinationAssistanceInformation_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SgNBCoordinationAssistanceInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SgNBCoordinationAssistanceInformation = { + "SgNBCoordinationAssistanceInformation", + "SgNBCoordinationAssistanceInformation", + &asn_OP_NativeEnumerated, + asn_DEF_SgNBCoordinationAssistanceInformation_tags_1, + sizeof(asn_DEF_SgNBCoordinationAssistanceInformation_tags_1) + /sizeof(asn_DEF_SgNBCoordinationAssistanceInformation_tags_1[0]), /* 1 */ + asn_DEF_SgNBCoordinationAssistanceInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBCoordinationAssistanceInformation_tags_1) + /sizeof(asn_DEF_SgNBCoordinationAssistanceInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SgNBCoordinationAssistanceInformation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SgNBCoordinationAssistanceInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.h b/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.h new file mode 100755 index 0000000..5699ca7 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBCoordinationAssistanceInformation_H_ +#define _SgNBCoordinationAssistanceInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SgNBCoordinationAssistanceInformation { + SgNBCoordinationAssistanceInformation_coordination_not_required = 0 + /* + * Enumeration is extensible + */ +} e_SgNBCoordinationAssistanceInformation; + +/* SgNBCoordinationAssistanceInformation */ +typedef long SgNBCoordinationAssistanceInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBCoordinationAssistanceInformation; +asn_struct_free_f SgNBCoordinationAssistanceInformation_free; +asn_struct_print_f SgNBCoordinationAssistanceInformation_print; +asn_constr_check_f SgNBCoordinationAssistanceInformation_constraint; +ber_type_decoder_f SgNBCoordinationAssistanceInformation_decode_ber; +der_type_encoder_f SgNBCoordinationAssistanceInformation_encode_der; +xer_type_decoder_f SgNBCoordinationAssistanceInformation_decode_xer; +xer_type_encoder_f SgNBCoordinationAssistanceInformation_encode_xer; +per_type_decoder_f SgNBCoordinationAssistanceInformation_decode_uper; +per_type_encoder_f SgNBCoordinationAssistanceInformation_encode_uper; +per_type_decoder_f SgNBCoordinationAssistanceInformation_decode_aper; +per_type_encoder_f SgNBCoordinationAssistanceInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBCoordinationAssistanceInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.o b/asn1c_defs/all-defs/SgNBCoordinationAssistanceInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..357ec65b6099a3739f3e46c2ef15438c06ff8488 GIT binary patch literal 2808 zcmbuA%}x|S5XWm7KT!Mty`Wy!i$dadSVAJv#0;(rXcRXPq9=!8XknF|!I@bi7fn2Q z@L)W8^x)Y?;0X+m;466ZhE+3FvrX?1H?fo1s`_>PyKDMm=Y8|>{7|I=(kgHddXZ3o zKc{-Wo4GEG!bLD}FTwH-xmmb0T-jW@--x1kqaFHbI|}ELq@ARG80d%L%P8(-uvA$N z?RT-`a#cT_=trf5#vj7xU-MkC)PeENwJ=I+v3}ES$9e-`q0zWgomgG(hH1BYTg|Ac zTD_Y^^>_7IH8rE^lR3A>G()QA1pGcUnfT5z)jHXmNLJ4};Pe8+b8v>T=D^85Jc*xF!52y^HFiB(9uCy8h%90%&$c#_sS_7(f{q3%v)?v596AmsV(R8L~>A;JVt;*Au zw}k&aySjQKk+zzZWUUkSe*rpA8aHX6GQ#fh}JoB`sO485FB;^rxo z^KWyPwZzR^x@hpr?2}nzpYr=pE!~Nn%Y7L(@~IxVC$7OSu%8)~>~&Iq9Tc9D+-`}N z>bEJV4L|ikttSbnIHG_u>uMH5z3pe+aA<(lm}2E@!gqJEctu(fhi{8kGucW$Dgy|DG4tvm_s z`EOwdv1v(QEBYH2H}{>oTztyv-$zbuD>ub&weWK1E*d&JZXOoD&-qia&*VH>LNdSH zheyb0{@#}Y18fugqLQD}-Z_={89HV4yR2W7M7C8cUdFhr{&7AKqNn<)7O6+-e}#;u zve*A3&wmyB%*Hs=5Z}XxnA}TZ)V^^d?XTHv{Riw6X6F4YgC)6?X0JVsbHMsvZ0WyX j3?KXb&mgnUE+Y8B@Vixq6=q|W>DPGuztCVtv-N)gdw(3H literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBCounterCheckRequest.c b/asn1c_defs/all-defs/SgNBCounterCheckRequest.c new file mode 100755 index 0000000..373adfe --- /dev/null +++ b/asn1c_defs/all-defs/SgNBCounterCheckRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBCounterCheckRequest.h" + +asn_TYPE_member_t asn_MBR_SgNBCounterCheckRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBCounterCheckRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P79, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBCounterCheckRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBCounterCheckRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBCounterCheckRequest_specs_1 = { + sizeof(struct SgNBCounterCheckRequest), + offsetof(struct SgNBCounterCheckRequest, _asn_ctx), + asn_MAP_SgNBCounterCheckRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBCounterCheckRequest = { + "SgNBCounterCheckRequest", + "SgNBCounterCheckRequest", + &asn_OP_SEQUENCE, + asn_DEF_SgNBCounterCheckRequest_tags_1, + sizeof(asn_DEF_SgNBCounterCheckRequest_tags_1) + /sizeof(asn_DEF_SgNBCounterCheckRequest_tags_1[0]), /* 1 */ + asn_DEF_SgNBCounterCheckRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBCounterCheckRequest_tags_1) + /sizeof(asn_DEF_SgNBCounterCheckRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBCounterCheckRequest_1, + 1, /* Elements count */ + &asn_SPC_SgNBCounterCheckRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBCounterCheckRequest.h b/asn1c_defs/all-defs/SgNBCounterCheckRequest.h new file mode 100755 index 0000000..98281cd --- /dev/null +++ b/asn1c_defs/all-defs/SgNBCounterCheckRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBCounterCheckRequest_H_ +#define _SgNBCounterCheckRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBCounterCheckRequest */ +typedef struct SgNBCounterCheckRequest { + ProtocolIE_Container_8180P79_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBCounterCheckRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBCounterCheckRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBCounterCheckRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBCounterCheckRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBCounterCheckRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBCounterCheckRequest.o b/asn1c_defs/all-defs/SgNBCounterCheckRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..bcbfb99f5a4b8a68c963b6f6fe757afb3345a32e GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aAR(b3AyFjy6jzlRKtd)aEg(okt4eIHW2^)M0h|+> zoth5J!7OaH8#Ol`Mlu|@oiNzh2wx4uL_&WM%Q%R;kLt-J@DP^Si|H4o{9m3PKZDL+ z6dgON{SXsWv?N7+DV%!H#UW?Sb?=lHwpuvN!}5w)7L`SNn0oeGyDBQn!oHc|dgwlz z@*jiWx!-2xt~h`NW;a<%3rF(A!U}m}!SN~h3L+&q4HtMskF?LEP(wxX>bs zWhmAfTZ@VG13EQFlk6S<(0(szLZ=`t&6h6M&>_scksO_**=GC=9HY5CZ2T>ZrJPIn z=;E+*T?f%t^_30X^ApF@ z`sl)N8bf#=ABE|>y*x07OEj~0%A?}HbDr~v(PMr;{khDwM+kNqylV7exapme7ypgt Le?-YNG2{OM + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationConfirm */ +typedef struct SgNBModificationConfirm { + ProtocolIE_Container_8180P72_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationConfirm.o b/asn1c_defs/all-defs/SgNBModificationConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..9679f3d61324546cafa71904a0ea1b328fa58ba2 GIT binary patch literal 2560 zcmbtV&1(}u6o2XZ{m~EcAP5pcu!0@3rO==tYhqdzn?_5(+jg_vrom)4WGA2(&E1Q~ zf>#gTyn6KLvEKYM^yo?7n~!8V*)7sO*m>{$=6%h~o7s1@XKOQs0%$701DI$U1@O)o zvJgF(gIU;W*DD*zPG`3h2E3ER)g<2S40_NXBs>X|?vq+NaXf}(*JA5=A^+FT^q)cH zFOrF!RDO&BN=A^px-?ETnB2% znc|;<-coXhDXE`fi^Kt?Rm3Suhu{dewf559|WD4%Vd=o zxyfWXTa9Y2McR)-T{czI7(XCBz9}5DL<7I7_2yE_gOF~`$wMw;{LQegp`$+fI zCSqCnw^e~9<*!*$3yMEQo|XTzx|BK(<)_!r&hH~esq8<^2bKRS&Y5K1EyCOQk*Qth zC*@D)W0Hb}58-|MG-lczWPusBWM2*JJrZ&-C$s(4ef O{J*LFA5k!aZ2x~bhRrkp literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBModificationRefuse.c b/asn1c_defs/all-defs/SgNBModificationRefuse.c new file mode 100755 index 0000000..15d7539 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRefuse.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBModificationRefuse.h" + +asn_TYPE_member_t asn_MBR_SgNBModificationRefuse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRefuse, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P73, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRefuse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRefuse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRefuse_specs_1 = { + sizeof(struct SgNBModificationRefuse), + offsetof(struct SgNBModificationRefuse, _asn_ctx), + asn_MAP_SgNBModificationRefuse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRefuse = { + "SgNBModificationRefuse", + "SgNBModificationRefuse", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRefuse_tags_1, + sizeof(asn_DEF_SgNBModificationRefuse_tags_1) + /sizeof(asn_DEF_SgNBModificationRefuse_tags_1[0]), /* 1 */ + asn_DEF_SgNBModificationRefuse_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRefuse_tags_1) + /sizeof(asn_DEF_SgNBModificationRefuse_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRefuse_1, + 1, /* Elements count */ + &asn_SPC_SgNBModificationRefuse_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBModificationRefuse.h b/asn1c_defs/all-defs/SgNBModificationRefuse.h new file mode 100755 index 0000000..dc840b1 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRefuse.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBModificationRefuse_H_ +#define _SgNBModificationRefuse_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationRefuse */ +typedef struct SgNBModificationRefuse { + ProtocolIE_Container_8180P73_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationRefuse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRefuse; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRefuse_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRefuse_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationRefuse_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationRefuse.o b/asn1c_defs/all-defs/SgNBModificationRefuse.o new file mode 100644 index 0000000000000000000000000000000000000000..e10860eb4d75fb3ada905ab718e372e2c99eb8d3 GIT binary patch literal 2552 zcmbtVOK;Oa5T4Y$A1y^lRB#F6K#}MwE|nUAgiJ%)f@m6ARpREluG>Z=b`)6F6|_k)HwL2f&QIn@%@tgvv;}GxO~?4|~_^H}$8BW2F*kDZv9c^fU@k zJ#}b%nd!j;2E!yd)5p;WrOv0r7xSk%y9mg_zG5w;P|H|X> zW9a-w;n@G$%b1|Tk`(o&aq5AKN6u2McCS3WvDJ@dzdSGIL}kY9XP*1ot%}N=aBt^0 z4?SX2{uA)i`fQGM#{nELyU9~JxMC9rE7-(=lOymoL`rZLE~ynB>A>j`zNh$lLC2Br zU>=(|aNY(Z|J(?^hsY%BlYEl5IC!lL#OZwj{t0o)GeAx9JXi1y^(1>PeI|Y(Zp&Zr zVTlleH1;3W7k&Ge=gVL>_1%oM^04_A)@;;Pyy9$GnpMnFf3{I?)asxOKTP6O_JUR{ z^HK|IMWymy)|<5=LfVZ&-7>Y(9Nry%Er})8hVk=ES^b&H2=?WL!s2ya>WErk#Ct*Nf76KwnI-LkNS;UEq z#8P8pCY3?>f^~j8^E!snp0M9amdMNI(TTWRZlFV$c@ue@#B4ME7Ov5|J#PFRjHR5j zIJkJqxyeDab$zXgN48mifEda5Tn*>)(8`VbsOZl0a(6g?Ru}0HgQ=SiOpE1QZgaD~j~JCQ|1j@V{VTY}g@0Rw@8Te;+2=^t literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBModificationRequest.c b/asn1c_defs/all-defs/SgNBModificationRequest.c new file mode 100755 index 0000000..883c387 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBModificationRequest.h" + +asn_TYPE_member_t asn_MBR_SgNBModificationRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P68, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequest_specs_1 = { + sizeof(struct SgNBModificationRequest), + offsetof(struct SgNBModificationRequest, _asn_ctx), + asn_MAP_SgNBModificationRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequest = { + "SgNBModificationRequest", + "SgNBModificationRequest", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequest_tags_1, + sizeof(asn_DEF_SgNBModificationRequest_tags_1) + /sizeof(asn_DEF_SgNBModificationRequest_tags_1[0]), /* 1 */ + asn_DEF_SgNBModificationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequest_tags_1) + /sizeof(asn_DEF_SgNBModificationRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequest_1, + 1, /* Elements count */ + &asn_SPC_SgNBModificationRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBModificationRequest.h b/asn1c_defs/all-defs/SgNBModificationRequest.h new file mode 100755 index 0000000..d026816 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBModificationRequest_H_ +#define _SgNBModificationRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationRequest */ +typedef struct SgNBModificationRequest { + ProtocolIE_Container_8180P68_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationRequest.o b/asn1c_defs/all-defs/SgNBModificationRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..8046de576623a9c87e6bceff56bf252a6911e7e0 GIT binary patch literal 2560 zcmbtVy>HV{5Wm!Xf3y@aAR(b3AyFjy6jv2QAR&{G77$HCt4M6FOQW;lfXk*W-q3nm-2skdi)GJ ze^GSosP-dFP|}j*^`&s?K^KRd)oS%_aiQ57hH_ZEBbG&J(H$Ozi#~l0%;*@8^#OJJkB=}@rYES$@JS%_R!4f`r zap*p*t++Wy&y`*~cI||=_MmYPZ7Jw7@qm0uqIJwud)BPgt2I!D>qlWM2VN(XX|c*i zZn3nT%|UwccEerRUSBIhv&R0D$&;NfJ6aY3Y0Eat$5A%p1wkNt$iO-@q~Ywugm5XFGkLxrv0S$k=j@5 zh-KB^;s#3`uT)VPte>FHs{fe}rK&^q>Gm`0yNFRK^H1}E>tDh#UG%d>cpD$0ntgua zcv>G_7*1jc@8hE|owt_-W^jpS_D*?J{CCcC9x-~%`O}}vTziCIm%*z>ABLOUDOvH~ M`1_A2nI>lZKN+db_5c6? literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.c b/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.c new file mode 100755 index 0000000..1fdddb6 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBModificationRequestAcknowledge.h" + +asn_TYPE_member_t asn_MBR_SgNBModificationRequestAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequestAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P69, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequestAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequestAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestAcknowledge_specs_1 = { + sizeof(struct SgNBModificationRequestAcknowledge), + offsetof(struct SgNBModificationRequestAcknowledge, _asn_ctx), + asn_MAP_SgNBModificationRequestAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestAcknowledge = { + "SgNBModificationRequestAcknowledge", + "SgNBModificationRequestAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequestAcknowledge_tags_1, + sizeof(asn_DEF_SgNBModificationRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBModificationRequestAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_SgNBModificationRequestAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBModificationRequestAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequestAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_SgNBModificationRequestAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.h b/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.h new file mode 100755 index 0000000..67ec9dd --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBModificationRequestAcknowledge_H_ +#define _SgNBModificationRequestAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationRequestAcknowledge */ +typedef struct SgNBModificationRequestAcknowledge { + ProtocolIE_Container_8180P69_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.o b/asn1c_defs/all-defs/SgNBModificationRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..500302e391728b256913c6fc9ed99f855f5ba480 GIT binary patch literal 2744 zcmbtV&2G~`5T4Zhl;5_%0f|cx5)_H9;;Mo`CFC}w1w`A>suDNHbxj&IwM)F==R*4c zNO0rlH@oGZx$agT0O&mCBgE9VeAN*7g{sxgTt^W;<_=H;TK@q?9!G9o5d3HIF z)}pk@{}NSeU5|$e4^;%o(gomVODd zS0Ard7b{gzh94$zD%(LbmU#=a%Y(F#_q$T73=*7fN1<9GwOi|6FTaw+5^G0ozwDMv zwVSu|O~H}wi+*Z{dB()m9uYpmF{CcCO*oxG6*t}or|$*{#j9BIYc!w`K9*VeP-mO) zb8M4(&o<%b*(UXkZNl|auCMFA+al6eTQXP!f!mYo4Q0vbr3A4a$Nni<48l!r{t)UCa%t__Z!OE_ zWn=F^vASGFhcNTY=jlP3ZSt?-9KGv<@^2uQa!%r-i^t9t9YkB-SDNzhvGu=;ILY^1 zb;n}Y%8hAM^o{m%w>uX3lKf`m3~GW@eRU6(5VO^<^NT7mU#X%pSU*H + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationRequestReject */ +typedef struct SgNBModificationRequestReject { + ProtocolIE_Container_8180P70_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationRequestReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequestReject; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequestReject_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequestReject_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationRequestReject_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationRequestReject.o b/asn1c_defs/all-defs/SgNBModificationRequestReject.o new file mode 100644 index 0000000000000000000000000000000000000000..53cf13eb61eb0c25d422ca3ad453bad420f0a05a GIT binary patch literal 2600 zcmbtVOK;Oa5T4Y$A1y^3kPs+6Q4n3lRi#!SA(N065KTj?O59x6HBBI~OT3Zb0Q4tt z>>d6AKLUYA_cRL7IMKH~ zWqL3HsN|e)vCGb}zO+EZN`k z%=j^MexsP!|Jn~QLCHumtS^mI52kqJELAGEi_`0y-B@;u^I}evX56mw+_&z6D9s7? zMuwZA2W-lJ41VRlo0GfZ01nvQWGNk-$rA@F) z$C2+~o;-2jY#xmKGXwY=L?(?s8_f8C+N`AmKMlb@BTjjCnfR3T4~6&NOYe!RxG;J7 z4?kEUgdmOm`_)DN&;#hpU_13)MP9yFA5ET(T1+3ATP0n=oYg1m)mo(r+VI09PGu)( z#xg5hUL8?5YjCYz8No|;qENpM^;hp*FMcJ7C02|&{(`$us?Y21%b#EEaB~-);t4tz zCa%|l@NpfC`ZC*u)9%r{=^;3sdlKSLC@UN4Y!j|?5VS!93gMH=%7#6*3BPFI`vy+^ zUt`~VuLHYWq_5jD*aU$~lj(-GWb{gc*a~C-Vlz!abP{ri=?WL!s1>MbvMg7$k}x1p zg@6c?c00m_7jYsZu~b{1No5eeFgib)c?HAh8yLSKmB>@$;6PkcrqChGzPUV;WY~86 zb)2Jbd(`+_7)v>4@iE0?=cWmwt?O$|JhJWjyNHo|%~WqJ_N>gfgNp80FLQh2H@3c02c7x`2YX_ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBModificationRequired.c b/asn1c_defs/all-defs/SgNBModificationRequired.c new file mode 100755 index 0000000..9b53aaa --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequired.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBModificationRequired.h" + +asn_TYPE_member_t asn_MBR_SgNBModificationRequired_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBModificationRequired, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P71, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBModificationRequired_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBModificationRequired_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequired_specs_1 = { + sizeof(struct SgNBModificationRequired), + offsetof(struct SgNBModificationRequired, _asn_ctx), + asn_MAP_SgNBModificationRequired_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequired = { + "SgNBModificationRequired", + "SgNBModificationRequired", + &asn_OP_SEQUENCE, + asn_DEF_SgNBModificationRequired_tags_1, + sizeof(asn_DEF_SgNBModificationRequired_tags_1) + /sizeof(asn_DEF_SgNBModificationRequired_tags_1[0]), /* 1 */ + asn_DEF_SgNBModificationRequired_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBModificationRequired_tags_1) + /sizeof(asn_DEF_SgNBModificationRequired_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBModificationRequired_1, + 1, /* Elements count */ + &asn_SPC_SgNBModificationRequired_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBModificationRequired.h b/asn1c_defs/all-defs/SgNBModificationRequired.h new file mode 100755 index 0000000..a0fcc07 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBModificationRequired.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBModificationRequired_H_ +#define _SgNBModificationRequired_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBModificationRequired */ +typedef struct SgNBModificationRequired { + ProtocolIE_Container_8180P71_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBModificationRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBModificationRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBModificationRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBModificationRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBModificationRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBModificationRequired.o b/asn1c_defs/all-defs/SgNBModificationRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..43a85f7df27b5c3de23c5b42ccb48a0a58c2720f GIT binary patch literal 2568 zcmbtV&2G~`5T4Zh|Fjfw0Kp+hAc{m+aaE}iNXRrzTM%tSt4h7Oj%(V8#4hnhf(!Hw z;Mf}%9sr3K;MikNh{u2@fSL7dvfbDfl##qM^X)f3_Wt;N{rUVzsRUX|@E8W3MgbPj z3~W!C9*n^#tZgsPE+t#7m#r|6tt4KJUiVtvXbX0`iA=(z{j{DABLCg8d$IkZjDO2B z<44f>jbdW|YcFDgijkzKFO5?Vrg-Em)M^jQ6YI@hEPLe{F)b>SZclmcJGUw-)55)< z;b!O&oARH6U%Bt*=1vB`FcXf zk?&xhJaOP+9*q18LwJnHxY6ehGd`d;Yw5sG1^8FQDbF4gH&}mH_~5+v>MQvstmr-FVY9kk(xNu0`V(28YN zZg#b}T-MQAqgG5wccW0ZP7O8sw}@X$Vu^L4u3vSlmBx(AUp7;;zs+5Cj%RILe`~@= znM3M2+l15Z(7cHPoX#}~@yC>v4Gp#l*EtB + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReconfigurationComplete */ +typedef struct SgNBReconfigurationComplete { + ProtocolIE_Container_8180P67_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReconfigurationComplete_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReconfigurationComplete; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReconfigurationComplete_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReconfigurationComplete_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReconfigurationComplete_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReconfigurationComplete.o b/asn1c_defs/all-defs/SgNBReconfigurationComplete.o new file mode 100644 index 0000000000000000000000000000000000000000..d6d57321584555cc9a0db378cdfa838bae709fd8 GIT binary patch literal 2584 zcmbtV&2G~`5T4Zh|Fi^gKmv(yqDXWVS5+H*Q6DR9mN{~7w98! zti+WY4*^GxJ@y5-!xO;FdN$c^oD|AP-kJIKo1gWr*B@%nmnI4Y&{BYhFz_@Auz6-+ zd&=}+3MOH_xw5zxg-QHsx7q6kayN;qNxRdEWCWdVB9ky_J*}mK;D5C2UTl9_ija$=Y)GV z!_CkmHswDBzjD{+=6GM^Yw&| zBj3S1dE&suJQ(>GhVVCt6pcQ2nDGgtTlaI-(60Tyt+RKgFO0@>s@bMN%WjEN3 zWma@?ZEVr3we@;+EGz9qp|DR*SlR#jTX<^9%g0Nzr*XPu)45vvK|I z37=#Rsq1VLPNzllrbpoPos$rMN?F-ZXPa=HgP<)MPzWz7D;xINCj6>_9~d~T>n8i= zx{jP`k-lropaBB6B-1WLd6gC1F6I3IP!& z?RJD4F5*N+VtHj_CY3?>+UWdb<_!#^cVPT>R3cA}!vk?mxs48C_D$uPB*V7j@8BH0 z+mpuM!&u5Wi;pQDJNg{yIbC0C;*o9F-$RV#FjM`p)VDI@0V=vvz0B>82Yk`~WaJWR zI#2o>>2tq|SYG`tZm`VpT9vfHn(pho`rr7Y)ODyn-HLX7A2BLr|A9Vo{cAX9iur93 z-o%HfcAuX)p7zHShE)vV9egxq@(%LA94^u9-YJic|IT?XBSw$Ce)^-?dyf$8GdOSc UVY%u~$%{Ya_rFKU46) + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReleaseConfirm */ +typedef struct SgNBReleaseConfirm { + ProtocolIE_Container_8180P78_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReleaseConfirm_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseConfirm; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseConfirm_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseConfirm_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReleaseConfirm_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReleaseConfirm.o b/asn1c_defs/all-defs/SgNBReleaseConfirm.o new file mode 100644 index 0000000000000000000000000000000000000000..dfcf031d20983a3daa30f106947671ede434eb21 GIT binary patch literal 2496 zcmbtV-D(q25I*Vp|I=C(5xg*7S-~E%rO==tYvZ;mn#PuZ7s7V4u1PV;hU^C8jpjn| z6$D?xOCP~YF9lyhpFn5M&LpQNXF=+~o|*a1H#6sd-}_It7D^?-QWE#X%wrVviJ9#w z(-TW#QS7zro4av04%4`n^j{qedtxw5vLs5nkNk8NQ)HR7O#ffwig-G{0L~u}9s6JV zAtb11Ns7kLIF3OV51s8=?M`{6*&6k;QF%kI%gU-dQl9(Ht;))}bZ_Oj9(u^e{Kv#^ z>)agsjtWPZqsdb`&|?z^D%ivk$LHWHfRw~(ae;dDNJpHU<5!8#9UOz~2hy zZ&i?m?KE%|?To&pb8N(N_xE*HdpqOESB5#=4zUS z(Q9qwM>DTM7_Nc#dr*ly)y_A_)#U~_h?y^rr;{|>jK2wexVA@)zYVdNa}7RSJaVq< zAlO`=HS*9l>+b`G@*`K%wmh|R<1Q$C8@=3}wqtrQe-UyHG@d6uM||#g0JGKiXn+-p zXH{l{^kdMr`W?EITnFpp>t@yu0K-z|pJYJwFGHU$`rSgj4Ifg?aekn9+#g*CRxyYV z;A2eZeX)TSF4D}gV;+wGMtRNyhMzfq{4<$*50Dr$XpF;f)tkapjANP5`cD`jZN~ov D3$VNn literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBReleaseRequest.c b/asn1c_defs/all-defs/SgNBReleaseRequest.c new file mode 100755 index 0000000..30faa72 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequest.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBReleaseRequest.h" + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequest, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P74, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequest_specs_1 = { + sizeof(struct SgNBReleaseRequest), + offsetof(struct SgNBReleaseRequest, _asn_ctx), + asn_MAP_SgNBReleaseRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequest = { + "SgNBReleaseRequest", + "SgNBReleaseRequest", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequest_tags_1, + sizeof(asn_DEF_SgNBReleaseRequest_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequest_tags_1[0]), /* 1 */ + asn_DEF_SgNBReleaseRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequest_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequest_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequest_1, + 1, /* Elements count */ + &asn_SPC_SgNBReleaseRequest_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBReleaseRequest.h b/asn1c_defs/all-defs/SgNBReleaseRequest.h new file mode 100755 index 0000000..ff9269d --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBReleaseRequest_H_ +#define _SgNBReleaseRequest_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReleaseRequest */ +typedef struct SgNBReleaseRequest { + ProtocolIE_Container_8180P74_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReleaseRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReleaseRequest_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReleaseRequest.o b/asn1c_defs/all-defs/SgNBReleaseRequest.o new file mode 100644 index 0000000000000000000000000000000000000000..6d502b67b508948dcdfaaf85b43726f4dda54a34 GIT binary patch literal 2496 zcmbtV&1w`u5U$Pm|C1OM5j?n_j9{9b5Xhn+W7bJjG+7e@9s-luaoC8PnRTZZ<3)22 zdn+VV!)OXDKlNM8@rLPCF#%RI?@kHTUcQ)St;Z2w>5s(2EL zAtq=TNvis1oO&=NAZNAJx>KLq>I^eEtS^a0(U|v#%Jbj(P0?5s{;d)>Ll4=M{}}vs zzMJRXQSiX-rcCMKj7vPM;1UmxPrz3YsljQupl8fT4^B?-o0`uP97n!~d0gVbSr?4_ zGZXkWBC|%HyPEL^wONY;KUUzM5vM!{n)qDnuL>W(7oUlrh`aJTJ{*xiTx8LMa3z}j zsv;S8i^x}ur}x_xjD@tPIqobfd>y01XItS~D+D&8B+m*th+k&1EU~=dDpA(oY`0vK zML$irMJnGO-2+i8&m`tf2T{{+Hrh*zde!KRfUzq8r}T`C^BNL9J&FdnYVc{-nKxH~ z)Ave3d1jPV4sC4{&N&F$p#g>PS!I>OCv6jc(ZIhOIDHkDv~RxGq0=dfw|g?~fWYN1 z^)6d7-IpL<#4-laDGCsSoE&2M!bdml#cG-?%N4ymi3wC8Ad-A zbrVFJ>$4^v*>?RM#7KUWYBbhIR%zTtMR#LRx}$MlUzoo%at<|}Cq74f?$;4>)em%o z4IR&_&W6^HQM>Bz>MNb=P<^`H?D`R6RLcI7^mYBqIA@CaZ4utZhp2X+A9OtJk0}~f zF@*Q=Va()xae)pl(d^zS566GgdCnt7kNy7iXR`MmA=qco>ceu?ox)U#V>!_4f53p& GcKlzgyS&E$ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.c b/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.c new file mode 100755 index 0000000..983a07d --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBReleaseRequestAcknowledge.h" + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequestAcknowledge_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestAcknowledge, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P75, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequestAcknowledge_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequestAcknowledge_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestAcknowledge_specs_1 = { + sizeof(struct SgNBReleaseRequestAcknowledge), + offsetof(struct SgNBReleaseRequestAcknowledge, _asn_ctx), + asn_MAP_SgNBReleaseRequestAcknowledge_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestAcknowledge = { + "SgNBReleaseRequestAcknowledge", + "SgNBReleaseRequestAcknowledge", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequestAcknowledge_tags_1, + sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_tags_1[0]), /* 1 */ + asn_DEF_SgNBReleaseRequestAcknowledge_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequestAcknowledge_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequestAcknowledge_1, + 1, /* Elements count */ + &asn_SPC_SgNBReleaseRequestAcknowledge_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.h b/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.h new file mode 100755 index 0000000..5ffc515 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBReleaseRequestAcknowledge_H_ +#define _SgNBReleaseRequestAcknowledge_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReleaseRequestAcknowledge */ +typedef struct SgNBReleaseRequestAcknowledge { + ProtocolIE_Container_8180P75_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReleaseRequestAcknowledge_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestAcknowledge; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestAcknowledge_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequestAcknowledge_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReleaseRequestAcknowledge_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.o b/asn1c_defs/all-defs/SgNBReleaseRequestAcknowledge.o new file mode 100644 index 0000000000000000000000000000000000000000..9707f209069e0acd0737b312d77963bc3e2d6c65 GIT binary patch literal 2600 zcmbtV&2G~`5T4Zh|FjfwKtiDOL_u^FS4E9LLT*D^K#+!1mAJW%yGl_VyTls-2cVC@ zv3Ga_9s-Uza^%PjcmkMN?=xvISO}bGy=W-@0X1T43&t z3^zj$*p&Ym{K{RMle^;p4%ppfDIJ{269+5gi37)n;2A^;a2hVC88gy>lSBNP;_C?= zN4|r3^2C9&c`)+N4B>AOnKt^|R*Vm*&00F}(+K=C;*@7k5uYjjL*j#V=`(Q^HzqIt z;U5+YAxLBYes#q^^aJ!o&`Nz*lAkQq$CKxIr08RF%cN_Vv-)(STB}q+8-AF?sptgH zW04hJZj33MHMm}{jNzrbJk-mf{_6ef#jhl>z>2)%m)&xyzIa=`cdh9Bo2T%Uny_)b z7lcphVAPilKAj%Tn;n7EcTYljrlge(b!8K-a}cyi0}A2O(#nQ?WfOkUz$;|V zb6p2cIZI!+MbHF>Ta)Q+Z3+HL0NV;g0IZp&z&Z&z#B`a9E{_5^O_t@dC-*=lWLE)_wzV|0Er^9qL1J1~AjGLa|8;eoiO%%DSo`a6 z_Nei8-_*tXQz7S2 z(|OY8NT2&P#PaHIss>9cUaO)ulzxOduYON`l)4Vpr(4pl?;}Q~>_5_bRsRysnPPrh zgtzb^s@>;D6;JzPih^Yf;k)=~%;fd*z#J~o?A|Glj{lv-ch$*jM1P V)raNEJ0&mvyL$h7l*|x2{tv6m-kbmc literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestReject.c b/asn1c_defs/all-defs/SgNBReleaseRequestReject.c new file mode 100755 index 0000000..91ddf27 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequestReject.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBReleaseRequestReject.h" + +asn_TYPE_member_t asn_MBR_SgNBReleaseRequestReject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBReleaseRequestReject, protocolIEs), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_Container_8180P76, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "protocolIEs" + }, +}; +static const ber_tlv_tag_t asn_DEF_SgNBReleaseRequestReject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBReleaseRequestReject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestReject_specs_1 = { + sizeof(struct SgNBReleaseRequestReject), + offsetof(struct SgNBReleaseRequestReject, _asn_ctx), + asn_MAP_SgNBReleaseRequestReject_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestReject = { + "SgNBReleaseRequestReject", + "SgNBReleaseRequestReject", + &asn_OP_SEQUENCE, + asn_DEF_SgNBReleaseRequestReject_tags_1, + sizeof(asn_DEF_SgNBReleaseRequestReject_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequestReject_tags_1[0]), /* 1 */ + asn_DEF_SgNBReleaseRequestReject_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBReleaseRequestReject_tags_1) + /sizeof(asn_DEF_SgNBReleaseRequestReject_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBReleaseRequestReject_1, + 1, /* Elements count */ + &asn_SPC_SgNBReleaseRequestReject_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestReject.h b/asn1c_defs/all-defs/SgNBReleaseRequestReject.h new file mode 100755 index 0000000..670f3b5 --- /dev/null +++ b/asn1c_defs/all-defs/SgNBReleaseRequestReject.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBReleaseRequestReject_H_ +#define _SgNBReleaseRequestReject_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReleaseRequestReject */ +typedef struct SgNBReleaseRequestReject { + ProtocolIE_Container_8180P76_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReleaseRequestReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequestReject; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequestReject_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequestReject_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReleaseRequestReject_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReleaseRequestReject.o b/asn1c_defs/all-defs/SgNBReleaseRequestReject.o new file mode 100644 index 0000000000000000000000000000000000000000..801647141cf1c46bae9366de134e14cf2dede083 GIT binary patch literal 2568 zcmbtV%}x|S5UyqX{{b-`G4961>uL!Usada8Gu-Wj4;$#hkH{ngJ*|IGWwlewWv1&mbS0rWkC0xX>9 z+krL%7=d9}-dLPz$+nC#*^;ljGE*)2QpO6lJE=~Gw6Gy&> zd5Xk?vqdoS&kW!RBBNHHo6Put+OA~+Kb7EL5vM#mOk8FCUE}@tGJAp+q$q#s!4fe< zSrX1R=EAbG7piC@3w_Od`mlK@Z$h@2d00lBY6&wno~<+%>kTkQ7^g|5I?;h8t z<>m5@mYel*O13Ry(>gWO?A;<^JxvtWk)3ebpRP5h?(&z-742_(m!0BS7dPLU@L}eV zy397=v^xxMtOTcXO+x$;ZRJCgZNg0sg4Sq2A$(L@`LN42;TJ7@-@@s=uCQ;v*MVIu zvbS3*S_gs4k?T!kDfvc$cpj+;#Cn#2=%nNj(-%IvvK{GZvK&{m(>Nkfhk%IFtu2X* zEs|78F~7Jno~bB)Wp#cu^D2hXH?V#)I#Hmw4cmA zGW&iBv7-8G++dC4jj9@h^<&gU^}q0;G + +/* Including external dependencies */ +#include "ProtocolIE-Container.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBReleaseRequired */ +typedef struct SgNBReleaseRequired { + ProtocolIE_Container_8180P77_t protocolIEs; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBReleaseRequired_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBReleaseRequired; +extern asn_SEQUENCE_specifics_t asn_SPC_SgNBReleaseRequired_specs_1; +extern asn_TYPE_member_t asn_MBR_SgNBReleaseRequired_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBReleaseRequired_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBReleaseRequired.o b/asn1c_defs/all-defs/SgNBReleaseRequired.o new file mode 100644 index 0000000000000000000000000000000000000000..f47de081055312a52c2820564562e1059b43b8aa GIT binary patch literal 2504 zcmb_d&2AGh5T10Ql)wHUB#^j-6Gfs{wyKnQbn1-NtM$dxyMCx996IB^{BrD7!8GoQctvDfy#uRYscC=@_R0Up5AQYgUE z;#Bvf>cI*u!$GIM(~P=NkVMVs_2^_69l>B2r*Rl}pVX46Q;uflGVL5UYmIqag)gA; z7e(3sV|x~0cWy-E!8Z^oz(rW)8Qs%?3v>K!=Bo+iN4A4; zY~sLW8;tx*bGVPlnpWpAGv4B;=TeTJa_}#RQ=BmqU-I}(;?s4hGw};?TYTHa5g`Og z-+xrw^)1)RPlHb4yOQ$!VIz;S8FiVI6GsNvNB`Q3R;^yGfl~Z1?kDLmIO(TZlAWeC zNmjx^qiUT^22rTWqzW37$H1?~{S>1|L%-ryN{w=v_l^cSzxpX!;yDvndr9~*b7;89 zI^p#76>mKUr+Z66{1vHXU4wPPRSbd-sY4-rO=?;9nRUXiY4{Hfr*&OtTVL1ADHX|^ zUK+GP;3vq&W2L3hX$s;fNCObz2tTms z$7v+?>aC3=4Z>Gi5CIBQ|{wHZ={!*lYYz(=Wj-?;7I35og;Pb z_YtF7%={h~Si(77in@XNQ*5^U1HP0h59Oy<&dg8mE2T33Cname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 4400)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_dLCoordinationInformation_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 6 && size <= 4400)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_uLCoordinationInformation_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 13, 13, 6, 4400 } /* (SIZE(6..4400,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_dLCoordinationInformation_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 13, 13, 6, 4400 } /* (SIZE(6..4400,...)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_SgNBResourceCoordinationInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformation, nR_CGI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRCGI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nR-CGI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SgNBResourceCoordinationInformation, uLCoordinationInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_uLCoordinationInformation_constr_3, memb_uLCoordinationInformation_constraint_1 }, + 0, 0, /* No default value */ + "uLCoordinationInformation" + }, + { ATF_POINTER, 2, offsetof(struct SgNBResourceCoordinationInformation, dLCoordinationInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, &asn_PER_memb_dLCoordinationInformation_constr_4, memb_dLCoordinationInformation_constraint_1 }, + 0, 0, /* No default value */ + "dLCoordinationInformation" + }, + { ATF_POINTER, 1, offsetof(struct SgNBResourceCoordinationInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P193, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SgNBResourceCoordinationInformation_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_SgNBResourceCoordinationInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SgNBResourceCoordinationInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uLCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dLCoordinationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SgNBResourceCoordinationInformation_specs_1 = { + sizeof(struct SgNBResourceCoordinationInformation), + offsetof(struct SgNBResourceCoordinationInformation, _asn_ctx), + asn_MAP_SgNBResourceCoordinationInformation_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SgNBResourceCoordinationInformation_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SgNBResourceCoordinationInformation = { + "SgNBResourceCoordinationInformation", + "SgNBResourceCoordinationInformation", + &asn_OP_SEQUENCE, + asn_DEF_SgNBResourceCoordinationInformation_tags_1, + sizeof(asn_DEF_SgNBResourceCoordinationInformation_tags_1) + /sizeof(asn_DEF_SgNBResourceCoordinationInformation_tags_1[0]), /* 1 */ + asn_DEF_SgNBResourceCoordinationInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBResourceCoordinationInformation_tags_1) + /sizeof(asn_DEF_SgNBResourceCoordinationInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SgNBResourceCoordinationInformation_1, + 4, /* Elements count */ + &asn_SPC_SgNBResourceCoordinationInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBResourceCoordinationInformation.h b/asn1c_defs/all-defs/SgNBResourceCoordinationInformation.h new file mode 100755 index 0000000..142277c --- /dev/null +++ b/asn1c_defs/all-defs/SgNBResourceCoordinationInformation.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBResourceCoordinationInformation_H_ +#define _SgNBResourceCoordinationInformation_H_ + + +#include + +/* Including external dependencies */ +#include "NRCGI.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SgNBResourceCoordinationInformation */ +typedef struct SgNBResourceCoordinationInformation { + NRCGI_t nR_CGI; + BIT_STRING_t uLCoordinationInformation; + BIT_STRING_t *dLCoordinationInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SgNBResourceCoordinationInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBResourceCoordinationInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBResourceCoordinationInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBResourceCoordinationInformation.o b/asn1c_defs/all-defs/SgNBResourceCoordinationInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..22376ba99de969eb65d6ddc260a7588271915b87 GIT binary patch literal 5144 zcmcIoL2MgU5dDrz6WZdYP)eadmqXhGk*zl=q6C4QIBwRGn;NI7Dk62Wu{TYM?XA4) z5~xIj(h5aYr5uU`w@7e6aEUk}!66djfZ$N&RH+9lBqRhJfCC4FC^LU&?4RvgbwwEI z@65bEGkjIrMijbPx_kIJcWZ8|%M( zv^=Bl+<#eSd4Kth{D1ikDEZ0Enhz`$QWI%PTS3Iy$@&3D9VrPVX_tcNn-gEx58GbV zC|V_F#yf16%Y9N9KRY&Da6GqOD>`Y{t(E4gwm;`qv(*{5R*|A!#C+Q@6bHOP?Sfsd zJ6hHCwX<^?^ue&#&2YRbQL2=gLm0(OWI_rAM=(o@b)BYLvWs7uXw+c>HxkLX5kfJ@Ka*S zE`jxUKHZkJcit&BMi|Ps+C!heCS0^%K>5O1OnLKHO@x}^xHQ|XI&YrZ!PZqLcqYWrubA7kymK)cQ zv|IJzmgCf{qx}O$-gt39h+bOzuuR3H(Eg^&UB80wQSf&ZT(!TZ;EyTx-zd0hzpmhF z{Ac8M9h`BheV>A>@hJ@Kal!79B7pa^FwWmP;!lt*vb`iDjy5UMdx(c|Q^EIV|=Dr1;_X+)Ulx87=M!R6$O8qFl09s9PR7Wr_LkJ3sZQ$cs?{T zz+BY#JsHARNEf>IX2rLsf%~<9&$3i=%C_!1^S;nawr>l4+Vg~7b5TKaLqEDvH9$ol zX#i44)yrl&deN;^oGL_zpCyhyIyTYg`F8Pj@^WUanVMa3IMM&cHE_ogV{KJR zk@7s%pZnBWBZg}n?#ti!> z)k#J}qR{II18~H6Ut>G=FEK!z^XE7zz@z-H)A)-afA(XJ>ks8{{u%+d*^uIB#F?D{ zA*%l8>8iv2Sbw}_a{gTZB4APD^OY+J{VHjy0`eJXQRC9uI&O@I{nyP?&5gPjQINZHV{=b>_KT#+Cjq^CPus_a8cbsF-q*Ee literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SgNBSecurityKey.c b/asn1c_defs/all-defs/SgNBSecurityKey.c new file mode 100755 index 0000000..768ad7d --- /dev/null +++ b/asn1c_defs/all-defs/SgNBSecurityKey.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SgNBSecurityKey.h" + +int +SgNBSecurityKey_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SgNBSecurityKey_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 256, 256 } /* (SIZE(256..256)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_SgNBSecurityKey_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SgNBSecurityKey = { + "SgNBSecurityKey", + "SgNBSecurityKey", + &asn_OP_BIT_STRING, + asn_DEF_SgNBSecurityKey_tags_1, + sizeof(asn_DEF_SgNBSecurityKey_tags_1) + /sizeof(asn_DEF_SgNBSecurityKey_tags_1[0]), /* 1 */ + asn_DEF_SgNBSecurityKey_tags_1, /* Same as above */ + sizeof(asn_DEF_SgNBSecurityKey_tags_1) + /sizeof(asn_DEF_SgNBSecurityKey_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SgNBSecurityKey_constr_1, SgNBSecurityKey_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SgNBSecurityKey.h b/asn1c_defs/all-defs/SgNBSecurityKey.h new file mode 100755 index 0000000..30813fc --- /dev/null +++ b/asn1c_defs/all-defs/SgNBSecurityKey.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SgNBSecurityKey_H_ +#define _SgNBSecurityKey_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBSecurityKey */ +typedef BIT_STRING_t SgNBSecurityKey_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SgNBSecurityKey_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SgNBSecurityKey; +asn_struct_free_f SgNBSecurityKey_free; +asn_struct_print_f SgNBSecurityKey_print; +asn_constr_check_f SgNBSecurityKey_constraint; +ber_type_decoder_f SgNBSecurityKey_decode_ber; +der_type_encoder_f SgNBSecurityKey_encode_der; +xer_type_decoder_f SgNBSecurityKey_decode_xer; +xer_type_encoder_f SgNBSecurityKey_encode_xer; +per_type_decoder_f SgNBSecurityKey_decode_uper; +per_type_encoder_f SgNBSecurityKey_encode_uper; +per_type_decoder_f SgNBSecurityKey_decode_aper; +per_type_encoder_f SgNBSecurityKey_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBSecurityKey_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBSecurityKey.o b/asn1c_defs/all-defs/SgNBSecurityKey.o new file mode 100644 index 0000000000000000000000000000000000000000..f88425953baa7f77c18f75a254a0803ddbfa5213 GIT binary patch literal 2928 zcmbVN&2Jl35FcluF->uumP4c>u?Gr?)VzADNUg$$oH`#HFliL0Ra+3-jlGUj9J}(a ztA+y=3PD&=5f|9yJ z>_VLN!o=R@QmCvhT&x7uZf7mpcr(}#RX80^+PD2?H?Ujn$X;E$9klFG z1W(t-q^;U+g;B>}Yejb5Uuy=nzSYQO6!4g;xeQbPzv+&V<6NmUX^&oB>9(S-eO^q6 z!no6wn)88kK@=v0GZy3UoJyQ|e+e>o@|jb|2D6{x-EDJ9TfZ)RPQg;V+FW%#=nJJe>w(mLrGY+GSB5 zCy{61nZCb1lcnK(2NWzA($&6ff!vM0PQp2<9jx=b#E#>}RXFQ9x8SI*N_h&$ z6Iwsz-XZo5e#4Ngw;{a&BIJ1`>+EAxhPD1LD&yD4)BM4>4S2Kg{&~|gvz}q`B7ZgX z91!JFfrfK5IA*+;+`GdPN&M2HcX58%t1K_gFU(0~ac0SjHf{w6=8ZGr%v4xqv7`lh z;jN$=(h|qiI_bTk-TOCwlJ??#10bB{6UPAkCZA$U>4>5MbEN}xPE7eO~@Kq8#q2-0mDkZ8U1^+|*q>yf_# z0$+urZX@ZoV8v#EAG_#oGSf5q1hcdOM2v>C{kH|AqqT zY|uQs|Gcj+DcpPk?;}pc_c7LzePR6!3Y61~FVJKuWWo;m5XR@8LpYxA3FBNp=P9Bg zE&iHvc!L8K=Q!reD&DMrM>#Z%c-zn~p`O*u-dqL9|V zPt=9rK2iVZo#c4NsUCA~gy1U$K2!xCM~vPbGoIcwbMFy?FI3}yAVni{{ljQWjaT)5 Ks>PCM#y + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SgNBtoMeNBContainer */ +typedef OCTET_STRING_t SgNBtoMeNBContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SgNBtoMeNBContainer; +asn_struct_free_f SgNBtoMeNBContainer_free; +asn_struct_print_f SgNBtoMeNBContainer_print; +asn_constr_check_f SgNBtoMeNBContainer_constraint; +ber_type_decoder_f SgNBtoMeNBContainer_decode_ber; +der_type_encoder_f SgNBtoMeNBContainer_encode_der; +xer_type_decoder_f SgNBtoMeNBContainer_decode_xer; +xer_type_encoder_f SgNBtoMeNBContainer_encode_xer; +per_type_decoder_f SgNBtoMeNBContainer_decode_uper; +per_type_encoder_f SgNBtoMeNBContainer_encode_uper; +per_type_decoder_f SgNBtoMeNBContainer_decode_aper; +per_type_encoder_f SgNBtoMeNBContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SgNBtoMeNBContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/SgNBtoMeNBContainer.o b/asn1c_defs/all-defs/SgNBtoMeNBContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..074c982fbccd3000acd40affba7d2f8d3443ef2a GIT binary patch literal 1880 zcmbVMO>fgc5S`TJyG2y0)Jj~!i6YTej4FYOR9Q7?06|(cDHjeK$5=^$*j2od-~t!^ z2iN`-4*VHz++b$CYY!_MRUOHmH*enTc*kph?Y=r#YPG;x3-+LjEDNx?T;V{&09IiI z29y52%3de^{V+>abebmfN_YX}_HyG3ETJWL=-vy%-S*bWc#*0_`?1&&oo#=iBmay4 zM09q9|DfO-m!Vz^k1MfCo!;a^$@Ro(+>JJh;N50&bvd!L^d-l^)|u0Rj(h z@UX-lTraT&y9m};->FHwL9b_Og~q>c;J-ESbq7Sm5ap?S);*9l$49DYl1u-85}i9d zl8522JCuXr@r!;>bCU$m-)Str89%0@E^I%&yqN=Hb?KBPv1_;y8cc3vFs*ajVC_Wyd8VQ<2;5cSrxvN?lLGNBQW1!8o`aZY z6p+#vK8DH1NT&(eEQmOp%@Q1sNHdj)UjJk}S5f?dH@!T*i>0)OtIiUE6Wfrq-0opO zocjd@T*Rpresent), + asn_MAP_SharedResourceType_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_SharedResourceType = { + "SharedResourceType", + "SharedResourceType", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_SharedResourceType_constr_1, CHOICE_constraint }, + asn_MBR_SharedResourceType_1, + 2, /* Elements count */ + &asn_SPC_SharedResourceType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SharedResourceType.h b/asn1c_defs/all-defs/SharedResourceType.h new file mode 100755 index 0000000..3534bb1 --- /dev/null +++ b/asn1c_defs/all-defs/SharedResourceType.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SharedResourceType_H_ +#define _SharedResourceType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SharedResourceType_PR { + SharedResourceType_PR_NOTHING, /* No components present */ + SharedResourceType_PR_uLOnlySharing, + SharedResourceType_PR_uLandDLSharing + /* Extensions may appear below */ + +} SharedResourceType_PR; + +/* Forward declarations */ +struct ULOnlySharing; +struct ULandDLSharing; + +/* SharedResourceType */ +typedef struct SharedResourceType { + SharedResourceType_PR present; + union SharedResourceType_u { + struct ULOnlySharing *uLOnlySharing; + struct ULandDLSharing *uLandDLSharing; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SharedResourceType_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SharedResourceType; +extern asn_CHOICE_specifics_t asn_SPC_SharedResourceType_specs_1; +extern asn_TYPE_member_t asn_MBR_SharedResourceType_1[2]; +extern asn_per_constraints_t asn_PER_type_SharedResourceType_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _SharedResourceType_H_ */ +#include diff --git a/asn1c_defs/all-defs/SharedResourceType.o b/asn1c_defs/all-defs/SharedResourceType.o new file mode 100644 index 0000000000000000000000000000000000000000..f7553192acfa86d783a606c444c2cb70bb40ec37 GIT binary patch literal 2784 zcmb_dO-~bH5PnNRQ4~ZIW8!5!iHU4lLL$M$td;^Av<=wvvRyVnEZe5LP2{2+J#gUY z$@mkzd+{gu3yeQO6Yo0DyEE;}+vOwbB;A>L=9ziFr*Erk%Oiz?5-F%hYTyZ~lyh-l zd)oBWl$ul*$OhleG5y~xI_-?l#!k?Uw$`Jh-Rp+Y%l%HIdTX_~wU5AVyiHyZZ!N8f zdq%mx4v(BOQ`R|7eB@xM=S)47X4b_X|F63CpfdzqV{p_6p0s`&w|%(}{ZcEH%AzyV zX!hc?=R9!d-O_Bir@iu<@`78Mcgy!Oyq}V1U_VCH&)mH&4&A=2LQ$W{aJ8Z;4ugag zX@oo}s3fw z={IfcL!E<%r1SV6G=EGTFz*xV&l(@BcY*P5r1R?hIssS158Mq^ki`D;$8~===%>N< zT-5T*nzK}0&f(}#t?pM=Yfmdx?bWO6eoD$I7z!yG2^oz?8a#}k0Xp1;(uu;vm}BEu%fjj~^TsKy3-{Z+W#}gm8<)KXepNHFkH2r9o4< zbY_{}5i5;er^?+5(m=V*BvEd+4F}A!TP8PZ1v(7Na@|%t3;^mB<%aFOy@+mr8@JQQ zU3t-%P0}EIrRVl9pWBp-HK8w>;+c+NgKG-*2bkTlJSNpyi*m$ZeU~)ulAV8K@x-;q zzfS>Rb3$M(`6UaNe9<1oVcX+>Aq-LyV&*D`wWx<=peuUname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_ShortMAC_I_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ShortMAC_I_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ShortMAC_I = { + "ShortMAC-I", + "ShortMAC-I", + &asn_OP_BIT_STRING, + asn_DEF_ShortMAC_I_tags_1, + sizeof(asn_DEF_ShortMAC_I_tags_1) + /sizeof(asn_DEF_ShortMAC_I_tags_1[0]), /* 1 */ + asn_DEF_ShortMAC_I_tags_1, /* Same as above */ + sizeof(asn_DEF_ShortMAC_I_tags_1) + /sizeof(asn_DEF_ShortMAC_I_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_ShortMAC_I_constr_1, ShortMAC_I_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/ShortMAC-I.h b/asn1c_defs/all-defs/ShortMAC-I.h new file mode 100755 index 0000000..75ce86f --- /dev/null +++ b/asn1c_defs/all-defs/ShortMAC-I.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _ShortMAC_I_H_ +#define _ShortMAC_I_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ShortMAC-I */ +typedef BIT_STRING_t ShortMAC_I_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ShortMAC_I; +asn_struct_free_f ShortMAC_I_free; +asn_struct_print_f ShortMAC_I_print; +asn_constr_check_f ShortMAC_I_constraint; +ber_type_decoder_f ShortMAC_I_decode_ber; +der_type_encoder_f ShortMAC_I_encode_der; +xer_type_decoder_f ShortMAC_I_decode_xer; +xer_type_encoder_f ShortMAC_I_encode_xer; +per_type_decoder_f ShortMAC_I_decode_uper; +per_type_encoder_f ShortMAC_I_encode_uper; +per_type_decoder_f ShortMAC_I_decode_aper; +per_type_encoder_f ShortMAC_I_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ShortMAC_I_H_ */ +#include diff --git a/asn1c_defs/all-defs/ShortMAC-I.o b/asn1c_defs/all-defs/ShortMAC-I.o new file mode 100644 index 0000000000000000000000000000000000000000..86a6266583a05db0405bd912fde3e2b99fa7ef3b GIT binary patch literal 2872 zcmbtVO=ufO6n?VOSdCp-ZhA1JkUb=+4e>-93^gtkx$@5n6h~N2FfDYmmR6BdSqj=! zNP0+8TtkIP36$P@$T5fBdvWP8Jrth`Jv8*1T+&1Fq11VAcHU|{S)clZ=Dqj5pP6|x z^Y+1Fd1)w>0;Uvv3| z|JeR(*qQpx**?hiekAkQ*@u+E;ncs%)KNN|;nr!D+TMThgd8=Zr4VUQEDps|B;=IN z+%SU>m%N~D*W9|_2rhZ8*0dC=%}zJGGGCl7i5i>_=BztjtLIzoPH5fSyyLg6Nd(W= zr=+dcX$N7~+iZtc!`p26_1HQ{W6pb=Zl0B?9~WohqXaA$i*wfGwT)go>{%a*8Ihm1 zds4IS+p{7+BkZXNhxb&1)R(J}x|>U#86D0%#>r<8e_z?YC%%x)Z4bHGiE`Guo}HM_ z=8C7XndOmn9G#IBi7WR+M*BGduM*ELop@6L()dfFG-gVoG`y7rV;1ewYaVGB*0e~> zB1^&BG0rnhN_?=MO6)=F9QbQ6;v>2m%W06O6ze3Er1s|eS0sKiJ`1VhP*phVI#0tX zU6t}Wj_+!9mS>7s8~@{49h%Y`;49=wZ|A#Xa2Q;9d^z~E+=ay@mqEAWhThGdJviZk0My&V<@w~f@Q_&_RT3Eqd2_>9p_pTep>ku zn@}?0`l-@=Br@@WL?e7~Te072__&gZ-B2>+;a)(HMFSG;_egIQ!M&}}+W>*BFXBy> zx_-+Op?^07QTIX*#6}Q+=ypgUcU#OJRq?cCjC4SWtsrWhtu4QeiLmqfVtM7-bP#&A zFOub{P|oj zpq=K|&x%5x(}1M+8PY8pG`ff~?DIlH{zor}( zjd+e@zNX^M_5Yw8nnt{3=vPrss{dnE|2^eT^`~yn>*xA^ju=gKR60jyLZQ@1N&-fI?FJD(XRSov42F z)#7-@X+7rL2*EcBJWva!-bj7NjHfTBdG-jwLsjUfq-bRBpK>O}H`V&T)nZ9B<6i?F C6d}+6 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.c b/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.c new file mode 100755 index 0000000..2be9d04 --- /dev/null +++ b/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.c @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SourceOfUEActivityBehaviourInformation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SourceOfUEActivityBehaviourInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_SourceOfUEActivityBehaviourInformation_value2enum_1[] = { + { 0, 24, "subscription-information" }, + { 1, 10, "statistics" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SourceOfUEActivityBehaviourInformation_enum2value_1[] = { + 1, /* statistics(1) */ + 0 /* subscription-information(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SourceOfUEActivityBehaviourInformation_specs_1 = { + asn_MAP_SourceOfUEActivityBehaviourInformation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SourceOfUEActivityBehaviourInformation_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SourceOfUEActivityBehaviourInformation = { + "SourceOfUEActivityBehaviourInformation", + "SourceOfUEActivityBehaviourInformation", + &asn_OP_NativeEnumerated, + asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1, + sizeof(asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1) + /sizeof(asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1[0]), /* 1 */ + asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1) + /sizeof(asn_DEF_SourceOfUEActivityBehaviourInformation_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SourceOfUEActivityBehaviourInformation_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SourceOfUEActivityBehaviourInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.h b/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.h new file mode 100755 index 0000000..f00d83c --- /dev/null +++ b/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SourceOfUEActivityBehaviourInformation_H_ +#define _SourceOfUEActivityBehaviourInformation_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SourceOfUEActivityBehaviourInformation { + SourceOfUEActivityBehaviourInformation_subscription_information = 0, + SourceOfUEActivityBehaviourInformation_statistics = 1 + /* + * Enumeration is extensible + */ +} e_SourceOfUEActivityBehaviourInformation; + +/* SourceOfUEActivityBehaviourInformation */ +typedef long SourceOfUEActivityBehaviourInformation_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SourceOfUEActivityBehaviourInformation_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SourceOfUEActivityBehaviourInformation; +extern const asn_INTEGER_specifics_t asn_SPC_SourceOfUEActivityBehaviourInformation_specs_1; +asn_struct_free_f SourceOfUEActivityBehaviourInformation_free; +asn_struct_print_f SourceOfUEActivityBehaviourInformation_print; +asn_constr_check_f SourceOfUEActivityBehaviourInformation_constraint; +ber_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_ber; +der_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_der; +xer_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_xer; +xer_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_xer; +per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_uper; +per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_uper; +per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_aper; +per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SourceOfUEActivityBehaviourInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.o b/asn1c_defs/all-defs/SourceOfUEActivityBehaviourInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..40d8990f41814a41317c96be51349c6902892107 GIT binary patch literal 2888 zcmbtVUr!T35TAM|{s;6$k#Rpr`b%x!X4OMH4>( z@!79n!bjjk_~0X7!B2oQ+ZnoSi>+~zy_xyV{B~z&_wK$_-YlIf6hNc^&!OiD3a~QX zvpsEkFbNZI0d2~+Ii`QiqG>}O8)+*GqqUvQ%0j5(cC0!tqI%Gd5q_2Iq*)_SaheR7 z#0Z;p5N!KK>R-)ijt=9W!#oGausnOQTNWVv%NCxuYI&H&P3po-Y;+`7*qL0#VGgjo zxcIaO zkwN%aKZu9}=lk$Sh!miA2~DPB;3m<5i>9mXEqoRb_p}F4V*Op?<0lN0>41F-U6KP= znSEM0aOE_B-Y*&FTr5J9@Rc%(be&itk7}s^COX7N}@j zgj8HPaA0PUE(~$-T63 zxjTf5P1DHtgz(<20FZlO;~tSv2%pkc_p!n@;WrF?%fN3MxR{iG35Umk)FA7MFZY^o z^KGg#Pw?C9gPV66DyX4WSy$J^Qqd;`?slL8aBF!EZkCcmnPqn#-Doe+VX`D@!N_s< z(l9uQciCld!?e+e@NC^ARgt^Ax;cZN-0-8+^`H6<@@cR1KQ+ZO9mA$vQ|_Td82x)p z@z{|*OROjc>j$XmOl-D~8ft=MeR)q_BS!1nf3RsTa1vvt2w$*wXbh^~V}4T-Sr;vT9sNP| zSNTG0aX!^gYs>ml{|CfqDZBp%y#9TRnZmH<5Z=K-Scx1%esUt6uPHYFD+UEK^ZFXf xK|7axyZ1Vk!6PPIM{oj%y?^@F*msxsM-2Y37PMUb%^So&;QoK3$qcdie*pV + +/* Including external dependencies */ +#include "SpecialSubframePatterns.h" +#include "CyclicPrefixDL.h" +#include "CyclicPrefixUL.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SpecialSubframe-Info */ +typedef struct SpecialSubframe_Info { + SpecialSubframePatterns_t specialSubframePatterns; + CyclicPrefixDL_t cyclicPrefixDL; + CyclicPrefixUL_t cyclicPrefixUL; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SpecialSubframe_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SpecialSubframe_Info; +extern asn_SEQUENCE_specifics_t asn_SPC_SpecialSubframe_Info_specs_1; +extern asn_TYPE_member_t asn_MBR_SpecialSubframe_Info_1[4]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SpecialSubframe_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/SpecialSubframe-Info.o b/asn1c_defs/all-defs/SpecialSubframe-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..3c6d4eb2113478c54e82101b6096ae8e10dd6411 GIT binary patch literal 3288 zcmcIm%Wl&^6rD5$+5#=*rAlnVihzg}mq>(%kV~4jKxqS2Bv`qQaodO_u3|@OH;@JV zLzfkwz!$J$&5|V>B$n_6aF2Z_nG8;Ws$9vw=brl-&rD|Wy1cwFl1d3FDREEqEy)To zGv3Em1T8ToCdJye=hmIZTBo+rcA8%9L2JVo!5~?2!q98C0^#nujk;TDdmHtg`Q-t# zx-9DDTzMz-T0z~X*uNBgthzm{%;+%30sIL0ev%vz^3Sd@$~gWX>YkyR6GvDV^NMGN zp2;JuTclbUdZg&;$X+a!ZfCO9TBj9uGB=Ha zko$tzPd{g@lq@XHPYbc*&eLZk7swJ(&D6Q_Ha5{m7W=axAdM?#=phxccihG zb$L%j6918S)ai1%YMEcZEOC7%GcE5*eS1O|hi#vIbmTg-3my50HI@zZg@|`?JC${t^4s zc~(yaeLm&+B8*_S89Fu6VLR4a5{2GQD2x|Q=m?`01j1EtPsqPTK9b-v?^*5f- zF6W;j9{Wu0FS(yqiA(C=9f=F&W7T_SdME}DNhS5);zlwb{c)@4{cYmVpW6|N`k(fFZ)RM7*8nHM-`rqC N; sorted by tag */ + asn_MAP_SpecialSubframePatterns_enum2value_1, /* N => "tag"; sorted by N */ + 9, /* Number of elements in the maps */ + 10, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SpecialSubframePatterns_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpecialSubframePatterns = { + "SpecialSubframePatterns", + "SpecialSubframePatterns", + &asn_OP_NativeEnumerated, + asn_DEF_SpecialSubframePatterns_tags_1, + sizeof(asn_DEF_SpecialSubframePatterns_tags_1) + /sizeof(asn_DEF_SpecialSubframePatterns_tags_1[0]), /* 1 */ + asn_DEF_SpecialSubframePatterns_tags_1, /* Same as above */ + sizeof(asn_DEF_SpecialSubframePatterns_tags_1) + /sizeof(asn_DEF_SpecialSubframePatterns_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SpecialSubframePatterns_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SpecialSubframePatterns_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SpecialSubframePatterns.h b/asn1c_defs/all-defs/SpecialSubframePatterns.h new file mode 100755 index 0000000..fccea1d --- /dev/null +++ b/asn1c_defs/all-defs/SpecialSubframePatterns.h @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SpecialSubframePatterns_H_ +#define _SpecialSubframePatterns_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SpecialSubframePatterns { + SpecialSubframePatterns_ssp0 = 0, + SpecialSubframePatterns_ssp1 = 1, + SpecialSubframePatterns_ssp2 = 2, + SpecialSubframePatterns_ssp3 = 3, + SpecialSubframePatterns_ssp4 = 4, + SpecialSubframePatterns_ssp5 = 5, + SpecialSubframePatterns_ssp6 = 6, + SpecialSubframePatterns_ssp7 = 7, + SpecialSubframePatterns_ssp8 = 8 + /* + * Enumeration is extensible + */ +} e_SpecialSubframePatterns; + +/* SpecialSubframePatterns */ +typedef long SpecialSubframePatterns_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SpecialSubframePatterns_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SpecialSubframePatterns; +extern const asn_INTEGER_specifics_t asn_SPC_SpecialSubframePatterns_specs_1; +asn_struct_free_f SpecialSubframePatterns_free; +asn_struct_print_f SpecialSubframePatterns_print; +asn_constr_check_f SpecialSubframePatterns_constraint; +ber_type_decoder_f SpecialSubframePatterns_decode_ber; +der_type_encoder_f SpecialSubframePatterns_encode_der; +xer_type_decoder_f SpecialSubframePatterns_decode_xer; +xer_type_encoder_f SpecialSubframePatterns_encode_xer; +per_type_decoder_f SpecialSubframePatterns_decode_uper; +per_type_encoder_f SpecialSubframePatterns_encode_uper; +per_type_decoder_f SpecialSubframePatterns_decode_aper; +per_type_encoder_f SpecialSubframePatterns_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SpecialSubframePatterns_H_ */ +#include diff --git a/asn1c_defs/all-defs/SpecialSubframePatterns.o b/asn1c_defs/all-defs/SpecialSubframePatterns.o new file mode 100644 index 0000000000000000000000000000000000000000..d5b5f19de681d313b48c9f95ec3a7e933a512bd9 GIT binary patch literal 3112 zcmbtWPfrs;6rXlc>OY{KNYtbn6ETrZTM>vRW)%v?C^it{v24o<)pkp|TOt=V@e6qL z;D_)7c;LvaxJ`z@` z&0OF1wCSl)HKNXvJ;Y7Z+!^8Okj3;5vRAf(M$>Pt^y;s=emki8aU68RNJY_B5nTyg z8QooUQ|RuYn?^T-Zg$YvX}rBw8>i)*hMPD+Fy_osbEsi2&rrj@4pTGtk>Ee&97UX` zcG`7dUQ;CB=20ia=21Ju<^_vRqLMYH#be!RJoX}um;JHFSBrCV_X`uN^Z>fA65m%H(5hD>Vkp#rlW6MAH(`WEpODn$?k8Y z$JjR24+42(->U4)(gCE!UnM?otn27I8}NX*4dq8+ZN9Ql8xT>8{f($r(qYdZRR@M` z`>kG34#Hmh1i=U^>kJP5O96W37uDL5A2+vy3S|aeKMvM4U#%?H;+?HvU|Ee$7{y(l zWg`fKZnIGfJGF%On_;ZSS*gwq93rB(7dv1I?mylm5&7P1Ud{;os05Q9XB)iaf|B#H zc@It!@G>Uw6Lcit^V&+fHMYTDX4_QY@g{mqN)6y)7nqm(1|I8`x;NP`{58fOEdB=L z&lZ1+@mGt#!+6i)W%my(ewy(wi+{j)3RV`3qkVgEh_(_r=ctWW@=z=f`=2D@y=t$*)+v zq#V%^ zImDJ2=plPS?6hNn?Y%>2j`R08;SzBp;Nc{Z{l^=YHr01*3dy`Rp#}AunU;URf2=+x J!yNT?{%name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_SpectrumSharingGroupID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (1..256) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_SpectrumSharingGroupID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpectrumSharingGroupID = { + "SpectrumSharingGroupID", + "SpectrumSharingGroupID", + &asn_OP_NativeInteger, + asn_DEF_SpectrumSharingGroupID_tags_1, + sizeof(asn_DEF_SpectrumSharingGroupID_tags_1) + /sizeof(asn_DEF_SpectrumSharingGroupID_tags_1[0]), /* 1 */ + asn_DEF_SpectrumSharingGroupID_tags_1, /* Same as above */ + sizeof(asn_DEF_SpectrumSharingGroupID_tags_1) + /sizeof(asn_DEF_SpectrumSharingGroupID_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SpectrumSharingGroupID_constr_1, SpectrumSharingGroupID_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/SpectrumSharingGroupID.h b/asn1c_defs/all-defs/SpectrumSharingGroupID.h new file mode 100755 index 0000000..0183cfc --- /dev/null +++ b/asn1c_defs/all-defs/SpectrumSharingGroupID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SpectrumSharingGroupID_H_ +#define _SpectrumSharingGroupID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SpectrumSharingGroupID */ +typedef long SpectrumSharingGroupID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SpectrumSharingGroupID; +asn_struct_free_f SpectrumSharingGroupID_free; +asn_struct_print_f SpectrumSharingGroupID_print; +asn_constr_check_f SpectrumSharingGroupID_constraint; +ber_type_decoder_f SpectrumSharingGroupID_decode_ber; +der_type_encoder_f SpectrumSharingGroupID_encode_der; +xer_type_decoder_f SpectrumSharingGroupID_decode_xer; +xer_type_encoder_f SpectrumSharingGroupID_encode_xer; +per_type_decoder_f SpectrumSharingGroupID_decode_uper; +per_type_encoder_f SpectrumSharingGroupID_encode_uper; +per_type_decoder_f SpectrumSharingGroupID_decode_aper; +per_type_encoder_f SpectrumSharingGroupID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SpectrumSharingGroupID_H_ */ +#include diff --git a/asn1c_defs/all-defs/SpectrumSharingGroupID.o b/asn1c_defs/all-defs/SpectrumSharingGroupID.o new file mode 100644 index 0000000000000000000000000000000000000000..3c52ad2abba03a622073232fa06b085477ebffbe GIT binary patch literal 2856 zcmbVN&1)1(5U10GO1eB2^W&%r$Mnx1{C!5(1-JK0Pv+)DJ zAbMCt@#slB`ag&u_-^mErw1OMM?o)o@Fd2n-mcx=c0#~{nXdZvuWG8RyK5fIWKQ=a z62OvxlhCmk1^Cq4(H*HeFbHXIAAet*Yc%H?|3(@2Nw59EUHg=9Ppl(l)pj2@->joV zhupO<{h23ynWuk|@Ads|OK}_D+{RD)U8eE>srBZi%Z>l8ywC4EFbx=2xqgwZEjmWH zKBQdj=I4JfR1ZG=>cOFtyS4~QfrREa6CuXDFtBskWj`N|dFAq`R2EnKTvV%97K>i3 z6clD_)%wcZw8+81aMD`!%5~ogs*zPFt@?pAg5bgB!*VWH4Z^7Am4e91d!@3!+@6gO zxmkYZytYg^W!ffxBb#anvr|)(*2smWdJxsEF4!g!kLZ4=})IB&PU|SpKFF6wLx4@RWv^G+gJ`HGHSWSFqdx zI*lAx-cz*ce&{&Yp734xuna4OaDA6YHozSX@0?!j#~MDUbQ&zBQyu7OiwJL5B5w%< zw!hX`WUc0xJrVi0A`r`7J1J9YMfA4_?oim%+Pmu zpLzfOR=B<=7S;L#fS;hc_-|s!Dat(1LyoXj)U`Y{*EG? zHT>C+$MeeH%>R`l6b*mNu+N|!SN|8P{;w6E>Q7ys^XK|sMT|bxb;gOO0Pgz;Nipp_ zqU3MZX+ZhY{^-K%=CO*Ctn0i9Ga)r;avv#wlg|FG9u#$6Kf@1DiL0MOO$deSMD?S; z75g(z`Iz5E2p%f%qe_^1AoUm1pZ=KU-XjFpRH2(>XkxCPV#fJjQu#mAd`UI^e*vw7 BG%^4H literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SplitSRB.c b/asn1c_defs/all-defs/SplitSRB.c new file mode 100755 index 0000000..1a97fb9 --- /dev/null +++ b/asn1c_defs/all-defs/SplitSRB.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SplitSRB.h" + +#include "DeliveryStatus.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_SplitSRB_1[] = { + { ATF_POINTER, 1, offsetof(struct SplitSRB, rrcContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RRCContainer, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rrcContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct SplitSRB, srbType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SRBType, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "srbType" + }, + { ATF_POINTER, 2, offsetof(struct SplitSRB, deliveryStatus), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DeliveryStatus, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "deliveryStatus" + }, + { ATF_POINTER, 1, offsetof(struct SplitSRB, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P170, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SplitSRB_oms_1[] = { 0, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_SplitSRB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SplitSRB_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* srbType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* deliveryStatus */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SplitSRB_specs_1 = { + sizeof(struct SplitSRB), + offsetof(struct SplitSRB, _asn_ctx), + asn_MAP_SplitSRB_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SplitSRB_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SplitSRB = { + "SplitSRB", + "SplitSRB", + &asn_OP_SEQUENCE, + asn_DEF_SplitSRB_tags_1, + sizeof(asn_DEF_SplitSRB_tags_1) + /sizeof(asn_DEF_SplitSRB_tags_1[0]), /* 1 */ + asn_DEF_SplitSRB_tags_1, /* Same as above */ + sizeof(asn_DEF_SplitSRB_tags_1) + /sizeof(asn_DEF_SplitSRB_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SplitSRB_1, + 4, /* Elements count */ + &asn_SPC_SplitSRB_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SplitSRB.h b/asn1c_defs/all-defs/SplitSRB.h new file mode 100755 index 0000000..e48ccf4 --- /dev/null +++ b/asn1c_defs/all-defs/SplitSRB.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SplitSRB_H_ +#define _SplitSRB_H_ + + +#include + +/* Including external dependencies */ +#include "RRCContainer.h" +#include "SRBType.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct DeliveryStatus; +struct ProtocolExtensionContainer; + +/* SplitSRB */ +typedef struct SplitSRB { + RRCContainer_t *rrcContainer; /* OPTIONAL */ + SRBType_t srbType; + struct DeliveryStatus *deliveryStatus; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SplitSRB_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SplitSRB; + +#ifdef __cplusplus +} +#endif + +#endif /* _SplitSRB_H_ */ +#include diff --git a/asn1c_defs/all-defs/SplitSRB.o b/asn1c_defs/all-defs/SplitSRB.o new file mode 100644 index 0000000000000000000000000000000000000000..6b6a8ded302d994ab48b1bed76d3d4975a267ba6 GIT binary patch literal 3160 zcmb_d%}*0i5Pwim@dLrHkeHB~n23qpbddz2iK&zVF$%T7xonpWRNHQ|`!I0P`Y(9m zNcqxlvmbLEx7Cj&zzGFA!nS*gWidV#jMWUwOgdhIHh9D4LZ*%6Oy+mVDT9f#Ki*X*%#yzsaLhpWLGPRs_7Wb7;1}6e%H;?7nXSftNABn6tvRb$ zu=gX)er+#U#W~Bq8{-^$f}@8K@gwuDbTyqj%QCLCq`2zC0!&wB*v2W z<;dF+J}P?3Z(9v-KElr`RET0CVMZy=a5eHDV>PMsLgA~*ff&qm z(_2y}wfEgq=6A&L8!+iT0a^Hm0r4S+{E{BH8oI9kfWr^`EOzqS}Han_gmmpQ}Lz?Z)3x021CWU4RB-nXmvyneTE{q)<*e=8==-w^mD z9VYB25b#TMN_0RoF*||ty@dZ2}7BMrZ*WUx;fj`!jl|6Rkc zDH&`AiHX4Ae*+59s)k>Wq3GGuaQIIv+p&go4wyb`IQ$FBU!ODP#$?Wu=OwK0uq~Yi zaT&yXk0t3HNMY?b(h*i8422c=P~d4>HmP3AiOi4;)oS^!1275^mg~3M9^FK%<4ez4 zS=%av(s5sMd;iRDQY1!!Z>v*DS2S6TEkSOP1kBvbrNpCOFyrr#88iRa_mzO4EgaNQer^yJvGptipRdkJ>&bu_i3H5toqx- zaiU_(l4m}VV&Ms~toq;7UlYfpJ|MGxoiNl_ N; sorted by tag */ + asn_MAP_SplitSRBs_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SplitSRBs_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SplitSRBs = { + "SplitSRBs", + "SplitSRBs", + &asn_OP_NativeEnumerated, + asn_DEF_SplitSRBs_tags_1, + sizeof(asn_DEF_SplitSRBs_tags_1) + /sizeof(asn_DEF_SplitSRBs_tags_1[0]), /* 1 */ + asn_DEF_SplitSRBs_tags_1, /* Same as above */ + sizeof(asn_DEF_SplitSRBs_tags_1) + /sizeof(asn_DEF_SplitSRBs_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SplitSRBs_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SplitSRBs_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SplitSRBs.h b/asn1c_defs/all-defs/SplitSRBs.h new file mode 100755 index 0000000..d046d68 --- /dev/null +++ b/asn1c_defs/all-defs/SplitSRBs.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SplitSRBs_H_ +#define _SplitSRBs_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SplitSRBs { + SplitSRBs_srb1 = 0, + SplitSRBs_srb2 = 1, + SplitSRBs_srb1and2 = 2 + /* + * Enumeration is extensible + */ +} e_SplitSRBs; + +/* SplitSRBs */ +typedef long SplitSRBs_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SplitSRBs; +asn_struct_free_f SplitSRBs_free; +asn_struct_print_f SplitSRBs_print; +asn_constr_check_f SplitSRBs_constraint; +ber_type_decoder_f SplitSRBs_decode_ber; +der_type_encoder_f SplitSRBs_encode_der; +xer_type_decoder_f SplitSRBs_decode_xer; +xer_type_encoder_f SplitSRBs_encode_xer; +per_type_decoder_f SplitSRBs_decode_uper; +per_type_encoder_f SplitSRBs_encode_uper; +per_type_decoder_f SplitSRBs_decode_aper; +per_type_encoder_f SplitSRBs_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SplitSRBs_H_ */ +#include diff --git a/asn1c_defs/all-defs/SplitSRBs.o b/asn1c_defs/all-defs/SplitSRBs.o new file mode 100644 index 0000000000000000000000000000000000000000..6db375dd0891b4ab33f35c1235af768c14ff707e GIT binary patch literal 2600 zcmbuA&2G~`5P&Cjq2;$N;(&yZ!Ucjvtvad%0tp#HT7;lPttyVL<62Eh;#BdbYA+Ot z3rC)SGe;gF$36z)4Ujl+D>IuJd$VzRVI_NJzM0t_&u%s+^*3uXr4q;}!86D$p#ZIm zx$bM#hXuF}glG8Cm|w(XobeF*Jh^qyX{)Wx7b&Furbn-;*1}}BdS2c%pZzViJuT1X z6$8+>O`FF--|RVlW12CQa?By~+g$oOZw8aTUaLJRSGJpjL=DQ1+*NmF*&Arf`{+G( zS5{r`!HCYcj3%}3CAREq#aCbP9*;2jfN%rb+O!z7}LGP~l!0c-qmZZwBi4AU3>FFG*FO{acNi;YttU zNHX6(Zy27#urr9OaWd#~;<%d}RUO0bv4V6Z?;62IsM?2d9b@BusN!AC_u?e(x1%8G z1*6KscB0HCpibvA?;2$LU~}mq@g-x9TdWf|ccn6g`vx~pvz!N-=LW}+*kPS`(P8i_0Wtvp>~rdUJGN6+v!Ci`lDXA8{>w#Nl(S@`o{Khs>0}l6!L%aHl|ZAjK3j0 zp|9VQFN!tCT{MW9dq{qtUO1%RBMYD`3d{Q_X>aWOuU4Fx_WBReLCpRWll(i9$Wrn} z`p8MQ*B>IIA?IRbP1gSu9dvj462S61U#LU2={}=#CFf9nFRzi&`uUBE2963Bn4Px~ z&hpuW_ox)r?{oea31nHe>`kTmI7aK!OcKhY)F-MSSe~FCnw{9uW)~{vyK|c3E@>7Ulos{(UxbNwxF; E0kqJ%Q~&?~ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Style-ID.c b/asn1c_defs/all-defs/Style-ID.c new file mode 100755 index 0000000..f25189c --- /dev/null +++ b/asn1c_defs/all-defs/Style-ID.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Style-ID.h" + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_Style_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Style_ID = { + "Style-ID", + "Style-ID", + &asn_OP_NativeInteger, + asn_DEF_Style_ID_tags_1, + sizeof(asn_DEF_Style_ID_tags_1) + /sizeof(asn_DEF_Style_ID_tags_1[0]), /* 1 */ + asn_DEF_Style_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_Style_ID_tags_1) + /sizeof(asn_DEF_Style_ID_tags_1[0]), /* 1 */ + { 0, 0, NativeInteger_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Style-ID.h b/asn1c_defs/all-defs/Style-ID.h new file mode 100755 index 0000000..4ad28a1 --- /dev/null +++ b/asn1c_defs/all-defs/Style-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Style_ID_H_ +#define _Style_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Style-ID */ +typedef long Style_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Style_ID; +asn_struct_free_f Style_ID_free; +asn_struct_print_f Style_ID_print; +asn_constr_check_f Style_ID_constraint; +ber_type_decoder_f Style_ID_decode_ber; +der_type_encoder_f Style_ID_encode_der; +xer_type_decoder_f Style_ID_decode_xer; +xer_type_encoder_f Style_ID_encode_xer; +per_type_decoder_f Style_ID_decode_uper; +per_type_encoder_f Style_ID_encode_uper; +per_type_decoder_f Style_ID_decode_aper; +per_type_encoder_f Style_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Style_ID_H_ */ +#include diff --git a/asn1c_defs/all-defs/Style-ID.o b/asn1c_defs/all-defs/Style-ID.o new file mode 100644 index 0000000000000000000000000000000000000000..d1a015d30cfdf9f02d43f0d11d40a85e03cca3ce GIT binary patch literal 1776 zcmbVMO^eh(5Uttx?Jl@C!OIAOD>%(WRulyZ?Ci>c$WI4>6N%W(Ic>nDmHy(ZAqN z*`MLTKjY1t*6Va#oboGL~&Ps=_H@d8hgx(}Di0G!I4UWi8so?+* z_}UbGCocMw{T+v;d%Z$$4uZ-ltBQ26yO-Ltkq!r`$;MS0U(l`a_9#8f%=EJ!7DkWt z+=^pe==n5Hi!#m2qB8SrS{V5l_D#rX`JLhYN!{-OI%etZt^?40Eu^g#`hn0l9JWqX zXET$HNbytFe&UhQUks^}%w(iSRYhuEf*>E-b~F2$a&1xq9W_Y}F(?lXZFp6o;>2^`ix49gFWKQ6OlsQP&)qNJyHjql$2r7aVg9_~`$7NkkMRRZZ1VeV z!`2pr~uhtH05Uw`BZZnK6f+&|t=ID3}pz%6 + +/* Including external dependencies */ +#include "SubbandCQICodeword0.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct SubbandCQICodeword1; +struct ProtocolExtensionContainer; + +/* SubbandCQI */ +typedef struct SubbandCQI { + SubbandCQICodeword0_t subbandCQICodeword0; + struct SubbandCQICodeword1 *subbandCQICodeword1; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQI; +extern asn_SEQUENCE_specifics_t asn_SPC_SubbandCQI_specs_1; +extern asn_TYPE_member_t asn_MBR_SubbandCQI_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandCQI_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandCQI.o b/asn1c_defs/all-defs/SubbandCQI.o new file mode 100644 index 0000000000000000000000000000000000000000..1043eccf76d3ba4b563ad06742998340141c4efd GIT binary patch literal 3048 zcmcIl%Wl&^6rI#O%Bv3^5)uo-iXc%dZi^@&A(u35LC~gDT~@(KthOSttJo1`16lF` zELgIHzhJ=!@CkeXi?T<8d+d9Y>C~=J1y>s1bI*Ou(=%_YPZviD1tn5Y57p2TR;kkH z5W5L<)wmi{>%B(93tE-6$0{1YO4#yWh22&;gLBkQb*j1-`$4o52GOwU@sK%I)6T1E z4~eXwTB=m;7fTzBUJ&<+ckNlbJmvHf%X#C>+2vW=xs~#1V$K)!PN<)m zYh~r^j&)#U!@^e1Y%S^`ODuKr5IsgrL7hqV5l%hRQl}5a;~XJg1p5zJpax#{Nc)Xx zl*9NWm_L>}r<((8B`0cNCSa4kliK*V*}Y48g0ZgpIsAL#Q3rm=DE|MCRKIAyY*IKL2+UryIGxexyTsm17q-)7(;zy3?B26lfSR=ml;Eq5J)2N*Hcq1Yy1`Fp!yn*`ZMg) z*G>9_%UmD%ZxMcF6SGUg8EaOuHR6 zJ&;L?vYTP2O*C-WBf%{z-S2r}w%Qj$c5CUhuBkmyL zATaZ9k{fG&-2B^=i<;BabaC03*Gak=<$ zjq}eFk8>vHOU~0OaasMl{J566o~WV#)=x-h^}okYk>sO)P-g#i;?TeTmXoRaOt>&K zDQXySiyHE!A8?Q_oR9s{g_k4A0l!O4I6dx%IUshLv9Pm3_nDkveSzZecAN9ZOKa{u cQG?4=?v;e2kJ&%&xUBq7y#9SjWNqgE0cDEW6951J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SubbandCQICodeword0.c b/asn1c_defs/all-defs/SubbandCQICodeword0.c new file mode 100755 index 0000000..ce61f4d --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQICodeword0.c @@ -0,0 +1,162 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SubbandCQICodeword0.h" + +static int +memb_four_bitCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_two_bitSubbandDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_two_bitDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_four_bitCQI_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_two_bitSubbandDifferentialCQI_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_two_bitDifferentialCQI_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_SubbandCQICodeword0_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SubbandCQICodeword0_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword0, choice.four_bitCQI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_four_bitCQI_constr_2, memb_four_bitCQI_constraint_1 }, + 0, 0, /* No default value */ + "four-bitCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword0, choice.two_bitSubbandDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_two_bitSubbandDifferentialCQI_constr_3, memb_two_bitSubbandDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "two-bitSubbandDifferentialCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword0, choice.two_bitDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_two_bitDifferentialCQI_constr_4, memb_two_bitDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "two-bitDifferentialCQI" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_SubbandCQICodeword0_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* four-bitCQI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* two-bitSubbandDifferentialCQI */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* two-bitDifferentialCQI */ +}; +asn_CHOICE_specifics_t asn_SPC_SubbandCQICodeword0_specs_1 = { + sizeof(struct SubbandCQICodeword0), + offsetof(struct SubbandCQICodeword0, _asn_ctx), + offsetof(struct SubbandCQICodeword0, present), + sizeof(((struct SubbandCQICodeword0 *)0)->present), + asn_MAP_SubbandCQICodeword0_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQICodeword0 = { + "SubbandCQICodeword0", + "SubbandCQICodeword0", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_SubbandCQICodeword0_constr_1, CHOICE_constraint }, + asn_MBR_SubbandCQICodeword0_1, + 3, /* Elements count */ + &asn_SPC_SubbandCQICodeword0_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubbandCQICodeword0.h b/asn1c_defs/all-defs/SubbandCQICodeword0.h new file mode 100755 index 0000000..c7b773e --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQICodeword0.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubbandCQICodeword0_H_ +#define _SubbandCQICodeword0_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubbandCQICodeword0_PR { + SubbandCQICodeword0_PR_NOTHING, /* No components present */ + SubbandCQICodeword0_PR_four_bitCQI, + SubbandCQICodeword0_PR_two_bitSubbandDifferentialCQI, + SubbandCQICodeword0_PR_two_bitDifferentialCQI + /* Extensions may appear below */ + +} SubbandCQICodeword0_PR; + +/* SubbandCQICodeword0 */ +typedef struct SubbandCQICodeword0 { + SubbandCQICodeword0_PR present; + union SubbandCQICodeword0_u { + long four_bitCQI; + long two_bitSubbandDifferentialCQI; + long two_bitDifferentialCQI; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQICodeword0_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQICodeword0; +extern asn_CHOICE_specifics_t asn_SPC_SubbandCQICodeword0_specs_1; +extern asn_TYPE_member_t asn_MBR_SubbandCQICodeword0_1[3]; +extern asn_per_constraints_t asn_PER_type_SubbandCQICodeword0_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandCQICodeword0_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandCQICodeword0.o b/asn1c_defs/all-defs/SubbandCQICodeword0.o new file mode 100644 index 0000000000000000000000000000000000000000..778a930bc60a9cef82e40988f327af3c386a7f00 GIT binary patch literal 5232 zcmd5=O>7%g5Pr^<#{I!@TM&f;-Af@AWa|xqMg>(aPTGx>CZ?qb717PwUMDI3iR^Wo z0s>2EB`gH=z=7V7dWpoPh)X3dk$Rxqsz^vkT*?ipR00m15M}1=JbUuIMh$HxMq1Cz z_r95VJNtIuOFkT*Jlq$H2_-RcP;@+n3UOtiW2dE=7CXdt;avFh_(W^fXo)B4+KeP^#6y0iM`$<~i=T^rcl zL{2;QmW&PgkmB@qinUj7UAtJc26mrEdUt)}U+V9_hx*Umhx*xjs6WQ)%R3K$HiGJ- zi@_38K0XT+<*!Hg%5ShFVfO!T{tYl!ytuICEY>rB%i8DFD|X&3_{I7@uT&b6#_>ij z=T!=s*CsO6f`7JJE2ONv*i%1Xp7BZz->g&vb9VlWUoi&(+*8;q$MV%mJ*au}mB1`| z^CiE~9*xK+iq%GKC^sKK5fPlNqDi!|`C`$p`ITVaE3r`>=J)@gZN5J4rdAwCxQ_qp zI_*^h^WqwQ5P3I0fV}#B3<8iOkgwrh{nc^oDHrSo|Gwirtl=EVWDb~vCvuHS&@lH~ zBUWn2Zb;Amz#g?yBbL24#AVt?D0%GNV2P9=6u zCd@YyI}at2nazo~vt>#mA%Ak6{P)+vCu*0%UThG*M}8ZPHJ$2&8ba@KIA(NxWfcBU zCzx4=T$v02^D(&kSY6pWz+NQ02^vM=KG>2^4^`pFF+@MAE-}QWF6>i4Vq!}hPqi(~ z)4>(|jpQ4`q`Fxe_<`^h@)f=bcrnN{qv7ZpLLLujq@xUx=s0A(B=3Zyl>Ktf#f`!ZHww42#kh7j3R?#bMsFRx`Pyc(mIzy-d-PD&jhK`hc(cQP z392J0JATaVF-LcJE#q$H>Anyd6FpaVL|BuV6#fk3PdKBo@xxKmmU*YMZpN9O$c(qE z1m_m~C_1$R?lKHu?UAuZUp*EX7S7>#HWN8oU-0vF>Kx8<$_wBOF;NNpS-%!85ZoV7 z@Eg7ZuD|FoVp0sx;Y%KTb9(hit^3ARCqX4j{gZ z;WK0-uJ%WSzF_!MWTU#maQw=s@9kBFWABvQAOrK`eNB=78^d{i_5DFU=3gOR5&;lY zn7;`Zih5ou|H%**4&(FuGYrT4GsK@`xST)vO@`zA7m1%Fjl+DmFbT&TyboCoZ<4Qc zn@{zGRXX$6p8p(BDx@fe4ude79m^bFy+7PzcX+=5o$>M%oR&`D zcM-8+8dpli4=I4On!n1E20SYMZL0s77O&!zex2gGrb~zWj}(#em|DJR@T2;Fla4ai zDIWWer$04+)&D$TNYU$mNk^(t7~^7c2kcXDMb%%XqnfIN_3<>L*RKPH_4&IBuDD6{ zQ|K@;nT_UqaACa8OVWbI^}&VOA!86f50}C??-l)pph2B`iQ@J7rzw7!Ck0#Gzk)vp zBdUKZ)IW!a*gu3+yy`2?N3V?`zfk=fG`I~g{98hg$7iBHdw|4MI(iyfa{c}>Z&ZAo N{-JUilQGfb{{c|!tuO!p literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SubbandCQICodeword1.c b/asn1c_defs/all-defs/SubbandCQICodeword1.c new file mode 100755 index 0000000..f7b26d3 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQICodeword1.c @@ -0,0 +1,202 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SubbandCQICodeword1.h" + +static int +memb_four_bitCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 15)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_three_bitSpatialDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 7)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_two_bitSubbandDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_two_bitDifferentialCQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 3)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_four_bitCQI_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_three_bitSpatialDifferentialCQI_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_two_bitSubbandDifferentialCQI_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_two_bitDifferentialCQI_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_per_constraints_t asn_PER_type_SubbandCQICodeword1_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SubbandCQICodeword1_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword1, choice.four_bitCQI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_four_bitCQI_constr_2, memb_four_bitCQI_constraint_1 }, + 0, 0, /* No default value */ + "four-bitCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword1, choice.three_bitSpatialDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_three_bitSpatialDifferentialCQI_constr_3, memb_three_bitSpatialDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "three-bitSpatialDifferentialCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword1, choice.two_bitSubbandDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_two_bitSubbandDifferentialCQI_constr_4, memb_two_bitSubbandDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "two-bitSubbandDifferentialCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQICodeword1, choice.two_bitDifferentialCQI), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_two_bitDifferentialCQI_constr_5, memb_two_bitDifferentialCQI_constraint_1 }, + 0, 0, /* No default value */ + "two-bitDifferentialCQI" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_SubbandCQICodeword1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* four-bitCQI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* three-bitSpatialDifferentialCQI */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* two-bitSubbandDifferentialCQI */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* two-bitDifferentialCQI */ +}; +asn_CHOICE_specifics_t asn_SPC_SubbandCQICodeword1_specs_1 = { + sizeof(struct SubbandCQICodeword1), + offsetof(struct SubbandCQICodeword1, _asn_ctx), + offsetof(struct SubbandCQICodeword1, present), + sizeof(((struct SubbandCQICodeword1 *)0)->present), + asn_MAP_SubbandCQICodeword1_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQICodeword1 = { + "SubbandCQICodeword1", + "SubbandCQICodeword1", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_SubbandCQICodeword1_constr_1, CHOICE_constraint }, + asn_MBR_SubbandCQICodeword1_1, + 4, /* Elements count */ + &asn_SPC_SubbandCQICodeword1_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubbandCQICodeword1.h b/asn1c_defs/all-defs/SubbandCQICodeword1.h new file mode 100755 index 0000000..d8aa745 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQICodeword1.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubbandCQICodeword1_H_ +#define _SubbandCQICodeword1_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubbandCQICodeword1_PR { + SubbandCQICodeword1_PR_NOTHING, /* No components present */ + SubbandCQICodeword1_PR_four_bitCQI, + SubbandCQICodeword1_PR_three_bitSpatialDifferentialCQI, + SubbandCQICodeword1_PR_two_bitSubbandDifferentialCQI, + SubbandCQICodeword1_PR_two_bitDifferentialCQI + /* Extensions may appear below */ + +} SubbandCQICodeword1_PR; + +/* SubbandCQICodeword1 */ +typedef struct SubbandCQICodeword1 { + SubbandCQICodeword1_PR present; + union SubbandCQICodeword1_u { + long four_bitCQI; + long three_bitSpatialDifferentialCQI; + long two_bitSubbandDifferentialCQI; + long two_bitDifferentialCQI; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQICodeword1_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQICodeword1; +extern asn_CHOICE_specifics_t asn_SPC_SubbandCQICodeword1_specs_1; +extern asn_TYPE_member_t asn_MBR_SubbandCQICodeword1_1[4]; +extern asn_per_constraints_t asn_PER_type_SubbandCQICodeword1_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandCQICodeword1_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandCQICodeword1.o b/asn1c_defs/all-defs/SubbandCQICodeword1.o new file mode 100644 index 0000000000000000000000000000000000000000..f1355360992eb3012bd83943c740560f55ed4466 GIT binary patch literal 5984 zcmds5O>9(E6u#3zS^?Vv{-7v*8?;3G=&KMK63O7SFilDssThKhH*aQMe_(!a=Cyzt zodj4kYGh#|ZVU+<7Mj40#7z?x>W*|{6F0DMg(PaCabd)B?mK7Z%rbMJfiz4>Txcwb8_rntq_9@VfIRqE1)hMv%BLTywVRO+q*fpv&xU*^Kaki z=&B*7?t4f3hI|Ndd;|G9b9ZiB7_&RN&LMqa{?_~C-?f7LFE25F{66{9E66|a5b{s1 zApbiezpi}vvl>JTT>@5dVc=fCCZHv&|A+Wk3t11Ge5ckCRd2qr4N-;H(BuW_1=h- zYOFj}!DJXYI91kp!;zVJsn>)>RUWNsuE&36YXbt_M-O_REEXT*;yv^z;;wl_aoZna z+-``~2^TiGCQ=W3!(S7}HIWT#DbGi&f#l%Wo9^}f$>eUU`*3!u6iivW>>YM*k29q$ z=R>F8?%iQK+d^EYc~bvEj`t3!*y+yL=5?)Y7a-v)fIm-tQz!@8JI}TpYu_~7ZoSpM zX>WUHa!q?%YVC+dLjLeF`5!Ek|MfEXL|q`TmaEink!M4^snQMCcyop89r30WuEW57 ztYHW(uI~&1fcgwvEh4Y3HDEgluYttI_&DgAPn&}AF9@$0IQqt$p8kl0Ev_DCwJv8t zi>bABJ5kp#P6KE7XHa6$!+F!x(F)^0+@kR?{u<%4#AEzj!ZQYrW?bplIqGSMxWe7v z+`iKJ7S{i=##h((G<#hkoNX!NYMnH-{tfWgi+WBF;|IX`zL!ovYJTGm<@v_oCXV87 z1RUenC`d++Pbo*^jrHoM{=jG~B=&@AC^VUL>Ul54nrX%I#}rENy1)tA^JSX6NpR z^ogFKyHnZ2$zJ^F!=G>-1B3gbCadEfOuNa{!J*_}Jxg%rq#s46B0_CK2T@e*d*Jm$ zk#6A_M$^g2-s(v|SEYL6I7i^sYuXi$WjPD6t#xDw7#t)w}3+H=H z@MZkl0+;dc3S7pgX~8o$eE-@_KpROD=VuS%&k+Yjf^@_;la3-qI^z6ZfKdH;2KoyK zP|J`+{ua_vTqGUwF49q4B^_~mTGmj3c0Ck&Ubr^gZjypDd`B7~`&WU>_-z!A<6C5R z3LN9t$e;HEcH?Q%OL$7~W&Di5as0EypAfhnKiND#G;#b#iGNA(W&G;`$M_lI&k9_R zpX_;oWBk*^?<9%c^7OO_#~6B?WTy?hMmEbjpYmNb`GhOGdZrk7S&%^`loPB~{DNl( z{^>y3c`xvkovl`tT`8l1bjR**HXSh0M-xCZOuJCdc?jwV%FdOGMfgHgHhdEL_WqH> zJ=MU=oggoN!X2x4MV|(~LScbFP8n-1TY`)~xE^HldN3F7Is7I_FhFviUV(VupdW_f z`+F1dUL+j%h-?X3)SE_rOOimx_kN6N`gfWiD&%K`Q~10`tdIIxus`o7#(Df4CjlK% z{u#>u89S0>KbCKjzd3$>CBMZ)^0!E`I0#Bq{g2Qe9Nkn$tUvyz!sF-q=K#YLX8v2W zA^M?DHcJ|yAA>6@e{Fq8^~(?u>xa)j_UF3dc+A}B sGQmVzSPb_pTnw{6u8Fz!0I3Q3bUI-KH|LLWqx}D(@n6PZqM82x0uTF9^Z)<= literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SubbandCQIItem.c b/asn1c_defs/all-defs/SubbandCQIItem.c new file mode 100755 index 0000000..97284cd --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQIItem.c @@ -0,0 +1,103 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SubbandCQIItem.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_subbandIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 27)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_subbandIndex_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 27 } /* (0..27,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SubbandCQIItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQIItem, subbandCQI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubbandCQI, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subbandCQI" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubbandCQIItem, subbandIndex), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_subbandIndex_constr_3, memb_subbandIndex_constraint_1 }, + 0, 0, /* No default value */ + "subbandIndex" + }, + { ATF_POINTER, 1, offsetof(struct SubbandCQIItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P198, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SubbandCQIItem_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_SubbandCQIItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SubbandCQIItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subbandCQI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subbandIndex */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SubbandCQIItem_specs_1 = { + sizeof(struct SubbandCQIItem), + offsetof(struct SubbandCQIItem, _asn_ctx), + asn_MAP_SubbandCQIItem_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_SubbandCQIItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQIItem = { + "SubbandCQIItem", + "SubbandCQIItem", + &asn_OP_SEQUENCE, + asn_DEF_SubbandCQIItem_tags_1, + sizeof(asn_DEF_SubbandCQIItem_tags_1) + /sizeof(asn_DEF_SubbandCQIItem_tags_1[0]), /* 1 */ + asn_DEF_SubbandCQIItem_tags_1, /* Same as above */ + sizeof(asn_DEF_SubbandCQIItem_tags_1) + /sizeof(asn_DEF_SubbandCQIItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SubbandCQIItem_1, + 3, /* Elements count */ + &asn_SPC_SubbandCQIItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubbandCQIItem.h b/asn1c_defs/all-defs/SubbandCQIItem.h new file mode 100755 index 0000000..f4d2f12 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQIItem.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubbandCQIItem_H_ +#define _SubbandCQIItem_H_ + + +#include + +/* Including external dependencies */ +#include "SubbandCQI.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SubbandCQIItem */ +typedef struct SubbandCQIItem { + SubbandCQI_t subbandCQI; + long subbandIndex; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQIItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQIItem; +extern asn_SEQUENCE_specifics_t asn_SPC_SubbandCQIItem_specs_1; +extern asn_TYPE_member_t asn_MBR_SubbandCQIItem_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandCQIItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandCQIItem.o b/asn1c_defs/all-defs/SubbandCQIItem.o new file mode 100644 index 0000000000000000000000000000000000000000..c225ca16a2a99d0e29f2295a15ee3ca66040f0e3 GIT binary patch literal 4128 zcmb_f-D@0G6u+CP&Dzv8AAUq5bY5ChFw;yLaLq&6xY>3V(sY{`DHS@I-JN{Y-I=m8 z8=`^+V#P&;KKP(-1^)nFe5eQ#=z~5=Kq&Otr}|KR5CpNFbN8ItJJZ=J*aNfYoZtDl z=bn4#-q{aIi)RNi8NrkhXGBk9REV{qo?MV(L5zt}VO{@YrQA8NIzNUB=3Q&=%*3{7 zT|fBl0Z{m|wfAdw@sq*D&z{1NtH-RaV0C`CI)7W8AI$yv2M3ofckaA(`{`r5=o7`> zld)ZYNO5(HV$Fklx6zU4Fz_enVGQ|%qF^mZ3e;CLj8jhFnKirat_P=_Mq^3}EA494 z@#@8k<#OmYjhZ+f%<0=sqwVURAL<)h+peci0(iWBQrc?17lbWm%M0~&XRG1XBWpaB z2%^j^mc6>WBeqIYrJd0Af-T6@x7>dygAc1beCy_JU&&$2q7z1=i0Mi*x$qYPIc!ZT(ea z)|j3$+fp;%H}l5ytYMz);t(OkGx8U5zq>3lJHwfYql4KSFwiT2zeKh+@`c>+-oTaI z_+n0fGdDh;8!jHnWv!tliI8Io!qlEX2O#ZLt>gNY6Y5j@*)2VEG)Ez7I^A zkjE;k5!Xa6l3Dm#3V2e+=^LpYj@Fp1-xAKc$~AFRRi*qr{EjGn+a!;lfe(|cvS0e( ze*%tqcF8$Qn|&1ch|*{7rwMpk{)ImH5L|O>Tx5LyQA?Jb5bndW7rGm6D?%$RKlE#UBf8a!z8As; z>9*|r%xSY?zLtkIpQLriGi?N(zwqD(!uJmeaeQ|fcMt?h`Zv3<#K%Bpe}d(kk7wx| z0a@a(J>+S@IPWdQpCcb+<0K=FZz1nTu0M%eivRN@BdaJl=R{~t!CxR5*%u1_qJsaV z;5e@`>Gu^}{U+k~3hV5hF7PfP0EA4vS0)u4^S^;kK$e2@J%RYHf}_8KAduQ;_4MMo zV;JImKI$MNVJ&Js!U*1JhE5fD*y{34mRfGZF+z7I6h_?%9br_1Ko~6_6?8X^d|Wj_ z#Te-TQbIKve$7EpW)McrZ#G>IvcspJYn)qJoeDyy_BKVioA!FkX}YrP|NWyw2J8v; zP^AJX>b-@~FyYK_&GC*YFhKkUEyNn>7>DEV`tW+3AY9!e7_yH)K$R|we)UM|3i$ni zIg|0c&l2vk1{LexyF$#UAjlj)nZUVzoC{I`9+Z>ud2+z}SS5~Qj{6+tWc~Z(@G(15 z5}i0R{0>O#|9vWSm*TPi_|?JnbN_3ArH#Kv1xx~hQu9y}P&xBKouP%;fJZ)^uU7_)BQDJ!3J)07bYeKC8sYhA* ZMExi+;e;yh(6snlRR34Klu}B@{{xjGnMVKs literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SubbandCQIList.c b/asn1c_defs/all-defs/SubbandCQIList.c new file mode 100755 index 0000000..d01cdb0 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQIList.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SubbandCQIList.h" + +#include "SubbandCQIItem.h" +asn_per_constraints_t asn_PER_type_SubbandCQIList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 14 } /* (SIZE(1..14)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SubbandCQIList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SubbandCQIItem, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SubbandCQIList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SubbandCQIList_specs_1 = { + sizeof(struct SubbandCQIList), + offsetof(struct SubbandCQIList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SubbandCQIList = { + "SubbandCQIList", + "SubbandCQIList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SubbandCQIList_tags_1, + sizeof(asn_DEF_SubbandCQIList_tags_1) + /sizeof(asn_DEF_SubbandCQIList_tags_1[0]), /* 1 */ + asn_DEF_SubbandCQIList_tags_1, /* Same as above */ + sizeof(asn_DEF_SubbandCQIList_tags_1) + /sizeof(asn_DEF_SubbandCQIList_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SubbandCQIList_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_SubbandCQIList_1, + 1, /* Single element */ + &asn_SPC_SubbandCQIList_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubbandCQIList.h b/asn1c_defs/all-defs/SubbandCQIList.h new file mode 100755 index 0000000..23158a9 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandCQIList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubbandCQIList_H_ +#define _SubbandCQIList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct SubbandCQIItem; + +/* SubbandCQIList */ +typedef struct SubbandCQIList { + A_SEQUENCE_OF(struct SubbandCQIItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubbandCQIList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubbandCQIList; +extern asn_SET_OF_specifics_t asn_SPC_SubbandCQIList_specs_1; +extern asn_TYPE_member_t asn_MBR_SubbandCQIList_1[1]; +extern asn_per_constraints_t asn_PER_type_SubbandCQIList_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandCQIList_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandCQIList.o b/asn1c_defs/all-defs/SubbandCQIList.o new file mode 100644 index 0000000000000000000000000000000000000000..eaa0729c8455c4a00ccd55ccd78b3bb18d30ba87 GIT binary patch literal 2320 zcmbu9&2G~`5P&yzfdVZwoRGML6Gft{xT*vK30VXu6qPnjh*ZJBbyAB~5GSfPQhTAi z0=FJ`0#1Ddj&SRdBd@>{lo@-**-YFE9m$@VZ+_PM<30A*>ocX2VkxQTYV0vp>g>wc z_EOVR3u<0f!M-~V6v-Dt`$G(M5fwV{6ZW!;@w$|476H|~N5cgv&edbdC zPo5{6T*6O#HEOk|m8DL16q`}yv0l~HWp|W%?q~OjuC8kLVa6{U3Fk4Z{+<^lIQeQ% zMjeH_GA)jBrXdg~-NEUQqpU+i;X9y9>RO(Rd(YxnoEd6IUANubcGO&Mvw`QaY>m4| zfd=SBPO|hnu*)#t3b7{XW6(wUUx8!)FO;`U`g_X9>o!mP7wDosYVsiKo(hvVcO;|1IPOnIG=QCM|pO zq9rS`k=xCh3?##-SNvgXChF7dv;WyX1-xT;E^W?hgq+t7oABL&oNJLU;R{4^FQpk@ zARE;yi`#b#?>F|jO*yD`$VSfJhUmoNWwKG7Ssdq;_tMEx--KPIVc|2q$Cil>jnccJ z36<_9iP8rHbTHG^F1XRBFb$){QKfr>em{a8)A7JWy0Ot&PE6SQNFQ)Xbr0%s&R0br zPx$O&t}XY$K_+hskCKL@Syk8|{QxxXv#dWAdF;yZA3*@w3MY`}`bELHp0x*YwB`6e zfT8@(RQ|5yR%Sc{g?E~lx%qpWF1k4y=mtdaobZ|EbN(6_ri^bAa6nF|&b}{^OTPsS zQ>z%X N; sorted by tag */ + asn_MAP_SubbandSize_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SubbandSize_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SubbandSize = { + "SubbandSize", + "SubbandSize", + &asn_OP_NativeEnumerated, + asn_DEF_SubbandSize_tags_1, + sizeof(asn_DEF_SubbandSize_tags_1) + /sizeof(asn_DEF_SubbandSize_tags_1[0]), /* 1 */ + asn_DEF_SubbandSize_tags_1, /* Same as above */ + sizeof(asn_DEF_SubbandSize_tags_1) + /sizeof(asn_DEF_SubbandSize_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SubbandSize_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SubbandSize_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubbandSize.h b/asn1c_defs/all-defs/SubbandSize.h new file mode 100755 index 0000000..ddf4260 --- /dev/null +++ b/asn1c_defs/all-defs/SubbandSize.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubbandSize_H_ +#define _SubbandSize_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubbandSize { + SubbandSize_size2 = 0, + SubbandSize_size3 = 1, + SubbandSize_size4 = 2, + SubbandSize_size6 = 3, + SubbandSize_size8 = 4 + /* + * Enumeration is extensible + */ +} e_SubbandSize; + +/* SubbandSize */ +typedef long SubbandSize_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SubbandSize_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SubbandSize; +extern const asn_INTEGER_specifics_t asn_SPC_SubbandSize_specs_1; +asn_struct_free_f SubbandSize_free; +asn_struct_print_f SubbandSize_print; +asn_constr_check_f SubbandSize_constraint; +ber_type_decoder_f SubbandSize_decode_ber; +der_type_encoder_f SubbandSize_encode_der; +xer_type_decoder_f SubbandSize_decode_xer; +xer_type_encoder_f SubbandSize_encode_xer; +per_type_decoder_f SubbandSize_decode_uper; +per_type_encoder_f SubbandSize_encode_uper; +per_type_decoder_f SubbandSize_decode_aper; +per_type_encoder_f SubbandSize_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubbandSize_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubbandSize.o b/asn1c_defs/all-defs/SubbandSize.o new file mode 100644 index 0000000000000000000000000000000000000000..5dc7e4b3daf672ee7c8cbe16f83b1faa7b7045ff GIT binary patch literal 2736 zcmbtV-D(q25I*Tv>u-O=i-I5#1gqF3iA9Toth8y1KQ*)zFSna?X`;!dWH+VtLJPit zmp+1*UW!+}^Z|U3`UG{pvoo8M(+wgHocZ}?=A48m z1KrcAr>4}T0_^b8Ftc&PIAt=Rk?Ll@UJs(3&DQ%+#l$L_KhS(Z^M{%*j@)6`VfSL& z!_j}Y=5j)?=NK)_!R$LHRGlLbGyB&%kY|$Q+c@d~**Izg*|^ke<7#zj>2YyxtKN^2 ze({mJ;FjjgeQlLLlo#F7f?K|u;_1dCIO-f%zfber&WI^EdYWf596jMYT)G(cIcK_6 zbZ0U9i7e2}bPPNTAjMG^OjGOkh!+U=*mJ=0g~lh;G~3r%LOANOVGUGAT^bmywMotx z^*0$mA}M<_q{SEFGsfI%?EFD8FaDQ~AM};oYvToU8!Ct+f4REi8>pWIyRl!^u2;`$ zL$3Xx-482a)bET4fUBaTIKbLm@A|stuLntMKde%8*b920; zc(>g!3VW@FA9ei{4_Z;8b2n>CLuv6|*gzLTxToejAd|6inI&-CC81eXfJ-hQnX8R^ za1sHRJz=kb5dojkTFSOr2Y!upQvkn6%VSV#01jQwsIeb7`n|$-)57J9BMX;4ao<3) z&&||S-&hKMn{DOBhn*y-lT3Q4Y>JkI2Z?fbf+SFGJ&u*z>%u@}*)5Y9wgc^kCSD7s z9Jk$V1mtgYJDrdoyBl?r&|O{Mnvav9@lFc)KY4@F(VOu*)Ej!5pJj+O=@uEl`7f)_<$d50vPr=9=ViWAd5|2{c@RV09=Gm@}GkbRN?}&`!b zy+L+f{l{GYSB^*hsNJsrEnzsSM9ZXEZV1oEBrZ$m0FP-2X2vbs17W8f3p+1#jlrLs paFyaFY1#GT8)H9vg48sILUfXfjN9kqo0gZ~present), + asn_MAP_SubframeAllocation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_SubframeAllocation = { + "SubframeAllocation", + "SubframeAllocation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, &asn_PER_type_SubframeAllocation_constr_1, CHOICE_constraint }, + asn_MBR_SubframeAllocation_1, + 2, /* Elements count */ + &asn_SPC_SubframeAllocation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubframeAllocation.h b/asn1c_defs/all-defs/SubframeAllocation.h new file mode 100755 index 0000000..721d622 --- /dev/null +++ b/asn1c_defs/all-defs/SubframeAllocation.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubframeAllocation_H_ +#define _SubframeAllocation_H_ + + +#include + +/* Including external dependencies */ +#include "Oneframe.h" +#include "Fourframes.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubframeAllocation_PR { + SubframeAllocation_PR_NOTHING, /* No components present */ + SubframeAllocation_PR_oneframe, + SubframeAllocation_PR_fourframes + /* Extensions may appear below */ + +} SubframeAllocation_PR; + +/* SubframeAllocation */ +typedef struct SubframeAllocation { + SubframeAllocation_PR present; + union SubframeAllocation_u { + Oneframe_t oneframe; + Fourframes_t fourframes; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SubframeAllocation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SubframeAllocation; +extern asn_CHOICE_specifics_t asn_SPC_SubframeAllocation_specs_1; +extern asn_TYPE_member_t asn_MBR_SubframeAllocation_1[2]; +extern asn_per_constraints_t asn_PER_type_SubframeAllocation_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubframeAllocation_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubframeAllocation.o b/asn1c_defs/all-defs/SubframeAllocation.o new file mode 100644 index 0000000000000000000000000000000000000000..1b3a835135c4a0d8dff1d232feb611b81f49fe2a GIT binary patch literal 2776 zcmb_d%}x_h6uzaX_y<-KL!yhi5)-{?35f&~Ggu2~)HV>-!?X@RvF$XSX#yMN0a&nP z%*eT6Mzp>p5+Tn7m6*YroFY2hM6BwN_wO3&1l2;dohK2IV zx)jXcCY@842VTViQj~wlTQu=kZF7M0>dF8MSRzoc#W=G?evpiXFhECW#jX_ zx{~2zx@vX5vQ~RhsT!+ZUH6lNZkXZiH=|CR^eAKM&vvlaNz!pVThEG02e47EWOc^f zuo+uptjUvwiDA$y@Yx{KJzC&DI))@SCKVWAM|Aq1G6KpJ5DDXAE9)g4#ku z0={5S+MF;3f79Z>T0F*oi|wBlFC3^jBp`u;|6Ld)G6wK}-3}cew3DErH0@QYcLgQk zexmf-APJOi#Ie%72nIaMx=d!+3QRYUV`}_XK$;Mxn^C(R($4Enl!SWq&E}&x37YTB z*#4)vL&2C6-a}hF+psV%&w#l{2%P&;dF)YVEvhJh^?lMfOK$wJ<0qzD{~>jNn->Sx z5|8}0NW5r|I)UB#Uxz&|L8GMq&{1Uwn2D@KE#(Cev9L=KeoUZBD!l~ z)4|P=J0RvIPJCf!xgIn5odfU|VGZ2*<1V{ N; sorted by tag */ + asn_MAP_SubframeAssignment_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SubframeAssignment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SubframeAssignment = { + "SubframeAssignment", + "SubframeAssignment", + &asn_OP_NativeEnumerated, + asn_DEF_SubframeAssignment_tags_1, + sizeof(asn_DEF_SubframeAssignment_tags_1) + /sizeof(asn_DEF_SubframeAssignment_tags_1[0]), /* 1 */ + asn_DEF_SubframeAssignment_tags_1, /* Same as above */ + sizeof(asn_DEF_SubframeAssignment_tags_1) + /sizeof(asn_DEF_SubframeAssignment_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SubframeAssignment_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SubframeAssignment_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubframeAssignment.h b/asn1c_defs/all-defs/SubframeAssignment.h new file mode 100755 index 0000000..e5f2cad --- /dev/null +++ b/asn1c_defs/all-defs/SubframeAssignment.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubframeAssignment_H_ +#define _SubframeAssignment_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubframeAssignment { + SubframeAssignment_sa0 = 0, + SubframeAssignment_sa1 = 1, + SubframeAssignment_sa2 = 2, + SubframeAssignment_sa3 = 3, + SubframeAssignment_sa4 = 4, + SubframeAssignment_sa5 = 5, + SubframeAssignment_sa6 = 6 + /* + * Enumeration is extensible + */ +} e_SubframeAssignment; + +/* SubframeAssignment */ +typedef long SubframeAssignment_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SubframeAssignment_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SubframeAssignment; +extern const asn_INTEGER_specifics_t asn_SPC_SubframeAssignment_specs_1; +asn_struct_free_f SubframeAssignment_free; +asn_struct_print_f SubframeAssignment_print; +asn_constr_check_f SubframeAssignment_constraint; +ber_type_decoder_f SubframeAssignment_decode_ber; +der_type_encoder_f SubframeAssignment_encode_der; +xer_type_decoder_f SubframeAssignment_decode_xer; +xer_type_encoder_f SubframeAssignment_encode_xer; +per_type_decoder_f SubframeAssignment_decode_uper; +per_type_encoder_f SubframeAssignment_encode_uper; +per_type_decoder_f SubframeAssignment_decode_aper; +per_type_encoder_f SubframeAssignment_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubframeAssignment_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubframeAssignment.o b/asn1c_defs/all-defs/SubframeAssignment.o new file mode 100644 index 0000000000000000000000000000000000000000..928ec162e3c5e5aaca7c77c9dc8f4b239d12bf63 GIT binary patch literal 2888 zcmbtVy>HV{5Pzx5H}nG}Kmv(W3BxqH4NuNTt_ankwj_q)6I?tR#PQ++ZsP$(#tf_kWWh*_n! zkM(@txV{=zL+U8_4ymE(fjr9|3FCw8Vz>UH6Sm^1G;OXXtvJyt4a=Y&Xa)2(=mh8; z(7OkXl*Qy)BtCqE{TZeG&>$Rh02KFO5cCMBy?%gy1h?@x=)d-XW81>@lE*$!B+r;_ zmX-CJmyc`6<9S_j95p*VeZN>*s&^CJE#7k{-14~BHOPDIO}ga?*SntaG;+Sdbq%VY zdwEgkFT3WL-S4k(`gS49am*>@<@2h0vGd>-RPXZR`LZ|`&m3CEoUqL(H3_f)yifEe zvdds`{1L*J$)a)8DGT*nN1f~e^0vW_nwysq4dOq7<*|t}<_kPWt$nLe@H^PN{9h&? zZ*C?fcKTmfH&S7m1dpmSL4PpN;c6OqCgbT;EiYpuTDB zYQcP{n;UTzisDYF;}yf#stbYMT95Pkh}uc2J2ducoWz}G6eR5+J!O5Adf!JQKLBWxZZPw8-l+;_^seC5&j_fD}+A_{wm>J!Cxc%P4G7eD>vP0 z>97t~cQV^xPsf{DxhtU#m0M3!<#yT#Fw=8Afbm*r!su~S&`{&9wWAQ?QM+aSXKvEg zu{%4zG@j}(dc}?WpT+&cz2@&TkLI%@EauuW1^_wvUH2)8&y%1kvO^a48P8wVzZZE7 z<@`4xfLw(W$a4KH!E-%ZAL8iC`FDUr;d_@MrHbs3eE=4}?LJ{P4SHF3h&T-vDO@WG zzmJc>$NBmHi!qckHHho8WyA*HKL^e0f0^oki2S0!3xM2^>yU z2DN3579{(pwoDD?r=ZN)^;&KS1!XScywpu1cd6hE N; sorted by tag */ + asn_MAP_SubframeType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SubframeType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SubframeType = { + "SubframeType", + "SubframeType", + &asn_OP_NativeEnumerated, + asn_DEF_SubframeType_tags_1, + sizeof(asn_DEF_SubframeType_tags_1) + /sizeof(asn_DEF_SubframeType_tags_1[0]), /* 1 */ + asn_DEF_SubframeType_tags_1, /* Same as above */ + sizeof(asn_DEF_SubframeType_tags_1) + /sizeof(asn_DEF_SubframeType_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SubframeType_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SubframeType_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SubframeType.h b/asn1c_defs/all-defs/SubframeType.h new file mode 100755 index 0000000..204e148 --- /dev/null +++ b/asn1c_defs/all-defs/SubframeType.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubframeType_H_ +#define _SubframeType_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SubframeType { + SubframeType_mbsfn = 0, + SubframeType_nonmbsfn = 1 + /* + * Enumeration is extensible + */ +} e_SubframeType; + +/* SubframeType */ +typedef long SubframeType_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SubframeType_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SubframeType; +extern const asn_INTEGER_specifics_t asn_SPC_SubframeType_specs_1; +asn_struct_free_f SubframeType_free; +asn_struct_print_f SubframeType_print; +asn_constr_check_f SubframeType_constraint; +ber_type_decoder_f SubframeType_decode_ber; +der_type_encoder_f SubframeType_encode_der; +xer_type_decoder_f SubframeType_decode_xer; +xer_type_encoder_f SubframeType_encode_xer; +per_type_decoder_f SubframeType_decode_uper; +per_type_encoder_f SubframeType_encode_uper; +per_type_decoder_f SubframeType_decode_aper; +per_type_encoder_f SubframeType_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubframeType_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubframeType.o b/asn1c_defs/all-defs/SubframeType.o new file mode 100644 index 0000000000000000000000000000000000000000..0ce5d93c006dacfbc21ea06ce6228d9c20e985a3 GIT binary patch literal 2568 zcmbtV&2G~`5T4Y9mcRbM1qlw}M3ATzSCv2@A)}JELQtZXilghe+dmpRiZ>O#zyWdR z1&}y$L_Tp^6eDTEG>d_q@`uM4R$DMzu?#Bf}Y8O_rXKIzTgM< z3fxr=E-UHg*sCj0`W%&3gh=>R7ZUJTxufW8BZ!0|u9}vtuBc}uR z%{-G3GO^Bn)!-8#3h`9-;0m*bod=hP0n9o$X085rnehod?ZLG#2+UgN)?`8-eHs6! z;h%I@V?Nj)hMz#3r_r;STLy17)*_7`?eMBemgc(4^X;fqb@!4e&7uO2_fl=d>&?YsUEWa% zZDnBezS?h%oREvlnG!xdPy^iLm~hb&B62 zW|R;!@B>WML2SwtN!5W-;~!*6jP)dIw-x?iewu0JFRyOQWQ%Y%B`TaSCss!vGqo+GFyvMIS#>W-mfyS ygiAE{>}a0ftpCBDzUL_%ZvS*QxbGf9@QuO0lvw7rMR!q|zR&0P(b7`r>i+>c?!;*T literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SubscriberProfileIDforRFP.c b/asn1c_defs/all-defs/SubscriberProfileIDforRFP.c new file mode 100755 index 0000000..17a0909 --- /dev/null +++ b/asn1c_defs/all-defs/SubscriberProfileIDforRFP.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SubscriberProfileIDforRFP.h" + +int +SubscriberProfileIDforRFP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 256)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_SubscriberProfileIDforRFP_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (1..256) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_SubscriberProfileIDforRFP_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP = { + "SubscriberProfileIDforRFP", + "SubscriberProfileIDforRFP", + &asn_OP_NativeInteger, + asn_DEF_SubscriberProfileIDforRFP_tags_1, + sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1) + /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */ + asn_DEF_SubscriberProfileIDforRFP_tags_1, /* Same as above */ + sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1) + /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_SubscriberProfileIDforRFP_constr_1, SubscriberProfileIDforRFP_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/SubscriberProfileIDforRFP.h b/asn1c_defs/all-defs/SubscriberProfileIDforRFP.h new file mode 100755 index 0000000..7a49544 --- /dev/null +++ b/asn1c_defs/all-defs/SubscriberProfileIDforRFP.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SubscriberProfileIDforRFP_H_ +#define _SubscriberProfileIDforRFP_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SubscriberProfileIDforRFP */ +typedef long SubscriberProfileIDforRFP_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_SubscriberProfileIDforRFP_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP; +asn_struct_free_f SubscriberProfileIDforRFP_free; +asn_struct_print_f SubscriberProfileIDforRFP_print; +asn_constr_check_f SubscriberProfileIDforRFP_constraint; +ber_type_decoder_f SubscriberProfileIDforRFP_decode_ber; +der_type_encoder_f SubscriberProfileIDforRFP_encode_der; +xer_type_decoder_f SubscriberProfileIDforRFP_decode_xer; +xer_type_encoder_f SubscriberProfileIDforRFP_encode_xer; +per_type_decoder_f SubscriberProfileIDforRFP_decode_uper; +per_type_encoder_f SubscriberProfileIDforRFP_encode_uper; +per_type_decoder_f SubscriberProfileIDforRFP_decode_aper; +per_type_encoder_f SubscriberProfileIDforRFP_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SubscriberProfileIDforRFP_H_ */ +#include diff --git a/asn1c_defs/all-defs/SubscriberProfileIDforRFP.o b/asn1c_defs/all-defs/SubscriberProfileIDforRFP.o new file mode 100644 index 0000000000000000000000000000000000000000..b21b5a9b9c2c156ae73f3e170d80ea3140c5e39a GIT binary patch literal 2872 zcmbVN&2JM&6o1arBtUAMltU!?u@~APks%96M3F#7&c{Zzf)xltAhE2Sb!>2Kw7ZS~ ziBc)$V4+t11A6F@YtOwPwYT1Ks?RCW zA1#y@hjKY!%E1NbON;`%8t(H&$rfQ83gA9|d3m|Fv)ubFF1t^Loj=^|e{$~mT{PKp z+{ZgV?;^!txZBT1%TGqi-+oBGw?B0g#_hdud;dGn%Dq1??(ST>-uwN=FZCmz%>%|& zuFs`wVvZ4RPbgPs=igs3)DVtQHE`g{8npPGMBs6 zs1`P>L0Abp^=2zrp09Vp)y0aa!SQI$-tt@Bz;1V9d!xA(wCyPbkFTGQx>~0l#i8G9 z$9COE*Y#98FzS9;_VwB}C1}ch%Xf2BLs%-6=Ip7pYPTJC?Q`O+n3;CEQgXg>X2r}| z;hactII6K>BA1mEMn&X8Vf5S=MI@4(X!g*YG=`)l;4sVh?bPYx`|T zYk(hcE+}4~enMeftACOQf&=e3z8rjM-u%L%H_*n5{f)?TK$J@}^f^r*XK+lf|JL>o zE-fxqycIvjH@n=9gN-1RU}a&|i|^kJ-jP_c5T>Sx8R|!Lim#KFvpc8sgj4Thys6>3 zeOJTtn!SSMNzv`(xboeiOz%a<`HTpkz`-=B7{dFv7GP=sUexf96i<_@;k*_>w!&$@ zG*S}L{ms~~g1}yw%njzkpyi7=xEF(1_hTPKHHtul9TLdg5wm+myb#hy8X(775Vg+c zX3)k!*op(Ow6ZoG#eVIMvJVrskI;CIA2y+(u`!$G~Gh(jk= zJ@s1(q&qD8A3==Xj_FUm%RGC8;Fc=<-y~>c?tdJ0 PS^f=`|96@%v8MkU%?~=9 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.c b/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.c new file mode 100755 index 0000000..cd6069c --- /dev/null +++ b/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.c @@ -0,0 +1,340 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Subscription-Based-UE-DifferentiationInfo.h" + +#include "ScheduledCommunicationTime.h" +#include "ProtocolExtensionContainer.h" +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_periodicTime_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 3600)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_periodicCommunicationIndicator_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_stationaryIndication_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_trafficProfile_constr_12 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_batteryIndication_constr_17 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_periodicTime_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 12, 12, 1, 3600 } /* (1..3600,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_periodicCommunicationIndicator_value2enum_2[] = { + { 0, 12, "periodically" }, + { 1, 8, "ondemand" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_periodicCommunicationIndicator_enum2value_2[] = { + 1, /* ondemand(1) */ + 0 /* periodically(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_periodicCommunicationIndicator_specs_2 = { + asn_MAP_periodicCommunicationIndicator_value2enum_2, /* "tag" => N; sorted by tag */ + asn_MAP_periodicCommunicationIndicator_enum2value_2, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_periodicCommunicationIndicator_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_periodicCommunicationIndicator_2 = { + "periodicCommunicationIndicator", + "periodicCommunicationIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_periodicCommunicationIndicator_tags_2, + sizeof(asn_DEF_periodicCommunicationIndicator_tags_2) + /sizeof(asn_DEF_periodicCommunicationIndicator_tags_2[0]) - 1, /* 1 */ + asn_DEF_periodicCommunicationIndicator_tags_2, /* Same as above */ + sizeof(asn_DEF_periodicCommunicationIndicator_tags_2) + /sizeof(asn_DEF_periodicCommunicationIndicator_tags_2[0]), /* 2 */ + { 0, &asn_PER_type_periodicCommunicationIndicator_constr_2, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_periodicCommunicationIndicator_specs_2 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_stationaryIndication_value2enum_8[] = { + { 0, 10, "stationary" }, + { 1, 6, "mobile" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_stationaryIndication_enum2value_8[] = { + 1, /* mobile(1) */ + 0 /* stationary(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_stationaryIndication_specs_8 = { + asn_MAP_stationaryIndication_value2enum_8, /* "tag" => N; sorted by tag */ + asn_MAP_stationaryIndication_enum2value_8, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_stationaryIndication_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_stationaryIndication_8 = { + "stationaryIndication", + "stationaryIndication", + &asn_OP_NativeEnumerated, + asn_DEF_stationaryIndication_tags_8, + sizeof(asn_DEF_stationaryIndication_tags_8) + /sizeof(asn_DEF_stationaryIndication_tags_8[0]) - 1, /* 1 */ + asn_DEF_stationaryIndication_tags_8, /* Same as above */ + sizeof(asn_DEF_stationaryIndication_tags_8) + /sizeof(asn_DEF_stationaryIndication_tags_8[0]), /* 2 */ + { 0, &asn_PER_type_stationaryIndication_constr_8, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_stationaryIndication_specs_8 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_trafficProfile_value2enum_12[] = { + { 0, 13, "single-packet" }, + { 1, 12, "dual-packets" }, + { 2, 16, "multiple-packets" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_trafficProfile_enum2value_12[] = { + 1, /* dual-packets(1) */ + 2, /* multiple-packets(2) */ + 0 /* single-packet(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_trafficProfile_specs_12 = { + asn_MAP_trafficProfile_value2enum_12, /* "tag" => N; sorted by tag */ + asn_MAP_trafficProfile_enum2value_12, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_trafficProfile_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_trafficProfile_12 = { + "trafficProfile", + "trafficProfile", + &asn_OP_NativeEnumerated, + asn_DEF_trafficProfile_tags_12, + sizeof(asn_DEF_trafficProfile_tags_12) + /sizeof(asn_DEF_trafficProfile_tags_12[0]) - 1, /* 1 */ + asn_DEF_trafficProfile_tags_12, /* Same as above */ + sizeof(asn_DEF_trafficProfile_tags_12) + /sizeof(asn_DEF_trafficProfile_tags_12[0]), /* 2 */ + { 0, &asn_PER_type_trafficProfile_constr_12, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_trafficProfile_specs_12 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_batteryIndication_value2enum_17[] = { + { 0, 15, "battery-powered" }, + { 1, 47, "battery-powered-not-rechargeable-or-replaceable" }, + { 2, 19, "not-battery-powered" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_batteryIndication_enum2value_17[] = { + 0, /* battery-powered(0) */ + 1, /* battery-powered-not-rechargeable-or-replaceable(1) */ + 2 /* not-battery-powered(2) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_batteryIndication_specs_17 = { + asn_MAP_batteryIndication_value2enum_17, /* "tag" => N; sorted by tag */ + asn_MAP_batteryIndication_enum2value_17, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_batteryIndication_tags_17[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_batteryIndication_17 = { + "batteryIndication", + "batteryIndication", + &asn_OP_NativeEnumerated, + asn_DEF_batteryIndication_tags_17, + sizeof(asn_DEF_batteryIndication_tags_17) + /sizeof(asn_DEF_batteryIndication_tags_17[0]) - 1, /* 1 */ + asn_DEF_batteryIndication_tags_17, /* Same as above */ + sizeof(asn_DEF_batteryIndication_tags_17) + /sizeof(asn_DEF_batteryIndication_tags_17[0]), /* 2 */ + { 0, &asn_PER_type_batteryIndication_constr_17, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_batteryIndication_specs_17 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Subscription_Based_UE_DifferentiationInfo_1[] = { + { ATF_POINTER, 7, offsetof(struct Subscription_Based_UE_DifferentiationInfo, periodicCommunicationIndicator), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_periodicCommunicationIndicator_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "periodicCommunicationIndicator" + }, + { ATF_POINTER, 6, offsetof(struct Subscription_Based_UE_DifferentiationInfo, periodicTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_periodicTime_constr_6, memb_periodicTime_constraint_1 }, + 0, 0, /* No default value */ + "periodicTime" + }, + { ATF_POINTER, 5, offsetof(struct Subscription_Based_UE_DifferentiationInfo, scheduledCommunicationTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ScheduledCommunicationTime, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "scheduledCommunicationTime" + }, + { ATF_POINTER, 4, offsetof(struct Subscription_Based_UE_DifferentiationInfo, stationaryIndication), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_stationaryIndication_8, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "stationaryIndication" + }, + { ATF_POINTER, 3, offsetof(struct Subscription_Based_UE_DifferentiationInfo, trafficProfile), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_trafficProfile_12, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "trafficProfile" + }, + { ATF_POINTER, 2, offsetof(struct Subscription_Based_UE_DifferentiationInfo, batteryIndication), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_batteryIndication_17, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "batteryIndication" + }, + { ATF_POINTER, 1, offsetof(struct Subscription_Based_UE_DifferentiationInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P196, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_Subscription_Based_UE_DifferentiationInfo_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Subscription_Based_UE_DifferentiationInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodicCommunicationIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* periodicTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scheduledCommunicationTime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* stationaryIndication */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trafficProfile */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* batteryIndication */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Subscription_Based_UE_DifferentiationInfo_specs_1 = { + sizeof(struct Subscription_Based_UE_DifferentiationInfo), + offsetof(struct Subscription_Based_UE_DifferentiationInfo, _asn_ctx), + asn_MAP_Subscription_Based_UE_DifferentiationInfo_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_Subscription_Based_UE_DifferentiationInfo_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo = { + "Subscription-Based-UE-DifferentiationInfo", + "Subscription-Based-UE-DifferentiationInfo", + &asn_OP_SEQUENCE, + asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1, + sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1) + /sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1[0]), /* 1 */ + asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1) + /sizeof(asn_DEF_Subscription_Based_UE_DifferentiationInfo_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_Subscription_Based_UE_DifferentiationInfo_1, + 7, /* Elements count */ + &asn_SPC_Subscription_Based_UE_DifferentiationInfo_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.h b/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.h new file mode 100755 index 0000000..fd9ff25 --- /dev/null +++ b/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.h @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Subscription_Based_UE_DifferentiationInfo_H_ +#define _Subscription_Based_UE_DifferentiationInfo_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator { + Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_periodically = 0, + Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_ondemand = 1 + /* + * Enumeration is extensible + */ +} e_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator; +typedef enum Subscription_Based_UE_DifferentiationInfo__stationaryIndication { + Subscription_Based_UE_DifferentiationInfo__stationaryIndication_stationary = 0, + Subscription_Based_UE_DifferentiationInfo__stationaryIndication_mobile = 1 + /* + * Enumeration is extensible + */ +} e_Subscription_Based_UE_DifferentiationInfo__stationaryIndication; +typedef enum Subscription_Based_UE_DifferentiationInfo__trafficProfile { + Subscription_Based_UE_DifferentiationInfo__trafficProfile_single_packet = 0, + Subscription_Based_UE_DifferentiationInfo__trafficProfile_dual_packets = 1, + Subscription_Based_UE_DifferentiationInfo__trafficProfile_multiple_packets = 2 + /* + * Enumeration is extensible + */ +} e_Subscription_Based_UE_DifferentiationInfo__trafficProfile; +typedef enum Subscription_Based_UE_DifferentiationInfo__batteryIndication { + Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered = 0, + Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered_not_rechargeable_or_replaceable = 1, + Subscription_Based_UE_DifferentiationInfo__batteryIndication_not_battery_powered = 2 + /* + * Enumeration is extensible + */ +} e_Subscription_Based_UE_DifferentiationInfo__batteryIndication; + +/* Forward declarations */ +struct ScheduledCommunicationTime; +struct ProtocolExtensionContainer; + +/* Subscription-Based-UE-DifferentiationInfo */ +typedef struct Subscription_Based_UE_DifferentiationInfo { + long *periodicCommunicationIndicator; /* OPTIONAL */ + long *periodicTime; /* OPTIONAL */ + struct ScheduledCommunicationTime *scheduledCommunicationTime; /* OPTIONAL */ + long *stationaryIndication; /* OPTIONAL */ + long *trafficProfile; /* OPTIONAL */ + long *batteryIndication; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Subscription_Based_UE_DifferentiationInfo_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_periodicCommunicationIndicator_2; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_stationaryIndication_8; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_trafficProfile_12; // (Use -fall-defs-global to expose) */ +/* extern asn_TYPE_descriptor_t asn_DEF_batteryIndication_17; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _Subscription_Based_UE_DifferentiationInfo_H_ */ +#include diff --git a/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.o b/asn1c_defs/all-defs/Subscription-Based-UE-DifferentiationInfo.o new file mode 100644 index 0000000000000000000000000000000000000000..6ac576f226df7041d7e9009f04e8a4e2f0da9abf GIT binary patch literal 9848 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 O@HXacr+R;V|Nj8hoq@do literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SuccessfulOutcome.c b/asn1c_defs/all-defs/SuccessfulOutcome.c new file mode 100755 index 0000000..8a10bf5 --- /dev/null +++ b/asn1c_defs/all-defs/SuccessfulOutcome.c @@ -0,0 +1,448 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SuccessfulOutcome.h" + +static const long asn_VAL_1_id_ricSubscription = 201; +static const long asn_VAL_1_reject = 0; +static const long asn_VAL_2_id_ricSubscriptionDelete = 202; +static const long asn_VAL_2_reject = 0; +static const long asn_VAL_3_id_ricServiceUpdate = 203; +static const long asn_VAL_3_reject = 0; +static const long asn_VAL_4_id_ricControl = 204; +static const long asn_VAL_4_reject = 0; +static const long asn_VAL_5_id_x2Setup = 6; +static const long asn_VAL_5_reject = 0; +static const long asn_VAL_6_id_endcX2Setup = 36; +static const long asn_VAL_6_reject = 0; +static const long asn_VAL_7_id_resourceStatusReportingInitiation = 9; +static const long asn_VAL_7_reject = 0; +static const long asn_VAL_8_id_eNBConfigurationUpdate = 8; +static const long asn_VAL_8_reject = 0; +static const long asn_VAL_9_id_endcConfigurationUpdate = 37; +static const long asn_VAL_9_reject = 0; +static const long asn_VAL_10_id_reset = 7; +static const long asn_VAL_10_reject = 0; +static const long asn_VAL_11_id_ricIndication = 205; +static const long asn_VAL_11_ignore = 1; +static const long asn_VAL_12_id_ricServiceQuery = 206; +static const long asn_VAL_12_ignore = 1; +static const long asn_VAL_13_id_loadIndication = 2; +static const long asn_VAL_13_ignore = 1; +static const long asn_VAL_14_id_gNBStatusIndication = 45; +static const long asn_VAL_14_ignore = 1; +static const long asn_VAL_15_id_resourceStatusReporting = 10; +static const long asn_VAL_15_ignore = 1; +static const long asn_VAL_16_id_errorIndication = 3; +static const long asn_VAL_16_ignore = 1; +static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = { + { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_ricSubscription }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_ricSubscriptionDelete }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_ricServiceUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_ricControl }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_X2SetupRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_X2SetupResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_X2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_x2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCX2SetupRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_endcX2Setup }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusResponse }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_resourceStatusReportingInitiation }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENBConfigurationUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_eNBConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCConfigurationUpdate }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateAcknowledge }, + { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateFailure }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_endcConfigurationUpdate }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest }, + { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_reset }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_reject }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_ricIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_ricServiceQuery }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_LoadInformation }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_13_id_loadIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_GNBStatusIndication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_14_id_gNBStatusIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusUpdate }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_15_id_resourceStatusReporting }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_15_ignore }, + { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication }, + { "&SuccessfulOutcome", }, + { "&UnsuccessfulOutcome", }, + { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_16_id_errorIndication }, + { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_16_ignore } +}; +static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = { + { 16, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows } +}; +static int +memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 255)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_SuccessfulOutcome_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 4; /* &criticality */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_type_selector_result_t +select_SuccessfulOutcome_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1; + size_t constraining_column = 3; /* &procedureCode */ + size_t for_column = 1; /* &SuccessfulOutcome */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SuccessfulOutcome, procedureCode)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_value_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICsubscriptionResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICsubscriptionDeleteResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICsubscriptionDeleteResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICsubscriptionDeleteResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICserviceUpdateAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICserviceUpdateAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICserviceUpdateAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICcontrolAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RICcontrolAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "RICcontrolAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.X2SetupResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_X2SetupResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "X2SetupResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENDCX2SetupResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCX2SetupResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCX2SetupResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResourceStatusResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResourceStatusResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResourceStatusResponse" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENBConfigurationUpdateAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENBConfigurationUpdateAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENBConfigurationUpdateAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENDCConfigurationUpdateAcknowledge), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ENDCConfigurationUpdateAcknowledge, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ENDCConfigurationUpdateAcknowledge" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResetResponse), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ResetResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ResetResponse" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 9 }, /* RICsubscriptionResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 8 }, /* RICsubscriptionDeleteResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 7 }, /* RICserviceUpdateAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 6 }, /* RICcontrolAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 5 }, /* X2SetupResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 4 }, /* ENDCX2SetupResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 3 }, /* ResourceStatusResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 2 }, /* ENBConfigurationUpdateAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 1 }, /* ENDCConfigurationUpdateAcknowledge */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 0 } /* ResetResponse */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { + sizeof(struct SuccessfulOutcome__value), + offsetof(struct SuccessfulOutcome__value, _asn_ctx), + offsetof(struct SuccessfulOutcome__value, present), + sizeof(((struct SuccessfulOutcome__value *)0)->present), + asn_MAP_value_tag2el_4, + 10, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_4 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { 0, 0, OPEN_TYPE_constraint }, + asn_MBR_value_4, + 10, /* Elements count */ + &asn_SPC_value_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, + { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 }, + 0, 0, /* No default value */ + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + select_SuccessfulOutcome_criticality_type, + { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 }, + 0, 0, /* No default value */ + "criticality" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_4, + select_SuccessfulOutcome_value_type, + { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1 = { + sizeof(struct SuccessfulOutcome), + offsetof(struct SuccessfulOutcome, _asn_ctx), + asn_MAP_SuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome = { + "SuccessfulOutcome", + "SuccessfulOutcome", + &asn_OP_SEQUENCE, + asn_DEF_SuccessfulOutcome_tags_1, + sizeof(asn_DEF_SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_SuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_SuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SuccessfulOutcome.h b/asn1c_defs/all-defs/SuccessfulOutcome.h new file mode 100755 index 0000000..ec308aa --- /dev/null +++ b/asn1c_defs/all-defs/SuccessfulOutcome.h @@ -0,0 +1,114 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2AP-PDU-Descriptions" + * found in "../../asn_defs/asn1/e2ap-v031.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SuccessfulOutcome_H_ +#define _SuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include +#include "RICsubscriptionRequest.h" +#include "RICsubscriptionResponse.h" +#include "RICsubscriptionFailure.h" +#include "RICsubscriptionDeleteRequest.h" +#include "RICsubscriptionDeleteResponse.h" +#include "RICsubscriptionDeleteFailure.h" +#include "RICserviceUpdate.h" +#include "RICserviceUpdateAcknowledge.h" +#include "RICserviceUpdateFailure.h" +#include "RICcontrolRequest.h" +#include "RICcontrolAcknowledge.h" +#include "RICcontrolFailure.h" +#include "X2SetupRequest.h" +#include "X2SetupResponse.h" +#include "X2SetupFailure.h" +#include "ENDCX2SetupRequest.h" +#include "ENDCX2SetupResponse.h" +#include "ENDCX2SetupFailure.h" +#include "ResourceStatusRequest.h" +#include "ResourceStatusResponse.h" +#include "ResourceStatusFailure.h" +#include "ENBConfigurationUpdate.h" +#include "ENBConfigurationUpdateAcknowledge.h" +#include "ENBConfigurationUpdateFailure.h" +#include "ENDCConfigurationUpdate.h" +#include "ENDCConfigurationUpdateAcknowledge.h" +#include "ENDCConfigurationUpdateFailure.h" +#include "ResetRequest.h" +#include "ResetResponse.h" +#include "RICindication.h" +#include "RICserviceQuery.h" +#include "LoadInformation.h" +#include "GNBStatusIndication.h" +#include "ResourceStatusUpdate.h" +#include "ErrorIndication.h" +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SuccessfulOutcome__value_PR { + SuccessfulOutcome__value_PR_NOTHING, /* No components present */ + SuccessfulOutcome__value_PR_RICsubscriptionResponse, + SuccessfulOutcome__value_PR_RICsubscriptionDeleteResponse, + SuccessfulOutcome__value_PR_RICserviceUpdateAcknowledge, + SuccessfulOutcome__value_PR_RICcontrolAcknowledge, + SuccessfulOutcome__value_PR_X2SetupResponse, + SuccessfulOutcome__value_PR_ENDCX2SetupResponse, + SuccessfulOutcome__value_PR_ResourceStatusResponse, + SuccessfulOutcome__value_PR_ENBConfigurationUpdateAcknowledge, + SuccessfulOutcome__value_PR_ENDCConfigurationUpdateAcknowledge, + SuccessfulOutcome__value_PR_ResetResponse +} SuccessfulOutcome__value_PR; + +/* SuccessfulOutcome */ +typedef struct SuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + struct SuccessfulOutcome__value { + SuccessfulOutcome__value_PR present; + union SuccessfulOutcome__value_u { + RICsubscriptionResponse_t RICsubscriptionResponse; + RICsubscriptionDeleteResponse_t RICsubscriptionDeleteResponse; + RICserviceUpdateAcknowledge_t RICserviceUpdateAcknowledge; + RICcontrolAcknowledge_t RICcontrolAcknowledge; + X2SetupResponse_t X2SetupResponse; + ENDCX2SetupResponse_t ENDCX2SetupResponse; + ResourceStatusResponse_t ResourceStatusResponse; + ENBConfigurationUpdateAcknowledge_t ENBConfigurationUpdateAcknowledge; + ENDCConfigurationUpdateAcknowledge_t ENDCConfigurationUpdateAcknowledge; + ResetResponse_t ResetResponse; + } 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; +} SuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome; +extern asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1; +extern asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SuccessfulOutcome_H_ */ +#include diff --git a/asn1c_defs/all-defs/SuccessfulOutcome.o b/asn1c_defs/all-defs/SuccessfulOutcome.o new file mode 100644 index 0000000000000000000000000000000000000000..f274dee90c4592ed3273cff784b615e4c6cdaf2d GIT binary patch literal 20104 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 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/SupportedSULFreqBandItem.c b/asn1c_defs/all-defs/SupportedSULFreqBandItem.c new file mode 100755 index 0000000..3e11bad --- /dev/null +++ b/asn1c_defs/all-defs/SupportedSULFreqBandItem.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "SupportedSULFreqBandItem.h" + +#include "ProtocolExtensionContainer.h" +static int +memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 1024)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (1..1024,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem, freqBandIndicatorNr), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, &asn_PER_memb_freqBandIndicatorNr_constr_2, memb_freqBandIndicatorNr_constraint_1 }, + 0, 0, /* No default value */ + "freqBandIndicatorNr" + }, + { ATF_POINTER, 1, offsetof(struct SupportedSULFreqBandItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P200, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_SupportedSULFreqBandItem_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_SupportedSULFreqBandItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SupportedSULFreqBandItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicatorNr */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_specs_1 = { + sizeof(struct SupportedSULFreqBandItem), + offsetof(struct SupportedSULFreqBandItem, _asn_ctx), + asn_MAP_SupportedSULFreqBandItem_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_SupportedSULFreqBandItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem = { + "SupportedSULFreqBandItem", + "SupportedSULFreqBandItem", + &asn_OP_SEQUENCE, + asn_DEF_SupportedSULFreqBandItem_tags_1, + sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1) + /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */ + asn_DEF_SupportedSULFreqBandItem_tags_1, /* Same as above */ + sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1) + /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SupportedSULFreqBandItem_1, + 2, /* Elements count */ + &asn_SPC_SupportedSULFreqBandItem_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/SupportedSULFreqBandItem.h b/asn1c_defs/all-defs/SupportedSULFreqBandItem.h new file mode 100755 index 0000000..581c78f --- /dev/null +++ b/asn1c_defs/all-defs/SupportedSULFreqBandItem.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _SupportedSULFreqBandItem_H_ +#define _SupportedSULFreqBandItem_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* SupportedSULFreqBandItem */ +typedef struct SupportedSULFreqBandItem { + long freqBandIndicatorNr; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SupportedSULFreqBandItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem; +extern asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_specs_1; +extern asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SupportedSULFreqBandItem_H_ */ +#include diff --git a/asn1c_defs/all-defs/SupportedSULFreqBandItem.o b/asn1c_defs/all-defs/SupportedSULFreqBandItem.o new file mode 100644 index 0000000000000000000000000000000000000000..92d4c47aedd00abdb84c45a38a13385b5a172dba GIT binary patch literal 4008 zcmb_fO>7%g5PptJ6WU_jhC-l7-2(wvB3o~$M2G}(;yBqzZfX*O5Fp%*y-6JG-LPIq z0R&VEIan1EhaQT!AaUW?BT_GsK;pm!<%GlmE=Uzr;ztN^K!lmMGv4RTI*9}$y`7ow z&CHuOZ#{4QUZFVMmq-Yvgm_Mb8lytoIT6Y^DdxnWI3vvMKNn`(yR+@D{i1pOxbdC2 zbthpyyO$JV!!WmZZ|?#5PncVG2a4DGiyz#FzH8^rKrq|Co9%y$onrg@iM`#IUT%N; z$`{M`pPv#Cmt5~k*T5VitPPT@vHSCv5b8J#OpVj)p1JULTRdLTi29^?bX!uvnb->^CMYr#kD~4ZR|Uo8#JsRd3mvqv1oOP8a#VJ*l@*nU# zt<-ImEY8BgtM5BI4)?&H0UYC8Bg0$7UzK=R=PcpdJ>q=a0~fuTAavG--B>Ee^ulu3 zQp<*bc3qw-OqY8FD*M(-lk6@}ln%5Twd+T*bQ>J7RG2Rxl4f~S=*4^%A5uCzW4Wa( zkZIxh#ll>^AXrc~E^RJP&iCFlC)+xxQO* z>z(T-?>au*XSP=!8-24VuZU_h&+OMDjq}EOCTD%vo1NTKudSQN#ES1sQX`cktgbk9Wv%?*95TQxvMA87zmMAhqV z#X?X<5PHRJG;9Z=!-tox&&(~3G<~b`I(gZv&^xS#-O2Pn2^x5F4b?z7Qq=njp)}#l z@J#S-$uU6Oq=UFhI{M){d_H_0j}xxGBj~b&51>-OI!~=51p>tHBe~y#u;Xg?R{JZDy?8p2C@{i`fLk3wkqyQQRB7OyUT>U?zL`&q4^~bLb z&Y$aF0Srx|>obsrIh8b30r@o;aqIs@S19}A`UpkW$4`D-U+o2;iX0`BK}8`=kx_gb z2Kw_lh#{?#KfWI-Q8}a!;_t&?OtrhQuOPu})b=CtkLG`q{7p3|$h?1s@jET9ei{1X z$LECg!>=v&XB_j1t__g*f!6 + +/* Including external dependencies */ +#include "TAListforMDT.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TABasedMDT */ +typedef struct TABasedMDT { + TAListforMDT_t tAListforMDT; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TABasedMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TABasedMDT; +extern asn_SEQUENCE_specifics_t asn_SPC_TABasedMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_TABasedMDT_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TABasedMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/TABasedMDT.o b/asn1c_defs/all-defs/TABasedMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..f0a886892f379db53e815c15a48045b920099e2c GIT binary patch literal 2792 zcmb_d%}&)o6rM{(#UBuLVdADHMz4u9?Uh8Li78wP#_&@G5;mlkQsKsXTXH)jxKSR$ zg^!>+AHjtW;MTX$ojX0JJ?C~h^b-G0GCAM*&fm;*I`hU`S{P|G1WQ9a5~ang5Y00s zc5~>82{A6#XXnB!-dUbs7jkx~lgSrpAB~PT^ttHvu!1AQ94GLY z^AqHRkl%LUJaO1CPQ&g`CBE10u~F$}qYP4z0UheZ5TnQF zabOx^Oqk?RGYz2}dh$0Zp3FhsJn=WlQLQt^;T3I&^A(#7L!4tc&|82emHF?HXCL&X zK~xEjhVXBJ$2#ao`B*6N0raG@UYq#OpzG>?9l|RYf)$A{OM-cCAt-N&K!&?n;N+g= zSzq(C;%>b!?Qv4ITwZ6@57xY=8{SIW6AXd~?j6|=JBciM%{^0l6%$zV+bWsu$5FM7 za-s23{C+CaDD4hzw|1IHXcPB?nbtkWZ`lrQU9RxFtEcWPIdz`*82Jf`L3NEV@_1TI zvhf_E==|e?&Uvnhl&|oUgi$>wjCC#(M)i&`@>d9>`a&3aTo<3!rBRCD6H))6IMS(10x;F0W{7P))qaY>;H-JY^uk~WI*}}=(_%g^g%fv`{S#j_YZ)>R>xj4BAVb+ z#Z(QzyD%`H`>?x7`S^WQp=ISc$nV2oPK{eXHlf0+$D&;qx=G{@O1KDd_@?UX#}`ol d_CN_AHx*=5Yp9v + +/* Including external dependencies */ +#include "TAListforQMC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TABasedQMC */ +typedef struct TABasedQMC { + TAListforQMC_t tAListforQMC; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TABasedQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TABasedQMC; +extern asn_SEQUENCE_specifics_t asn_SPC_TABasedQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_TABasedQMC_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TABasedQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/TABasedQMC.o b/asn1c_defs/all-defs/TABasedQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..498c0698ade9f1f328939db1d5f3158a70418e6e GIT binary patch literal 2792 zcmb_d%}&)o6rM{(#UBuLVdADHMz4u9?Uh8Li78wP#_&@F5;mrmQsKsXTXH)jxKSR$ zg^!>+AHjtW;MTX$ojX0JJ?C~h^b-G0GCAM*&fm;*I`hU`S{P|G1WQ9a5~ang5Y00s zc5~>82{A4fW)k4DFv@(yL3WSun0%G5tb`doB-SizBDjuUvy z`3Z7D$ZxxFo;Yk6r(yiBx=^YjK3FpfqpzFyOXoR7=W(u_gE21Ki|zIUv$?r_kjMk` zzBO&xQ_ewdIj@}=%bvEJI|YwvLj`M}65nh0*r;?aOBh0*W#Kb~Q3ff?9l|RYf)$A{OM-cCAt-N&K!&?n;N+g= zSzq(C;%>b!?Qv4ITwZ6@57xc4O>d>`2?jv~_m1p`okSMB=ANp(iV3XyZI#USgX$V#=lF zE&91k%D(_SQhdJnJgov(*Z&jc*;J2}$$<0|&~^O}>4S1U_QzL4?;ik%t&Y89L^Q#t zim4iacVS>Y_hEOF^6~qqLd(i?kl%;FoEo=rY(j-sk43vKbc@IzlyDK^@J-d%k1wG9 d?ST?LZYs#A)=)FyZK}_IPy2s_MHJEVe*wQ-z})}< literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAC.c b/asn1c_defs/all-defs/TAC.c new file mode 100755 index 0000000..2dbec03 --- /dev/null +++ b/asn1c_defs/all-defs/TAC.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAC.h" + +int +TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_TAC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TAC = { + "TAC", + "TAC", + &asn_OP_OCTET_STRING, + asn_DEF_TAC_tags_1, + sizeof(asn_DEF_TAC_tags_1) + /sizeof(asn_DEF_TAC_tags_1[0]), /* 1 */ + asn_DEF_TAC_tags_1, /* Same as above */ + sizeof(asn_DEF_TAC_tags_1) + /sizeof(asn_DEF_TAC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TAC_constr_1, TAC_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAC.h b/asn1c_defs/all-defs/TAC.h new file mode 100755 index 0000000..b54936c --- /dev/null +++ b/asn1c_defs/all-defs/TAC.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAC_H_ +#define _TAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TAC */ +typedef OCTET_STRING_t TAC_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TAC_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TAC; +asn_struct_free_f TAC_free; +asn_struct_print_f TAC_print; +asn_constr_check_f TAC_constraint; +ber_type_decoder_f TAC_decode_ber; +der_type_encoder_f TAC_encode_der; +xer_type_decoder_f TAC_decode_xer; +xer_type_encoder_f TAC_encode_xer; +per_type_decoder_f TAC_decode_uper; +per_type_encoder_f TAC_encode_uper; +per_type_decoder_f TAC_decode_aper; +per_type_encoder_f TAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAC_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAC.o b/asn1c_defs/all-defs/TAC.o new file mode 100644 index 0000000000000000000000000000000000000000..ea1d51d47532c97875c4263bdc5b82c8019196b2 GIT binary patch literal 2696 zcmbVN&1)1{5Um0rQ*|VOvzJIGlt~pm2urx-)Kc~J6LbU&T6pU2v>TosJBP@w%A?^JN~v_0M`m_s$9P8j4dvA zT5-quRb5oY3Advo_r7~c6)!4xJmKL-?l|+;9AxemGAEA?=KjXP&msRaw{^%@@`bGd zKR;5-JJ<3fllemVa6UJ6WLh(vnBwR=4#4}=HOr>%K!7a%(kzQTrCAmZrqS4ov6(qz z5Pb%6y?nFBtiksZ5M<%78TN1%j`XmApETG%pHb$2lSKBvFn`M8Da^tT``B@0jvIB; zYlGY+e1?thU1Mbhz1|ZXi@Skf*r@X?H?+~GJ=X&KMrn1z6+{WF4F4) zyKbgvl)%b@TEOZ=LkcGw719NvvV ztpsrZYB`EPwKpiBbXVbO>mHGj1oG{fF3 zz8g5Gq*~f1yM!E>oQEXZzn4#91D*MjB(Q(U7r_$8v=_`ZlXX19ynRD$vrf(thu{cc zPxmVA16yC9!BWhoUCbd)_PIzze^Utdq8DF9p0GXsLrz$;^o|vmFixvqkq!gewtfRp z{b-HoTgjw;Gl*%Zul6LyZ+U!P24oVmV>*YFTI6JFcJ9iRwr9n&^d38=LxG;t9Rs3Fnccd&1V!KZ?Ef cNI{7U{geX3?C+<$Elr=}1Np$v614SS0Dd|9ng9R* literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAI-Item.c b/asn1c_defs/all-defs/TAI-Item.c new file mode 100755 index 0000000..90d4737 --- /dev/null +++ b/asn1c_defs/all-defs/TAI-Item.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAI-Item.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TAI_Item_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAI_Item, tAC), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct TAI_Item, pLMN_Identity), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMN_Identity, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "pLMN-Identity" + }, + { ATF_POINTER, 1, offsetof(struct TAI_Item, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P203, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TAI_Item_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_TAI_Item_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAI_Item_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tAC */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pLMN-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAI_Item_specs_1 = { + sizeof(struct TAI_Item), + offsetof(struct TAI_Item, _asn_ctx), + asn_MAP_TAI_Item_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TAI_Item_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAI_Item = { + "TAI-Item", + "TAI-Item", + &asn_OP_SEQUENCE, + asn_DEF_TAI_Item_tags_1, + sizeof(asn_DEF_TAI_Item_tags_1) + /sizeof(asn_DEF_TAI_Item_tags_1[0]), /* 1 */ + asn_DEF_TAI_Item_tags_1, /* Same as above */ + sizeof(asn_DEF_TAI_Item_tags_1) + /sizeof(asn_DEF_TAI_Item_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAI_Item_1, + 3, /* Elements count */ + &asn_SPC_TAI_Item_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAI-Item.h b/asn1c_defs/all-defs/TAI-Item.h new file mode 100755 index 0000000..3a25f3e --- /dev/null +++ b/asn1c_defs/all-defs/TAI-Item.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAI_Item_H_ +#define _TAI_Item_H_ + + +#include + +/* Including external dependencies */ +#include "TAC.h" +#include "PLMN-Identity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TAI-Item */ +typedef struct TAI_Item { + TAC_t tAC; + PLMN_Identity_t pLMN_Identity; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAI_Item_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAI_Item; +extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Item_specs_1; +extern asn_TYPE_member_t asn_MBR_TAI_Item_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAI_Item_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAI-Item.o b/asn1c_defs/all-defs/TAI-Item.o new file mode 100644 index 0000000000000000000000000000000000000000..9372054ad9b5d4af695a2b20201df9cf1d06c31a GIT binary patch literal 2976 zcmb_dOK;Oa5Z=@US{{AykdU|p35ixBR-9I%0;zHd=>zp)D3N+|-PE)Zi5#6$*l>Am&A?F)GCA zwN$oa(H7%kOuSuKDXmDqE#yK~bXM2aODns6Ae-_?G;5{Wq4a~O83s`reLhLwi>?pK zW(+c%fe(T0FVGn-=Qd42#MMj8i|5DXz`A~kc_CFUbpYK`EP7x0K6IQzu%{|vFE|Eq zJcH_Ev%XZVJ}XYucMbx1P<(36n&pyp5Np;)YtAgsn$~oJL&RXhTEpT`?wuN$ouoO8 z%#Kt%|C9z)$Rk5s`47GcNI{H>GFj9}LnuEP*&mTVsr|Tl!e_~l%`?jG8E%Lh8J!g) zz6I72UI#X*?0=uk?|@H`tg;US@GpR4o*p@m(B*%P@$|ghk8gnI<^MhaKN*1c2b0+l zUKF@5Yl|+-Di>#!E4{tQwPJj2!O7qizm;bR+Z>=KiZg6D?q=aAY_MmB|xKbJbujFP6Bt+3%C7>5Y65w_d# z?g}#qrEe~+*GrM~8t-Y>7iV~GYz5A3m26c}WNKR`sB3x9$7(;e+*{q`90Vn?~A{u z4Z!m17wOR~Q$A)z7KpzBo>#w2qnG2cK0vO z(lN#3{isCkh+`1%z+z1G`=M`$jJhxCd9FVRoFI<#U<{Uiew-`%-2)^}=)oP<3Ti66 Qefja*)c+nPQ%H~h2XiLLc>n+a literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAIBasedMDT.c b/asn1c_defs/all-defs/TAIBasedMDT.c new file mode 100755 index 0000000..4cda6e0 --- /dev/null +++ b/asn1c_defs/all-defs/TAIBasedMDT.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAIBasedMDT.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TAIBasedMDT_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedMDT, tAIListforMDT), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAIListforMDT, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tAIListforMDT" + }, + { ATF_POINTER, 1, offsetof(struct TAIBasedMDT, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P202, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TAIBasedMDT_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_TAIBasedMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAIBasedMDT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tAIListforMDT */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_specs_1 = { + sizeof(struct TAIBasedMDT), + offsetof(struct TAIBasedMDT, _asn_ctx), + asn_MAP_TAIBasedMDT_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TAIBasedMDT_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT = { + "TAIBasedMDT", + "TAIBasedMDT", + &asn_OP_SEQUENCE, + asn_DEF_TAIBasedMDT_tags_1, + sizeof(asn_DEF_TAIBasedMDT_tags_1) + /sizeof(asn_DEF_TAIBasedMDT_tags_1[0]), /* 1 */ + asn_DEF_TAIBasedMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_TAIBasedMDT_tags_1) + /sizeof(asn_DEF_TAIBasedMDT_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAIBasedMDT_1, + 2, /* Elements count */ + &asn_SPC_TAIBasedMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAIBasedMDT.h b/asn1c_defs/all-defs/TAIBasedMDT.h new file mode 100755 index 0000000..2d3311d --- /dev/null +++ b/asn1c_defs/all-defs/TAIBasedMDT.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAIBasedMDT_H_ +#define _TAIBasedMDT_H_ + + +#include + +/* Including external dependencies */ +#include "TAIListforMDT.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TAIBasedMDT */ +typedef struct TAIBasedMDT { + TAIListforMDT_t tAIListforMDT; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIBasedMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT; +extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_TAIBasedMDT_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAIBasedMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAIBasedMDT.o b/asn1c_defs/all-defs/TAIBasedMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..f0afd978da7f5d4b922d4298072d8851d0557e93 GIT binary patch literal 2800 zcmb_d&2G~`5Z=`M6=+L=1A>c@kO+ucai~NE5^|fmrKmrKrV=;Tbxj+Q*j2od$^~-a z9pEYGBXH-!EAR$z;|4SKOuXJE6;zD0ns2`O+nua8@7>jG&Dg!nvftTrR&Ca@@8vwEjTEeXM*JK)W24l$C}9YFm$}anMiHbS13C;7L!3QE zPXSXAIL>g~Hg4xQ&&Bae5J>lDYd4UAuy)c^Slt8-jI=Eq%%~k?ZbX`CwUaPF zGD{Iwm~=W3TpKG+WMnO`Z_T7K2;b1IPp@v#4Dg**#Ze6f)7S>gZ9vHBFP}4rC<8tJ zF1T^#r_Fx=xmdGwxxsc|q40gotvnVn@53Ri_wNIbQscnf6eej_PXOTC>M%iin?5d+ z^6@?*#rKQv(*|%DqWAwoc{T8?T0_l*|E}TrM>PLF7Ewgc{{ui6#5e!| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAIBasedQMC.c b/asn1c_defs/all-defs/TAIBasedQMC.c new file mode 100755 index 0000000..3069348 --- /dev/null +++ b/asn1c_defs/all-defs/TAIBasedQMC.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAIBasedQMC.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TAIBasedQMC_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TAIBasedQMC, tAIListforQMC), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TAIListforQMC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "tAIListforQMC" + }, + { ATF_POINTER, 1, offsetof(struct TAIBasedQMC, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P205, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TAIBasedQMC_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_TAIBasedQMC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TAIBasedQMC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tAIListforQMC */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_specs_1 = { + sizeof(struct TAIBasedQMC), + offsetof(struct TAIBasedQMC, _asn_ctx), + asn_MAP_TAIBasedQMC_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TAIBasedQMC_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC = { + "TAIBasedQMC", + "TAIBasedQMC", + &asn_OP_SEQUENCE, + asn_DEF_TAIBasedQMC_tags_1, + sizeof(asn_DEF_TAIBasedQMC_tags_1) + /sizeof(asn_DEF_TAIBasedQMC_tags_1[0]), /* 1 */ + asn_DEF_TAIBasedQMC_tags_1, /* Same as above */ + sizeof(asn_DEF_TAIBasedQMC_tags_1) + /sizeof(asn_DEF_TAIBasedQMC_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TAIBasedQMC_1, + 2, /* Elements count */ + &asn_SPC_TAIBasedQMC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAIBasedQMC.h b/asn1c_defs/all-defs/TAIBasedQMC.h new file mode 100755 index 0000000..0857081 --- /dev/null +++ b/asn1c_defs/all-defs/TAIBasedQMC.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAIBasedQMC_H_ +#define _TAIBasedQMC_H_ + + +#include + +/* Including external dependencies */ +#include "TAIListforQMC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TAIBasedQMC */ +typedef struct TAIBasedQMC { + TAIListforQMC_t tAIListforQMC; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIBasedQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC; +extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_TAIBasedQMC_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAIBasedQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAIBasedQMC.o b/asn1c_defs/all-defs/TAIBasedQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..da615055bab5a07a42cc05a6a9158894f7be22d3 GIT binary patch literal 2800 zcmb_d&2G~`5Z=`M6=+L=1A>c@kO-(<#i57_B$PI|rKmqHZ6$85o0>Kvv8#9^l?&v; zJHS)WN8rwdSKtlc#tmldnRvZTDySG~HQ#*mw>w#H-n+{SBc+mHDT${dx0n^8az4kk z6xPIq7#Ev!OY=bz?yj%Yg_>JhZYJt=+(E19PP>OHjFM&?C3*5cB6BaMJ*?cwFvkfz z=KKaZA>^-JxKCUaSm$8P=iYK$5w@CaQaun-~a(F>o;!?q8!x9%6_H_VgQrrJNdAgvl z^rLd{VF>>Tc&yW-&?C~HQ$9a0-dmKfum;utK7`jF1lbTl68X>E1z&q6d==~^zLUCE z<~-9?4O>H;ahubOifO4e&);y@x7^jbD;W3x5C2F%X2~Z)T>@ z=b(QL=6U(M5;A$)R>2Nv)yeceBNZMhA$J262)UCaLUv*_Fw&6@m|-hO-G~fRw&F&B zWSSymBW|}txHdA1RVWu%x26*nG~UpzPp@v#4Dg-RrKTGirm^*z+klWWU%pyDq6p0V zyWqx|pEiFAa}}Wm7)h zN2K_E@qJnYZczU(lvkm8tZW9PUw|IezehhP=VO0-P0jv3aM Wn9 + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct TAI_Item; + +/* TAIListforMDT */ +typedef struct TAIListforMDT { + A_SEQUENCE_OF(struct TAI_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIListforMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAIListforMDT; +extern asn_SET_OF_specifics_t asn_SPC_TAIListforMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_TAIListforMDT_1[1]; +extern asn_per_constraints_t asn_PER_type_TAIListforMDT_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAIListforMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAIListforMDT.o b/asn1c_defs/all-defs/TAIListforMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..72225170c7d745af88853e3ccd5c23c872866ac4 GIT binary patch literal 2312 zcmbu9OK;Oa5P&yzfdVa%8xogrqDXWVqe>ueCt^*mH)ostv<=KwnN!#Iz%%#s<>i@~} zWRo-aNw2k9?LlREr#l&#N#&ki)zuYul6dY%_r9*KYWH@^|2Yz_V_y9^ElO~*-JXs* z3QuKLoaCg6`1~vc;wbCVP(~SaNnObD?MlbuSppc2x@fzZ?WoyXq9Izg#@(arI_PUz zWp2CxvkdF45NeYC0JjHyp%f49(hp2U3I75BCQqsoH$f5(Vk7 z?Pg8zcog--q=I!5^=ZYa!h2_*KA)82yf?^s&#(i(Dag4N`7(Y$B=-`U@+GoSJ+=51 zi}N{SpQ{#sMK*Gt8=@nN;~i%CNe1TQdb2TfeAqW(S83SvRPV86q64G!>(GQscjH*; z@em!%bhQg^^gc|&XmM2O-mu?~;I#B$Xd=C~wX+hNu=kE|(Ah zH^D)MZ@DcVIU^f_T@n5*@bR2w{jtbnSB`%N0?6)i0%@+d&lp2o&)Op<$Nvr-<#(#G zZzZ!*;~^+~%e>UhzD;`I7HFVL5W#!Gcbf0{GhmpKzaZd%98n#$Ng;ft-vWlI)hr`5 zzEVBzk1d3=eRv5$W_I355iH2XG&y(d!}Z71=Q1$-$@Sw4FZUjhIw1H99ZTf2@IP5p Mze|sh{F})7zbLn$cmMzZ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAIListforQMC.c b/asn1c_defs/all-defs/TAIListforQMC.c new file mode 100755 index 0000000..130f1ee --- /dev/null +++ b/asn1c_defs/all-defs/TAIListforQMC.c @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAIListforQMC.h" + +#include "TAI-Item.h" +asn_per_constraints_t asn_PER_type_TAIListforQMC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_TAIListforQMC_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TAI_Item, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAIListforQMC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TAIListforQMC_specs_1 = { + sizeof(struct TAIListforQMC), + offsetof(struct TAIListforQMC, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TAIListforQMC = { + "TAIListforQMC", + "TAIListforQMC", + &asn_OP_SEQUENCE_OF, + asn_DEF_TAIListforQMC_tags_1, + sizeof(asn_DEF_TAIListforQMC_tags_1) + /sizeof(asn_DEF_TAIListforQMC_tags_1[0]), /* 1 */ + asn_DEF_TAIListforQMC_tags_1, /* Same as above */ + sizeof(asn_DEF_TAIListforQMC_tags_1) + /sizeof(asn_DEF_TAIListforQMC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TAIListforQMC_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_TAIListforQMC_1, + 1, /* Single element */ + &asn_SPC_TAIListforQMC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAIListforQMC.h b/asn1c_defs/all-defs/TAIListforQMC.h new file mode 100755 index 0000000..be9033c --- /dev/null +++ b/asn1c_defs/all-defs/TAIListforQMC.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAIListforQMC_H_ +#define _TAIListforQMC_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct TAI_Item; + +/* TAIListforQMC */ +typedef struct TAIListforQMC { + A_SEQUENCE_OF(struct TAI_Item) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAIListforQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAIListforQMC; +extern asn_SET_OF_specifics_t asn_SPC_TAIListforQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_TAIListforQMC_1[1]; +extern asn_per_constraints_t asn_PER_type_TAIListforQMC_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAIListforQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAIListforQMC.o b/asn1c_defs/all-defs/TAIListforQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..9650bf86848c095664a741ab4ade64b6c9f0299a GIT binary patch literal 2312 zcmbu9OK;Oa5P&yzfdVa%8xogrqDXWVqe>ur{?Czc9kc4sSy6(M?e=8U zQFtoT;v^?k#Al}=5Jy>;hBC^aOX^aVZ&x}N&l13J)MeYvY)4Js5)IL^HSRuTuYkUh zRp!P^Fw3ys3ZVw+51@GMfR&U=HL_Y6Dmn}VEckuTy0L~<{oDPJHP)pLtq zvpAnK_PK8H*JLB-xgk2XINo8FpJZS@t~VP)$45OAc9e!qPxU@qCOR}q?}a8*x)aAr zj|S*qrmJ0WqxWGFMvJ3LcL%**1gE9@0~6`h&Gu4k!tOhs$@%mxD91Hi6m2}=vx~X5 z+y)03zU8)fHc18Giz{hiz^(P{aT{-?e2q3%938cB+K4T1VJ!_Ac9RE9Tl;5e! zzLm^MjmMzyE%Q=0`!?u-o1=lQKm_jz-)X+*FMwf6{(^u5a!hs9CWY{oeiIm`RX6_sbS#n6!vADZ N{VqL1@^2#R{{o9=pj-d| literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAListforMDT.c b/asn1c_defs/all-defs/TAListforMDT.c new file mode 100755 index 0000000..ce9b8dc --- /dev/null +++ b/asn1c_defs/all-defs/TAListforMDT.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAListforMDT.h" + +asn_per_constraints_t asn_PER_type_TAListforMDT_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_TAListforMDT_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAListforMDT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TAListforMDT_specs_1 = { + sizeof(struct TAListforMDT), + offsetof(struct TAListforMDT, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TAListforMDT = { + "TAListforMDT", + "TAListforMDT", + &asn_OP_SEQUENCE_OF, + asn_DEF_TAListforMDT_tags_1, + sizeof(asn_DEF_TAListforMDT_tags_1) + /sizeof(asn_DEF_TAListforMDT_tags_1[0]), /* 1 */ + asn_DEF_TAListforMDT_tags_1, /* Same as above */ + sizeof(asn_DEF_TAListforMDT_tags_1) + /sizeof(asn_DEF_TAListforMDT_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TAListforMDT_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_TAListforMDT_1, + 1, /* Single element */ + &asn_SPC_TAListforMDT_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAListforMDT.h b/asn1c_defs/all-defs/TAListforMDT.h new file mode 100755 index 0000000..98f9be4 --- /dev/null +++ b/asn1c_defs/all-defs/TAListforMDT.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAListforMDT_H_ +#define _TAListforMDT_H_ + + +#include + +/* Including external dependencies */ +#include "TAC.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TAListforMDT */ +typedef struct TAListforMDT { + A_SEQUENCE_OF(TAC_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAListforMDT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAListforMDT; +extern asn_SET_OF_specifics_t asn_SPC_TAListforMDT_specs_1; +extern asn_TYPE_member_t asn_MBR_TAListforMDT_1[1]; +extern asn_per_constraints_t asn_PER_type_TAListforMDT_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAListforMDT_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAListforMDT.o b/asn1c_defs/all-defs/TAListforMDT.o new file mode 100644 index 0000000000000000000000000000000000000000..66b617f8d33d7f511701df2831e2f0e35bfc729b GIT binary patch literal 2304 zcmbu9OK;Oa5P&yzfdVa%8xogrqDXWVqe>ucLVbihBqR>T4Te^bhvJQBFTj<5 z&;tj4LjM3#k8tD2-{2RN8GFW=Y?cch$)1^S9_xL0KZRTMxl&27l++V7@t7)gdSPM* znHi`hwWz9K-<*V;))|Q_I0w+92je{U0y++9uWcQq=FMQVz20_&XAt+}fbBE4_5bAE zu$!F253qKlR(n)g?(B{GW?XroS9Nv8A7`Hb(SN9`tJ=St^M8(n^O#qE&RhvzvD(v7 zPvNf2ikIz_i_gzOAf6J3hB9!CO6pRPFDpI4iv%z{by>QF?Wx&Qau1?qG44KPuYq>$ z4<4d2%(p^$4bmS#yYjyP$Nrxw?*-{^ps^3jA{pO7yZR`3kabtZX+K&I>ygBfiQlG? z?~G+|w-L3%=bdn;7Dl`E3^l@LWR8Z(bffN|pPCW0YK3jcjB-Cd=$ou)`)PAJKOeKz zs7>Q^m~^KT44{qOOSId@@0I1*gVK+&X>qWwJG>D!FhkN z&vn6Hk&T?c4bidSWwKHI5*+7SjIGn7o{9IAh6T^{K3gU^G)ljYO|0}@nkqdSpo5vd z_Q6fw$5|LHjw;<9^m+;Gl0scu0%&iSI%C$M~WF;~iMaFF30 zE+rsmC?VJt%fACY?z3HgV&$=GkB|R5viqDsn(O7>V~Fcn2gL00Pl2QS&Q&~#Wefdu@BduP@k*7@UiEQH@m&|fYc$upXdm&KMVg!SABynA^SJ6 G>;D4JHk=dy literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TAListforQMC.c b/asn1c_defs/all-defs/TAListforQMC.c new file mode 100755 index 0000000..0e2718d --- /dev/null +++ b/asn1c_defs/all-defs/TAListforQMC.c @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TAListforQMC.h" + +asn_per_constraints_t asn_PER_type_TAListforQMC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +asn_TYPE_member_t asn_MBR_TAListforQMC_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TAC, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TAListforQMC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TAListforQMC_specs_1 = { + sizeof(struct TAListforQMC), + offsetof(struct TAListforQMC, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TAListforQMC = { + "TAListforQMC", + "TAListforQMC", + &asn_OP_SEQUENCE_OF, + asn_DEF_TAListforQMC_tags_1, + sizeof(asn_DEF_TAListforQMC_tags_1) + /sizeof(asn_DEF_TAListforQMC_tags_1[0]), /* 1 */ + asn_DEF_TAListforQMC_tags_1, /* Same as above */ + sizeof(asn_DEF_TAListforQMC_tags_1) + /sizeof(asn_DEF_TAListforQMC_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TAListforQMC_constr_1, SEQUENCE_OF_constraint }, + asn_MBR_TAListforQMC_1, + 1, /* Single element */ + &asn_SPC_TAListforQMC_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TAListforQMC.h b/asn1c_defs/all-defs/TAListforQMC.h new file mode 100755 index 0000000..1236d03 --- /dev/null +++ b/asn1c_defs/all-defs/TAListforQMC.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TAListforQMC_H_ +#define _TAListforQMC_H_ + + +#include + +/* Including external dependencies */ +#include "TAC.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TAListforQMC */ +typedef struct TAListforQMC { + A_SEQUENCE_OF(TAC_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TAListforQMC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TAListforQMC; +extern asn_SET_OF_specifics_t asn_SPC_TAListforQMC_specs_1; +extern asn_TYPE_member_t asn_MBR_TAListforQMC_1[1]; +extern asn_per_constraints_t asn_PER_type_TAListforQMC_constr_1; + +#ifdef __cplusplus +} +#endif + +#endif /* _TAListforQMC_H_ */ +#include diff --git a/asn1c_defs/all-defs/TAListforQMC.o b/asn1c_defs/all-defs/TAListforQMC.o new file mode 100644 index 0000000000000000000000000000000000000000..3406a29311d0a4ddf28e69ee3cddf6e3ba62cc44 GIT binary patch literal 2304 zcmbu9&2G~`5XUERfdVa%8xogrqDXWVqe>u}BN@nIa|Jk*7*ZV2lsuc?b5G%kFm}Wu&PA^R3 zAPoaph9#(Ad~;fIMrUlUViBRoKdQ^ziR}_&N2A{CK;7XW(PJE{8MaUvWqEus&}q~5)5femo3mN3 z&f;X$>&`yV+&4()&D?d_A)CvZ5SO*0C6l{^xbzZVp+7X62Pw_?GRNdL4SvnwvcELW zb%Vd+n7BL}p<{!WI41YY;Pk%v+$uTh>$n377d-R(66xNd2K74DF{nHg?*piH^JP_yNx8Zec&Y^F?c%z{({ht!cM0Ax3w& zX#poA6JlJp@;jK*KHL2#mQGT8e)`^t-4_9S={NVDO42VrU}n#Mik$3s=JNk?9%aE} zbaaOWS(^WE^2N5u6J5ayofA3Ja?YP4BZ+Z>av_7UW z&e!237KNF*A1>(7lFWW~8b|t1c$}-q=x4t_-R$<-BZ5PQKPfTHek}SXUHx^wgzV46 G?*9uieVh0I literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TDD-Info.c b/asn1c_defs/all-defs/TDD-Info.c new file mode 100755 index 0000000..d93f6fd --- /dev/null +++ b/asn1c_defs/all-defs/TDD-Info.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TDD-Info.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TDD_Info_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info, eARFCN), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EARFCN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eARFCN" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info, transmission_Bandwidth), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Transmission_Bandwidth, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "transmission-Bandwidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info, subframeAssignment), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubframeAssignment, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subframeAssignment" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_Info, specialSubframe_Info), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpecialSubframe_Info, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "specialSubframe-Info" + }, + { ATF_POINTER, 1, offsetof(struct TDD_Info, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P206, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TDD_Info_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_TDD_Info_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_Info_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eARFCN */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transmission-Bandwidth */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subframeAssignment */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* specialSubframe-Info */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_Info_specs_1 = { + sizeof(struct TDD_Info), + offsetof(struct TDD_Info, _asn_ctx), + asn_MAP_TDD_Info_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TDD_Info_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_Info = { + "TDD-Info", + "TDD-Info", + &asn_OP_SEQUENCE, + asn_DEF_TDD_Info_tags_1, + sizeof(asn_DEF_TDD_Info_tags_1) + /sizeof(asn_DEF_TDD_Info_tags_1[0]), /* 1 */ + asn_DEF_TDD_Info_tags_1, /* Same as above */ + sizeof(asn_DEF_TDD_Info_tags_1) + /sizeof(asn_DEF_TDD_Info_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_Info_1, + 5, /* Elements count */ + &asn_SPC_TDD_Info_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TDD-Info.h b/asn1c_defs/all-defs/TDD-Info.h new file mode 100755 index 0000000..26299d8 --- /dev/null +++ b/asn1c_defs/all-defs/TDD-Info.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TDD_Info_H_ +#define _TDD_Info_H_ + + +#include + +/* Including external dependencies */ +#include "EARFCN.h" +#include "Transmission-Bandwidth.h" +#include "SubframeAssignment.h" +#include "SpecialSubframe-Info.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TDD-Info */ +typedef struct TDD_Info { + EARFCN_t eARFCN; + Transmission_Bandwidth_t transmission_Bandwidth; + SubframeAssignment_t subframeAssignment; + SpecialSubframe_Info_t specialSubframe_Info; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TDD_Info; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_Info_specs_1; +extern asn_TYPE_member_t asn_MBR_TDD_Info_1[5]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TDD_Info_H_ */ +#include diff --git a/asn1c_defs/all-defs/TDD-Info.o b/asn1c_defs/all-defs/TDD-Info.o new file mode 100644 index 0000000000000000000000000000000000000000..0244ffca9da640f33814cfd76c25e7ce557e86d6 GIT binary patch literal 3408 zcmcImJ5Ll*6uz+dzy}ZCi56>OA|~!+7l{%~$ilLKMqm|4Xv{b)18m%#Av=R&qtsTG zHYOAnmR80;U~g$@VPUDAou2Q`y)$Povm_EY$(?h~cV73k=kBZWgUQa04xy<-jEY3l zs1R?u6S*kGqUaSpVqsz;ch6h(g**0WvNS8grsD;TS`gHHFE{RZE6-~y;kpPmmsguk z!yO~Tn%8i>Py`!pwdU04l_knjE9c5vq3a<$NGi6M%(&KzJ~N+oH7zDr65GtXV$7ZcYZICD-oD;)zI zd(3^XHyIcdVNG3HAzsw_RH-zQ9avo6^uo>T9c#$S=L(xrE4(ZWTlpcYa3jK5^llMz z=@P$F?_{QBrb%q3WyT!mGv_#80mpam+9@)3h;DhF@Z^yhaV!Z|(lz4n*Mxfj8l?ez zL2726#9x^u%ZQU)jpd9yrC621B7OVWZCF?4RpR*VnDmT*H2gK;$g`~iKC8>|PU6XW z^UD5-cv_w>ZSWs$a2$AAo-0&84UZeORTWO)*%ReSn|im6-ff4@T3{C>J~LKn!3W)X zn#FJE0G>!@n5)?H<%f&q*-}|(!LCv}r>CJteIM0l#vdhBqQdi)QUc*^;04Oj;}TDt zJu-Ik$Y`^EQrKe?n_3?ox%_xPDosE1tA0Ixfl9s?(wyCXdq&{@M(tYoPcy3^7JbouqR3ejvl1xtrCEr)gbY& z49B|kFYFh?&nX#f011e|;IHR2&G7SZP_)f(_+MA}4#O{KXX4)&4*wBl`@`^y%s;Q1 zFwF3uQ#O7sygQitultO!f)|a@StcGfBfhSs(A^4!wc>=1u$F^BSWO=aJPTHVRJZO( zGbBT`>VDM$C_{u*^&9eEkmdQIYfa5A=7P|vK4mM~pLm(Vum^ajI2F0VWVM|!a+M@t z=1WkFJz51b9_NZZ-*5a)ibc*r8k~wsdCWnQb$!j@2idH@Ll|h7Kh~sY0W!KvGTy8r z!yx8WEB~kp;hn=h)Avi?C)~TV`rlREJlQ#AxkB=N8fo>vt3o;+^)V&0zD*eF8_N_~ zwINGn@mWs#ua8lbLV}Nha&=~i7Zyty;n!eD@xx@8?iZ3eTX~OVd j%UnPDR$8f_I4mOFpCWDdT+u_*;`>xX+}44LoAdt%7c~ZM literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.c b/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.c new file mode 100755 index 0000000..79cb82c --- /dev/null +++ b/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TDD-InfoNeighbourServedNRCell-Information.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TDD_InfoNeighbourServedNRCell_Information_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoNeighbourServedNRCell_Information, nRFreqInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRFreqInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRFreqInfo" + }, + { ATF_POINTER, 1, offsetof(struct TDD_InfoNeighbourServedNRCell_Information, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P96, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TDD_InfoNeighbourServedNRCell_Information_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_InfoNeighbourServedNRCell_Information_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRFreqInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoNeighbourServedNRCell_Information_specs_1 = { + sizeof(struct TDD_InfoNeighbourServedNRCell_Information), + offsetof(struct TDD_InfoNeighbourServedNRCell_Information, _asn_ctx), + asn_MAP_TDD_InfoNeighbourServedNRCell_Information_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TDD_InfoNeighbourServedNRCell_Information_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information = { + "TDD-InfoNeighbourServedNRCell-Information", + "TDD-InfoNeighbourServedNRCell-Information", + &asn_OP_SEQUENCE, + asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1, + sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1) + /sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1[0]), /* 1 */ + asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1) + /sizeof(asn_DEF_TDD_InfoNeighbourServedNRCell_Information_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_InfoNeighbourServedNRCell_Information_1, + 2, /* Elements count */ + &asn_SPC_TDD_InfoNeighbourServedNRCell_Information_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.h b/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.h new file mode 100755 index 0000000..6ca528b --- /dev/null +++ b/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TDD_InfoNeighbourServedNRCell_Information_H_ +#define _TDD_InfoNeighbourServedNRCell_Information_H_ + + +#include + +/* Including external dependencies */ +#include "NRFreqInfo.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TDD-InfoNeighbourServedNRCell-Information */ +typedef struct TDD_InfoNeighbourServedNRCell_Information { + NRFreqInfo_t nRFreqInfo; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_InfoNeighbourServedNRCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TDD_InfoNeighbourServedNRCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoNeighbourServedNRCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_TDD_InfoNeighbourServedNRCell_Information_1[2]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TDD_InfoNeighbourServedNRCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.o b/asn1c_defs/all-defs/TDD-InfoNeighbourServedNRCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..38a9a5f5ccdbf797199a1ca4cd9fb879386d594e GIT binary patch literal 3136 zcmb_e&2G~`5T4Zhl>%+~kwCo|35kG+iAx0qB;=B&1q5km>DhH$w~a{bVsEN)p?L$Y zTsZIseFPqXE8->K31DWuTW>aT)wGPX-kERao1Oj1ZuY9L7e)#NkWzqWkXaH1aLy?@ zR~?vuadO}h=UKb)6lGz zs=F)*6WrAVV6jqpVis2$osf0RN7js0F4-M!*`MrLt2|@bcT$}43jPdSd!whK zEQ0}h^{LMQBMVYA14kGn2AuALONbO;6ine!nFgHgi{B9O(qRhao4{`gyEo6MKzlm_ z&i4YsGT=fEKGui-L}XH#mpmh5xX=@Q(Ew99_f6<7 ztx^T4xIX^QSnM@JmQLjP@(>eAC%;m!48cjZ17Dp(E&K7yEvUy4i~Oi{a1&IbkYR~I z?9NUiUT1!+}W?ln(7N`A| z)L5{~z*_g12Ua6Vz=|U>DAKlO(F|H1cax@>Rx9#70y#zYDb)tckJ{}3&z}`WEU*@9 ztEGf_{(GwQWHN8(ZwhB^>Qq~GKIhuW*qDpUylR;ct6ANkz{zXLTm6PMk^REN$ zhg>_@2$OXZMlvV(w7;t8{5^C^OpR;zO(^y1v1AVl-4@`4=r3X1I5vI#=pTfBb`gRu ZZ3@aSZ9vV$w|y{wU+mv!o+bO}{C}tpDQW-! literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.c b/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.c new file mode 100755 index 0000000..857791e --- /dev/null +++ b/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TDD-InfoServedNRCell-Information.h" + +#include "ProtocolExtensionContainer.h" +asn_TYPE_member_t asn_MBR_TDD_InfoServedNRCell_Information_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoServedNRCell_Information, nRFreqInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRFreqInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRFreqInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct TDD_InfoServedNRCell_Information, nR_TxBW), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NR_TxBW, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nR-TxBW" + }, + { ATF_POINTER, 1, offsetof(struct TDD_InfoServedNRCell_Information, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P95, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TDD_InfoServedNRCell_Information_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_TDD_InfoServedNRCell_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TDD_InfoServedNRCell_Information_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRFreqInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nR-TxBW */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoServedNRCell_Information_specs_1 = { + sizeof(struct TDD_InfoServedNRCell_Information), + offsetof(struct TDD_InfoServedNRCell_Information, _asn_ctx), + asn_MAP_TDD_InfoServedNRCell_Information_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TDD_InfoServedNRCell_Information_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TDD_InfoServedNRCell_Information = { + "TDD-InfoServedNRCell-Information", + "TDD-InfoServedNRCell-Information", + &asn_OP_SEQUENCE, + asn_DEF_TDD_InfoServedNRCell_Information_tags_1, + sizeof(asn_DEF_TDD_InfoServedNRCell_Information_tags_1) + /sizeof(asn_DEF_TDD_InfoServedNRCell_Information_tags_1[0]), /* 1 */ + asn_DEF_TDD_InfoServedNRCell_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_TDD_InfoServedNRCell_Information_tags_1) + /sizeof(asn_DEF_TDD_InfoServedNRCell_Information_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TDD_InfoServedNRCell_Information_1, + 3, /* Elements count */ + &asn_SPC_TDD_InfoServedNRCell_Information_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.h b/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.h new file mode 100755 index 0000000..69237d0 --- /dev/null +++ b/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TDD_InfoServedNRCell_Information_H_ +#define _TDD_InfoServedNRCell_Information_H_ + + +#include + +/* Including external dependencies */ +#include "NRFreqInfo.h" +#include "NR-TxBW.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TDD-InfoServedNRCell-Information */ +typedef struct TDD_InfoServedNRCell_Information { + NRFreqInfo_t nRFreqInfo; + NR_TxBW_t nR_TxBW; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TDD_InfoServedNRCell_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TDD_InfoServedNRCell_Information; +extern asn_SEQUENCE_specifics_t asn_SPC_TDD_InfoServedNRCell_Information_specs_1; +extern asn_TYPE_member_t asn_MBR_TDD_InfoServedNRCell_Information_1[3]; + +#ifdef __cplusplus +} +#endif + +#endif /* _TDD_InfoServedNRCell_Information_H_ */ +#include diff --git a/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.o b/asn1c_defs/all-defs/TDD-InfoServedNRCell-Information.o new file mode 100644 index 0000000000000000000000000000000000000000..a436362e9cd98b995e0a9e83897433ce24894974 GIT binary patch literal 3280 zcmb_eOK;Oa5Z=^0T3$_g35iQ8ArT~E)uo645;9HG76c)rt+?U3sc9<`o7!$wF0@<_ zH#qi3aNxp$8$Y4HfEyAg1it`gHaqoXIi9{n* zh^^j4wxwu`tmqfhV`GH}{)=GB3s=4QO0DEI8WISbZoCxuiPym-Jr`Z?7S-t1u>;-% zeSd*=Fxhw4EO;D)c35$7{@6Z3J8_6{Ayg`T26U74=yj#_&~b9XnsUNgkPqTG2X134 z-LH*@-ZJhi;nxb&YopJ^Qn^rGi#3f79$tT$HC z92zmLYb_i?b|uW^i1?Gb=0;nlNeH7YV~(d+!GICc$Ph<6;46S+M4uQ^J>1g}$2;t& zl|6Nk-#dkmsE+nHePrIo4Y?X^kW>tDsuKjn5GOnEFMtfNc`Yi7@4&Mi)>%xtEXRJK#z}@HQcb^2*-RH#aLgZM| z{_*|lp6rLc#(q44CJnHcgk&a9s?JpT=}fs&Dhm>vIvlAubeH_NmF;M4_iS4eo2r&} zH;rC-b)IM?Io(vu3XF)Sob+lK#6dl1Y#;ej;Kz`l7dpk^8&>u9&9>bH%gJ_~5cFK> zIPDR{Nyb2z@B@T6?rPdsc?5xUe6j^gd_c*_stiBN@L7hRV>sQd82>!Ox0pRYeZLug zf!XIV01z^?r;|C!@QY}mXoKNsPdV|rQ4Dm^>qGa7Fr(Ma*qs9&hb_KHQtYk8!kl+w zSD15AB+M{C1uZSJ2&&g`Wj9KiYBqwpi=cEN-g32sSr3{`4>qgm2eD^PRAvfM?ABkZ z$^8er48B+ze5W|sTw$^*<2Et~5@PyGU~gNr3%dVR=*BfTsQ-2F#hAm;IN3_U{5bLT zM%;#$mj4FeNbj|Ta}rHHcR|Fr#!et9eNzRkD*w}f;_FA_)Bbt_SlakG^^-v7QU--j zjs(RY0#6%1s|F%}93Nj1eS8Nn9H0M_fGTDcP(+1Mj>#x4Ktq4M{+r5w5RDk2EfVon zB~zZV6Fy&+Kdvt)@*}4<{~yBb98CZK literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TargetCellInUTRAN.c b/asn1c_defs/all-defs/TargetCellInUTRAN.c new file mode 100755 index 0000000..e2827be --- /dev/null +++ b/asn1c_defs/all-defs/TargetCellInUTRAN.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TargetCellInUTRAN.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_TargetCellInUTRAN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TargetCellInUTRAN = { + "TargetCellInUTRAN", + "TargetCellInUTRAN", + &asn_OP_OCTET_STRING, + asn_DEF_TargetCellInUTRAN_tags_1, + sizeof(asn_DEF_TargetCellInUTRAN_tags_1) + /sizeof(asn_DEF_TargetCellInUTRAN_tags_1[0]), /* 1 */ + asn_DEF_TargetCellInUTRAN_tags_1, /* Same as above */ + sizeof(asn_DEF_TargetCellInUTRAN_tags_1) + /sizeof(asn_DEF_TargetCellInUTRAN_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TargetCellInUTRAN.h b/asn1c_defs/all-defs/TargetCellInUTRAN.h new file mode 100755 index 0000000..1026923 --- /dev/null +++ b/asn1c_defs/all-defs/TargetCellInUTRAN.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TargetCellInUTRAN_H_ +#define _TargetCellInUTRAN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TargetCellInUTRAN */ +typedef OCTET_STRING_t TargetCellInUTRAN_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TargetCellInUTRAN; +asn_struct_free_f TargetCellInUTRAN_free; +asn_struct_print_f TargetCellInUTRAN_print; +asn_constr_check_f TargetCellInUTRAN_constraint; +ber_type_decoder_f TargetCellInUTRAN_decode_ber; +der_type_encoder_f TargetCellInUTRAN_encode_der; +xer_type_decoder_f TargetCellInUTRAN_decode_xer; +xer_type_encoder_f TargetCellInUTRAN_encode_xer; +per_type_decoder_f TargetCellInUTRAN_decode_uper; +per_type_encoder_f TargetCellInUTRAN_encode_uper; +per_type_decoder_f TargetCellInUTRAN_decode_aper; +per_type_encoder_f TargetCellInUTRAN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TargetCellInUTRAN_H_ */ +#include diff --git a/asn1c_defs/all-defs/TargetCellInUTRAN.o b/asn1c_defs/all-defs/TargetCellInUTRAN.o new file mode 100644 index 0000000000000000000000000000000000000000..b2b9aab4013054a32687b84126c109a3779e7370 GIT binary patch literal 1880 zcmbVM&2G~`5T4Y9^3x)URH+h|aH2?b6{D&}AXP>t4Mix8Qs>0M*|=6xHL+2=k>FCE zgE#1-aNuRQaf2Cq*BQ39RCT0ezWL^xne1fk@9j@VD~$#iYrr8aBf|o0uP(8dLk~7! z9RfKY$I6eV)8k|i^xt)tvKt|LmL1=y35p(*u;cr0nmdEhB2kOxf!GtRU3Za3?xp)$ zwDyGiqTp-W()?BU{kKZsRBi^qft4yb@=guUmdO+j++k4xx6n0Ut>k&7!}wBwz=8Wb zEU^RkN^HPBf=xDeq7yyz`A&^c`?DJUvWCBYK|};HOTzcvTrjbMfl%xjn;x zIQt3mxQJo9{yFC8f4FV^ORS}yukgdo)4>x?A~y4lCmmsX{t!8`N#V-xW{C>$79Bn7 zUJ)+8b;B#oJU~zPlg>(J?%_woG~a$R{Ui|@e~(nfeI%*AMM-AAG^YJ1jl{J literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.c b/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.c new file mode 100755 index 0000000..d3185c3 --- /dev/null +++ b/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TargeteNBtoSource-eNBTransparentContainer.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TargeteNBtoSource_eNBTransparentContainer = { + "TargeteNBtoSource-eNBTransparentContainer", + "TargeteNBtoSource-eNBTransparentContainer", + &asn_OP_OCTET_STRING, + asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1, + sizeof(asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1) + /sizeof(asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1[0]), /* 1 */ + asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1) + /sizeof(asn_DEF_TargeteNBtoSource_eNBTransparentContainer_tags_1[0]), /* 1 */ + { 0, 0, OCTET_STRING_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.h b/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.h new file mode 100755 index 0000000..1775c2b --- /dev/null +++ b/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TargeteNBtoSource_eNBTransparentContainer_H_ +#define _TargeteNBtoSource_eNBTransparentContainer_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TargeteNBtoSource-eNBTransparentContainer */ +typedef OCTET_STRING_t TargeteNBtoSource_eNBTransparentContainer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TargeteNBtoSource_eNBTransparentContainer; +asn_struct_free_f TargeteNBtoSource_eNBTransparentContainer_free; +asn_struct_print_f TargeteNBtoSource_eNBTransparentContainer_print; +asn_constr_check_f TargeteNBtoSource_eNBTransparentContainer_constraint; +ber_type_decoder_f TargeteNBtoSource_eNBTransparentContainer_decode_ber; +der_type_encoder_f TargeteNBtoSource_eNBTransparentContainer_encode_der; +xer_type_decoder_f TargeteNBtoSource_eNBTransparentContainer_decode_xer; +xer_type_encoder_f TargeteNBtoSource_eNBTransparentContainer_encode_xer; +per_type_decoder_f TargeteNBtoSource_eNBTransparentContainer_decode_uper; +per_type_encoder_f TargeteNBtoSource_eNBTransparentContainer_encode_uper; +per_type_decoder_f TargeteNBtoSource_eNBTransparentContainer_decode_aper; +per_type_encoder_f TargeteNBtoSource_eNBTransparentContainer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TargeteNBtoSource_eNBTransparentContainer_H_ */ +#include diff --git a/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.o b/asn1c_defs/all-defs/TargeteNBtoSource-eNBTransparentContainer.o new file mode 100644 index 0000000000000000000000000000000000000000..301da2e3a202ef07b741f1c7d1dea1d67c32edc0 GIT binary patch literal 1984 zcmbVM&2G~`5T4ZKzeVk>5|?nIAhL>4B`T1Rg-HVlrB&meIGBxb;|gL|_C|sWz z4m=0%!HokKo&aX-U1wNqsqIMieDlrE?vBU%dGKm)rPBc;9e4su%dh~8)g|^y=)pRy zK_K&Ktm4sAm5sA`9>qPxK`ztcROWH2{47=SB#rZB`niz37u!B-u?-3w`u?Nt_R(aX zs(JUJ*b)7nJ1;Hwle;VWJHowN@vUWP{Z;t=rzyZ`>>PjtD^20ZJ1snGHj8lJ60<7U zL)C#RHP160#@7J|9Jt2K8ar^c#s(ZC*ktP_+VKT-*;5m!^|u!OdkcT|0TL0&A`PDn z_QL;$E^HaPP|0Z#y5~D}=&-lRq zCp;`pl%}KqcPRFsd1@9@o}c) z1O%R~(uqMT{-8j-l}dt`6a|PpBZDGcv5RK>UY2e`#tS0KW;47AK%|+9#c*`gE0m1h z@kK9=Z(%B(;j&f2vutBhESKA85NH319uH#J&cA~``VJS(zmK_8^8r3wJZ;?LBx3W; z%|0luY5xo4Ns>y{?{1AM@E8@{8D3@9??fNyt7fjFruj7Mn>l=m9IbEPa6geF;rCIK zeTXFG_sPlRm&Vi|F6P`uzecCQJZ`IrY>1^Wd+$`oname, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 97)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Threshold_RSRP_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 97 } /* (0..97) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Threshold_RSRP_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Threshold_RSRP = { + "Threshold-RSRP", + "Threshold-RSRP", + &asn_OP_NativeInteger, + asn_DEF_Threshold_RSRP_tags_1, + sizeof(asn_DEF_Threshold_RSRP_tags_1) + /sizeof(asn_DEF_Threshold_RSRP_tags_1[0]), /* 1 */ + asn_DEF_Threshold_RSRP_tags_1, /* Same as above */ + sizeof(asn_DEF_Threshold_RSRP_tags_1) + /sizeof(asn_DEF_Threshold_RSRP_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Threshold_RSRP_constr_1, Threshold_RSRP_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Threshold-RSRP.h b/asn1c_defs/all-defs/Threshold-RSRP.h new file mode 100755 index 0000000..6bf920b --- /dev/null +++ b/asn1c_defs/all-defs/Threshold-RSRP.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Threshold_RSRP_H_ +#define _Threshold_RSRP_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Threshold-RSRP */ +typedef long Threshold_RSRP_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Threshold_RSRP_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Threshold_RSRP; +asn_struct_free_f Threshold_RSRP_free; +asn_struct_print_f Threshold_RSRP_print; +asn_constr_check_f Threshold_RSRP_constraint; +ber_type_decoder_f Threshold_RSRP_decode_ber; +der_type_encoder_f Threshold_RSRP_encode_der; +xer_type_decoder_f Threshold_RSRP_decode_xer; +xer_type_encoder_f Threshold_RSRP_encode_xer; +per_type_decoder_f Threshold_RSRP_decode_uper; +per_type_encoder_f Threshold_RSRP_encode_uper; +per_type_decoder_f Threshold_RSRP_decode_aper; +per_type_encoder_f Threshold_RSRP_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Threshold_RSRP_H_ */ +#include diff --git a/asn1c_defs/all-defs/Threshold-RSRP.o b/asn1c_defs/all-defs/Threshold-RSRP.o new file mode 100644 index 0000000000000000000000000000000000000000..2d4fb4309f68256980bd443364aed164c9a5ecbb GIT binary patch literal 2816 zcmbVOOK%iM5U%wkcmrlxJ2_Yak+}f26gNAFD3%Xok!=`DD`T05k{~gRcgJ3neONoQ z7UU3+j1Mc6h@ZeQ%3sLE5{KmMQ>0vShYLC6gfLY-RpWMhEFsF8sj9EO>h7to?)BsO z+O?rV0YnOL1@=8b0d|h<+f{8=VHC>XZ~uRDVX*5D{z~S&fBda0;il(r@BXoel3eh& zUKeZ6hHJl^q?89|{nYRW|M`P={@_n<=jz_>cRvjNzWegjmrsb3<-XFnDIbS;Fvhvw z?yHwXWEny|%#UECL&Kr9kQmUBrcxKfxZ~A>Mzk7V3|p-!ZQN@1qPW>@HKvwtE-$G% zoQr4N&9K#v+)g)f*VZ?qjyr+ixyGc9)w`WI>4oc^#9a;7TTvs69vte(g?wPZ-YeVx zz+s?B#Ot%OGw#Igm3}AbyWgnGsxsyEwdeipO{>afgz=$}~B2orM@ea9#8CU?)A+zthB@Gnms z94Sv6_%sj3QH*9c7>@2V13+^Op8|ZAf#yt(foB9X95`XRneD(xW{XkL#^H5-t?^@7 zt%X0sxcH`a;JE2(`&)dE8THhAhS>M`j2hqD)NFta)Md6!wT;fGQU4_g9&C3!Ie5H+ zx%q2B76|A_1xdIT2Og-}Y=vHz=;eV$+CNoC45Q&2OTl88;E`PDB+**b)8Nwla*#aQ zi0paOA#vtZCRo$GLc8%cy*lj=f`@36*!*@1YrKTE@EO(>r!GtP3)1t4KJ~qc zORWi~UK1H-gYf^&7NWH_oe;NaH=Bq+rUFIWupMB~9ny1LV?B99D?VD?d zdD%H)-(@X|?pqqu&M(tsIby@q*MwcNxRNjZBw<; zFrjJXyOw_g{k-~baQ%N{KGmQ8PmuLX{qG@0Qyu7W;xS;}=LjGAC0Rv`@+%ZHWQ6l+ ze@v0@7Tv|5*d}k5}i8gQ6|pFYseD^6EFv2SVyZ^`rYx@&%{$*mENU tPZ<1{7kmmax?k*ky1VSXM+ok7;eRK`5c~T_F_xEK;r0J&7PtTa literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Threshold-RSRQ.c b/asn1c_defs/all-defs/Threshold-RSRQ.c new file mode 100755 index 0000000..ae39e3b --- /dev/null +++ b/asn1c_defs/all-defs/Threshold-RSRQ.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Threshold-RSRQ.h" + +int +Threshold_RSRQ_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 34)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Threshold_RSRQ_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 34 } /* (0..34) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Threshold_RSRQ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Threshold_RSRQ = { + "Threshold-RSRQ", + "Threshold-RSRQ", + &asn_OP_NativeInteger, + asn_DEF_Threshold_RSRQ_tags_1, + sizeof(asn_DEF_Threshold_RSRQ_tags_1) + /sizeof(asn_DEF_Threshold_RSRQ_tags_1[0]), /* 1 */ + asn_DEF_Threshold_RSRQ_tags_1, /* Same as above */ + sizeof(asn_DEF_Threshold_RSRQ_tags_1) + /sizeof(asn_DEF_Threshold_RSRQ_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Threshold_RSRQ_constr_1, Threshold_RSRQ_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Threshold-RSRQ.h b/asn1c_defs/all-defs/Threshold-RSRQ.h new file mode 100755 index 0000000..db0ce6a --- /dev/null +++ b/asn1c_defs/all-defs/Threshold-RSRQ.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Threshold_RSRQ_H_ +#define _Threshold_RSRQ_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Threshold-RSRQ */ +typedef long Threshold_RSRQ_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Threshold_RSRQ_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Threshold_RSRQ; +asn_struct_free_f Threshold_RSRQ_free; +asn_struct_print_f Threshold_RSRQ_print; +asn_constr_check_f Threshold_RSRQ_constraint; +ber_type_decoder_f Threshold_RSRQ_decode_ber; +der_type_encoder_f Threshold_RSRQ_encode_der; +xer_type_decoder_f Threshold_RSRQ_decode_xer; +xer_type_encoder_f Threshold_RSRQ_encode_xer; +per_type_decoder_f Threshold_RSRQ_decode_uper; +per_type_encoder_f Threshold_RSRQ_encode_uper; +per_type_decoder_f Threshold_RSRQ_decode_aper; +per_type_encoder_f Threshold_RSRQ_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Threshold_RSRQ_H_ */ +#include diff --git a/asn1c_defs/all-defs/Threshold-RSRQ.o b/asn1c_defs/all-defs/Threshold-RSRQ.o new file mode 100644 index 0000000000000000000000000000000000000000..e277775725df265c2d36202ad2c857a9430791d9 GIT binary patch literal 2816 zcmbVN&2JM|5FckLF_0Q3aEJt=D`py!+__0l`Nw1=LmrZaD6HZLz533Vdx%>3pz@6DU{k!N$Y z8$*Qxh!o%|?0JF$Y#-gTtJD3rn9`uq0$V8L^K#yHp8 zdHGslB zsty<8X?G)R^&_{_P2APBji}>JAb6p1QOD}tPMq|@wNB!$glny+kwy0pb!Z_U7_j%s z_CIhKC=&7J%*?bqad)}jN&4=W>WZpNdVTGA-+NQ4az%L;Qyfn7z=iLYpzx$zI5RR_ z`~fHb9PzUp>yw@>l{beTl*Vf%_v_O5^-_7}c&X^0SkMR)a}=%P2>hA5XHM=31#s{$ zPaGU6PaOCt55`gK)0EO27(T!sL!8y#2vqAXY=>w4ZZM zN%SNE)d-Ui)N&ky>UGH>x~Hc0ySUvtM-$MJD5!e3-Htjq5WcRFy18(7GETz!W9CQA zV5JwfqpYa^Z@8FBy|Qn76)_UI52<(X?4Q8^-TA5zSeNL0y_k}o*bW6zBc tJZJECF8Cy3^uE~n^mf^Mj}ScM#{W!?A@=%5F_xEK;rd@2xn$b;{{eyF7C!(0 literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.c b/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.c new file mode 100755 index 0000000..3708f2e --- /dev/null +++ b/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Time-UE-StayedInCell-EnhancedGranularity.h" + +int +Time_UE_StayedInCell_EnhancedGranularity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 40950)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_Time_UE_StayedInCell_EnhancedGranularity_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 40950 } /* (0..40950) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell_EnhancedGranularity = { + "Time-UE-StayedInCell-EnhancedGranularity", + "Time-UE-StayedInCell-EnhancedGranularity", + &asn_OP_NativeInteger, + asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1, + sizeof(asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1) + /sizeof(asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1[0]), /* 1 */ + asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1, /* Same as above */ + sizeof(asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1) + /sizeof(asn_DEF_Time_UE_StayedInCell_EnhancedGranularity_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Time_UE_StayedInCell_EnhancedGranularity_constr_1, Time_UE_StayedInCell_EnhancedGranularity_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.h b/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.h new file mode 100755 index 0000000..8eaa2d4 --- /dev/null +++ b/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Time_UE_StayedInCell_EnhancedGranularity_H_ +#define _Time_UE_StayedInCell_EnhancedGranularity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Time-UE-StayedInCell-EnhancedGranularity */ +typedef long Time_UE_StayedInCell_EnhancedGranularity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell_EnhancedGranularity; +asn_struct_free_f Time_UE_StayedInCell_EnhancedGranularity_free; +asn_struct_print_f Time_UE_StayedInCell_EnhancedGranularity_print; +asn_constr_check_f Time_UE_StayedInCell_EnhancedGranularity_constraint; +ber_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_ber; +der_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_der; +xer_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_xer; +xer_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_xer; +per_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_uper; +per_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_uper; +per_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_aper; +per_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Time_UE_StayedInCell_EnhancedGranularity_H_ */ +#include diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.o b/asn1c_defs/all-defs/Time-UE-StayedInCell-EnhancedGranularity.o new file mode 100644 index 0000000000000000000000000000000000000000..6a38682061ba9d9107484d5a425571fc3e925868 GIT binary patch literal 2976 zcmbVN&u7? zdMHJdgH?h0AGA_0Tq;#PRq7>DrMAZ^r%Ju_)C;Imd*D9}IrG`s2ZO%CH|1 z|I)<78Ti)^5z*gz^pie68Af0#(%*s^hG7H)K{57=X3kHDIP&XZL$1arM7v$m%B5CE zmX@ofi%M+B#zIt)uu_ehBC5;Ad{0FEw&=Cg2CviRyCtw=@vOHl+I{IoUFEH{)@9^P z0(h)(T(8x;QLK8R6)A63wA!+fuD<9o(ls}iuAMr*L>a^N`ATKhn_OP$N2>3g;xl}@ zK!UFc3vT>mKTWSs0$i{aD&oOy6`FodeJ10ol!~w+aTWEVYSc3fz_jLJ1 zJS;<8*asiPPCCAZf78KD{AQmrtY`7>ki)FQH#{?6BEB2{COI@6zUSEI!Opt>A|>=8 z`Q!a#*EI2)`~MIyJnETu9PCK~%=ZK!Ev~%^DDtP1<#e1PKIX?3^W0|c!lKb_zbkG) zwCMVNMts-Z@B@2O(9QE3_%uu{^IiS fOYG(zAoeL;^px|!j;Z&|;{QtVKfui_arsXH8Ny?E literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell.c b/asn1c_defs/all-defs/Time-UE-StayedInCell.c new file mode 100755 index 0000000..0758089 --- /dev/null +++ b/asn1c_defs/all-defs/Time-UE-StayedInCell.c @@ -0,0 +1,61 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Time-UE-StayedInCell.h" + +int +Time_UE_StayedInCell_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0 && value <= 4095)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Time_UE_StayedInCell_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Time_UE_StayedInCell_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell = { + "Time-UE-StayedInCell", + "Time-UE-StayedInCell", + &asn_OP_NativeInteger, + asn_DEF_Time_UE_StayedInCell_tags_1, + sizeof(asn_DEF_Time_UE_StayedInCell_tags_1) + /sizeof(asn_DEF_Time_UE_StayedInCell_tags_1[0]), /* 1 */ + asn_DEF_Time_UE_StayedInCell_tags_1, /* Same as above */ + sizeof(asn_DEF_Time_UE_StayedInCell_tags_1) + /sizeof(asn_DEF_Time_UE_StayedInCell_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Time_UE_StayedInCell_constr_1, Time_UE_StayedInCell_constraint }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell.h b/asn1c_defs/all-defs/Time-UE-StayedInCell.h new file mode 100755 index 0000000..a0036cd --- /dev/null +++ b/asn1c_defs/all-defs/Time-UE-StayedInCell.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Time_UE_StayedInCell_H_ +#define _Time_UE_StayedInCell_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Time-UE-StayedInCell */ +typedef long Time_UE_StayedInCell_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Time_UE_StayedInCell_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell; +asn_struct_free_f Time_UE_StayedInCell_free; +asn_struct_print_f Time_UE_StayedInCell_print; +asn_constr_check_f Time_UE_StayedInCell_constraint; +ber_type_decoder_f Time_UE_StayedInCell_decode_ber; +der_type_encoder_f Time_UE_StayedInCell_encode_der; +xer_type_decoder_f Time_UE_StayedInCell_decode_xer; +xer_type_encoder_f Time_UE_StayedInCell_encode_xer; +per_type_decoder_f Time_UE_StayedInCell_decode_uper; +per_type_encoder_f Time_UE_StayedInCell_encode_uper; +per_type_decoder_f Time_UE_StayedInCell_decode_aper; +per_type_encoder_f Time_UE_StayedInCell_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Time_UE_StayedInCell_H_ */ +#include diff --git a/asn1c_defs/all-defs/Time-UE-StayedInCell.o b/asn1c_defs/all-defs/Time-UE-StayedInCell.o new file mode 100644 index 0000000000000000000000000000000000000000..ca7a4874f02aaaea7e61457fcf3bc6567ae0ad3e GIT binary patch literal 2840 zcmbVO&2Jl35Fclu32ktlltZK<*h^_D@T<3qL=>UOk>hkDtTbvHgg|1uu{R&By++=3 z)Nr7nQmGaK@ed$zxw*V#5CzFe-{9}CMft+M+;d1k3xX`C)kG|#MQgdGbQeaB1iSK*#H zg(noi!M`GMFjEmZ@NyB1S&YMOcsMX_Xqh;JtOT#*xVe&J;JE_|4xBO7Tz2$H&Q&eE zr{BlxT+;Zdyw?)7!no)rci^&{=I@bt^DG-FhjRu_6Hf5Zz-c}S-ZSvBfitXkf==H8 z1NvT~O!vXWWe*6SW?y1-9*GD)I+Xyk8affhP^Hn`6jUcnLr|MZ0&37Fh1@+g|GbJ@uVb_WN@4}o?)Q38jEQjGM(XO? zMm0&p_8s<*c7m-z*o*R_{=eX2sPx>-QfEc(iP+2@5q2IQngw-yOq%7Ze2YOk1GJ9p zv+UnnjN23K5#mJo{mRsQUs%<1m~z_j6X$rqv=_xMvcoki zUgCt`{}kGa;(f0FTO*c4JN`c- CgeT(w literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TimeStamp.c b/asn1c_defs/all-defs/TimeStamp.c new file mode 100755 index 0000000..28082db --- /dev/null +++ b/asn1c_defs/all-defs/TimeStamp.c @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TimeStamp.h" + +int +TimeStamp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_TimeStamp_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TimeStamp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeStamp = { + "TimeStamp", + "TimeStamp", + &asn_OP_OCTET_STRING, + asn_DEF_TimeStamp_tags_1, + sizeof(asn_DEF_TimeStamp_tags_1) + /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */ + asn_DEF_TimeStamp_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeStamp_tags_1) + /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TimeStamp_constr_1, TimeStamp_constraint }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TimeStamp.h b/asn1c_defs/all-defs/TimeStamp.h new file mode 100755 index 0000000..f80ea62 --- /dev/null +++ b/asn1c_defs/all-defs/TimeStamp.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TimeStamp_H_ +#define _TimeStamp_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TimeStamp */ +typedef OCTET_STRING_t TimeStamp_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TimeStamp_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TimeStamp; +asn_struct_free_f TimeStamp_free; +asn_struct_print_f TimeStamp_print; +asn_constr_check_f TimeStamp_constraint; +ber_type_decoder_f TimeStamp_decode_ber; +der_type_encoder_f TimeStamp_encode_der; +xer_type_decoder_f TimeStamp_decode_xer; +xer_type_encoder_f TimeStamp_encode_xer; +per_type_decoder_f TimeStamp_decode_uper; +per_type_encoder_f TimeStamp_encode_uper; +per_type_decoder_f TimeStamp_decode_aper; +per_type_encoder_f TimeStamp_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TimeStamp_H_ */ +#include diff --git a/asn1c_defs/all-defs/TimeStamp.o b/asn1c_defs/all-defs/TimeStamp.o new file mode 100644 index 0000000000000000000000000000000000000000..b379830c6dff0566260ea5888f3fb29f5d8d855d GIT binary patch literal 2832 zcmbtVPj4Gl5FcluG5zB@Er&=&>Po035oGIai>PuyuIw~hWF=POq6!e3jkB&({3pt; ztCmBH6nd}_sNaK+z$Fq$a6~yF@dc2`1rCS4h)Xpzyd{xO8^9_yUu^ zhxl7OHzHXtmG`Fn(rlw-e_WcqT`Jd3mx{}0RusaHIfB09HTWxc&#c@N2w>qaZ&(;9 zZ&>hp9*j}6!>oB&Fs)gMO6Rr!Z=|@M$wH(?r_x%B ze}!?eb!owA-BkMf_`aakQ|%dIAK^2jeQ#HJ1AK;3ofWo4?4UBE)xXITFHq+BLweTn z#^8q~e16!YWYLFBvOG-?%kU8k3uas2EK9VaVfwdt?cT1zc|y|s3CWm#d(r8Pf( zvJ+}~k~o-&mayKeO_2O(Cu~Q_hs^W$P`{vE`Y&lIN7pr+&Vt~9hU@-)4KHc_46B`> z)3?Zg^dY(rIxaOO`~v%um}Q;t>{J5Goq$(0{37clJPnsz1Z`-z^Z63?}q~n zge^C8mRIgAL~+pmg8jp;-`NfNA+PaOgpFj`3q4Mi4Y@xur`L|KOZZTasN$oKB462745wGce(!i>`(QlZZGSX`hSiXrJ6Y7X#c_a z_5P3Wv45TpV&qz(No^c5pY}%|3@Z-dLwp3&{btPt@ucbdHSe)aCmHeuhe3 z{pP4S;gC8}{iyE=UvOHFnHwS4VDMjF@Oi}O?wEY)Y3AM|1oye{-;<#Y^ZRFTE{|X3 M^?#>vNj3TZ1G+U7n*aa+ literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TimeToWait.c b/asn1c_defs/all-defs/TimeToWait.c new file mode 100755 index 0000000..6e7e8e3 --- /dev/null +++ b/asn1c_defs/all-defs/TimeToWait.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TimeToWait.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_per_constraints_t asn_PER_type_TimeToWait_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_TimeToWait_value2enum_1[] = { + { 0, 3, "v1s" }, + { 1, 3, "v2s" }, + { 2, 3, "v5s" }, + { 3, 4, "v10s" }, + { 4, 4, "v20s" }, + { 5, 4, "v60s" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TimeToWait_enum2value_1[] = { + 3, /* v10s(3) */ + 0, /* v1s(0) */ + 4, /* v20s(4) */ + 1, /* v2s(1) */ + 2, /* v5s(2) */ + 5 /* v60s(5) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_TimeToWait_specs_1 = { + asn_MAP_TimeToWait_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TimeToWait_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TimeToWait_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeToWait = { + "TimeToWait", + "TimeToWait", + &asn_OP_NativeEnumerated, + asn_DEF_TimeToWait_tags_1, + sizeof(asn_DEF_TimeToWait_tags_1) + /sizeof(asn_DEF_TimeToWait_tags_1[0]), /* 1 */ + asn_DEF_TimeToWait_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeToWait_tags_1) + /sizeof(asn_DEF_TimeToWait_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TimeToWait_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TimeToWait_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TimeToWait.h b/asn1c_defs/all-defs/TimeToWait.h new file mode 100755 index 0000000..2e7ca04 --- /dev/null +++ b/asn1c_defs/all-defs/TimeToWait.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TimeToWait_H_ +#define _TimeToWait_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TimeToWait { + TimeToWait_v1s = 0, + TimeToWait_v2s = 1, + TimeToWait_v5s = 2, + TimeToWait_v10s = 3, + TimeToWait_v20s = 4, + TimeToWait_v60s = 5 + /* + * Enumeration is extensible + */ +} e_TimeToWait; + +/* TimeToWait */ +typedef long TimeToWait_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TimeToWait; +asn_struct_free_f TimeToWait_free; +asn_struct_print_f TimeToWait_print; +asn_constr_check_f TimeToWait_constraint; +ber_type_decoder_f TimeToWait_decode_ber; +der_type_encoder_f TimeToWait_encode_der; +xer_type_decoder_f TimeToWait_decode_xer; +xer_type_encoder_f TimeToWait_encode_xer; +per_type_decoder_f TimeToWait_decode_uper; +per_type_encoder_f TimeToWait_encode_uper; +per_type_decoder_f TimeToWait_decode_aper; +per_type_encoder_f TimeToWait_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TimeToWait_H_ */ +#include diff --git a/asn1c_defs/all-defs/TimeToWait.o b/asn1c_defs/all-defs/TimeToWait.o new file mode 100644 index 0000000000000000000000000000000000000000..bf742d83e5757d2152477abab6ddad6e549b1db0 GIT binary patch literal 2784 zcmbtW%}x|S5bkAA{N+avlIUT*=$go6XM;b{#EiiOHHsUAa4{K%VFIh{4B6@3$VE-` z0XXsiK7co`9J%SySMcZ)U{z1mPE!mC#!9-YzOSmftGjv@J~m&>4pl0OrJ^3G0x_#p zb)>L;WBO`LjjGdNJ2VVU(=^S%Aj=9~V8P1W@ z<}r@xN?AOguJDb5Suvf-IX*Y`yJGFzqLgQbKSM|<`&~HJI)eZ(996_KzXnDHc%O(J z(q9ZeqQ(hNl1AmI^A;*hN1ZDGSzkd3ZK90&aSX4D57UiQm?goJ=4?=q zfezQRz%!m!b0N^%Te0nq(j?Pe3V7X`v3=QA9C7Z;$1U5{4>x;pBTjl9N)>+eG)xfr z4_9T%dDRN$L*4GjO$d&=p^n!KzaA%Xw;csZ8syc5?L^ymfi}KV`?YWfCC_(>`~)VF zaNm%(yTk8A@;>Du&)+OkPc8lu*{D{?#`v;V!Msm#cKuin*WDsN#^ZT;tqsAC5&k6j z%Y=6Ye}(Wj!Cxc1FZk<(m78sMbhrvycXPeLmX6e!u|Uz*Bv7`@{{{!d?pbi7mi-M7WJfn{T?EqEWu z*>3^;K29Lqw;U-|WrOrh(AaaCza!!p%KdMH1GxqVkmmdwg6DkJKKRj=`|kmV!tX0b zN9%tG4*V_lIe_#eeUy8IFMvi0&x*p|-E**UfBw6OK9o8YSj*vH9v@h_u?(uL{uRpq zDdMXFF90s9|5r)0qbcM)$ qO1KDdcz3e?v%tyT1Ep$sDImXdHJIi8_*+_*ze^v~=Rsy}$o#)s^1#Ia literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TraceActivation.c b/asn1c_defs/all-defs/TraceActivation.c new file mode 100755 index 0000000..9381218 --- /dev/null +++ b/asn1c_defs/all-defs/TraceActivation.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TraceActivation.h" + +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_TraceActivation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation, eUTRANTraceID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EUTRANTraceID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eUTRANTraceID" + }, + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation, interfacesToTrace), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InterfacesToTrace, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "interfacesToTrace" + }, + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation, traceDepth), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TraceDepth, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "traceDepth" + }, + { ATF_NOFLAGS, 0, offsetof(struct TraceActivation, traceCollectionEntityIPAddress), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TraceCollectionEntityIPAddress, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "traceCollectionEntityIPAddress" + }, + { ATF_POINTER, 1, offsetof(struct TraceActivation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P207, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_TraceActivation_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_TraceActivation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TraceActivation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eUTRANTraceID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* interfacesToTrace */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* traceDepth */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* traceCollectionEntityIPAddress */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TraceActivation_specs_1 = { + sizeof(struct TraceActivation), + offsetof(struct TraceActivation, _asn_ctx), + asn_MAP_TraceActivation_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TraceActivation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TraceActivation = { + "TraceActivation", + "TraceActivation", + &asn_OP_SEQUENCE, + asn_DEF_TraceActivation_tags_1, + sizeof(asn_DEF_TraceActivation_tags_1) + /sizeof(asn_DEF_TraceActivation_tags_1[0]), /* 1 */ + asn_DEF_TraceActivation_tags_1, /* Same as above */ + sizeof(asn_DEF_TraceActivation_tags_1) + /sizeof(asn_DEF_TraceActivation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_TraceActivation_1, + 5, /* Elements count */ + &asn_SPC_TraceActivation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TraceActivation.h b/asn1c_defs/all-defs/TraceActivation.h new file mode 100755 index 0000000..fa3e5a4 --- /dev/null +++ b/asn1c_defs/all-defs/TraceActivation.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TraceActivation_H_ +#define _TraceActivation_H_ + + +#include + +/* Including external dependencies */ +#include "EUTRANTraceID.h" +#include "InterfacesToTrace.h" +#include "TraceDepth.h" +#include "TraceCollectionEntityIPAddress.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TraceActivation */ +typedef struct TraceActivation { + EUTRANTraceID_t eUTRANTraceID; + InterfacesToTrace_t interfacesToTrace; + TraceDepth_t traceDepth; + TraceCollectionEntityIPAddress_t traceCollectionEntityIPAddress; + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TraceActivation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TraceActivation; + +#ifdef __cplusplus +} +#endif + +#endif /* _TraceActivation_H_ */ +#include diff --git a/asn1c_defs/all-defs/TraceActivation.o b/asn1c_defs/all-defs/TraceActivation.o new file mode 100644 index 0000000000000000000000000000000000000000..2522ec24d4a6e83e7edb102a64febde92235b55b GIT binary patch literal 3600 zcmcImJ8u&~5Z++k&+tY<0#gwXIoSb;2qfg-91sNIfJCA*m&-vcoIB*(pilt$0|+`O z)6-DW(@-MOP}0#tM}uI#^^CpVJ0pR@NavaP=CwQf@-zS1rFBC?N@z%3P(4jhrG~fm znCnDW^6zXQ0sCahf*2J_yrzTZ1(Q*48d1N!G!IXyoWc*MssHQ*a zFY7qTC@$+||2xSYtE&&nwqcOr5BNH={UZ8<%U_#DC}QJ($a{x!V#(Heymu+*&Na-7 z^}_d(zCCN0mr@yeOTVvK26NY4_KS;42-e&ttd+z7M~`hE^ri#@6XvvD6yi13%{i#2 ztyWBDCr$iBH}&JGU}Ap09cOeJF4ybl$|JLLONm}8pY_gomC@>w(W+0Y<6h;AS3S|e zt>gtF#=2g8FWj@GzM1rbOMNr4aeHPqZqLxh^IhFb<{`C31?(n~V+P-#Rv3TBO}=LE zO^hm4=}PEx4;Q#){I`hOt@E7m8Ma7Ws3jUt5tYp9<}D?)Jr5F6QrmL)8$xzlyKaF! z-V-0rc`Nm40RD9V{&N6+kos4Y|KtGt<^bHi;JrwNS<;yFFEz}C-n;r6I=r7Xs>Xc% z;;o#yW4RsFbC&F39Cafnf}EWakHsxXUEq)|N_fGz%z$nLjobdsS%13jD-jwIy*qRc z>5=Nr$?to1r@mIcskZ z90&U}ZDym3%bEkn-6M2}1>igA3s}ed19I^z9oXPFvqBOFf82#DY`DuDxb;_|d-nq0 z$39>mSq6@I$+*8+_Ile5ga^&C#RawNohY zta?>a<5p%p7Z+pN_g<3f*tf9{2;saR|x}+ z+kX~FF9Wm)`v`AS&B7qA@>BPg3t?#RG^#gt) zB_8!LB)5KpFw}RZsmk1tJ7lw|Y%3(+rw{RN|Cc%bsN*m7xh?7u$ICdy{T0V!eQlCB z;m^n@vhDZYT~Icname, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 160)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_TraceCollectionEntityIPAddress_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 160 } /* (SIZE(1..160,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TraceCollectionEntityIPAddress_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TraceCollectionEntityIPAddress = { + "TraceCollectionEntityIPAddress", + "TraceCollectionEntityIPAddress", + &asn_OP_BIT_STRING, + asn_DEF_TraceCollectionEntityIPAddress_tags_1, + sizeof(asn_DEF_TraceCollectionEntityIPAddress_tags_1) + /sizeof(asn_DEF_TraceCollectionEntityIPAddress_tags_1[0]), /* 1 */ + asn_DEF_TraceCollectionEntityIPAddress_tags_1, /* Same as above */ + sizeof(asn_DEF_TraceCollectionEntityIPAddress_tags_1) + /sizeof(asn_DEF_TraceCollectionEntityIPAddress_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TraceCollectionEntityIPAddress_constr_1, TraceCollectionEntityIPAddress_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TraceCollectionEntityIPAddress.h b/asn1c_defs/all-defs/TraceCollectionEntityIPAddress.h new file mode 100755 index 0000000..8b597ff --- /dev/null +++ b/asn1c_defs/all-defs/TraceCollectionEntityIPAddress.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TraceCollectionEntityIPAddress_H_ +#define _TraceCollectionEntityIPAddress_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TraceCollectionEntityIPAddress */ +typedef BIT_STRING_t TraceCollectionEntityIPAddress_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TraceCollectionEntityIPAddress_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TraceCollectionEntityIPAddress; +asn_struct_free_f TraceCollectionEntityIPAddress_free; +asn_struct_print_f TraceCollectionEntityIPAddress_print; +asn_constr_check_f TraceCollectionEntityIPAddress_constraint; +ber_type_decoder_f TraceCollectionEntityIPAddress_decode_ber; +der_type_encoder_f TraceCollectionEntityIPAddress_encode_der; +xer_type_decoder_f TraceCollectionEntityIPAddress_decode_xer; +xer_type_encoder_f TraceCollectionEntityIPAddress_encode_xer; +per_type_decoder_f TraceCollectionEntityIPAddress_decode_uper; +per_type_encoder_f TraceCollectionEntityIPAddress_encode_uper; +per_type_decoder_f TraceCollectionEntityIPAddress_decode_aper; +per_type_encoder_f TraceCollectionEntityIPAddress_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TraceCollectionEntityIPAddress_H_ */ +#include diff --git a/asn1c_defs/all-defs/TraceCollectionEntityIPAddress.o b/asn1c_defs/all-defs/TraceCollectionEntityIPAddress.o new file mode 100644 index 0000000000000000000000000000000000000000..5ec30b0c7545146c55c2807b6f8e3ff344f87204 GIT binary patch literal 3032 zcmbVOO>7%g5FTesW18YREr&=&VudIqQnU3|k%)poPMx2%WKt_XZB?XhH}<-5aqP;w zE(r%J6e46rLA@Yxg99f{+_^*`BqTUgIaT67#T5>e18_iunYVA&FE87sWhB3u`QFUD zdGp?z^_}U`OkXMmOeuI1dK#kupZ53Uyb$v+2w8A8|6C|`cZ=O0!m6`1lXf4VQuwN~@mspI)nD3vj(l#u>_mdo{ln@0Ywwi0KTq!MUb))6|Ms`F6E98yY+cGa z+ef}5Z~Lc>U;3Sqd(Io5q3^q2lF?m#gQ=GpvW}#qwme+V+FM zs=(t7;7l-K-u4r7@BM}bI%Ydo(<{`C~O`Sg8 zpT3KWk0Jhooco0MR3^L8=VpdV8S_$RXfl&69LuC<2d?3GVPH<+(mavTevZJy#IrZz z)86lDfUzHtnt_p$$be^(V2nby>mV7RJSI8)67m#08yl-D844a7pkTm&s>ZSb;xuBN zgtE{M=D8&BqjAlJio;cjv#xRjj;X4UT^vs;^%Q4^SQmeT%6?abHNaQMvr<;sH>eCM z^^fuf`0Ek&hdeBNdH7u2sp%Q_@h{K~y&HjRgH|Q7? zx(kc*#kpC5l&9z2aQ&8lSd!6tm?mv%p681^+~?Z|}T1?RO0 zx~|~dYX~wWPW7Q*OjfYI8hXoMVV{lo3QKLj;aQ=-7J^mvLJzFvAONe~B8ALtYka?o z*GTvX1C)3ctV(Nj)o)@TZ1cV~JGV3%gkI$xY45MNwYInF$4UKv!9-W8t=@t1h!OGo zjI@Jq@ib0Q56ZKF64yKF1H_5=T}N8)Tv$Jg0>#w*bF^3j z>9CD9gz>#+7xur*faIJ%$H^m}c#wJkT9! zPxYs-3FpuCzlInsweOCj?nprWz94+y%T_~-{Bty^P)YjJ`KZMEX5PX{mQ}koJs~-% z+kPnhb#wOD?+@>v*Sdp3QvH6H_2W8G{iyG;KjV~-zBWSey#)W337 N; sorted by tag */ + asn_MAP_TraceDepth_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TraceDepth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TraceDepth = { + "TraceDepth", + "TraceDepth", + &asn_OP_NativeEnumerated, + asn_DEF_TraceDepth_tags_1, + sizeof(asn_DEF_TraceDepth_tags_1) + /sizeof(asn_DEF_TraceDepth_tags_1[0]), /* 1 */ + asn_DEF_TraceDepth_tags_1, /* Same as above */ + sizeof(asn_DEF_TraceDepth_tags_1) + /sizeof(asn_DEF_TraceDepth_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TraceDepth_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TraceDepth_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TraceDepth.h b/asn1c_defs/all-defs/TraceDepth.h new file mode 100755 index 0000000..03c142b --- /dev/null +++ b/asn1c_defs/all-defs/TraceDepth.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TraceDepth_H_ +#define _TraceDepth_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TraceDepth { + TraceDepth_minimum = 0, + TraceDepth_medium = 1, + TraceDepth_maximum = 2, + TraceDepth_minimumWithoutVendorSpecificExtension = 3, + TraceDepth_mediumWithoutVendorSpecificExtension = 4, + TraceDepth_maximumWithoutVendorSpecificExtension = 5 + /* + * Enumeration is extensible + */ +} e_TraceDepth; + +/* TraceDepth */ +typedef long TraceDepth_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TraceDepth_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TraceDepth; +extern const asn_INTEGER_specifics_t asn_SPC_TraceDepth_specs_1; +asn_struct_free_f TraceDepth_free; +asn_struct_print_f TraceDepth_print; +asn_constr_check_f TraceDepth_constraint; +ber_type_decoder_f TraceDepth_decode_ber; +der_type_encoder_f TraceDepth_encode_der; +xer_type_decoder_f TraceDepth_decode_xer; +xer_type_encoder_f TraceDepth_encode_xer; +per_type_decoder_f TraceDepth_decode_uper; +per_type_encoder_f TraceDepth_encode_uper; +per_type_decoder_f TraceDepth_decode_aper; +per_type_encoder_f TraceDepth_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TraceDepth_H_ */ +#include diff --git a/asn1c_defs/all-defs/TraceDepth.o b/asn1c_defs/all-defs/TraceDepth.o new file mode 100644 index 0000000000000000000000000000000000000000..faa92dd3ace737b0eadff7a7292ccf66268a74ad GIT binary patch literal 3008 zcmbtW%}x|S5bkAE@E6dF(aUNyu8B-`35i4#GX@rjQQUyYaT$h|9c5?8PA`F&sPPGi zUVH-M(Srw%96cH1$)i_~J^@zsRI$C4U5T-hnX2!rs_yFQo}ZW1`!fTDf?_GCJF0`2 zRcddrV+Ym@)QB2Z$H4aJvNYX}I$)o~q57JST4AK8^`>d4W}L*$c2hO=T8t{(wy_gaSl;zko(zbc5leM(9xT&M~NgP$TjZU&SO<;(8(+&;eT|F#tc53QYv9z?> zPE5Oa)1UCmW0kf=l^2yszdYeruIId1hlKe){oa>6Vz1Axc#6B)o#ok+-_7OYa96v1 zo;@ku+!=rcXSdu;&*9xHPYt=y+ITJtzz5{nB|T^PL3mbkIZqmur%pJiV|waT2RN3e zPC6(z8=yv=bsD|3Md3#(%#!+ab*A1S z>n2>!>J{sGaJS}qw!)3J9@j~`+1rnvaT`Sb?vd?~4{P=L(8OE13cr z|B>fhDkmK(Q`vNi!`bW4(n$9Q&c7^p&SxEfA8k4R9&jjp z-g2Z=kqy$fLE}3+Ak69mJ*0a?oCb{)t`&u!!+T)k`~yfjQlTl42*rRx?A8VKOKLrk_lKn5!g0{ft3g=UKY6qNXm)#(+-%~#BuPdC# z`ZYM&cH_RwhLTgpBJLIXgUFwhfZyq1xVV1aKYW+Tvjdd+Ods-J2po~~<2$uieu;kI K-Z;5v%KSeR%=oPU literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/Transmission-Bandwidth.c b/asn1c_defs/all-defs/Transmission-Bandwidth.c new file mode 100755 index 0000000..7541b55 --- /dev/null +++ b/asn1c_defs/all-defs/Transmission-Bandwidth.c @@ -0,0 +1,65 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "Transmission-Bandwidth.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_Transmission_Bandwidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Transmission_Bandwidth_value2enum_1[] = { + { 0, 3, "bw6" }, + { 1, 4, "bw15" }, + { 2, 4, "bw25" }, + { 3, 4, "bw50" }, + { 4, 4, "bw75" }, + { 5, 5, "bw100" }, + { 6, 3, "bw1" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Transmission_Bandwidth_enum2value_1[] = { + 6, /* bw1(6) */ + 5, /* bw100(5) */ + 1, /* bw15(1) */ + 2, /* bw25(2) */ + 3, /* bw50(3) */ + 0, /* bw6(0) */ + 4 /* bw75(4) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Transmission_Bandwidth_specs_1 = { + asn_MAP_Transmission_Bandwidth_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Transmission_Bandwidth_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Transmission_Bandwidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Transmission_Bandwidth = { + "Transmission-Bandwidth", + "Transmission-Bandwidth", + &asn_OP_NativeEnumerated, + asn_DEF_Transmission_Bandwidth_tags_1, + sizeof(asn_DEF_Transmission_Bandwidth_tags_1) + /sizeof(asn_DEF_Transmission_Bandwidth_tags_1[0]), /* 1 */ + asn_DEF_Transmission_Bandwidth_tags_1, /* Same as above */ + sizeof(asn_DEF_Transmission_Bandwidth_tags_1) + /sizeof(asn_DEF_Transmission_Bandwidth_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_Transmission_Bandwidth_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Transmission_Bandwidth_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/Transmission-Bandwidth.h b/asn1c_defs/all-defs/Transmission-Bandwidth.h new file mode 100755 index 0000000..1d9d071 --- /dev/null +++ b/asn1c_defs/all-defs/Transmission-Bandwidth.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _Transmission_Bandwidth_H_ +#define _Transmission_Bandwidth_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Transmission_Bandwidth { + Transmission_Bandwidth_bw6 = 0, + Transmission_Bandwidth_bw15 = 1, + Transmission_Bandwidth_bw25 = 2, + Transmission_Bandwidth_bw50 = 3, + Transmission_Bandwidth_bw75 = 4, + Transmission_Bandwidth_bw100 = 5, + /* + * Enumeration is extensible + */ + Transmission_Bandwidth_bw1 = 6 +} e_Transmission_Bandwidth; + +/* Transmission-Bandwidth */ +typedef long Transmission_Bandwidth_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_Transmission_Bandwidth_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_Transmission_Bandwidth; +extern const asn_INTEGER_specifics_t asn_SPC_Transmission_Bandwidth_specs_1; +asn_struct_free_f Transmission_Bandwidth_free; +asn_struct_print_f Transmission_Bandwidth_print; +asn_constr_check_f Transmission_Bandwidth_constraint; +ber_type_decoder_f Transmission_Bandwidth_decode_ber; +der_type_encoder_f Transmission_Bandwidth_encode_der; +xer_type_decoder_f Transmission_Bandwidth_decode_xer; +xer_type_encoder_f Transmission_Bandwidth_encode_xer; +per_type_decoder_f Transmission_Bandwidth_decode_uper; +per_type_encoder_f Transmission_Bandwidth_encode_uper; +per_type_decoder_f Transmission_Bandwidth_decode_aper; +per_type_encoder_f Transmission_Bandwidth_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Transmission_Bandwidth_H_ */ +#include diff --git a/asn1c_defs/all-defs/Transmission-Bandwidth.o b/asn1c_defs/all-defs/Transmission-Bandwidth.o new file mode 100644 index 0000000000000000000000000000000000000000..7c1eb8b8159427649ebb40619b6cdb9b08ee041c GIT binary patch literal 2944 zcmbtWzfTlF6rOWY@fUCwYSiK^jA&%NB_OELtRi5H;sqs^%igi!PPsjDy9d%JiT{9w z1*N5>oh>DuttF+cy$QZ=_C1))?S&X$GV|W|y&v;tW_RyCOh21BQYa{qf_k71kg!T^ zA3v~tZTf0Z4X9&eJ3KVa(@_KLu^3cO^Hn>HlV&4H8m)NbQ5Y|+HQY zifOz|(*!K94Abjb@DPW+R~sLa-sK*)7@QBz0(Fnjz*#~1GSxNXm@)pf52-5!CEs2L zJwR+;@@-zQ=qx+i6KwOIfw5nR)XNafvr|)dOT!D*PMmg16YiK>9`QOFdGEbRw>;*0 z*E4=UCC|XV`qb~eJfG9!)Es^C-5E}ImpaJlI-M-n>DsMQ7s*x7Hm&Tf|7f(c^^&^@KO`_ z2__QoMQvr%BHQ54vTZ8xCusOgN)O;+%NiB-gU5c)Gp<|wCB~Z;Ut)~s9U^tEW>9@& zE&L6}I~IS7@vg;>GgfZ0(M-cC>9n2cx>#xSE>-SQn1;%&CW&&}EdWG%u17Fh3AG!R zcrBW8+?7@>B!8{dY)16ZxN$3u+}XK>kt7XkZ>5p{(>O<*g?zWAnlFZ>5o^j70^scL zz0W~%pA1z=4A$33WDtR?@B#Y?_upZu`x^>>Mb$a9w=rAlJ3 zzDFA0e4nwXFZ{A@GjW)bLna{mHI2OfH#z^86<@OO zJmI|l7x{ts$?@nPz1#i2Ar4EGX_!*y4cYy3TRI2v2@T=Q{Ll7*u+xqO&I{dQa)%Sn nP}~3wyMKI>?7JsQE%FcfeQQAr>Th6P{v`ij{)l3R*!h0}(!K4w literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/TransportLayerAddress.c b/asn1c_defs/all-defs/TransportLayerAddress.c new file mode 100755 index 0000000..8a21ce7 --- /dev/null +++ b/asn1c_defs/all-defs/TransportLayerAddress.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "TransportLayerAddress.h" + +int +TransportLayerAddress_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1 && size <= 160)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +asn_per_constraints_t asn_PER_type_TransportLayerAddress_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 160 } /* (SIZE(1..160,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TransportLayerAddress_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress = { + "TransportLayerAddress", + "TransportLayerAddress", + &asn_OP_BIT_STRING, + asn_DEF_TransportLayerAddress_tags_1, + sizeof(asn_DEF_TransportLayerAddress_tags_1) + /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ + asn_DEF_TransportLayerAddress_tags_1, /* Same as above */ + sizeof(asn_DEF_TransportLayerAddress_tags_1) + /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TransportLayerAddress_constr_1, TransportLayerAddress_constraint }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TransportLayerAddress.h b/asn1c_defs/all-defs/TransportLayerAddress.h new file mode 100755 index 0000000..43aec44 --- /dev/null +++ b/asn1c_defs/all-defs/TransportLayerAddress.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TransportLayerAddress_H_ +#define _TransportLayerAddress_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TransportLayerAddress */ +typedef BIT_STRING_t TransportLayerAddress_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TransportLayerAddress_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress; +asn_struct_free_f TransportLayerAddress_free; +asn_struct_print_f TransportLayerAddress_print; +asn_constr_check_f TransportLayerAddress_constraint; +ber_type_decoder_f TransportLayerAddress_decode_ber; +der_type_encoder_f TransportLayerAddress_encode_der; +xer_type_decoder_f TransportLayerAddress_decode_xer; +xer_type_encoder_f TransportLayerAddress_encode_xer; +per_type_decoder_f TransportLayerAddress_decode_uper; +per_type_encoder_f TransportLayerAddress_encode_uper; +per_type_decoder_f TransportLayerAddress_decode_aper; +per_type_encoder_f TransportLayerAddress_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TransportLayerAddress_H_ */ +#include diff --git a/asn1c_defs/all-defs/TransportLayerAddress.o b/asn1c_defs/all-defs/TransportLayerAddress.o new file mode 100644 index 0000000000000000000000000000000000000000..3702705793161ced29423eb11c25b1332a815186 GIT binary patch literal 2960 zcmbVN&2Jl35P!~=#%+r0v^@kBi9JwAq~^t2MWRa8%Bl0Qk=)cu(yF3Tw;Oxiq&Vxy zyDkj}Dik7Ng`i%zLJu4&{sk_U5EtNpazf$&YA;A|fdk@D5oX@btY0=;DlyW&nfcAf zn>X)cA552L`Z5{8lo6LiPh(VwN`Fr-DzPXAMPArje=W{+cIP_Zg*AJ7CTnkX+ZV2E z?S8cf6uxP1{+=yw_m_8G#+bXW+mT>*{3TWE4eCcQ|J3DX-#>)fq3McnehU+;b{z%%N(7|_*NHiX)ZSV!TK(hk;HQuyJx z=SqdaCY*Jh8{(+0D)|bGC$xU5y#vgLZ%|wBit-lXW8is`b@mx3gIfP9Wc(I*n!iZB z2XM3C7CKYYGft}A3Eew^V+mO<6>vC*gO#4k>D|HqPO7X|E6(M)C1-JIVQzj_A(iO` zC)`-~o>NJb9csaX7b_(#+zHmbY7jMGg!<429C!Cw^knUw({Ox48UH}Tb^jd=&uRVy zs~yBsJ3#=xeMoqZbe#7B@e}AkG(;Tn-f0$M_&In{!%vcoEINPDygV1;w{ZZ%{QQQX zZsGuh{lPCL8EmYD?y`{Zjz)ZirIy!lW$4`xg{--uE97zz2-#|)g6@_)zh8v|qhgc; zNNg3d+FV=nd`JY(xF=`luZ;$wTYZQ8y%ne4a@V}LsQ)jR5Q=M0zAQz+koew3+QB<> z8VvZh6xo6JNAxt@CLPZP&cpl9`}zjq$rth$z>)aAMp|!QSU(E_=1j&HaIzFi!WQ@- z#^;_xIDU));#@!HDFU7r?~p^XevV_lMDfY`yX3G!^D;A8Abu5iTK|8g{&&d_`;UJK zuAlpV3ox8&-x&vem;n910q}u8Rvj>mFQ8GQvlNf}qZ6;2c@vB*>wY(q1(7l7`ys_A z-8nwle_lV&^#Fvl{ynA(!F|I1;k(E2jAK2?xd9T73H+N1J`PwOzGOVUY013@NIas( YKSf2O N; sorted by tag */ + asn_MAP_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TriggeringMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TriggeringMessage = { + "TriggeringMessage", + "TriggeringMessage", + &asn_OP_NativeEnumerated, + asn_DEF_TriggeringMessage_tags_1, + sizeof(asn_DEF_TriggeringMessage_tags_1) + /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ + asn_DEF_TriggeringMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TriggeringMessage_tags_1) + /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TriggeringMessage_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TriggeringMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TriggeringMessage.h b/asn1c_defs/all-defs/TriggeringMessage.h new file mode 100755 index 0000000..e4d5e04 --- /dev/null +++ b/asn1c_defs/all-defs/TriggeringMessage.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-CommonDataTypes" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TriggeringMessage_H_ +#define _TriggeringMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TriggeringMessage { + TriggeringMessage_initiating_message = 0, + TriggeringMessage_successful_outcome = 1, + TriggeringMessage_unsuccessful_outcome = 2 +} e_TriggeringMessage; + +/* TriggeringMessage */ +typedef long TriggeringMessage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TriggeringMessage; +extern const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1; +asn_struct_free_f TriggeringMessage_free; +asn_struct_print_f TriggeringMessage_print; +asn_constr_check_f TriggeringMessage_constraint; +ber_type_decoder_f TriggeringMessage_decode_ber; +der_type_encoder_f TriggeringMessage_encode_der; +xer_type_decoder_f TriggeringMessage_decode_xer; +xer_type_encoder_f TriggeringMessage_encode_xer; +per_type_decoder_f TriggeringMessage_decode_uper; +per_type_encoder_f TriggeringMessage_encode_uper; +per_type_decoder_f TriggeringMessage_decode_aper; +per_type_encoder_f TriggeringMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TriggeringMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/TriggeringMessage.o b/asn1c_defs/all-defs/TriggeringMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..1bd5cd79559094803c091ad979a2dbfa7a8d05e6 GIT binary patch literal 2688 zcmbtV&rj4)5T2zf{zeQYL@(>Xh>6=!LX>D?YH)!V!3|10nNrGgS>0{P_LaazP4wW= zzra7kGe`dl!_liZZ#eUIX7};75{;9zGv7Dgym@_neSKGdvM^GqfLH|{zyJvguzzY0 zhb9bR3@*Y5#&Qi5Jx=f;o8aU8^KPrzRNYqETvmA=Hx;zfmTtuwnOcXbyhsuZUlr|I zR_G+_C@9hr^0-EvbD!14e=&rSOj$x2gVv(BbrwV*I4cpJ?5)3bhXtH-;QM=|Yvwv|n+ad2$|{v(O;);Oqc!^b!5I zHUBNI&S7sUmoW)1(G89GaTE1!>l_pBe)E(f{tR9rUSu){;wcs^`-pgYUKwi(V>01y^dP)v zFZ>*1@bkTnjyKTjZqIK?q}8qle>2uG_#1f+em5gP%D@j0s&;JB6iL>hvBqy_NsM_s z-#ZFlsh?(A`HL%SwOq%^8=1)e`D<8C&u0DJ%z&Y}58p^@+jRuQxhGl3B3W;SP?doF zP4x6`-1^UsPN3WWHYSLh5dnLtUv_w@7awAtVz>VRa%8eEdI+E@0sH&t>C6oo_Z@#s z`%KWeNtEnE`Cc9)NB!l$g`u$}o}l|5lX}s;z@TjY>syYV ccaIbtFnQH!=s + +/* Including external dependencies */ +#include "TransportLayerAddress.h" +#include "Port-Number.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct ProtocolExtensionContainer; + +/* TunnelInformation */ +typedef struct TunnelInformation { + TransportLayerAddress_t transportLayerAddress; + Port_Number_t *uDP_Port_Number; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TunnelInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TunnelInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _TunnelInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/TunnelInformation.o b/asn1c_defs/all-defs/TunnelInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..87a094bf2335713f638c1d8ab9921d6fe79d9ac8 GIT binary patch literal 3096 zcmb_dPfrs;6rZx9_#Z?Q6EF1yCU(AIUQK;iLTi}e7<`0mzln}<`D+vQiF{=mr)m7pyvRLE<%U(uAf+})$SLkHyWK#c8d4x8M|Dn zbW*MIx-x5*XY9(Y49^0G%*c02{LH;u>&TA!39KVK)A9V%TC_qQSz>emzD7tvoK5=! zMvlCj;-jJqkZ4R5YmMZBIFn+S&{s^BhBGEfKz=6nf2VNt4@mp$=??q;nKhd&ab8z@ zvXypVPfdkSG*4*f-BISR#K)Dav+qOjUqkRosz+X)sUi5_176geZd=e+&t-T zCtf9Wc=~89$04(=yR{r!vKKUa(Q|H&2c@qDEnXnkC2Dhu+#RM{TXntl`m>GtO06zf z@S60{(%ZZn%KrIspK3lmo@-A%*F7wbWYmmWy|=p-g_3dxu{T@2Q*oO!Iw1riju)x4aXbPRr(9Xksogj(|aWVpJb5u7Y)a` zc#T61zp7-gX(S*5gFo+kNyG82Gj%l_{#;JIZm0v3Ss(Tnc5={`euKD-Grq%;4ECk4 zw|wafyFveEJC2~hvtn0B4O)I`hGeLAD{A@x(-2`dqjo!>ma@Z02KM60Mk$eg^A&IJ z#QX+Dq7=9*og7`!WL35va+4%r=1c7KJdO%x{1ll{^OMHkrdZ^x($L9K%7PA(%CY9a#Sf z8S>WusD4o#kM#kW>wAP@ef{50s^}`ffud1SlOb-?Ks>Jl4D?yW<9>94FNpb`CZ`59 z{V+GAaE@bN=y|S(3LIA)-|{#O^ZfYJns-l7?=f9B7BtlK4b6-Hrt05Kll3Pv{tq N; sorted by tag */ + asn_MAP_TypeOfError_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TypeOfError_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TypeOfError = { + "TypeOfError", + "TypeOfError", + &asn_OP_NativeEnumerated, + asn_DEF_TypeOfError_tags_1, + sizeof(asn_DEF_TypeOfError_tags_1) + /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ + asn_DEF_TypeOfError_tags_1, /* Same as above */ + sizeof(asn_DEF_TypeOfError_tags_1) + /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TypeOfError_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TypeOfError_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TypeOfError.h b/asn1c_defs/all-defs/TypeOfError.h new file mode 100755 index 0000000..a6ff540 --- /dev/null +++ b/asn1c_defs/all-defs/TypeOfError.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TypeOfError_H_ +#define _TypeOfError_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TypeOfError { + TypeOfError_not_understood = 0, + TypeOfError_missing = 1 + /* + * Enumeration is extensible + */ +} e_TypeOfError; + +/* TypeOfError */ +typedef long TypeOfError_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TypeOfError_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TypeOfError; +extern const asn_INTEGER_specifics_t asn_SPC_TypeOfError_specs_1; +asn_struct_free_f TypeOfError_free; +asn_struct_print_f TypeOfError_print; +asn_constr_check_f TypeOfError_constraint; +ber_type_decoder_f TypeOfError_decode_ber; +der_type_encoder_f TypeOfError_encode_der; +xer_type_decoder_f TypeOfError_decode_xer; +xer_type_encoder_f TypeOfError_encode_xer; +per_type_decoder_f TypeOfError_decode_uper; +per_type_encoder_f TypeOfError_encode_uper; +per_type_decoder_f TypeOfError_decode_aper; +per_type_encoder_f TypeOfError_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TypeOfError_H_ */ +#include diff --git a/asn1c_defs/all-defs/TypeOfError.o b/asn1c_defs/all-defs/TypeOfError.o new file mode 100644 index 0000000000000000000000000000000000000000..1e89ccae12ac0c91a05eff0152ea51a1d5a7b277 GIT binary patch literal 2560 zcmbuA&2G~`5P&Cjq2;eXoRGK#aUdXS#Z@H`NXV$9Mf|i;p@N(1CQBPg?8@F$^a4n{ z0LMN8M~;Y7k30ZJ4m<)pL7CaikoCq<4~*o@%r`T;v+MQdedEc>M5O{E6}SgOPbffm z+Omxq!Ys@HVaj)FZ2y>LIKp`A`N5uAf7QscG=n773;m?6vRtQW8+x5Q?<70pYs(^b z9~5`}vYIkhV|Y^i1m=18oRsIzG2;NKpK>^?E-&Ay);72MiSAc#`AdF%A?O<~co*FE z>q~xceZbwyf=}a5!k^;;WXBuRy$7_qQSr=*%lPCdMB>4z5k8Bg0>jnXm7c}zLJy{G z*Vs4AIMWbvq|W-W;Zy%A>`D*LaaK`zaJC50>*6zS^}ov*A5hP+ZL33c=B<5ea_}4K zviu(=f7o4(^TGNs{1(J{57&7ypuG~jV3(WdrUbGcBK z@2M88LWIt#eOhE^TrPV_oX(QSB{qmlEg{)gmxmNYAueN*|B!xAh|e2q@Uz7>@r!KR ziuf6PLWa@-GMUm62Hto`1wIk$J?lNHqg6bY4uiv-;Q+*{&t>& zpQYqbX5a_ts%~t;WJ%P)SmSroR*dmh+UqHNT|VB&%3odET*!6YdLxbepQiQDnytSV zGhk?bM}H{SmMiEGqdV7@kR91qiB-j5eGN6e1GoN@lP9h_|4j@KTa*OWQh(LqQZG8h zIN9#}N61Lz{SQ2Vsu-;AqNcktWM9-FU!X?}=seN+k@F_s#Uo@izk9RSxWPG$*&_AA zUZ7Fdf5`QFlE}L1_#5b#_5YGT`Yq0<{%LNRU;2NIjHasNW6KwwpWcrxj7<&k93NqJ z-p?{vl1pjs-qAR}xc)oq3&`j{-tC|62KU_~g3k N; sorted by tag */ + asn_MAP_TypeOfMessage_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TypeOfMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TypeOfMessage = { + "TypeOfMessage", + "TypeOfMessage", + &asn_OP_NativeEnumerated, + asn_DEF_TypeOfMessage_tags_1, + sizeof(asn_DEF_TypeOfMessage_tags_1) + /sizeof(asn_DEF_TypeOfMessage_tags_1[0]), /* 1 */ + asn_DEF_TypeOfMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TypeOfMessage_tags_1) + /sizeof(asn_DEF_TypeOfMessage_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_TypeOfMessage_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TypeOfMessage_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/TypeOfMessage.h b/asn1c_defs/all-defs/TypeOfMessage.h new file mode 100755 index 0000000..a2dbbca --- /dev/null +++ b/asn1c_defs/all-defs/TypeOfMessage.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "E2SM-gNB-X2-IEs" + * found in "../../asn_defs/asn1/e2sm-gNB-X2-release-1-v041.asn.txt" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _TypeOfMessage_H_ +#define _TypeOfMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TypeOfMessage { + TypeOfMessage_nothing = 0, + TypeOfMessage_initiating_message = 1, + TypeOfMessage_successful_outcome = 2, + TypeOfMessage_unsuccessful_outcome = 3 +} e_TypeOfMessage; + +/* TypeOfMessage */ +typedef long TypeOfMessage_t; + +/* Implementation */ +extern asn_per_constraints_t asn_PER_type_TypeOfMessage_constr_1; +extern asn_TYPE_descriptor_t asn_DEF_TypeOfMessage; +extern const asn_INTEGER_specifics_t asn_SPC_TypeOfMessage_specs_1; +asn_struct_free_f TypeOfMessage_free; +asn_struct_print_f TypeOfMessage_print; +asn_constr_check_f TypeOfMessage_constraint; +ber_type_decoder_f TypeOfMessage_decode_ber; +der_type_encoder_f TypeOfMessage_encode_der; +xer_type_decoder_f TypeOfMessage_decode_xer; +xer_type_encoder_f TypeOfMessage_encode_xer; +per_type_decoder_f TypeOfMessage_decode_uper; +per_type_encoder_f TypeOfMessage_encode_uper; +per_type_decoder_f TypeOfMessage_decode_aper; +per_type_encoder_f TypeOfMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TypeOfMessage_H_ */ +#include diff --git a/asn1c_defs/all-defs/TypeOfMessage.o b/asn1c_defs/all-defs/TypeOfMessage.o new file mode 100644 index 0000000000000000000000000000000000000000..0b3da09bf787120cd53b508bafb210cedfd7130f GIT binary patch literal 2768 zcmbtV&2G~`5T4Wp%3psFLP%V~iB=+3Q&pk@gp5jBglHQI6-U=~w@DyzqIg}=3m|bp zoH%l5tSHeJ>PsYvpb$$uiw?4u8fsRAX0({kXyn6OrOhf zU|;}KFbQLbW#kb6o@E@dSky@P;-IHC_SRIIMhyi?S2tTp16oN-w<3+O(qUJc#WBLY ztX=75I_`E9WJv)za;4Kb++Mi$>1N5JW^-te%tt-6d**~4o8ycm@7VDVU~Qj?l>94B z9@RnO@>1K?fjfV$E-&9L&u;BxiO$M*{6&AhQq7E2eOq1f=NJ9z+3J}#Z4!@2H zT-X<>cG&BglQ+zf<&Eg1hbt6`2WL*uGsu)6@0y+IS-hR-!GvuZ?3;NeAYjin>u0EG z{%N*Flj*@lW`~sr7lsM6G>#do{w7C!LT%5O(<7a7 zdD#o%r}A{T&X{<~B})42@&P$fh?hCZeoPM(;_2*)Y%?I<{iex9{COM!4ic$>c*3%V zoD<^deJ62{GzZGeL;N+i-#h#q+g}|1KHK1@2OS;lpw|6?ZVJ-sjRt==(h>MOX$pS7 zO9n+&{VJNO9T_(v@j5i-`0Z{Sp&$Ph9fe!$)%EPaSIZ_TJq`MvPJSm2k0d1 zu5U=><-8y?Qf4jc9s;^+10h&1@kjQJ?MtYMqIV^c@8}6)T0g(x$P3Wp0?WqAAJaKB z=p{aj>ObWCLnprM*qdk<)&HC8mp)ScRJ&XME97XYc^tL`{6e%pws2V{hxinSaCThV zZ3sKvSh9;kdrbb|gv%I5cYs?z-6bdX9=Rp{f&M{ki@QGET}AmH`GfjkCnI+A{{of7 B+uQ&E literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.c b/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.c new file mode 100755 index 0000000..9275f45 --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.c @@ -0,0 +1,118 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-ContextInformation-SgNBModReq.h" + +#include "NRUESecurityCapabilities.h" +#include "UEAggregateMaximumBitRate.h" +#include "E-RABs-ToBeAdded-SgNBModReq-List.h" +#include "E-RABs-ToBeModified-SgNBModReq-List.h" +#include "E-RABs-ToBeReleased-SgNBModReq-List.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UE_ContextInformation_SgNBModReq_1[] = { + { ATF_POINTER, 7, offsetof(struct UE_ContextInformation_SgNBModReq, nRUE_SecurityCapabilities), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NRUESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nRUE-SecurityCapabilities" + }, + { ATF_POINTER, 6, offsetof(struct UE_ContextInformation_SgNBModReq, sgNB_SecurityKey), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SgNBSecurityKey, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNB-SecurityKey" + }, + { ATF_POINTER, 5, offsetof(struct UE_ContextInformation_SgNBModReq, sgNBUEAggregateMaximumBitRate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UEAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "sgNBUEAggregateMaximumBitRate" + }, + { ATF_POINTER, 4, offsetof(struct UE_ContextInformation_SgNBModReq, e_RABs_ToBeAdded), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeAdded_SgNBModReq_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABs-ToBeAdded" + }, + { ATF_POINTER, 3, offsetof(struct UE_ContextInformation_SgNBModReq, e_RABs_ToBeModified), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeModified_SgNBModReq_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABs-ToBeModified" + }, + { ATF_POINTER, 2, offsetof(struct UE_ContextInformation_SgNBModReq, e_RABs_ToBeReleased), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeReleased_SgNBModReq_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABs-ToBeReleased" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextInformation_SgNBModReq, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P52, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_ContextInformation_SgNBModReq_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformation_SgNBModReq_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformation_SgNBModReq_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRUE-SecurityCapabilities */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sgNB-SecurityKey */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sgNBUEAggregateMaximumBitRate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e-RABs-ToBeAdded */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* e-RABs-ToBeModified */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e-RABs-ToBeReleased */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformation_SgNBModReq_specs_1 = { + sizeof(struct UE_ContextInformation_SgNBModReq), + offsetof(struct UE_ContextInformation_SgNBModReq, _asn_ctx), + asn_MAP_UE_ContextInformation_SgNBModReq_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_UE_ContextInformation_SgNBModReq_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation_SgNBModReq = { + "UE-ContextInformation-SgNBModReq", + "UE-ContextInformation-SgNBModReq", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformation_SgNBModReq_tags_1, + sizeof(asn_DEF_UE_ContextInformation_SgNBModReq_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_SgNBModReq_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextInformation_SgNBModReq_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformation_SgNBModReq_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_SgNBModReq_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformation_SgNBModReq_1, + 7, /* Elements count */ + &asn_SPC_UE_ContextInformation_SgNBModReq_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.h b/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.h new file mode 100755 index 0000000..56646cd --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextInformation_SgNBModReq_H_ +#define _UE_ContextInformation_SgNBModReq_H_ + + +#include + +/* Including external dependencies */ +#include "SgNBSecurityKey.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NRUESecurityCapabilities; +struct UEAggregateMaximumBitRate; +struct E_RABs_ToBeAdded_SgNBModReq_List; +struct E_RABs_ToBeModified_SgNBModReq_List; +struct E_RABs_ToBeReleased_SgNBModReq_List; +struct ProtocolExtensionContainer; + +/* UE-ContextInformation-SgNBModReq */ +typedef struct UE_ContextInformation_SgNBModReq { + struct NRUESecurityCapabilities *nRUE_SecurityCapabilities; /* OPTIONAL */ + SgNBSecurityKey_t *sgNB_SecurityKey; /* OPTIONAL */ + struct UEAggregateMaximumBitRate *sgNBUEAggregateMaximumBitRate; /* OPTIONAL */ + struct E_RABs_ToBeAdded_SgNBModReq_List *e_RABs_ToBeAdded; /* OPTIONAL */ + struct E_RABs_ToBeModified_SgNBModReq_List *e_RABs_ToBeModified; /* OPTIONAL */ + struct E_RABs_ToBeReleased_SgNBModReq_List *e_RABs_ToBeReleased; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformation_SgNBModReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation_SgNBModReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextInformation_SgNBModReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.o b/asn1c_defs/all-defs/UE-ContextInformation-SgNBModReq.o new file mode 100644 index 0000000000000000000000000000000000000000..4ca26cefbf6c5cc0159b9b1a26cafd2c1507dc70 GIT binary patch literal 4312 zcmb_fy>BB$6raR*5WbFt&+t(g35lS?D?1z_3KDW+_AYl^a>h9~C&aR`=bRPxZt$*A z(h!S^4mv0(uB4=;<4>Tx5?w_>0UaH@-|js7WwNV8k)JevZ+`D%KHlt`@v(dR`uyCS zVwzJQs%ei=r5-*#mFuZkSBvUd)pje5C`|NWax=Ui4F`S_L}6vOx3jq&bzAz&sn^9M zdoFgrDC*-y3JXU(ww)*WKO)QILS4jtjM{?Xvy6M0VlGm9lG-feUZQx*)UM1pZi(WR zsXaI2xX9NEwU=fb7rCoadv%6!DO4^s30)H!K8p--pE={qu?LcH<}iOIoDpe*+#(-L z$O-b!guTT1V!|FECR3dS!7(1jKwQLvKYYR#Rfk>O84ZKvsNo;@dqF=)0v)TE>cd3y zu|7(Hw!6{m4Ry~?^tOK(3`T>^AZbxg=}K#3Gp^i?HuXlgtGg1QG85bnPGT+H*M3Y` z;8xtjM29gIrC6yOjmCO;rM))_lTrD7=bBTk)JAEq_H}K|sa|txZ)Z5oKA*7GOX{E8 z8c{m2^HcxQi3~_wWCuyk4g~!zhV5QGZehaYktMdg!gKzFTX)w<@ z3*6Hn8{f*{6o1~xU`>JJE*YEt=Y}JWtR_DS`~@R}{Vs6aeN2BF0dZbrkoXD!A~4wF z{sV0Z9CswsSm3a~Y7`Fy{xTaAe<*O+-!!^^17`uVhgA`>nuX z9~#}y0_QbB^@qS=|BbOcF1;-f+0?H3MUoV_?! z&M-m;mNjRMy1MVDYDiYs=|>$OVCup=bFC?-6AcEMK4d4167AgBX;3*JLHR)Cq8cK*QtRpKS?s*!0XiV z=07GJ^yhrW`M1o1;U5skTcmFK%ofZ?yJ-Azw(zRq@%en+AuM-%vmsRuXn5J`-=cor z_{-+0!TuN@uOWMUk1&jHEmQqw#{Y?QlFG6}a*rDP?fw50lOp;)W0POlf|!40WS(cL zq@TZxKk_Sy{g`L(JZX{1%cq}^se=931ATk#(6K+)8Ptp=YWDu&#b}>hg46@^^wd^x Tdwj&q^WQT0`wqbb+5Z0n9NePv literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-ContextInformation.c b/asn1c_defs/all-defs/UE-ContextInformation.c new file mode 100755 index 0000000..6b2cc4f --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformation.c @@ -0,0 +1,145 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-ContextInformation.h" + +#include "HandoverRestrictionList.h" +#include "LocationReportingInformation.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UE_ContextInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, mME_UE_S1AP_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UE_S1AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mME-UE-S1AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, uESecurityCapabilities), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uESecurityCapabilities" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, aS_SecurityInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AS_SecurityInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "aS-SecurityInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, uEaggregateMaximumBitRate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UEAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uEaggregateMaximumBitRate" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextInformation, subscriberProfileIDforRFP), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubscriberProfileIDforRFP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subscriberProfileIDforRFP" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, e_RABs_ToBeSetup_List), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeSetup_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABs-ToBeSetup-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformation, rRC_Context), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RRC_Context, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rRC-Context" + }, + { ATF_POINTER, 3, offsetof(struct UE_ContextInformation, handoverRestrictionList), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HandoverRestrictionList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "handoverRestrictionList" + }, + { ATF_POINTER, 2, offsetof(struct UE_ContextInformation, locationReportingInformation), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LocationReportingInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "locationReportingInformation" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P0, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_ContextInformation_oms_1[] = { 4, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mME-UE-S1AP-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uESecurityCapabilities */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aS-SecurityInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uEaggregateMaximumBitRate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* subscriberProfileIDforRFP */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e-RABs-ToBeSetup-List */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rRC-Context */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* handoverRestrictionList */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* locationReportingInformation */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformation_specs_1 = { + sizeof(struct UE_ContextInformation), + offsetof(struct UE_ContextInformation, _asn_ctx), + asn_MAP_UE_ContextInformation_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_UE_ContextInformation_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation = { + "UE-ContextInformation", + "UE-ContextInformation", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformation_tags_1, + sizeof(asn_DEF_UE_ContextInformation_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformation_tags_1) + /sizeof(asn_DEF_UE_ContextInformation_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformation_1, + 10, /* Elements count */ + &asn_SPC_UE_ContextInformation_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextInformation.h b/asn1c_defs/all-defs/UE-ContextInformation.h new file mode 100755 index 0000000..fc014e1 --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformation.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextInformation_H_ +#define _UE_ContextInformation_H_ + + +#include + +/* Including external dependencies */ +#include "UE-S1AP-ID.h" +#include "UESecurityCapabilities.h" +#include "AS-SecurityInformation.h" +#include "UEAggregateMaximumBitRate.h" +#include "SubscriberProfileIDforRFP.h" +#include "E-RABs-ToBeSetup-List.h" +#include "RRC-Context.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct HandoverRestrictionList; +struct LocationReportingInformation; +struct ProtocolExtensionContainer; + +/* UE-ContextInformation */ +typedef struct UE_ContextInformation { + UE_S1AP_ID_t mME_UE_S1AP_ID; + UESecurityCapabilities_t uESecurityCapabilities; + AS_SecurityInformation_t aS_SecurityInformation; + UEAggregateMaximumBitRate_t uEaggregateMaximumBitRate; + SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP; /* OPTIONAL */ + E_RABs_ToBeSetup_List_t e_RABs_ToBeSetup_List; + RRC_Context_t rRC_Context; + struct HandoverRestrictionList *handoverRestrictionList; /* OPTIONAL */ + struct LocationReportingInformation *locationReportingInformation; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextInformation_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextInformation.o b/asn1c_defs/all-defs/UE-ContextInformation.o new file mode 100644 index 0000000000000000000000000000000000000000..3961dafa548510360672fe91e2e518417c54b260 GIT binary patch literal 4736 zcmcIoON`rO5dODmc~f?IzZDRVMIu(RRAL3F%5K*CK)Y>7Sg9wBle$@pB#vwcZ7+~R zCHB~3FGzbrATE34SS0Rnqq1rO$u-qQnr>^JulTmd4?14Q)K&>=meL$Ha$QQ z_x%rf4=5+Dan}32MLE%`v&xJ6g`-HP$7h(AQYExVd7ma}R{Q0&<`U(7eujBbg905R z5?-EhUi9q&<$ZO=d9ml~bb4ckc`4N~I->kHun<%BxjmhOi$AVi6P`7dE_p_@4|*H- zK?pr5YXCzpoq@oF9zaeZ+`IclAk85csW9u$RmRml*s7UB_;_-)i`?-dt!Tf=@l zEWT@^B;hImIzox#s3dbrk$x$%6G8)$v(zvda#&yL~ z{5fKCbcKiPCXwe8{EQhfKH#N3N$^Q!%WMZL9IJS0xJC^5g$`Nxo;dI$*5{dn6_me% z34d6tW4VxY&sa@_pXt1yI%JQ{e-hVgF>Lsg4$h2xtcRA&MH_)d&i|CBj!{Y|@}@F!RX`$gfnE_{bTw^Nq9!JlLq408_%4F0b} zA=*^k5bek8C?q_>0Q_cZI|M zH@4|ML|+NXwPT;akHla_S9`JBG8VlUQobh=eia()vKza`YDJN;!T<_9D^`V6uj?je zNEy|_?=pZ%h_Tv1ujkQg$La^MXKh^AEk&{0{!Dgp&m1+xHR%}%$*MR_A^2)~g%n_1 z&atUFmW~VA_&3Rnn%`^u+Z2nOOLSQu>$Ah{jG;)rn%*Y`vr$!p zBoBBbIpn^7gfR4(^q2J0MZ%`84`-rs%Ess7SW1NtiA`I7p8v0qc&smTD?E3g7O^dH`{YOZqC>#GD2pz|- literal 0 HcmV?d00001 diff --git a/asn1c_defs/all-defs/UE-ContextInformationRetrieve.c b/asn1c_defs/all-defs/UE-ContextInformationRetrieve.c new file mode 100755 index 0000000..e55c73f --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformationRetrieve.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#include "UE-ContextInformationRetrieve.h" + +#include "HandoverRestrictionList.h" +#include "LocationReportingInformation.h" +#include "MDTPLMNList.h" +#include "ProtocolExtensionContainer.h" +static asn_TYPE_member_t asn_MBR_UE_ContextInformationRetrieve_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, mME_UE_S1AP_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UE_S1AP_ID, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "mME-UE-S1AP-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, uESecurityCapabilities), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UESecurityCapabilities, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uESecurityCapabilities" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, aS_SecurityInformation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AS_SecurityInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "aS-SecurityInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, uEaggregateMaximumBitRate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UEAggregateMaximumBitRate, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uEaggregateMaximumBitRate" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextInformationRetrieve, subscriberProfileIDforRFP), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubscriberProfileIDforRFP, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "subscriberProfileIDforRFP" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, e_RABs_ToBeSetup_ListRetrieve), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_E_RABs_ToBeSetup_ListRetrieve, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "e-RABs-ToBeSetup-ListRetrieve" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_ContextInformationRetrieve, rRC_Context), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RRC_Context, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "rRC-Context" + }, + { ATF_POINTER, 5, offsetof(struct UE_ContextInformationRetrieve, handoverRestrictionList), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HandoverRestrictionList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "handoverRestrictionList" + }, + { ATF_POINTER, 4, offsetof(struct UE_ContextInformationRetrieve, locationReportingInformation), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LocationReportingInformation, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "locationReportingInformation" + }, + { ATF_POINTER, 3, offsetof(struct UE_ContextInformationRetrieve, managBasedMDTallowed), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManagementBasedMDTallowed, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "managBasedMDTallowed" + }, + { ATF_POINTER, 2, offsetof(struct UE_ContextInformationRetrieve, managBasedMDTPLMNList), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MDTPLMNList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "managBasedMDTPLMNList" + }, + { ATF_POINTER, 1, offsetof(struct UE_ContextInformationRetrieve, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolExtensionContainer_8231P42, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_ContextInformationRetrieve_oms_1[] = { 4, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_UE_ContextInformationRetrieve_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_ContextInformationRetrieve_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mME-UE-S1AP-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uESecurityCapabilities */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aS-SecurityInformation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uEaggregateMaximumBitRate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* subscriberProfileIDforRFP */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e-RABs-ToBeSetup-ListRetrieve */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rRC-Context */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* handoverRestrictionList */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* locationReportingInformation */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* managBasedMDTallowed */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* managBasedMDTPLMNList */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_ContextInformationRetrieve_specs_1 = { + sizeof(struct UE_ContextInformationRetrieve), + offsetof(struct UE_ContextInformationRetrieve, _asn_ctx), + asn_MAP_UE_ContextInformationRetrieve_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_UE_ContextInformationRetrieve_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationRetrieve = { + "UE-ContextInformationRetrieve", + "UE-ContextInformationRetrieve", + &asn_OP_SEQUENCE, + asn_DEF_UE_ContextInformationRetrieve_tags_1, + sizeof(asn_DEF_UE_ContextInformationRetrieve_tags_1) + /sizeof(asn_DEF_UE_ContextInformationRetrieve_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextInformationRetrieve_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextInformationRetrieve_tags_1) + /sizeof(asn_DEF_UE_ContextInformationRetrieve_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_UE_ContextInformationRetrieve_1, + 12, /* Elements count */ + &asn_SPC_UE_ContextInformationRetrieve_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextInformationRetrieve.h b/asn1c_defs/all-defs/UE-ContextInformationRetrieve.h new file mode 100755 index 0000000..43e0afd --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextInformationRetrieve.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-PDU-Contents" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextInformationRetrieve_H_ +#define _UE_ContextInformationRetrieve_H_ + + +#include + +/* Including external dependencies */ +#include "UE-S1AP-ID.h" +#include "UESecurityCapabilities.h" +#include "AS-SecurityInformation.h" +#include "UEAggregateMaximumBitRate.h" +#include "SubscriberProfileIDforRFP.h" +#include "E-RABs-ToBeSetup-ListRetrieve.h" +#include "RRC-Context.h" +#include "ManagementBasedMDTallowed.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct HandoverRestrictionList; +struct LocationReportingInformation; +struct MDTPLMNList; +struct ProtocolExtensionContainer; + +/* UE-ContextInformationRetrieve */ +typedef struct UE_ContextInformationRetrieve { + UE_S1AP_ID_t mME_UE_S1AP_ID; + UESecurityCapabilities_t uESecurityCapabilities; + AS_SecurityInformation_t aS_SecurityInformation; + UEAggregateMaximumBitRate_t uEaggregateMaximumBitRate; + SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP; /* OPTIONAL */ + E_RABs_ToBeSetup_ListRetrieve_t e_RABs_ToBeSetup_ListRetrieve; + RRC_Context_t rRC_Context; + struct HandoverRestrictionList *handoverRestrictionList; /* OPTIONAL */ + struct LocationReportingInformation *locationReportingInformation; /* OPTIONAL */ + ManagementBasedMDTallowed_t *managBasedMDTallowed; /* OPTIONAL */ + struct MDTPLMNList *managBasedMDTPLMNList; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformationRetrieve_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationRetrieve; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextInformationRetrieve_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextInformationRetrieve.o b/asn1c_defs/all-defs/UE-ContextInformationRetrieve.o new file mode 100644 index 0000000000000000000000000000000000000000..046720e60fe41495f3b7344ef07c54e051d8211c GIT binary patch literal 5264 zcmcIo&2Jk;6ra>7l&{kA+43b930e?d#UY3YB;>?)nxHr}b|O^*v{^e-XNB#JcGn>l z67?}RDshQ8<-nmAB(6vZwx_fSD7b3Huo>phoS~*wrx}n|)m%2ARzvG0i*RAQ$clEYb zok}@JjCy{qnp-NVUb(KDJ>Ly)7M(4p;kMn-)q!&AImSg0VmqytuUk&2E6$GF>2>Da zutqHv^cq3acN^NT`rZwJ2plR+lR)Q5?6N zEANE58&Ke2n7jM6l53G{r^S0R&2bEVihTc)97DNp*BR>Z$U}&`OEDjR2yyRG%(G*R zi}k`UOOI#97?(mta)si)K-Rd|?K;JMX^e4^gVXfulkwV^<4#h%U5fkqnB!(B-ffEe z=9uH+ob6HEx5pfpLaKdwSYwQPK=JM%u#x0<1!o(Q#A8$`ysH%OMY!k;OAgK+^3H-Y zgY{*>UdKLS!5-x~0K?vT6owJ(34DWCu$GT;gEZCv-w_t%?g?&?E(jYY=7RW$i8$yR z@vjz(A7rnrHG18!mwn%wv8HnQUewBeou9R)W~}^MF-|?w1-Y42e;@e`&WvPk7$ft) zEXTggNG2s;W>n%bvoU^&)C9fhfuV8Fl?Xqr`UcM$$99AdS76Hcp)w;Y6Fa^qh4?H7 z#`uji@Vlmc!Dy(A;0u^=xpG5KW@Lq990@)zcG9Myzd;KiN}WNF_fqhs6#TOk{HqlF zyA=HA6#S1Ae3A~+QS-l$g3qSlpQqrrQt)q6@Z$?atErrzYnRFk_FCCaFC^{IX$5vZ zB3I^XCy--ay;?kh7i{U~AnIK81U5}!TDN%;C(^wRhd%M`qSv}swd>_i*2*izvSPz- zQtcS}j@u1oo={HPR89|5$K~^AS#2^qSGU@a<^x7)bx@fzMt?hmUejw2%5>~M%C+|G z+39!l)tTwR>5uO$`E}$wg^r>4iVV*l@bjWSf4_h~MZW{%yJB<_Ulcg*K$fa8z{kDU zH|=$!fy?`BPvFlQ8;ZZH;N!h;Z$kcxRdmxlXKX0cnGojZ;-*>@`11yX>I)q4OUAb^ zaNOlAzY84vPmSXrfxpOP(o^)kfxr!Z4-Jy4z&Yo@cLfgqHvmcQ2>fCUMbCQz2mc55 znc@WFqV`~!6*%}m8OL>jzszLPw*?OVug3SIz+VykLxF?;r}3RJ_b%r1s^Av{4t~bu zab4iN=IFL3aPTi0zTD^7w=A4n(17!PQdV%Y6FLpjp&#o_w(ws9WoA2X=D&z9Hcl|&0_-N?*;5L-e0_*t`T + +/* Including external dependencies */ +#include "SeNBSecurityKey.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct UESecurityCapabilities; +struct UEAggregateMaximumBitRate; +struct E_RABs_ToBeAdded_List_ModReq; +struct E_RABs_ToBeModified_List_ModReq; +struct E_RABs_ToBeReleased_List_ModReq; +struct ProtocolExtensionContainer; + +/* UE-ContextInformationSeNBModReq */ +typedef struct UE_ContextInformationSeNBModReq { + struct UESecurityCapabilities *uE_SecurityCapabilities; /* OPTIONAL */ + SeNBSecurityKey_t *seNB_SecurityKey; /* OPTIONAL */ + struct UEAggregateMaximumBitRate *seNBUEAggregateMaximumBitRate; /* OPTIONAL */ + struct E_RABs_ToBeAdded_List_ModReq *e_RABs_ToBeAdded; /* OPTIONAL */ + struct E_RABs_ToBeModified_List_ModReq *e_RABs_ToBeModified; /* OPTIONAL */ + struct E_RABs_ToBeReleased_List_ModReq *e_RABs_ToBeReleased; /* OPTIONAL */ + struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */ + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_ContextInformationSeNBModReq_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextInformationSeNBModReq; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextInformationSeNBModReq_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextInformationSeNBModReq.o b/asn1c_defs/all-defs/UE-ContextInformationSeNBModReq.o new file mode 100644 index 0000000000000000000000000000000000000000..e2f48496ac1026004a9398fbbae0f2a9dae05773 GIT binary patch literal 4256 zcmb_e&2Jl35Pzv#S}0JL@(l+ggh(a4vXe?gfRJOeO@StLomz0)ZtPcQRoff9&s8EJ z>LaIe<-j3F4jlM9IQ4?W1*u1la6!EwnBVRjd$QTZRpgQ0&dhH<-sjGH_ucDPPc1De zrX}^UnrVzGb@=Q|uEk@`CeX?<&+@UtnHJl}SxP*Mx=7B15b*XPi0KKoZUz#?OQ^B7Ly8*bgS` z3HF@{Yl-v4gf&1;rWy-^qd)Y4yvT)k#EjkYw(g8afjMaSd;U()4@{sV718fMwS2A* zVxaA=_j)7U^Nrs0_k+QBP!CLtG^NX}^?Fpk71s57x2wAnpehpF365ed-Pe9ZSm2i3 zeWQmFm7GYajYi{x(sFxeJT&9d`_2`oQm&3;t@=%M&8b{*s+SX-#-2x*>uL2@W{oHu zS@~Ip!jT=2xZDYe%N>!p+?fP_o7j?iTJ2dkj%>yF88xx^t~~@_$N20t;hZxSrj?Kp zrG6q2`I)$%-z`3|hBw)PctQ9Jm~foN<5W=M@(|{NIxn#<6B@tC(# zjU4=o9Qy%=L`+bZ44*y*byP2C}02Jd`I02nU@03FaA3@J7?yc5k-bt%j>u@H$im z%*YRhMyy$8h2kZ}Lxmkss2I;LR_x(=C|cgMXnEIz$awbAli|dLY@Qz%w@kn0C^TUw z>`$v6&I8R?kG!>&)oOEPb^3?UF%*AM@=k#h?*tI==csXAz!Stz~ImGxh8Pjg-jEH z!~e21918pub|(Itz~R4PZI1=ceZo|+^%-XPe+iJNDe%`4DE@vcaQOGF?MH#*?q+%< zaQIKG;hg2@7yHP>V`F^61}8cg7=K4O^eZKNmnFRNmDBZ&ubiDIQqCxZ0?(?mMyl@n zu^CcIb^2k)2N;JiPeQB8>4bxUrvKI%hDJLZTkUdW{LWn-)XDi96pA^@Hx9DZ@W~+f zN_vYFVCkE@CY^+wj(?YI*n^YCzelmixk61+%_=1ck}UTdrW&=Z@!uvK^oKn+iKbME z1dYS6CqvQ3<80ye!u|94x N; sorted by tag */ + asn_MAP_UE_ContextKeptIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_UE_ContextKeptIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UE_ContextKeptIndicator = { + "UE-ContextKeptIndicator", + "UE-ContextKeptIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_UE_ContextKeptIndicator_tags_1, + sizeof(asn_DEF_UE_ContextKeptIndicator_tags_1) + /sizeof(asn_DEF_UE_ContextKeptIndicator_tags_1[0]), /* 1 */ + asn_DEF_UE_ContextKeptIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_ContextKeptIndicator_tags_1) + /sizeof(asn_DEF_UE_ContextKeptIndicator_tags_1[0]), /* 1 */ + { 0, &asn_PER_type_UE_ContextKeptIndicator_constr_1, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_UE_ContextKeptIndicator_specs_1 /* Additional specs */ +}; + diff --git a/asn1c_defs/all-defs/UE-ContextKeptIndicator.h b/asn1c_defs/all-defs/UE-ContextKeptIndicator.h new file mode 100755 index 0000000..ef59433 --- /dev/null +++ b/asn1c_defs/all-defs/UE-ContextKeptIndicator.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "X2AP-IEs" + * found in "../../asn_defs/asn1/x2ap-modified-15-05.asn" + * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-OER` + */ + +#ifndef _UE_ContextKeptIndicator_H_ +#define _UE_ContextKeptIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UE_ContextKeptIndicator { + UE_ContextKeptIndicator_true = 0 + /* + * Enumeration is extensible + */ +} e_UE_ContextKeptIndicator; + +/* UE-ContextKeptIndicator */ +typedef long UE_ContextKeptIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_ContextKeptIndicator; +asn_struct_free_f UE_ContextKeptIndicator_free; +asn_struct_print_f UE_ContextKeptIndicator_print; +asn_constr_check_f UE_ContextKeptIndicator_constraint; +ber_type_decoder_f UE_ContextKeptIndicator_decode_ber; +der_type_encoder_f UE_ContextKeptIndicator_encode_der; +xer_type_decoder_f UE_ContextKeptIndicator_decode_xer; +xer_type_encoder_f UE_ContextKeptIndicator_encode_xer; +per_type_decoder_f UE_ContextKeptIndicator_decode_uper; +per_type_encoder_f UE_ContextKeptIndicator_encode_uper; +per_type_decoder_f UE_ContextKeptIndicator_decode_aper; +per_type_encoder_f UE_ContextKeptIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_ContextKeptIndicator_H_ */ +#include diff --git a/asn1c_defs/all-defs/UE-ContextKeptIndicator.o b/asn1c_defs/all-defs/UE-ContextKeptIndicator.o new file mode 100644 index 0000000000000000000000000000000000000000..a4b60f81697dff8698476502e36f29822a625e5a GIT binary patch literal 2584 zcmbtV&2G~`5T4Y9@=x0n5<&_m3ZhnBRRV#83~Ac(SE8Z_ZpL+2ZJ@CudsER1AaUuD zBM-uXV=qWO@+$BGWyYRyHXElsFp@np-+nVYyE|)tZoXKVsMSEE29IFi2@3G`?7;SO z(}$~Y1q^sVu&iSi3$AqA&G|+WYxPk-S3UhS-s(i5PEycmUsVR20@`b_{Zqor;knW} z*`WLr_?$M+q@8B9(RfgwYj5^r-LKzsm)wPUub+F~C-1(yu;hBT3*3$z@@d{l_;Wl2 zvg3@Y%E>Dpjc~vj1rc#@hAMI3%m{oPks3^uxI{k5aoVXuTC97hYjBP|0CV3RBTq>{ z!!h`Re@BDzEHH45^{*VCDpw%&(69p+nKi5&xG)T$_ZOcTW4$}fn8gE_9$^FA8H2-^ zhIb}B)L3qm#FyCqc2IuoLT{ z-KPFGyHGmG#^sC%pD{8>pAc@Iy7Zxq`y5NSd0W;De3ore@7N}ORksN)eQVZF^+><^ zMjl$P)D3R7-__wJYMmB(M=biPg1Z&!5Zuiy12;{`A*Sbg=&Ic?A0|siEf{0m-6RTe zJW9G